Commit ce44d2c1 by Damien Moulard

Merge branch '8841-frontend-presta-better-visibility' into 'develop'

8841 frontend presta better visibility

See merge request !155
parents e4dfcb8d cf62a03a
...@@ -204,7 +204,11 @@ Quand CCAS_MODE = 1, pour que les reconversions CCAS soient effectuées et les e ...@@ -204,7 +204,11 @@ Quand CCAS_MODE = 1, pour que les reconversions CCAS soient effectuées et les e
57 1 1 * * kohinos php /home/kohinos/kohinos/bin/console kohinos:ssa:export-ccas-transactions 57 1 1 * * kohinos php /home/kohinos/kohinos/bin/console kohinos:ssa:export-ccas-transactions
27 2 10 * * kohinos rm -f /home/kohinos/kohinos/ccastransactions/* 27 2 10 * * kohinos rm -f /home/kohinos/kohinos/ccastransactions/*
Pour activer l'export de données vers un serveur distant : Pour activer la gestion automatique de la rubrique des nouveaux prestataires (1 fois /jour) :
0 1 * * * kohinos php /home/kohinos/kohinos/bin/console kohinos:ssa:manage-new-prestas-rubrique
Pour activer l'export de données vers un serveur distant (1 fois /mois) :
0 0 1 * * kohinos php /home/kohinos/kohinos/bin/console kohinos:ssa:export-and-upload-data 0 0 1 * * kohinos php /home/kohinos/kohinos/bin/console kohinos:ssa:export-and-upload-data
......
...@@ -437,4 +437,11 @@ form[name="formEncaissement"] label { ...@@ -437,4 +437,11 @@ form[name="formEncaissement"] label {
#infoForUserModal .modal-body { #infoForUserModal .modal-body {
word-break: break-all; word-break: break-all;
}
.presta-map-filter-container {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 5px;
} }
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
!function(){var t=function(t,e){function i(){var t=arguments,e=this.getContentElement("advanced","txtdlgGenStyle");e&&e.commit.apply(e,t),this.foreach((function(e){e.commit&&"txtdlgGenStyle"!=e.id&&e.commit.apply(e,t)}))}function n(t){if(!a){a=1;var e=this.getDialog(),i=e.imageElement;if(i){this.commit(1,i);for(var n,l=(t=[].concat(t)).length,s=0;s<l;s++)(n=e.getContentElement.apply(e,t[s].split(":")))&&n.setup(1,i)}a=0}}var a,l,s=/^\s*(\d+)((px)|\%)?\s*$/i,o=/(^\s*(\d+)((px)|\%)?\s*$)|^$/i,r=/^\d+px$/,m=function(){var t=this.getValue(),e=this.getDialog(),i=t.match(s);i&&("%"==i[2]&&h(e,!1),t=i[1]),e.lockRatio&&("true"==(i=e.originalElement).getCustomData("isReady")&&("txtHeight"==this.id?(t&&"0"!=t&&(t=Math.round(t/i.$.height*i.$.width)),isNaN(t)||e.setValueOf("info","txtWidth",t)):(t&&"0"!=t&&(t=Math.round(t/i.$.width*i.$.height)),isNaN(t)||e.setValueOf("info","txtHeight",t)))),g(e)},g=function(t){return t.originalElement&&t.preview?(t.commitContent(4,t.preview),0):1},h=function(t,e){if(!t.getContentElement("info","ratioLock"))return null;if(!(a=t.originalElement))return null;if("check"==e){if(!t.userlockRatio&&"true"==a.getCustomData("isReady")){var i=t.getValueOf("info","txtWidth"),n=t.getValueOf("info","txtHeight"),a=a.$.width/a.$.height,l=i/n;t.lockRatio=!1,i||n?1==Math.round(a/l*100)/100&&(t.lockRatio=!0):t.lockRatio=!0}}else void 0!==e?t.lockRatio=e:(t.userlockRatio=1,t.lockRatio=!t.lockRatio);return i=CKEDITOR.document.getById(f),t.lockRatio?i.removeClass("cke_btn_unlocked"):i.addClass("cke_btn_unlocked"),i.setAttribute("aria-checked",t.lockRatio),CKEDITOR.env.hc&&i.getChild(0).setHtml(t.lockRatio?CKEDITOR.env.ie?"■":"▣":CKEDITOR.env.ie?"□":"▢"),t.lockRatio},d=function(t,e){var i=t.originalElement;if("true"==i.getCustomData("isReady")){var n,a=t.getContentElement("info","txtWidth"),l=t.getContentElement("info","txtHeight");e?i=n=0:(n=i.$.width,i=i.$.height),a&&a.setValue(n),l&&l.setValue(i)}g(t)},u=function(t,e){function i(t,e){var i=t.match(s);return i?("%"==i[2]&&(i[1]+="%",h(n,!1)),i[1]):e}if(1==t){var n=this.getDialog(),a="",l="txtWidth"==this.id?"width":"height",o=e.getAttribute(l);o&&(a=i(o,a)),a=i(e.getStyle(l),a),this.setValue(a)}},c=function(){var e=this.originalElement,i=CKEDITOR.document.getById(y);e.setCustomData("isReady","true"),e.removeListener("load",c),e.removeListener("error",p),e.removeListener("abort",p),i&&i.setStyle("display","none"),this.dontResetSize||d(this,!1===t.config.image_prefillDimensions),this.firstLoad&&CKEDITOR.tools.setTimeout((function(){h(this,"check")}),0,this),this.dontResetSize=this.firstLoad=!1,g(this)},p=function(){var t=this.originalElement,e=CKEDITOR.document.getById(y);t.removeListener("load",c),t.removeListener("error",p),t.removeListener("abort",p),t=CKEDITOR.getUrl(CKEDITOR.plugins.get("image").path+"images/noimage.png"),this.preview&&this.preview.setAttribute("src",t),e&&e.setStyle("display","none"),h(this,!1)},v=function(t){return CKEDITOR.tools.getNextId()+"_"+t},f=v("btnLockSizes"),b=v("btnResetSize"),y=v("ImagePreviewLoader"),E=v("previewLink"),C=v("previewImage");return{title:t.lang.image["image"==e?"title":"titleButton"],minWidth:"moono-lisa"==(CKEDITOR.skinName||t.config.skin)?500:420,minHeight:360,onShow:function(){this.linkEditMode=this.imageEditMode=this.linkElement=this.imageElement=!1,this.lockRatio=!0,this.userlockRatio=0,this.dontResetSize=!1,this.firstLoad=!0,this.addLink=!1;var t=this.getParentEditor(),i=t.getSelection(),n=(i=i&&i.getSelectedElement())&&t.elementPath(i).contains("a",1),a=CKEDITOR.document.getById(y);a&&a.setStyle("display","none"),l=new CKEDITOR.dom.element("img",t.document),this.preview=CKEDITOR.document.getById(C),this.originalElement=t.document.createElement("img"),this.originalElement.setAttribute("alt",""),this.originalElement.setCustomData("isReady","false"),n&&(this.linkElement=n,this.addLink=this.linkEditMode=!0,1==(t=n.getChildren()).count()&&((a=t.getItem(0)).type==CKEDITOR.NODE_ELEMENT&&(a.is("img")||a.is("input"))&&(this.imageElement=t.getItem(0),this.imageElement.is("img")?this.imageEditMode="img":this.imageElement.is("input")&&(this.imageEditMode="input"))),"image"==e&&this.setupContent(2,n)),this.customImageElement?(this.imageEditMode="img",this.imageElement=this.customImageElement,delete this.customImageElement):(i&&"img"==i.getName()&&!i.data("cke-realelement")||i&&"input"==i.getName()&&"image"==i.getAttribute("type"))&&(this.imageEditMode=i.getName(),this.imageElement=i),this.imageEditMode&&(this.cleanImageElement=this.imageElement,this.imageElement=this.cleanImageElement.clone(!0,!0),this.setupContent(1,this.imageElement)),h(this,!0),CKEDITOR.tools.trim(this.getValueOf("info","txtUrl"))||(this.preview.removeAttribute("src"),this.preview.setStyle("display","none"))},onOk:function(){if(this.imageEditMode){var i=this.imageEditMode;"image"==e&&"input"==i&&confirm(t.lang.image.button2Img)?(this.imageElement=t.document.createElement("img"),this.imageElement.setAttribute("alt",""),t.insertElement(this.imageElement)):"image"!=e&&"img"==i&&confirm(t.lang.image.img2Button)?(this.imageElement=t.document.createElement("input"),this.imageElement.setAttributes({type:"image",alt:""}),t.insertElement(this.imageElement)):(this.imageElement=this.cleanImageElement,delete this.cleanImageElement)}else"image"==e?this.imageElement=t.document.createElement("img"):(this.imageElement=t.document.createElement("input"),this.imageElement.setAttribute("type","image")),this.imageElement.setAttribute("alt","");this.linkEditMode||(this.linkElement=t.document.createElement("a")),this.commitContent(1,this.imageElement),this.commitContent(2,this.linkElement),this.imageElement.getAttribute("style")||this.imageElement.removeAttribute("style"),this.imageEditMode?!this.linkEditMode&&this.addLink?(t.insertElement(this.linkElement),this.imageElement.appendTo(this.linkElement)):this.linkEditMode&&!this.addLink&&(t.getSelection().selectElement(this.linkElement),t.insertElement(this.imageElement)):this.addLink?this.linkEditMode?this.linkElement.equals(t.getSelection().getSelectedElement())?(this.linkElement.setHtml(""),this.linkElement.append(this.imageElement,!1)):t.insertElement(this.imageElement):(t.insertElement(this.linkElement),this.linkElement.append(this.imageElement,!1)):t.insertElement(this.imageElement)},onLoad:function(){"image"!=e&&this.hidePage("Link");var t=this._.element.getDocument();this.getContentElement("info","ratioLock")&&(this.addFocusable(t.getById(b),5),this.addFocusable(t.getById(f),5)),this.commitContent=i},onHide:function(){this.preview&&this.commitContent(8,this.preview),this.originalElement&&(this.originalElement.removeListener("load",c),this.originalElement.removeListener("error",p),this.originalElement.removeListener("abort",p),this.originalElement.remove(),this.originalElement=!1),delete this.imageElement},contents:[{id:"info",label:t.lang.image.infoTab,accessKey:"I",elements:[{type:"vbox",padding:0,children:[{type:"hbox",widths:["280px","110px"],align:"right",className:"cke_dialog_image_url",children:[{id:"txtUrl",type:"text",label:t.lang.common.url,required:!0,onChange:function(){var t=this.getDialog(),e=this.getValue();if(0<e.length){var i=(t=this.getDialog()).originalElement;t.preview&&t.preview.removeStyle("display"),i.setCustomData("isReady","false");var n=CKEDITOR.document.getById(y);n&&n.setStyle("display",""),i.on("load",c,t),i.on("error",p,t),i.on("abort",p,t),i.setAttribute("src",e),t.preview&&(l.setAttribute("src",e),t.preview.setAttribute("src",l.$.src),g(t))}else t.preview&&(t.preview.removeAttribute("src"),t.preview.setStyle("display","none"))},setup:function(t,e){if(1==t){var i=e.data("cke-saved-src")||e.getAttribute("src");this.getDialog().dontResetSize=!0,this.setValue(i),this.setInitValue()}},commit:function(t,e){1==t&&(this.getValue()||this.isChanged())?(e.data("cke-saved-src",this.getValue()),e.setAttribute("src",this.getValue())):8==t&&(e.setAttribute("src",""),e.removeAttribute("src"))},validate:CKEDITOR.dialog.validate.notEmpty(t.lang.image.urlMissing)},{type:"button",id:"browse",style:"display:inline-block;margin-top:14px;",align:"center",label:t.lang.common.browseServer,hidden:!0,filebrowser:"info:txtUrl"}]}]},{id:"txtAlt",type:"text",label:t.lang.image.alt,accessKey:"T",default:"",onChange:function(){g(this.getDialog())},setup:function(t,e){1==t&&this.setValue(e.getAttribute("alt"))},commit:function(t,e){1==t?(this.getValue()||this.isChanged())&&e.setAttribute("alt",this.getValue()):4==t?e.setAttribute("alt",this.getValue()):8==t&&e.removeAttribute("alt")}},{type:"hbox",children:[{id:"basic",type:"vbox",children:[{type:"hbox",requiredContent:"img{width,height}",widths:["50%","50%"],children:[{type:"vbox",padding:1,children:[{type:"text",width:"45px",id:"txtWidth",label:t.lang.common.width,onKeyUp:m,onChange:function(){n.call(this,"advanced:txtdlgGenStyle")},validate:function(){var e=this.getValue().match(o);return(e=!(!e||0===parseInt(e[1],10)))||alert(t.lang.common.invalidLength.replace("%1",t.lang.common.width).replace("%2","px, %")),e},setup:u,commit:function(e,i){var n=this.getValue();1==e?(n&&t.activeFilter.check("img{width,height}")?i.setStyle("width",CKEDITOR.tools.cssLength(n)):i.removeStyle("width"),i.removeAttribute("width")):4==e?n.match(s)?i.setStyle("width",CKEDITOR.tools.cssLength(n)):"true"==(n=this.getDialog().originalElement).getCustomData("isReady")&&i.setStyle("width",n.$.width+"px"):8==e&&(i.removeAttribute("width"),i.removeStyle("width"))}},{type:"text",id:"txtHeight",width:"45px",label:t.lang.common.height,onKeyUp:m,onChange:function(){n.call(this,"advanced:txtdlgGenStyle")},validate:function(){var e=this.getValue().match(o);return(e=!(!e||0===parseInt(e[1],10)))||alert(t.lang.common.invalidLength.replace("%1",t.lang.common.height).replace("%2","px, %")),e},setup:u,commit:function(e,i){var n=this.getValue();1==e?(n&&t.activeFilter.check("img{width,height}")?i.setStyle("height",CKEDITOR.tools.cssLength(n)):i.removeStyle("height"),i.removeAttribute("height")):4==e?n.match(s)?i.setStyle("height",CKEDITOR.tools.cssLength(n)):"true"==(n=this.getDialog().originalElement).getCustomData("isReady")&&i.setStyle("height",n.$.height+"px"):8==e&&(i.removeAttribute("height"),i.removeStyle("height"))}}]},{id:"ratioLock",type:"html",className:"cke_dialog_image_ratiolock",style:"margin-top:30px;width:40px;height:40px;",onLoad:function(){var t=CKEDITOR.document.getById(b),e=CKEDITOR.document.getById(f);t&&(t.on("click",(function(t){d(this),t.data&&t.data.preventDefault()}),this.getDialog()),t.on("mouseover",(function(){this.addClass("cke_btn_over")}),t),t.on("mouseout",(function(){this.removeClass("cke_btn_over")}),t)),e&&(e.on("click",(function(t){h(this);var e=this.originalElement,i=this.getValueOf("info","txtWidth");"true"==e.getCustomData("isReady")&&i&&(e=e.$.height/e.$.width*i,isNaN(e)||(this.setValueOf("info","txtHeight",Math.round(e)),g(this))),t.data&&t.data.preventDefault()}),this.getDialog()),e.on("mouseover",(function(){this.addClass("cke_btn_over")}),e),e.on("mouseout",(function(){this.removeClass("cke_btn_over")}),e))},html:'<div><a href="javascript:void(0)" tabindex="-1" title="'+t.lang.image.lockRatio+'" class="cke_btn_locked" id="'+f+'" role="checkbox"><span class="cke_icon"></span><span class="cke_label">'+t.lang.image.lockRatio+'</span></a><a href="javascript:void(0)" tabindex="-1" title="'+t.lang.image.resetSize+'" class="cke_btn_reset" id="'+b+'" role="button"><span class="cke_label">'+t.lang.image.resetSize+"</span></a></div>"}]},{type:"vbox",padding:1,children:[{type:"text",id:"txtBorder",requiredContent:"img{border-width}",width:"60px",label:t.lang.image.border,default:"",onKeyUp:function(){g(this.getDialog())},onChange:function(){n.call(this,"advanced:txtdlgGenStyle")},validate:CKEDITOR.dialog.validate.integer(t.lang.image.validateBorder),setup:function(t,e){var i;1==t&&(i=(i=(i=e.getStyle("border-width"))&&i.match(/^(\d+px)(?: \1 \1 \1)?$/))&&parseInt(i[1],10),isNaN(parseInt(i,10))&&(i=e.getAttribute("border")),this.setValue(i))},commit:function(t,e){var i=parseInt(this.getValue(),10);1==t||4==t?(isNaN(i)?!i&&this.isChanged()&&e.removeStyle("border"):(e.setStyle("border-width",CKEDITOR.tools.cssLength(i)),e.setStyle("border-style","solid")),1==t&&e.removeAttribute("border")):8==t&&(e.removeAttribute("border"),e.removeStyle("border-width"),e.removeStyle("border-style"),e.removeStyle("border-color"))}},{type:"text",id:"txtHSpace",requiredContent:"img{margin-left,margin-right}",width:"60px",label:t.lang.image.hSpace,default:"",onKeyUp:function(){g(this.getDialog())},onChange:function(){n.call(this,"advanced:txtdlgGenStyle")},validate:CKEDITOR.dialog.validate.integer(t.lang.image.validateHSpace),setup:function(t,e){var i,n;1==t&&(i=e.getStyle("margin-left"),n=e.getStyle("margin-right"),i=i&&i.match(r),n=n&&n.match(r),i=(i=parseInt(i,10))==(n=parseInt(n,10))&&i,isNaN(parseInt(i,10))&&(i=e.getAttribute("hspace")),this.setValue(i))},commit:function(t,e){var i=parseInt(this.getValue(),10);1==t||4==t?(isNaN(i)?!i&&this.isChanged()&&(e.removeStyle("margin-left"),e.removeStyle("margin-right")):(e.setStyle("margin-left",CKEDITOR.tools.cssLength(i)),e.setStyle("margin-right",CKEDITOR.tools.cssLength(i))),1==t&&e.removeAttribute("hspace")):8==t&&(e.removeAttribute("hspace"),e.removeStyle("margin-left"),e.removeStyle("margin-right"))}},{type:"text",id:"txtVSpace",requiredContent:"img{margin-top,margin-bottom}",width:"60px",label:t.lang.image.vSpace,default:"",onKeyUp:function(){g(this.getDialog())},onChange:function(){n.call(this,"advanced:txtdlgGenStyle")},validate:CKEDITOR.dialog.validate.integer(t.lang.image.validateVSpace),setup:function(t,e){var i,n;1==t&&(i=e.getStyle("margin-top"),n=e.getStyle("margin-bottom"),i=i&&i.match(r),n=n&&n.match(r),i=(i=parseInt(i,10))==(n=parseInt(n,10))&&i,isNaN(parseInt(i,10))&&(i=e.getAttribute("vspace")),this.setValue(i))},commit:function(t,e){var i=parseInt(this.getValue(),10);1==t||4==t?(isNaN(i)?!i&&this.isChanged()&&(e.removeStyle("margin-top"),e.removeStyle("margin-bottom")):(e.setStyle("margin-top",CKEDITOR.tools.cssLength(i)),e.setStyle("margin-bottom",CKEDITOR.tools.cssLength(i))),1==t&&e.removeAttribute("vspace")):8==t&&(e.removeAttribute("vspace"),e.removeStyle("margin-top"),e.removeStyle("margin-bottom"))}},{id:"cmbAlign",requiredContent:"img{float}",type:"select",widths:["35%","65%"],style:"width:90px",label:t.lang.common.align,default:"",items:[[t.lang.common.notSet,""],[t.lang.common.left,"left"],[t.lang.common.right,"right"]],onChange:function(){g(this.getDialog()),n.call(this,"advanced:txtdlgGenStyle")},setup:function(t,e){if(1==t){var i=e.getStyle("float");switch(i){case"inherit":case"none":i=""}!i&&(i=(e.getAttribute("align")||"").toLowerCase()),this.setValue(i)}},commit:function(t,e){var i=this.getValue();if(1==t||4==t){if(i?e.setStyle("float",i):e.removeStyle("float"),1==t)switch(i=(e.getAttribute("align")||"").toLowerCase(),i){case"left":case"right":e.removeAttribute("align")}}else 8==t&&e.removeStyle("float")}}]}]},{type:"vbox",height:"250px",children:[{type:"html",id:"htmlPreview",style:"width:95%;",html:"<div>"+CKEDITOR.tools.htmlEncode(t.lang.common.preview)+'<br><div id="'+y+'" class="ImagePreviewLoader" style="display:none"><div class="loading">&nbsp;</div></div><div class="ImagePreviewBox"><table><tr><td><a href="javascript:void(0)" target="_blank" onclick="return false;" id="'+E+'"><img id="'+C+'" alt="" /></a>'+(t.config.image_previewText||"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas feugiat consequat diam. Maecenas metus. Vivamus diam purus, cursus a, commodo non, facilisis vitae, nulla. Aenean dictum lacinia tortor. Nunc iaculis, nibh non iaculis aliquam, orci felis euismod neque, sed ornare massa mauris sed velit. Nulla pretium mi et risus. Fusce mi pede, tempor id, cursus ac, ullamcorper nec, enim. Sed tortor. Curabitur molestie. Duis velit augue, condimentum at, ultrices a, luctus ut, orci. Donec pellentesque egestas eros. Integer cursus, augue in cursus faucibus, eros pede bibendum sem, in tempus tellus justo quis ligula. Etiam eget tortor. Vestibulum rutrum, est ut placerat elementum, lectus nisl aliquam velit, tempor aliquam eros nunc nonummy metus. In eros metus, gravida a, gravida sed, lobortis id, turpis. Ut ultrices, ipsum at venenatis fringilla, sem nulla lacinia tellus, eget aliquet turpis mauris non enim. Nam turpis. Suspendisse lacinia. Curabitur ac tortor ut ipsum egestas elementum. Nunc imperdiet gravida mauris.")+"</td></tr></table></div></div>"}]}]}]},{id:"Link",requiredContent:"a[href]",label:t.lang.image.linkTab,padding:0,elements:[{id:"txtUrl",type:"text",label:t.lang.common.url,style:"width: 100%",default:"",setup:function(t,e){if(2==t){var i=e.data("cke-saved-href");i||(i=e.getAttribute("href")),this.setValue(i)}},commit:function(e,i){if(2==e&&(this.getValue()||this.isChanged())){var n=this.getValue();i.data("cke-saved-href",n),i.setAttribute("href",n),this.getValue()||!t.config.image_removeLinkByEmptyURL?this.getDialog().addLink=!0:this.getDialog().addLink=!1}}},{type:"button",id:"browse",className:"cke_dialog_image_browse",filebrowser:{action:"Browse",target:"Link:txtUrl",url:t.config.filebrowserImageBrowseLinkUrl},style:"float:right",hidden:!0,label:t.lang.common.browseServer},{id:"cmbTarget",type:"select",requiredContent:"a[target]",label:t.lang.common.target,default:"",items:[[t.lang.common.notSet,""],[t.lang.common.targetNew,"_blank"],[t.lang.common.targetTop,"_top"],[t.lang.common.targetSelf,"_self"],[t.lang.common.targetParent,"_parent"]],setup:function(t,e){2==t&&this.setValue(e.getAttribute("target")||"")},commit:function(t,e){2==t&&(this.getValue()||this.isChanged())&&e.setAttribute("target",this.getValue())}}]},{id:"Upload",hidden:!0,filebrowser:"uploadButton",label:t.lang.image.upload,elements:[{type:"file",id:"upload",label:t.lang.image.btnUpload,style:"height:40px",size:38},{type:"fileButton",id:"uploadButton",filebrowser:"info:txtUrl",label:t.lang.image.btnUpload,for:["Upload","upload"]}]},{id:"advanced",label:t.lang.common.advancedTab,elements:[{type:"hbox",widths:["50%","25%","25%"],children:[{type:"text",id:"linkId",requiredContent:"img[id]",label:t.lang.common.id,setup:function(t,e){1==t&&this.setValue(e.getAttribute("id"))},commit:function(t,e){1==t&&(this.getValue()||this.isChanged())&&e.setAttribute("id",this.getValue())}},{id:"cmbLangDir",type:"select",requiredContent:"img[dir]",style:"width : 100px;",label:t.lang.common.langDir,default:"",items:[[t.lang.common.notSet,""],[t.lang.common.langDirLtr,"ltr"],[t.lang.common.langDirRtl,"rtl"]],setup:function(t,e){1==t&&this.setValue(e.getAttribute("dir"))},commit:function(t,e){1==t&&(this.getValue()||this.isChanged())&&e.setAttribute("dir",this.getValue())}},{type:"text",id:"txtLangCode",requiredContent:"img[lang]",label:t.lang.common.langCode,default:"",setup:function(t,e){1==t&&this.setValue(e.getAttribute("lang"))},commit:function(t,e){1==t&&(this.getValue()||this.isChanged())&&e.setAttribute("lang",this.getValue())}}]},{type:"text",id:"txtGenLongDescr",requiredContent:"img[longdesc]",label:t.lang.common.longDescr,setup:function(t,e){1==t&&this.setValue(e.getAttribute("longDesc"))},commit:function(t,e){1==t&&(this.getValue()||this.isChanged())&&e.setAttribute("longDesc",this.getValue())}},{type:"hbox",widths:["50%","50%"],children:[{type:"text",id:"txtGenClass",requiredContent:"img(cke-xyz)",label:t.lang.common.cssClass,default:"",setup:function(t,e){1==t&&this.setValue(e.getAttribute("class"))},commit:function(t,e){1==t&&(this.getValue()||this.isChanged())&&e.setAttribute("class",this.getValue())}},{type:"text",id:"txtGenTitle",requiredContent:"img[title]",label:t.lang.common.advisoryTitle,default:"",onChange:function(){g(this.getDialog())},setup:function(t,e){1==t&&this.setValue(e.getAttribute("title"))},commit:function(t,e){1==t?(this.getValue()||this.isChanged())&&e.setAttribute("title",this.getValue()):4==t?e.setAttribute("title",this.getValue()):8==t&&e.removeAttribute("title")}}]},{type:"text",id:"txtdlgGenStyle",requiredContent:"img{cke-xyz}",label:t.lang.common.cssStyle,validate:CKEDITOR.dialog.validate.inlineStyle(t.lang.common.invalidInlineStyle),default:"",setup:function(t,e){if(1==t){!(n=e.getAttribute("style"))&&e.$.style.cssText&&(n=e.$.style.cssText),this.setValue(n);var i=e.$.style.height,n=e.$.style.width;i=(i||"").match(s),n=(n||"").match(s);this.attributesInStyle={height:!!i,width:!!n}}},onChange:function(){n.call(this,"info:cmbFloat info:cmbAlign info:txtVSpace info:txtHSpace info:txtBorder info:txtWidth info:txtHeight".split(" ")),g(this)},commit:function(t,e){1==t&&(this.getValue()||this.isChanged())&&e.setAttribute("style",this.getValue())}}]}]}};CKEDITOR.dialog.add("image",(function(e){return t(e,"image")})),CKEDITOR.dialog.add("imagebutton",(function(e){return t(e,"imagebutton")}))}();
\ No newline at end of file
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
"/build/app.3644f7b2.js" "/build/app.3644f7b2.js"
], ],
"css": [ "css": [
"/build/app.ec67f059.css" "/build/app.13f8bbf1.css"
] ]
}, },
"admin": { "admin": {
......
{ {
"build/app.css": "/build/app.ec67f059.css", "build/app.css": "/build/app.13f8bbf1.css",
"build/app.js": "/build/app.3644f7b2.js", "build/app.js": "/build/app.3644f7b2.js",
"build/admin.css": "/build/admin.4de55830.css", "build/admin.css": "/build/admin.4de55830.css",
"build/admin.js": "/build/admin.63735322.js", "build/admin.js": "/build/admin.63735322.js",
...@@ -49,6 +49,7 @@ ...@@ -49,6 +49,7 @@
"build/fonts/fa-regular-400.eot": "/build/fonts/fa-regular-400.5e1bdc3d.eot", "build/fonts/fa-regular-400.eot": "/build/fonts/fa-regular-400.5e1bdc3d.eot",
"build/fonts/fa-regular-400.ttf": "/build/fonts/fa-regular-400.b25f26d4.ttf", "build/fonts/fa-regular-400.ttf": "/build/fonts/fa-regular-400.b25f26d4.ttf",
"build/ckeditor/skins/moono-lisa/icons_hidpi.png": "/build/ckeditor/skins/moono-lisa/icons_hidpi.png", "build/ckeditor/skins/moono-lisa/icons_hidpi.png": "/build/ckeditor/skins/moono-lisa/icons_hidpi.png",
"build/ckeditor/plugins/image/dialogs/image.js": "/build/ckeditor/plugins/image/dialogs/image.js",
"build/fonts/source-sans-pro-v14-latin-300.woff": "/build/fonts/source-sans-pro-v14-latin-300.25d1ce45.woff", "build/fonts/source-sans-pro-v14-latin-300.woff": "/build/fonts/source-sans-pro-v14-latin-300.25d1ce45.woff",
"build/fonts/source-sans-pro-v14-latin-regular.woff": "/build/fonts/source-sans-pro-v14-latin-regular.33e6b01f.woff", "build/fonts/source-sans-pro-v14-latin-regular.woff": "/build/fonts/source-sans-pro-v14-latin-regular.33e6b01f.woff",
"build/fonts/source-sans-pro-v14-latin-600.woff": "/build/fonts/source-sans-pro-v14-latin-600.720fb921.woff", "build/fonts/source-sans-pro-v14-latin-600.woff": "/build/fonts/source-sans-pro-v14-latin-600.720fb921.woff",
...@@ -116,6 +117,7 @@ ...@@ -116,6 +117,7 @@
"build/ckeditor/plugins/link/dialogs/anchor.js": "/build/ckeditor/plugins/link/dialogs/anchor.js", "build/ckeditor/plugins/link/dialogs/anchor.js": "/build/ckeditor/plugins/link/dialogs/anchor.js",
"build/ckeditor/skins/moono/images/hidpi/lock.png": "/build/ckeditor/skins/moono/images/hidpi/lock.png", "build/ckeditor/skins/moono/images/hidpi/lock.png": "/build/ckeditor/skins/moono/images/hidpi/lock.png",
"build/ckeditor/skins/moono-lisa/images/hidpi/refresh.png": "/build/ckeditor/skins/moono-lisa/images/hidpi/refresh.png", "build/ckeditor/skins/moono-lisa/images/hidpi/refresh.png": "/build/ckeditor/skins/moono-lisa/images/hidpi/refresh.png",
"build/ckeditor/plugins/image/images/noimage.png": "/build/ckeditor/plugins/image/images/noimage.png",
"build/images/source-sans-pro-v14-latin-300.svg": "/build/images/source-sans-pro-v14-latin-300.4e7fe004.svg", "build/images/source-sans-pro-v14-latin-300.svg": "/build/images/source-sans-pro-v14-latin-300.4e7fe004.svg",
"build/ckeditor/skins/moono/images/hidpi/lock-open.png": "/build/ckeditor/skins/moono/images/hidpi/lock-open.png", "build/ckeditor/skins/moono/images/hidpi/lock-open.png": "/build/ckeditor/skins/moono/images/hidpi/lock-open.png",
"build/ckeditor/skins/moono/images/hidpi/anchor.png": "/build/ckeditor/skins/moono/images/hidpi/anchor.png", "build/ckeditor/skins/moono/images/hidpi/anchor.png": "/build/ckeditor/skins/moono/images/hidpi/anchor.png",
......
(()=>{"use strict";var e={913:()=>{try{self["workbox:core:6.5.1"]&&_()}catch(e){}},977:()=>{try{self["workbox:precaching:6.5.1"]&&_()}catch(e){}},80:()=>{try{self["workbox:routing:6.5.1"]&&_()}catch(e){}},873:()=>{try{self["workbox:strategies:6.5.1"]&&_()}catch(e){}}},t={};function s(a){var n=t[a];if(void 0!==n)return n.exports;var r=t[a]={exports:{}};return e[a](r,r.exports,s),r.exports}(()=>{s(913);const e=(e,...t)=>{let s=e;return t.length>0&&(s+=` :: ${JSON.stringify(t)}`),s};class t extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}const a={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},n=e=>[a.prefix,e,a.suffix].filter((e=>e&&e.length>0)).join("-"),r=e=>e||n(a.precache),i=e=>e||n(a.runtime);function c(e,t){const s=t();return e.waitUntil(s),s}s(977);function o(e){if(!e)throw new t("add-to-cache-list-unexpected-type",{entry:e});if("string"==typeof e){const t=new URL(e,location.href);return{cacheKey:t.href,url:t.href}}const{revision:s,url:a}=e;if(!a)throw new t("add-to-cache-list-unexpected-type",{entry:e});if(!s){const e=new URL(a,location.href);return{cacheKey:e.href,url:e.href}}const n=new URL(a,location.href),r=new URL(a,location.href);return n.searchParams.set("__WB_REVISION__",s),{cacheKey:n.href,url:r.href}}class h{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:s})=>{if("install"===e.type&&t&&t.originalRequest&&t.originalRequest instanceof Request){const e=t.originalRequest.url;s?this.notUpdatedURLs.push(e):this.updatedURLs.push(e)}return s}}}class l{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:e,params:t})=>{const s=(null==t?void 0:t.cacheKey)||this._precacheController.getCacheKeyForURL(e.url);return s?new Request(s,{headers:e.headers}):e},this._precacheController=e}}let u;async function f(e,s){let a=null;if(e.url){a=new URL(e.url).origin}if(a!==self.location.origin)throw new t("cross-origin-copy-response",{origin:a});const n=e.clone(),r={headers:new Headers(n.headers),status:n.status,statusText:n.statusText},i=s?s(r):r,c=function(){if(void 0===u){const e=new Response("");if("body"in e)try{new Response(e.body),u=!0}catch(e){u=!1}u=!1}return u}()?n.body:await n.blob();return new Response(c,i)}function d(e,t){const s=new URL(e);for(const e of t)s.searchParams.delete(e);return s.href}class p{constructor(){this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}}const g=new Set;s(873);function y(e){return"string"==typeof e?new Request(e):e}class w{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new p,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const e of this._plugins)this._pluginStateMap.set(e,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:s}=this;let a=y(e);if("navigate"===a.mode&&s instanceof FetchEvent&&s.preloadResponse){const e=await s.preloadResponse;if(e)return e}const n=this.hasCallback("fetchDidFail")?a.clone():null;try{for(const e of this.iterateCallbacks("requestWillFetch"))a=await e({request:a.clone(),event:s})}catch(e){if(e instanceof Error)throw new t("plugin-error-request-will-fetch",{thrownErrorMessage:e.message})}const r=a.clone();try{let e;e=await fetch(a,"navigate"===a.mode?void 0:this._strategy.fetchOptions);for(const t of this.iterateCallbacks("fetchDidSucceed"))e=await t({event:s,request:r,response:e});return e}catch(e){throw n&&await this.runCallbacks("fetchDidFail",{error:e,event:s,originalRequest:n.clone(),request:r.clone()}),e}}async fetchAndCachePut(e){const t=await this.fetch(e),s=t.clone();return this.waitUntil(this.cachePut(e,s)),t}async cacheMatch(e){const t=y(e);let s;const{cacheName:a,matchOptions:n}=this._strategy,r=await this.getCacheKey(t,"read"),i=Object.assign(Object.assign({},n),{cacheName:a});s=await caches.match(r,i);for(const e of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await e({cacheName:a,matchOptions:n,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(e,s){const a=y(e);var n;await(n=0,new Promise((e=>setTimeout(e,n))));const r=await this.getCacheKey(a,"write");if(!s)throw new t("cache-put-with-no-response",{url:(i=r.url,new URL(String(i),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var i;const c=await this._ensureResponseSafeToCache(s);if(!c)return!1;const{cacheName:o,matchOptions:h}=this._strategy,l=await self.caches.open(o),u=this.hasCallback("cacheDidUpdate"),f=u?await async function(e,t,s,a){const n=d(t.url,s);if(t.url===n)return e.match(t,a);const r=Object.assign(Object.assign({},a),{ignoreSearch:!0}),i=await e.keys(t,r);for(const t of i)if(n===d(t.url,s))return e.match(t,a)}(l,r.clone(),["__WB_REVISION__"],h):null;try{await l.put(r,u?c.clone():c)}catch(e){if(e instanceof Error)throw"QuotaExceededError"===e.name&&await async function(){for(const e of g)await e()}(),e}for(const e of this.iterateCallbacks("cacheDidUpdate"))await e({cacheName:o,oldResponse:f,newResponse:c.clone(),request:r,event:this.event});return!0}async getCacheKey(e,t){const s=`${e.url} | ${t}`;if(!this._cacheKeys[s]){let a=e;for(const e of this.iterateCallbacks("cacheKeyWillBeUsed"))a=y(await e({mode:t,request:a,event:this.event,params:this.params}));this._cacheKeys[s]=a}return this._cacheKeys[s]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const s of this.iterateCallbacks(e))await s(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if("function"==typeof t[e]){const s=this._pluginStateMap.get(t),a=a=>{const n=Object.assign(Object.assign({},a),{state:s});return t[e](n)};yield a}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,s=!1;for(const e of this.iterateCallbacks("cacheWillUpdate"))if(t=await e({request:this.request,response:t,event:this.event})||void 0,s=!0,!t)break;return s||t&&200!==t.status&&(t=void 0),t}}class m extends class{constructor(e={}){this.cacheName=i(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,s="string"==typeof e.request?new Request(e.request):e.request,a="params"in e?e.params:void 0,n=new w(this,{event:t,request:s,params:a}),r=this._getResponse(n,s,t);return[r,this._awaitComplete(r,n,s,t)]}async _getResponse(e,s,a){let n;await e.runCallbacks("handlerWillStart",{event:a,request:s});try{if(n=await this._handle(s,e),!n||"error"===n.type)throw new t("no-response",{url:s.url})}catch(t){if(t instanceof Error)for(const r of e.iterateCallbacks("handlerDidError"))if(n=await r({error:t,event:a,request:s}),n)break;if(!n)throw t}for(const t of e.iterateCallbacks("handlerWillRespond"))n=await t({event:a,request:s,response:n});return n}async _awaitComplete(e,t,s,a){let n,r;try{n=await e}catch(r){}try{await t.runCallbacks("handlerDidRespond",{event:a,request:s,response:n}),await t.doneWaiting()}catch(e){e instanceof Error&&(r=e)}if(await t.runCallbacks("handlerDidComplete",{event:a,request:s,response:n,error:r}),t.destroy(),r)throw r}}{constructor(e={}){e.cacheName=r(e.cacheName),super(e),this._fallbackToNetwork=!1!==e.fallbackToNetwork,this.plugins.push(m.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){const s=await t.cacheMatch(e);return s||(t.event&&"install"===t.event.type?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,s){let a;const n=s.params||{};if(!this._fallbackToNetwork)throw new t("missing-precache-entry",{cacheName:this.cacheName,url:e.url});{0;const t=n.integrity,r=e.integrity,i=!r||r===t;if(a=await s.fetch(new Request(e,{integrity:r||t})),t&&i){this._useDefaultCacheabilityPluginIfNeeded();await s.cachePut(e,a.clone());0}}return a}async _handleInstall(e,s){this._useDefaultCacheabilityPluginIfNeeded();const a=await s.fetch(e);if(!await s.cachePut(e,a.clone()))throw new t("bad-precaching-response",{url:e.url,status:a.status});return a}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(const[s,a]of this.plugins.entries())a!==m.copyRedirectedCacheableResponsesPlugin&&(a===m.defaultPrecacheCacheabilityPlugin&&(e=s),a.cacheWillUpdate&&t++);0===t?this.plugins.push(m.defaultPrecacheCacheabilityPlugin):t>1&&null!==e&&this.plugins.splice(e,1)}}m.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:e})=>!e||e.status>=400?null:e},m.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:e})=>e.redirected?await f(e):e};class _{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:s=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new m({cacheName:r(e),plugins:[...t,new l({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this._installAndActiveListenersAdded=!0)}addToCacheList(e){const s=[];for(const a of e){"string"==typeof a?s.push(a):a&&void 0===a.revision&&s.push(a.url);const{cacheKey:e,url:n}=o(a),r="string"!=typeof a&&a.revision?"reload":"default";if(this._urlsToCacheKeys.has(n)&&this._urlsToCacheKeys.get(n)!==e)throw new t("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(n),secondEntry:e});if("string"!=typeof a&&a.integrity){if(this._cacheKeysToIntegrities.has(e)&&this._cacheKeysToIntegrities.get(e)!==a.integrity)throw new t("add-to-cache-list-conflicting-integrities",{url:n});this._cacheKeysToIntegrities.set(e,a.integrity)}if(this._urlsToCacheKeys.set(n,e),this._urlsToCacheModes.set(n,r),s.length>0){const e=`Workbox is precaching URLs without revision info: ${s.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(e)}}}install(e){return c(e,(async()=>{const t=new h;this.strategy.plugins.push(t);for(const[t,s]of this._urlsToCacheKeys){const a=this._cacheKeysToIntegrities.get(s),n=this._urlsToCacheModes.get(t),r=new Request(t,{integrity:a,cache:n,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:e}))}const{updatedURLs:s,notUpdatedURLs:a}=t;return{updatedURLs:s,notUpdatedURLs:a}}))}activate(e){return c(e,(async()=>{const e=await self.caches.open(this.strategy.cacheName),t=await e.keys(),s=new Set(this._urlsToCacheKeys.values()),a=[];for(const n of t)s.has(n.url)||(await e.delete(n),a.push(n.url));return{deletedURLs:a}}))}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){const t=e instanceof Request?e.url:e,s=this.getCacheKeyForURL(t);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(e){const s=this.getCacheKeyForURL(e);if(!s)throw new t("non-precached-url",{url:e});return t=>(t.request=new Request(e),t.params=Object.assign({cacheKey:s},t.params),this.strategy.handle(t))}}let R;const v=()=>(R||(R=new _),R);s(80);const C=e=>e&&"object"==typeof e?e:{handle:e};class b{constructor(e,t,s="GET"){this.handler=C(t),this.match=e,this.method=s}setCatchHandler(e){this.catchHandler=C(e)}}class q extends b{constructor(e,t,s){super((({url:t})=>{const s=e.exec(t.href);if(s&&(t.origin===location.origin||0===s.index))return s.slice(1)}),t,s)}}class U{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",(e=>{const{request:t}=e,s=this.handleRequest({request:t,event:e});s&&e.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(e=>{if(e.data&&"CACHE_URLS"===e.data.type){const{payload:t}=e.data;0;const s=Promise.all(t.urlsToCache.map((t=>{"string"==typeof t&&(t=[t]);const s=new Request(...t);return this.handleRequest({request:s,event:e})})));e.waitUntil(s),e.ports&&e.ports[0]&&s.then((()=>e.ports[0].postMessage(!0)))}}))}handleRequest({request:e,event:t}){const s=new URL(e.url,location.href);if(!s.protocol.startsWith("http"))return void 0;const a=s.origin===location.origin,{params:n,route:r}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:s});let i=r&&r.handler;const c=e.method;if(!i&&this._defaultHandlerMap.has(c)&&(i=this._defaultHandlerMap.get(c)),!i)return void 0;let o;try{o=i.handle({url:s,request:e,event:t,params:n})}catch(e){o=Promise.reject(e)}const h=r&&r.catchHandler;return o instanceof Promise&&(this._catchHandler||h)&&(o=o.catch((async a=>{if(h){0;try{return await h.handle({url:s,request:e,event:t,params:n})}catch(e){e instanceof Error&&(a=e)}}if(this._catchHandler)return this._catchHandler.handle({url:s,request:e,event:t});throw a}))),o}findMatchingRoute({url:e,sameOrigin:t,request:s,event:a}){const n=this._routes.get(s.method)||[];for(const r of n){let n;const i=r.match({url:e,sameOrigin:t,request:s,event:a});if(i)return n=i,(Array.isArray(n)&&0===n.length||i.constructor===Object&&0===Object.keys(i).length||"boolean"==typeof i)&&(n=void 0),{route:r,params:n}}return{}}setDefaultHandler(e,t="GET"){this._defaultHandlerMap.set(t,C(e))}setCatchHandler(e){this._catchHandler=C(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new t("unregister-route-but-not-found-with-method",{method:e.method});const s=this._routes.get(e.method).indexOf(e);if(!(s>-1))throw new t("unregister-route-route-not-registered");this._routes.get(e.method).splice(s,1)}}let L;class k extends b{constructor(e,t){super((({request:s})=>{const a=e.getURLsToCacheKeys();for(const n of function*(e,{ignoreURLParametersMatching:t=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:a=!0,urlManipulation:n}={}){const r=new URL(e,location.href);r.hash="",yield r.href;const i=function(e,t=[]){for(const s of[...e.searchParams.keys()])t.some((e=>e.test(s)))&&e.searchParams.delete(s);return e}(r,t);if(yield i.href,s&&i.pathname.endsWith("/")){const e=new URL(i.href);e.pathname+=s,yield e.href}if(a){const e=new URL(i.href);e.pathname+=".html",yield e.href}if(n){const e=n({url:r});for(const t of e)yield t.href}}(s.url,t)){const t=a.get(n);if(t){return{cacheKey:t,integrity:e.getIntegrityForCacheKey(t)}}}}),e.strategy)}}function K(e){const s=v();!function(e,s,a){let n;if("string"==typeof e){const t=new URL(e,location.href);n=new b((({url:e})=>e.href===t.href),s,a)}else if(e instanceof RegExp)n=new q(e,s,a);else if("function"==typeof e)n=new b(e,s,a);else{if(!(e instanceof b))throw new t("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});n=e}(L||(L=new U,L.addFetchListener(),L.addCacheListener()),L).registerRoute(n)}(new k(s,e))}var T;(function(e){v().precache(e)})([{'revision':null,'url':'/build/admin.4de55830.css'},{'revision':null,'url':'/build/admin.63735322.js'},{'revision':'ad79405d542b397996a3079203114b42','url':'/build/admin.63735322.js.LICENSE.txt'},{'revision':null,'url':'/build/app.3644f7b2.js'},{'revision':'4ff7361e3c3e359ae88c5fae5738746d','url':'/build/app.3644f7b2.js.LICENSE.txt'},{'revision':null,'url':'/build/app.ec67f059.css'},{'revision':null,'url':'/build/fonts/fa-brands-400.3dc44d22.woff2'},{'revision':null,'url':'/build/fonts/fa-regular-400.3dc6ca01.woff2'},{'revision':null,'url':'/build/fonts/fa-solid-900.496d5fc1.woff2'},{'revision':null,'url':'/build/fonts/source-sans-pro-v14-latin-300.d2c7d5c5.woff2'},{'revision':null,'url':'/build/fonts/source-sans-pro-v14-latin-600.17c0392c.woff2'},{'revision':null,'url':'/build/fonts/source-sans-pro-v14-latin-600italic.cc34c6e7.woff2'},{'revision':null,'url':'/build/fonts/source-sans-pro-v14-latin-700.ed37bc60.woff2'},{'revision':null,'url':'/build/fonts/source-sans-pro-v14-latin-900.476756cd.woff2'},{'revision':null,'url':'/build/fonts/source-sans-pro-v14-latin-italic.a07cb9c5.woff2'},{'revision':null,'url':'/build/fonts/source-sans-pro-v14-latin-regular.f74389bd.woff2'},{'revision':null,'url':'/build/images/fa-brands-400.05d20183.svg'},{'revision':null,'url':'/build/images/fa-regular-400.9a0810d6.svg'},{'revision':null,'url':'/build/images/fa-solid-900.a838c42a.svg'},{'revision':null,'url':'/build/images/source-sans-pro-v14-latin-300.4e7fe004.svg'},{'revision':null,'url':'/build/images/source-sans-pro-v14-latin-600.cf2758ae.svg'},{'revision':null,'url':'/build/images/source-sans-pro-v14-latin-600italic.7249d863.svg'},{'revision':null,'url':'/build/images/source-sans-pro-v14-latin-700.3e4b9e19.svg'},{'revision':null,'url':'/build/images/source-sans-pro-v14-latin-900.060d8c51.svg'},{'revision':null,'url':'/build/images/source-sans-pro-v14-latin-italic.08dc9b1c.svg'},{'revision':null,'url':'/build/images/source-sans-pro-v14-latin-regular.3bb9538c.svg'},{'revision':null,'url':'/build/runtime.6ad5c9da.js'}]),K(T),self.addEventListener("fetch",(function(e){e.respondWith(caches.match(e.request).then((function(t){return t||fetch(e.request)})).catch((function(){return caches.match("/offline.html")})))}))})()})(); (()=>{"use strict";var e={913:()=>{try{self["workbox:core:6.5.1"]&&_()}catch(e){}},977:()=>{try{self["workbox:precaching:6.5.1"]&&_()}catch(e){}},80:()=>{try{self["workbox:routing:6.5.1"]&&_()}catch(e){}},873:()=>{try{self["workbox:strategies:6.5.1"]&&_()}catch(e){}}},t={};function s(a){var n=t[a];if(void 0!==n)return n.exports;var r=t[a]={exports:{}};return e[a](r,r.exports,s),r.exports}(()=>{s(913);const e=(e,...t)=>{let s=e;return t.length>0&&(s+=` :: ${JSON.stringify(t)}`),s};class t extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}const a={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},n=e=>[a.prefix,e,a.suffix].filter((e=>e&&e.length>0)).join("-"),r=e=>e||n(a.precache),i=e=>e||n(a.runtime);function c(e,t){const s=t();return e.waitUntil(s),s}s(977);function o(e){if(!e)throw new t("add-to-cache-list-unexpected-type",{entry:e});if("string"==typeof e){const t=new URL(e,location.href);return{cacheKey:t.href,url:t.href}}const{revision:s,url:a}=e;if(!a)throw new t("add-to-cache-list-unexpected-type",{entry:e});if(!s){const e=new URL(a,location.href);return{cacheKey:e.href,url:e.href}}const n=new URL(a,location.href),r=new URL(a,location.href);return n.searchParams.set("__WB_REVISION__",s),{cacheKey:n.href,url:r.href}}class h{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:s})=>{if("install"===e.type&&t&&t.originalRequest&&t.originalRequest instanceof Request){const e=t.originalRequest.url;s?this.notUpdatedURLs.push(e):this.updatedURLs.push(e)}return s}}}class l{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:e,params:t})=>{const s=(null==t?void 0:t.cacheKey)||this._precacheController.getCacheKeyForURL(e.url);return s?new Request(s,{headers:e.headers}):e},this._precacheController=e}}let u;async function f(e,s){let a=null;if(e.url){a=new URL(e.url).origin}if(a!==self.location.origin)throw new t("cross-origin-copy-response",{origin:a});const n=e.clone(),r={headers:new Headers(n.headers),status:n.status,statusText:n.statusText},i=s?s(r):r,c=function(){if(void 0===u){const e=new Response("");if("body"in e)try{new Response(e.body),u=!0}catch(e){u=!1}u=!1}return u}()?n.body:await n.blob();return new Response(c,i)}function d(e,t){const s=new URL(e);for(const e of t)s.searchParams.delete(e);return s.href}class p{constructor(){this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}}const g=new Set;s(873);function y(e){return"string"==typeof e?new Request(e):e}class w{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new p,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const e of this._plugins)this._pluginStateMap.set(e,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:s}=this;let a=y(e);if("navigate"===a.mode&&s instanceof FetchEvent&&s.preloadResponse){const e=await s.preloadResponse;if(e)return e}const n=this.hasCallback("fetchDidFail")?a.clone():null;try{for(const e of this.iterateCallbacks("requestWillFetch"))a=await e({request:a.clone(),event:s})}catch(e){if(e instanceof Error)throw new t("plugin-error-request-will-fetch",{thrownErrorMessage:e.message})}const r=a.clone();try{let e;e=await fetch(a,"navigate"===a.mode?void 0:this._strategy.fetchOptions);for(const t of this.iterateCallbacks("fetchDidSucceed"))e=await t({event:s,request:r,response:e});return e}catch(e){throw n&&await this.runCallbacks("fetchDidFail",{error:e,event:s,originalRequest:n.clone(),request:r.clone()}),e}}async fetchAndCachePut(e){const t=await this.fetch(e),s=t.clone();return this.waitUntil(this.cachePut(e,s)),t}async cacheMatch(e){const t=y(e);let s;const{cacheName:a,matchOptions:n}=this._strategy,r=await this.getCacheKey(t,"read"),i=Object.assign(Object.assign({},n),{cacheName:a});s=await caches.match(r,i);for(const e of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await e({cacheName:a,matchOptions:n,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(e,s){const a=y(e);var n;await(n=0,new Promise((e=>setTimeout(e,n))));const r=await this.getCacheKey(a,"write");if(!s)throw new t("cache-put-with-no-response",{url:(i=r.url,new URL(String(i),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var i;const c=await this._ensureResponseSafeToCache(s);if(!c)return!1;const{cacheName:o,matchOptions:h}=this._strategy,l=await self.caches.open(o),u=this.hasCallback("cacheDidUpdate"),f=u?await async function(e,t,s,a){const n=d(t.url,s);if(t.url===n)return e.match(t,a);const r=Object.assign(Object.assign({},a),{ignoreSearch:!0}),i=await e.keys(t,r);for(const t of i)if(n===d(t.url,s))return e.match(t,a)}(l,r.clone(),["__WB_REVISION__"],h):null;try{await l.put(r,u?c.clone():c)}catch(e){if(e instanceof Error)throw"QuotaExceededError"===e.name&&await async function(){for(const e of g)await e()}(),e}for(const e of this.iterateCallbacks("cacheDidUpdate"))await e({cacheName:o,oldResponse:f,newResponse:c.clone(),request:r,event:this.event});return!0}async getCacheKey(e,t){const s=`${e.url} | ${t}`;if(!this._cacheKeys[s]){let a=e;for(const e of this.iterateCallbacks("cacheKeyWillBeUsed"))a=y(await e({mode:t,request:a,event:this.event,params:this.params}));this._cacheKeys[s]=a}return this._cacheKeys[s]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const s of this.iterateCallbacks(e))await s(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if("function"==typeof t[e]){const s=this._pluginStateMap.get(t),a=a=>{const n=Object.assign(Object.assign({},a),{state:s});return t[e](n)};yield a}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,s=!1;for(const e of this.iterateCallbacks("cacheWillUpdate"))if(t=await e({request:this.request,response:t,event:this.event})||void 0,s=!0,!t)break;return s||t&&200!==t.status&&(t=void 0),t}}class m extends class{constructor(e={}){this.cacheName=i(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,s="string"==typeof e.request?new Request(e.request):e.request,a="params"in e?e.params:void 0,n=new w(this,{event:t,request:s,params:a}),r=this._getResponse(n,s,t);return[r,this._awaitComplete(r,n,s,t)]}async _getResponse(e,s,a){let n;await e.runCallbacks("handlerWillStart",{event:a,request:s});try{if(n=await this._handle(s,e),!n||"error"===n.type)throw new t("no-response",{url:s.url})}catch(t){if(t instanceof Error)for(const r of e.iterateCallbacks("handlerDidError"))if(n=await r({error:t,event:a,request:s}),n)break;if(!n)throw t}for(const t of e.iterateCallbacks("handlerWillRespond"))n=await t({event:a,request:s,response:n});return n}async _awaitComplete(e,t,s,a){let n,r;try{n=await e}catch(r){}try{await t.runCallbacks("handlerDidRespond",{event:a,request:s,response:n}),await t.doneWaiting()}catch(e){e instanceof Error&&(r=e)}if(await t.runCallbacks("handlerDidComplete",{event:a,request:s,response:n,error:r}),t.destroy(),r)throw r}}{constructor(e={}){e.cacheName=r(e.cacheName),super(e),this._fallbackToNetwork=!1!==e.fallbackToNetwork,this.plugins.push(m.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){const s=await t.cacheMatch(e);return s||(t.event&&"install"===t.event.type?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,s){let a;const n=s.params||{};if(!this._fallbackToNetwork)throw new t("missing-precache-entry",{cacheName:this.cacheName,url:e.url});{0;const t=n.integrity,r=e.integrity,i=!r||r===t;if(a=await s.fetch(new Request(e,{integrity:r||t})),t&&i){this._useDefaultCacheabilityPluginIfNeeded();await s.cachePut(e,a.clone());0}}return a}async _handleInstall(e,s){this._useDefaultCacheabilityPluginIfNeeded();const a=await s.fetch(e);if(!await s.cachePut(e,a.clone()))throw new t("bad-precaching-response",{url:e.url,status:a.status});return a}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(const[s,a]of this.plugins.entries())a!==m.copyRedirectedCacheableResponsesPlugin&&(a===m.defaultPrecacheCacheabilityPlugin&&(e=s),a.cacheWillUpdate&&t++);0===t?this.plugins.push(m.defaultPrecacheCacheabilityPlugin):t>1&&null!==e&&this.plugins.splice(e,1)}}m.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:e})=>!e||e.status>=400?null:e},m.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:e})=>e.redirected?await f(e):e};class _{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:s=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new m({cacheName:r(e),plugins:[...t,new l({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this._installAndActiveListenersAdded=!0)}addToCacheList(e){const s=[];for(const a of e){"string"==typeof a?s.push(a):a&&void 0===a.revision&&s.push(a.url);const{cacheKey:e,url:n}=o(a),r="string"!=typeof a&&a.revision?"reload":"default";if(this._urlsToCacheKeys.has(n)&&this._urlsToCacheKeys.get(n)!==e)throw new t("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(n),secondEntry:e});if("string"!=typeof a&&a.integrity){if(this._cacheKeysToIntegrities.has(e)&&this._cacheKeysToIntegrities.get(e)!==a.integrity)throw new t("add-to-cache-list-conflicting-integrities",{url:n});this._cacheKeysToIntegrities.set(e,a.integrity)}if(this._urlsToCacheKeys.set(n,e),this._urlsToCacheModes.set(n,r),s.length>0){const e=`Workbox is precaching URLs without revision info: ${s.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(e)}}}install(e){return c(e,(async()=>{const t=new h;this.strategy.plugins.push(t);for(const[t,s]of this._urlsToCacheKeys){const a=this._cacheKeysToIntegrities.get(s),n=this._urlsToCacheModes.get(t),r=new Request(t,{integrity:a,cache:n,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:e}))}const{updatedURLs:s,notUpdatedURLs:a}=t;return{updatedURLs:s,notUpdatedURLs:a}}))}activate(e){return c(e,(async()=>{const e=await self.caches.open(this.strategy.cacheName),t=await e.keys(),s=new Set(this._urlsToCacheKeys.values()),a=[];for(const n of t)s.has(n.url)||(await e.delete(n),a.push(n.url));return{deletedURLs:a}}))}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){const t=e instanceof Request?e.url:e,s=this.getCacheKeyForURL(t);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(e){const s=this.getCacheKeyForURL(e);if(!s)throw new t("non-precached-url",{url:e});return t=>(t.request=new Request(e),t.params=Object.assign({cacheKey:s},t.params),this.strategy.handle(t))}}let R;const v=()=>(R||(R=new _),R);s(80);const C=e=>e&&"object"==typeof e?e:{handle:e};class b{constructor(e,t,s="GET"){this.handler=C(t),this.match=e,this.method=s}setCatchHandler(e){this.catchHandler=C(e)}}class q extends b{constructor(e,t,s){super((({url:t})=>{const s=e.exec(t.href);if(s&&(t.origin===location.origin||0===s.index))return s.slice(1)}),t,s)}}class U{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",(e=>{const{request:t}=e,s=this.handleRequest({request:t,event:e});s&&e.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(e=>{if(e.data&&"CACHE_URLS"===e.data.type){const{payload:t}=e.data;0;const s=Promise.all(t.urlsToCache.map((t=>{"string"==typeof t&&(t=[t]);const s=new Request(...t);return this.handleRequest({request:s,event:e})})));e.waitUntil(s),e.ports&&e.ports[0]&&s.then((()=>e.ports[0].postMessage(!0)))}}))}handleRequest({request:e,event:t}){const s=new URL(e.url,location.href);if(!s.protocol.startsWith("http"))return void 0;const a=s.origin===location.origin,{params:n,route:r}=this.findMatchingRoute({event:t,request:e,sameOrigin:a,url:s});let i=r&&r.handler;const c=e.method;if(!i&&this._defaultHandlerMap.has(c)&&(i=this._defaultHandlerMap.get(c)),!i)return void 0;let o;try{o=i.handle({url:s,request:e,event:t,params:n})}catch(e){o=Promise.reject(e)}const h=r&&r.catchHandler;return o instanceof Promise&&(this._catchHandler||h)&&(o=o.catch((async a=>{if(h){0;try{return await h.handle({url:s,request:e,event:t,params:n})}catch(e){e instanceof Error&&(a=e)}}if(this._catchHandler)return this._catchHandler.handle({url:s,request:e,event:t});throw a}))),o}findMatchingRoute({url:e,sameOrigin:t,request:s,event:a}){const n=this._routes.get(s.method)||[];for(const r of n){let n;const i=r.match({url:e,sameOrigin:t,request:s,event:a});if(i)return n=i,(Array.isArray(n)&&0===n.length||i.constructor===Object&&0===Object.keys(i).length||"boolean"==typeof i)&&(n=void 0),{route:r,params:n}}return{}}setDefaultHandler(e,t="GET"){this._defaultHandlerMap.set(t,C(e))}setCatchHandler(e){this._catchHandler=C(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new t("unregister-route-but-not-found-with-method",{method:e.method});const s=this._routes.get(e.method).indexOf(e);if(!(s>-1))throw new t("unregister-route-route-not-registered");this._routes.get(e.method).splice(s,1)}}let L;class k extends b{constructor(e,t){super((({request:s})=>{const a=e.getURLsToCacheKeys();for(const n of function*(e,{ignoreURLParametersMatching:t=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:a=!0,urlManipulation:n}={}){const r=new URL(e,location.href);r.hash="",yield r.href;const i=function(e,t=[]){for(const s of[...e.searchParams.keys()])t.some((e=>e.test(s)))&&e.searchParams.delete(s);return e}(r,t);if(yield i.href,s&&i.pathname.endsWith("/")){const e=new URL(i.href);e.pathname+=s,yield e.href}if(a){const e=new URL(i.href);e.pathname+=".html",yield e.href}if(n){const e=n({url:r});for(const t of e)yield t.href}}(s.url,t)){const t=a.get(n);if(t){return{cacheKey:t,integrity:e.getIntegrityForCacheKey(t)}}}}),e.strategy)}}function K(e){const s=v();!function(e,s,a){let n;if("string"==typeof e){const t=new URL(e,location.href);n=new b((({url:e})=>e.href===t.href),s,a)}else if(e instanceof RegExp)n=new q(e,s,a);else if("function"==typeof e)n=new b(e,s,a);else{if(!(e instanceof b))throw new t("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});n=e}(L||(L=new U,L.addFetchListener(),L.addCacheListener()),L).registerRoute(n)}(new k(s,e))}var T;(function(e){v().precache(e)})([{'revision':null,'url':'/build/admin.4de55830.css'},{'revision':null,'url':'/build/admin.63735322.js'},{'revision':'ad79405d542b397996a3079203114b42','url':'/build/admin.63735322.js.LICENSE.txt'},{'revision':null,'url':'/build/app.13f8bbf1.css'},{'revision':null,'url':'/build/app.3644f7b2.js'},{'revision':'4ff7361e3c3e359ae88c5fae5738746d','url':'/build/app.3644f7b2.js.LICENSE.txt'},{'revision':null,'url':'/build/fonts/fa-brands-400.3dc44d22.woff2'},{'revision':null,'url':'/build/fonts/fa-regular-400.3dc6ca01.woff2'},{'revision':null,'url':'/build/fonts/fa-solid-900.496d5fc1.woff2'},{'revision':null,'url':'/build/fonts/source-sans-pro-v14-latin-300.d2c7d5c5.woff2'},{'revision':null,'url':'/build/fonts/source-sans-pro-v14-latin-600.17c0392c.woff2'},{'revision':null,'url':'/build/fonts/source-sans-pro-v14-latin-600italic.cc34c6e7.woff2'},{'revision':null,'url':'/build/fonts/source-sans-pro-v14-latin-700.ed37bc60.woff2'},{'revision':null,'url':'/build/fonts/source-sans-pro-v14-latin-900.476756cd.woff2'},{'revision':null,'url':'/build/fonts/source-sans-pro-v14-latin-italic.a07cb9c5.woff2'},{'revision':null,'url':'/build/fonts/source-sans-pro-v14-latin-regular.f74389bd.woff2'},{'revision':null,'url':'/build/images/fa-brands-400.05d20183.svg'},{'revision':null,'url':'/build/images/fa-regular-400.9a0810d6.svg'},{'revision':null,'url':'/build/images/fa-solid-900.a838c42a.svg'},{'revision':null,'url':'/build/images/source-sans-pro-v14-latin-300.4e7fe004.svg'},{'revision':null,'url':'/build/images/source-sans-pro-v14-latin-600.cf2758ae.svg'},{'revision':null,'url':'/build/images/source-sans-pro-v14-latin-600italic.7249d863.svg'},{'revision':null,'url':'/build/images/source-sans-pro-v14-latin-700.3e4b9e19.svg'},{'revision':null,'url':'/build/images/source-sans-pro-v14-latin-900.060d8c51.svg'},{'revision':null,'url':'/build/images/source-sans-pro-v14-latin-italic.08dc9b1c.svg'},{'revision':null,'url':'/build/images/source-sans-pro-v14-latin-regular.3bb9538c.svg'},{'revision':null,'url':'/build/runtime.6ad5c9da.js'}]),K(T),self.addEventListener("fetch",(function(e){e.respondWith(caches.match(e.request).then((function(t){return t||fetch(e.request)})).catch((function(){return caches.match("/offline.html")})))}))})()})();
\ No newline at end of file \ No newline at end of file
...@@ -93,6 +93,17 @@ class RubriqueAdmin extends AbstractAdmin ...@@ -93,6 +93,17 @@ class RubriqueAdmin extends AbstractAdmin
'required' => false, 'required' => false,
'label_attr' => ['class' => 'checkbox-inline'], 'label_attr' => ['class' => 'checkbox-inline'],
]) ])
->add('isPrestaMapFilter', CheckboxType::class, [
'label' => 'Est un filtre de la carte des Points de vente ?',
'required' => false,
'label_attr' => ['class' => 'checkbox-inline'],
])
->add('isRubriqueForNewPresta', CheckboxType::class, [
'label' => 'Est la rubrique des nouveaux points de vente ?',
'help' => 'Les nouveaux points de vente y sont automatiquement ajoutés une fois par jour. Il ne peut y avoir qu\'une seule rubrique pour les nouveaux points de vente.',
'required' => false,
'label_attr' => ['class' => 'checkbox-inline'],
])
->end() ->end()
->with('Image', ['class' => 'col-md-6']) ->with('Image', ['class' => 'col-md-6'])
->add('media', MediaType::class, [ ->add('media', MediaType::class, [
......
<?php
declare(strict_types=1);
namespace App\Command;
use App\Entity\Rubrique;
use App\Entity\Prestataire;
use App\Utils\CustomEntityManager;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle;
/**
* This command is used to add or delete prestataire to/from the nes prestataires rubrique.
* This way, this rubrique always only contains the new prestataires (created in the last 2 months).
*/
class ManageNewPrestaRubriqueCommand extends Command
{
protected static $defaultName = 'kohinos:ssa:manage-new-prestas-rubrique';
protected $em;
protected $io;
public function __construct(CustomEntityManager $em) {
$this->em = $em;
parent::__construct();
}
protected function configure()
{
$this
->setDescription('SSA : ajouter ou supprimer les prestaires de la rubrique des nouveaux prestataires')
;
}
/**
* @param InputInterface $input
* @param OutputInterface $output
*
* @return int
*/
protected function execute(InputInterface $input, OutputInterface $output): int
{
$this->io = new SymfonyStyle($input, $output);
$this->io->title('START');
$rubrique = $this->em->getRepository(Rubrique::class)->findOneBy(['isRubriqueForNewPresta' => true, 'enabled' => true]);
if (null === $rubrique) {
return 0;
}
$newPrestas = $this->em->getRepository(Prestataire::class)->findNewPrestataires();
foreach ($newPrestas as $p) {
// add if doesn't exist
$p->addRubrique($rubrique);
$this->em->persist($p);
}
// get all other prestas
$otherPrestas = $this->em->getRepository(Prestataire::class)->findbyListExclude($newPrestas);
foreach ($otherPrestas as $p) {
// remove if exists
$p->removeRubrique($rubrique);
$this->em->persist($p);
}
$this->em->flush();
$this->em->clear();
$this->io->success('End');
$memoryUsage = memory_get_usage(true) / 1024 / 1024;
$this->io->text("Batch finished with memory: ${memoryUsage}M");
return 0;
}
}
...@@ -596,7 +596,7 @@ class IndexController extends AbstractController ...@@ -596,7 +596,7 @@ class IndexController extends AbstractController
try { try {
// GEOCODING ADDRESS : // GEOCODING ADDRESS :
$httpClient = new \Http\Adapter\Guzzle6\Client(); $httpClient = new \Http\Adapter\Guzzle6\Client();
$provider = Nominatim::withOpenStreetMapServer($httpClient, 'Mozilla/5.0'); $provider = Nominatim::withOpenStreetMapServer($httpClient, 'Kohinos_SSA/2.4.5 (contact@caisse-alimentaire-commune.fr)');
$geocoder = new \Geocoder\StatefulGeocoder($provider, 'fr'); $geocoder = new \Geocoder\StatefulGeocoder($provider, 'fr');
// Query geocoding from complete address // Query geocoding from complete address
$result = $geocoder->geocodeQuery(GeocodeQuery::create($request->get('adresse') . ' ' . $request->get('cpostal') . ' ' . $request->get('ville'))); $result = $geocoder->geocodeQuery(GeocodeQuery::create($request->get('adresse') . ' ' . $request->get('cpostal') . ' ' . $request->get('ville')));
......
...@@ -11,6 +11,7 @@ use App\Entity\SelfEvalPrestaQuiz; ...@@ -11,6 +11,7 @@ use App\Entity\SelfEvalPrestaQuiz;
use App\Form\Type\DistributorSelfEvalPrestaQuizType; use App\Form\Type\DistributorSelfEvalPrestaQuizType;
use App\Form\Type\ProducerSelfEvalPrestaQuizType; use App\Form\Type\ProducerSelfEvalPrestaQuizType;
use App\Form\Type\SelfEvalPrestaQuizType; use App\Form\Type\SelfEvalPrestaQuizType;
use App\Application\Sonata\MediaBundle\Entity\Media;
use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
...@@ -146,10 +147,9 @@ class PrestatairesController extends FrontController ...@@ -146,10 +147,9 @@ class PrestatairesController extends FrontController
if (!$this->isFrontActivated()) { if (!$this->isFrontActivated()) {
return $this->redirectToRoute('index'); return $this->redirectToRoute('index');
} }
$rubriques = $this->em->getRepository(Rubrique::class)->findBy(['enabled' => true], ['name' => 'ASC']);
return $this->render('@kohinos/presta/rubriques.html.twig', [ return $this->render('@kohinos/presta/rubriques.html.twig', [
'rubriques' => $rubriques, 'rubriques' => $this->em->getRepository(Rubrique::class)->findBy(['enabled' => true], ['isRubriqueForNewPresta' => 'DESC', 'name' => 'ASC']),
]); ]);
} }
......
...@@ -57,6 +57,19 @@ class Rubrique ...@@ -57,6 +57,19 @@ class Rubrique
*/ */
protected $media; protected $media;
/**
* @ORM\Column(type="boolean", nullable=false, options={"default": false})
*/
private $isPrestaMapFilter;
/**
* One Rubrique is dedicated to new prestataires.
* Prestataires will be automatically added to or deleted from this Rubrique to it containse only the most recently added Prestataires.
*
* @ORM\Column(type="boolean", nullable=false, options={"default": false})
*/
private $isRubriqueForNewPresta;
public function __construct() public function __construct()
{ {
$this->prestataires = new ArrayCollection(); $this->prestataires = new ArrayCollection();
...@@ -136,4 +149,28 @@ class Rubrique ...@@ -136,4 +149,28 @@ class Rubrique
{ {
return $this->getTitle() ? $this->getTitle() : 'Rubrique'; return $this->getTitle() ? $this->getTitle() : 'Rubrique';
} }
public function getIsPrestaMapFilter(): ?bool
{
return $this->isPrestaMapFilter;
}
public function setIsPrestaMapFilter(bool $isPrestaMapFilter): self
{
$this->isPrestaMapFilter = $isPrestaMapFilter;
return $this;
}
public function getIsRubriqueForNewPresta(): ?bool
{
return $this->isRubriqueForNewPresta;
}
public function setIsRubriqueForNewPresta(bool $isRubriqueForNewPresta): self
{
$this->isRubriqueForNewPresta = $isRubriqueForNewPresta;
return $this;
}
} }
...@@ -40,7 +40,7 @@ class GeolocListener ...@@ -40,7 +40,7 @@ class GeolocListener
if (empty($entity->getLat()) && empty($entity->getLon())) { if (empty($entity->getLat()) && empty($entity->getLon())) {
// GEOCODING ADDRESS : // GEOCODING ADDRESS :
$httpClient = new \Http\Adapter\Guzzle6\Client(); $httpClient = new \Http\Adapter\Guzzle6\Client();
$provider = Nominatim::withOpenStreetMapServer($httpClient, 'Mozilla/5.0'); $provider = Nominatim::withOpenStreetMapServer($httpClient, 'Kohinos_SSA/2.4.5 (contact@caisse-alimentaire-commune.fr)');
$geocoder = new \Geocoder\StatefulGeocoder($provider, 'fr'); $geocoder = new \Geocoder\StatefulGeocoder($provider, 'fr');
$fullAddress = $entity->getAdresse() . ' ' . $entity->getCpostal() . ' ' . $entity->getVille(); $fullAddress = $entity->getAdresse() . ' ' . $entity->getCpostal() . ' ' . $entity->getVille();
// Query geocoding from complete address // Query geocoding from complete address
......
<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20260408075326 extends AbstractMigration
{
public function getDescription() : string
{
return '';
}
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE rubrique ADD is_presta_map_filter TINYINT(1) DEFAULT \'0\' NOT NULL');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE rubrique DROP is_presta_map_filter');
}
}
<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20260513075023 extends AbstractMigration
{
public function getDescription() : string
{
return '';
}
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE rubrique ADD is_rubrique_for_new_presta TINYINT(1) DEFAULT \'0\' NOT NULL');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE rubrique DROP is_rubrique_for_new_presta');
}
}
...@@ -338,6 +338,48 @@ class PrestataireRepository extends ServiceEntityRepository ...@@ -338,6 +338,48 @@ class PrestataireRepository extends ServiceEntityRepository
return $return; return $return;
} }
/**
* Find by excluding prestataires in parameter list
* @return Prestataire[] Returns an array of Prestataire objects
*/
public function findbyListExclude(Array $prestas)
{
$excludeIds = [];
foreach ($prestas as $p) {
$excludeIds[] = strval($p->getId());
}
$qb = $this->createQueryBuilder('p');
$qb = $this->addDefaultFilter($qb);
return $qb
->andWhere('p.id NOT IN (:ids)')
->setParameter('ids', $excludeIds)
->orderBy('p.raison', 'ASC')
->getQuery()
->getResult()
;
}
/**
* @return Prestataire[] Returns an array of Prestataire objects
*/
public function findNewPrestataires()
{
$qb = $this->createQueryBuilder('p');
$qb = $this->addDefaultFilter($qb);
$from = date('Y-m-d H:i:s',strtotime("-2 months"));
return $qb
->andWhere('p.createdAt > :from')
->setParameter('from', $from)
->orderBy('p.raison', 'ASC')
->getQuery()
->getResult()
;
}
public function findAllForSsaExport() public function findAllForSsaExport()
{ {
$qb = $this->createQueryBuilder('p'); $qb = $this->createQueryBuilder('p');
...@@ -346,9 +388,6 @@ class PrestataireRepository extends ServiceEntityRepository ...@@ -346,9 +388,6 @@ class PrestataireRepository extends ServiceEntityRepository
->leftjoin('p.geolocs', 'g') ->leftjoin('p.geolocs', 'g')
->leftjoin('p.rubriques', 'r') ->leftjoin('p.rubriques', 'r')
->leftjoin('p.users', 'u') ->leftjoin('p.users', 'u')
// ->where('p.enabled = :enabled')
// ->andWhere('u.enabled = :userEnabled')
// ->setParameters(['enabled' => true, 'userEnabled' => true])
->orderBy('p.raison', 'ASC') ->orderBy('p.raison', 'ASC')
->getQuery() ->getQuery()
->getResult() ->getResult()
......
<?php
namespace App\Repository;
use App\Entity\Rubrique;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Persistence\ManagerRegistry;
/**
* @method RubriqueItem|null find($id, $lockMode = null, $lockVersion = null)
* @method RubriqueItem|null findOneBy(array $criteria, array $orderBy = null)
* @method RubriqueItem[] findAll()
* @method RubriqueItem[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
*/
class RubriqueRepository extends ServiceEntityRepository
{
public function __construct(ManagerRegistry $registry)
{
parent::__construct($registry, Rubrique::class);
}
}
...@@ -114,6 +114,7 @@ class AppExtension extends AbstractExtension ...@@ -114,6 +114,7 @@ class AppExtension extends AbstractExtension
}), }),
new \Twig_SimpleFunction('showInformationModal', [$this, 'showInformationModal']), new \Twig_SimpleFunction('showInformationModal', [$this, 'showInformationModal']),
new \Twig_SimpleFunction('getInformationPopupData', [$this, 'getInformationPopupData']), new \Twig_SimpleFunction('getInformationPopupData', [$this, 'getInformationPopupData']),
new \Twig_SimpleFunction('getRubriqueFiltersForPrestaMap', [$this, 'getRubriqueFiltersForPrestaMap']),
]; ];
} }
...@@ -617,4 +618,12 @@ class AppExtension extends AbstractExtension ...@@ -617,4 +618,12 @@ class AppExtension extends AbstractExtension
{ {
return $this->em->getRepository(InformationPopup::class)->findOneBy(['enabled' => true]); return $this->em->getRepository(InformationPopup::class)->findOneBy(['enabled' => true]);
} }
/**
* If the information modale is shown, get its data
*/
public function getRubriqueFiltersForPrestaMap()
{
return $this->em->getRepository(Rubrique::class)->findBy(['enabled' => true, 'isPrestaMapFilter' => true], ['name' => 'ASC']);
}
} }
...@@ -33,13 +33,21 @@ ...@@ -33,13 +33,21 @@
{% import _self as self %} {% import _self as self %}
{% for menuItem in items %} {% for menuItem in items %}
{% set url = menuItem.url %} {% set url = menuItem.url %}
{% if tav_env == 1 and menuItem.name == "Carte des prestataires" %}
{% set name = "Carte des points de vente" %} {# In tav env, only display some entries with a different name for prestataires menu #}
{% elseif tav_env == 1 and menuItem.name == "Liste des prestataires" %} {% if tav_env == 1 and "prestataires" in url %}
{% set name = "Liste des points de vente" %} {% set name = null %}
{% if 'carte' in url %}
{% set name = "Carte des points de vente" %}
{% elseif 'rubriques' in url %}
{% set name = "Les différents points de vente" %}
{% endif %}
{% if name != null %}
<a href="{{ url }}" class="dropdown-item {% if currentPath == url %}current{% endif %}" {% if menuItem.target %} target="_blank"{% endif %}>{{ name }}</a>
{% endif %}
{% else %} {% else %}
{% set name = menuItem.name %} <a href="{{ url }}" class="dropdown-item {% if currentPath == url %}current{% endif %}" {% if menuItem.target %} target="_blank"{% endif %}>{{ menuItem.name }}</a>
{% endif %} {% endif %}
<a href="{{ url }}" class="dropdown-item {% if currentPath == url %}current{% endif %}" {% if menuItem.target %} target="_blank"{% endif %}>{{ name }}</a>
{% endfor %} {% endfor %}
{% endmacro %} {% endmacro %}
\ No newline at end of file
...@@ -2,7 +2,11 @@ ...@@ -2,7 +2,11 @@
{% if rubriques == null or rubriques|length > 0 %} {% if rubriques == null or rubriques|length > 0 %}
<div class="card mb-2"> <div class="card mb-2">
<div class="card-header"> <div class="card-header">
<i class="fa fa-flag"></i> <span class='h4 ml-2'>{{ 'Rubriques'|trans }}</span> {% if tav_env == 1 %}
<i class="fa fa-flag"></i> <span class='h4 ml-2'>{{ 'Les différents points de vente'|trans }}</span>
{% else %}
<i class="fa fa-flag"></i> <span class='h4 ml-2'>{{ 'Rubriques'|trans }}</span>
{% endif %}
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="card-text"> <div class="card-text">
......
{% set id = id|default('mapid') %} {% set id = id|default('mapid') %}
{% set style = style|default('') %} {% set style = style|default('') %}
{% set title = title|default('Carte') %} {% set title = title|default('Carte') %}
{% set rubriquesFilter = getRubriqueFiltersForPrestaMap() %}
<div class='cartetitle mb-3'> <div class='cartetitle mb-3'>
<h4><i class="fa fa-map"></i> {{title}}</h4> <h4><i class="fa fa-map"></i> {{title}}</h4>
</div> </div>
<div id="{{id}}" style="{{style}}" class='my-3'></div> <div id="{{id}}" style="{{style}}" class='my-3'></div>
\ No newline at end of file <div class="presta-map-filter-container">
{% for rubrique in rubriquesFilter %}
<button class="btn btn-primary presta-map-filter" data-rubrique-slug="{{rubrique.slug}}">{{ rubrique.name }}</button>
{% endfor %}
</div>
\ No newline at end of file
{% set idmap = id|default('mapid') %} {% set idmap = id|default('mapid') %}
{% set prestataires = getAllPrestataires() %} {% set prestataires = getAllPrestataires() %}
<script> <script>
var mymap = null;
var mapFilters = [];
$(function () { $(function () {
$('[data-toggle="tooltip"]').tooltip() $('[data-toggle="tooltip"]').tooltip();
if ($('#{{idmap}}').length) {
var mymap = L.map('{{idmap}}').setView({{KOH_MAP_CENTER}}, {{KOH_MAP_ZOOM}}); function drawMap() {
if ($('#{{idmap}}').length) {
L.tileLayer('https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png', {maxZoom: 18, attribution: '&copy; Openstreetmap France | &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(mymap); mymap = L.map('{{idmap}}').setView({{KOH_MAP_CENTER}}, {{KOH_MAP_ZOOM}});
L.tileLayer('https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png', {maxZoom: 18, attribution: '&copy; Openstreetmap France | &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(mymap);
{# AJOUTER LES MARQUEURS SUR LA CARTE #}
{% set count = 1 %} {# AJOUT DES MARQUEURS SUR LA CARTE #}
{% for presta in prestataires %} {% set count = 1 %}
{% if presta.geolocs|length > 0 %} {% for presta in prestataires %}
{% for geolocp in presta.geolocs %} {% if presta.geolocs|length > 0 %}
{% if geolocp.enabled and geolocp.geoloc.lat != null and geolocp.geoloc.lon != null %} {% for geolocp in presta.geolocs %}
{% if presta.rubriques|length > 0 and presta.rubriques.first.media is not null %} {% if geolocp.enabled and geolocp.geoloc.lat != null and geolocp.geoloc.lon != null %}
var icon = L.icon({
iconSize: [50, 50], // get presta rubriques
iconAnchor: [25,50], var prestaRubriquesSlug = [];
className: 'kohinos-map-icon', {% for rubrique in presta.rubriques %}
iconUrl : '{% path presta.rubriques.first.media, "preview" %}' prestaRubriquesSlug.push('{{ rubrique.slug }}')
}); {% endfor %}
var marker_{{count}} = L.marker([{{geolocp.geoloc.lat}}, {{geolocp.geoloc.lon}}], {icon: icon}).addTo(mymap);
{% else %} // add presta to map if there's no filter or if one of its rubriques match any active filter
var marker_{{count}} = L.marker([{{geolocp.geoloc.lat}}, {{geolocp.geoloc.lon}}]).addTo(mymap); if (
{% endif %} mapFilters.length === 0
marker_{{count}}.bindPopup("{% spaceless %}{% if presta.media != null %}{% set media %}{% thumbnail presta.media, 'small' %}{% endset %} {{ media|raw|replace({'"' : "'"})|raw }}<br/><br/>{% endif %} || mapFilters.length > 0
<a href='{{ path('show_prestataire', {'slug': presta.slug}) }}'> && mapFilters.some(el => prestaRubriquesSlug.includes(el))
<strong style='font-size:16px;'>{{presta.__toString()}}</strong> ) {
</a> // On récupère la rubrique des nouveaux prestataires en priorité, sinon la première rubrique de la liste
<br/> {% set media = null %}
{% if presta.horaires is not null %} {% if presta.rubriques|length > 0 %}
<p>{{presta.horaires}}</p> {% for rubrique in presta.rubriques %}
{% endif %} {% if rubrique.isRubriqueForNewPresta %}
{% for rubrique in presta.rubriques %} {% set media = rubrique.media %}
<a class='maprubrique' href='{{ path('show_rubrique', {'slug': rubrique.slug}) }}'>{{rubrique.name|replace({"\n": '<br/>'})}}</a>{% if not loop.last %} - {% endif %} {% elseif media is null and rubrique.media is not null %}
{% endfor %} {% set media = rubrique.media %}
{% endspaceless %}"); {% endif %}
{% set count = count+1 %} {% endfor %}
{% endif %} {% endif %}
{% endfor %}
{% endif %} {% if media is not null %}
{% endfor %} var icon = L.icon({
} iconSize: [50, 50],
}) iconAnchor: [25,50],
className: 'kohinos-map-icon',
iconUrl : '{% path media, "preview" %}'
});
var marker_{{count}} = L.marker([{{geolocp.geoloc.lat}}, {{geolocp.geoloc.lon}}], {icon: icon}).addTo(mymap);
{% else %}
var marker_{{count}} = L.marker([{{geolocp.geoloc.lat}}, {{geolocp.geoloc.lon}}]).addTo(mymap);
{% endif %}
marker_{{count}}.bindPopup("{% spaceless %}{% if presta.media != null %}{% set media %}{% thumbnail presta.media, 'small' %}{% endset %} {{ media|raw|replace({'"' : "'"})|raw }}<br/><br/>{% endif %}
{% if date(presta.getCreatedAt()) > date('-2months') %}
<strong style='font-size:16px;'>[Nouveau] </strong>
{% endif %}
<a href='{{ path('show_prestataire', {'slug': presta.slug}) }}'>
<strong style='font-size:16px;'>{{presta.__toString()}}</strong>
</a>
<br/>
{% if presta.horaires is not null %}
<p>{{presta.horaires}}</p>
{% endif %}
{% for rubrique in presta.rubriques %}
<a class='maprubrique' href='{{ path('show_rubrique', {'slug': rubrique.slug}) }}'>{{rubrique.name|replace({"\n": '<br/>'})}}</a>{% if not loop.last %} - {% endif %}
{% endfor %}
{% endspaceless %}");
{% set count = count+1 %}
}
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
}
}
drawMap();
// Listeners for map filters buttons
$('.presta-map-filter').each(function() {
$(this).click(() => {
let slug = $(this).data('rubriqueSlug');
let activeFilterIndex = mapFilters.indexOf(slug);
if (activeFilterIndex === -1) {
// add rubrique slug to fiters array if it doesn't exist...
mapFilters.push(slug);
$(this).removeClass('btn-primary').addClass('btn-success');
} else {
// ... else, add it
mapFilters.splice(activeFilterIndex, 1);
$(this).addClass('btn-primary').removeClass('btn-success');
}
// Redraw map
mymap.remove();
drawMap();
});
});
});
</script> </script>
...@@ -3,7 +3,12 @@ ...@@ -3,7 +3,12 @@
{% block content %} {% block content %}
<div class='container rubriquelist mt-2'> <div class='container rubriquelist mt-2'>
{% include '@kohinos/block/breadcrumb.html.twig' with {'label' : 'Rubriques'|trans} %} {% include '@kohinos/block/breadcrumb.html.twig' with {'label' : 'Rubriques'|trans} %}
<h1>{{ 'Rubriques'|trans }}</h1> {% if tav_env == 1 %}
<h1>{{ 'Les différents points de vente'|trans }}</h1>
{% else %}
<h1>{{ 'Rubriques'|trans }}</h1>
{% endif %}
<br/>
<div class="row"> <div class="row">
{% for rubrique in rubriques %} {% for rubrique in rubriques %}
{% if rubrique.prestataires|length > 0 %} {% if rubrique.prestataires|length > 0 %}
...@@ -13,7 +18,11 @@ ...@@ -13,7 +18,11 @@
{% if rubrique.media is not null %} {% if rubrique.media is not null %}
{% thumbnail rubrique.media, 'small' %} {% thumbnail rubrique.media, 'small' %}
{% endif %} {% endif %}
<a class='rubrique' href='{{ path('show_rubrique', {'slug': rubrique.slug}) }}'>{{rubrique.name}}</a> {% if rubrique.id == 'new_prestataires' %}
<span class='rubrique' id="new-prestataires-rubrique-title">{{rubrique.name}}</span>
{% else %}
<a class='rubrique' href='{{ path('show_rubrique', {'slug': rubrique.slug}) }}'>{{rubrique.name}}</a>
{% endif %}
</h5> </h5>
{% if rubrique.content|length > 0 %} {% if rubrique.content|length > 0 %}
<div class="card-body"> <div class="card-body">
......
...@@ -8,21 +8,29 @@ ...@@ -8,21 +8,29 @@
<div class="card mb-2"> <div class="card mb-2">
<div class="card-header"> <div class="card-header">
<h1>{{ presta.raison }}</h1> <h1>{{ presta.raison }}</h1>
{% if presta.acceptemlc %} {% if tav_env == 0 %}
<span class='fa-stack fa-lg' data-toggle='tooltip' data-placement='bottom' title="Accepte la monnaie électronique"> {% if presta.acceptemlc %}
<i class='fa fa-at fa-stack-1x'></i> <span class='fa-stack fa-lg' data-toggle='tooltip' data-placement='bottom' title="Accepte la monnaie électronique">
<i class='fa fa-fw fa-stack-2x'></i> <i class='fa fa-at fa-stack-1x'></i>
</span> <i class='fa fa-fw fa-stack-2x'></i>
{% else %} </span>
<span class='fa-stack fa-lg' data-toggle='tooltip' data-placement='bottom' title="N'accepte pas la monnaie électronique"> {% else %}
<i class='fa fa-at fa-stack-1x'></i> <span class='fa-stack fa-lg' data-toggle='tooltip' data-placement='bottom' title="N'accepte pas la monnaie électronique">
<i class='fa fa-ban fa-stack-2x text-danger'></i> <i class='fa fa-at fa-stack-1x'></i>
</span> <i class='fa fa-ban fa-stack-2x text-danger'></i>
</span>
{% endif %}
{% endif %} {% endif %}
{% if presta.rubriques|length > 0%} {% if presta.rubriques|length > 0%}
{% for rubrique in presta.rubriques %} {% if tav_env == 1 %}
<a class='rubrique ml-2' href='{{ path('show_rubrique', {'slug': rubrique.slug}) }}'>{{ rubrique.name }}</a> {% set presta_rubrique_class = 'mr-2' %}
{% endfor %} {% else %}
{% set presta_rubrique_class = 'ml-2' %}
{% endif %}
{% for rubrique in presta.rubriques %}
<a class='rubrique {{ presta_rubrique_class }}' href='{{ path('show_rubrique', {'slug': rubrique.slug}) }}'>{{ rubrique.name }}</a>
{% endfor %}
{% endif %} {% endif %}
{# @TODO : ajouter le lien d'édition uniquement quand l'utilisateur peut l'éditer (Voter?) #} {# @TODO : ajouter le lien d'édition uniquement quand l'utilisateur peut l'éditer (Voter?) #}
{% if app.user and (is_granted('ROLE_SUPER_ADMIN') or is_granted('ROLE_ADMIN_PRESTATAIRE_GERER_EDIT')) %} {% if app.user and (is_granted('ROLE_SUPER_ADMIN') or is_granted('ROLE_ADMIN_PRESTATAIRE_GERER_EDIT')) %}
...@@ -36,22 +44,22 @@ ...@@ -36,22 +44,22 @@
</div> </div>
{% endif %} {% endif %}
{% if presta.statut != null %} {% if presta.statut != null %}
<h6 class="card-title text-muted mb-3">{{ presta.statut }}</h6> <h5 class="card-title text-muted mb-3">{{ presta.statut }}</h5>
{% endif %} {% endif %}
{% if presta.groupe != null %} {% if presta.groupe != null and tav_env == 0 %}
<h4 class="card-subtitle mb-3">{{'Groupe local'|trans}} : <a href='{{ path('show_groupe', {'slug': presta.groupe.slug}) }}'>{{ presta.groupe.__toString() }}</a></h4> <h5 class="card-subtitle mb-3">{{'Groupe local'|trans}} : <a href='{{ path('show_groupe', {'slug': presta.groupe.slug}) }}'>{{ presta.groupe.__toString() }}</a></h5>
{% endif %} {% endif %}
{% if presta.siret != null %} {% if presta.siret != null and tav_env == 0 %}
<h5 class="card-subtitle mb-3">{{'SIRET'|trans}} : {{ presta.siret }}</h5> <h5 class="card-subtitle mb-3">{{'SIRET'|trans}} : {{ presta.siret }}</h5>
{% endif %} {% endif %}
{% if app.user and presta_extra_data and presta.conventionnement != null and presta.conventionnement > 0 %} {% if app.user and presta_extra_data and presta.conventionnement != null and presta.conventionnement > 0 %}
<h5 class="card-subtitle mb-3">{{'Pourcentage de conventionnement'|trans}} : {{ presta.conventionnement * 100 }}%</h5> <h5 class="card-subtitle mb-3">{{'Pourcentage de conventionnement'|trans}} : {{ presta.conventionnement * 100 }}%</h5>
{% endif %} {% endif %}
{% if presta.horaires != null %} {% if presta.horaires != null %}
<h6 class="card-subtitle text-muted mb-3">{{'Horaires'|trans}} : {{ presta.horaires|raw }}</h6> <h5 class="card-subtitle text-muted mb-3">{{'Horaires'|trans}} : {{ presta.horaires|raw }}</h5>
{% endif %} {% endif %}
{% if presta.web != null %} {% if presta.web != null %}
<h6 class="card-subtitle mb-3">{{'Site web'|trans}} : <a href='{{ presta.web }}' target='_blank' rel='noopener noreferrer'>{{ presta.web }}</a></h6> <h5 class="card-subtitle mb-3">{{'Site web'|trans}} : <a href='{{ presta.web }}' target='_blank' rel='noopener noreferrer'>{{ presta.web }}</a></h5>
{% endif %} {% endif %}
{# {% if presta.responsable != null and presta.metier != null %} {# {% if presta.responsable != null and presta.metier != null %}
<h6 class="card-title my-3">Responsable : {{ presta.responsable }} ({{ presta.metier }})</h6> <h6 class="card-title my-3">Responsable : {{ presta.responsable }} ({{ presta.metier }})</h6>
......
...@@ -2,7 +2,12 @@ ...@@ -2,7 +2,12 @@
{% block content %} {% block content %}
<div class='container newslist mt-2'> <div class='container newslist mt-2'>
{% include '@kohinos/block/breadcrumb.html.twig' with {'label': rubrique.name, 'label2': 'Rubriques', 'url2': path('rubriques_prestataire') } %} {% if tav_env == 1 %}
{% set label2Name = 'Les différents points de vente' %}
{% else %}
{% set label2Name = 'Rubriques' %}
{% endif %}
{% include '@kohinos/block/breadcrumb.html.twig' with {'label': rubrique.name, 'label2': label2Name, 'url2': path('rubriques_prestataire') } %}
<h1 class='text-primary'> <h1 class='text-primary'>
{% if rubrique.media is not null %} {% if rubrique.media is not null %}
<span style='width:100px;'>{% thumbnail rubrique.media, 'small' %}</span> <span style='width:100px;'>{% thumbnail rubrique.media, 'small' %}</span>
......
...@@ -9,6 +9,7 @@ Encore ...@@ -9,6 +9,7 @@ Encore
{from: './node_modules/ckeditor/lang', to: 'ckeditor/lang/[path][name].[ext]', pattern: /fr\.js|en\.js$/}, {from: './node_modules/ckeditor/lang', to: 'ckeditor/lang/[path][name].[ext]', pattern: /fr\.js|en\.js$/},
{from: './node_modules/ckeditor/plugins', to: 'ckeditor/plugins/[path][name].[ext]', pattern: /(\/lang\/(fr\.js|en\.js)|(^lang\/.*))/}, {from: './node_modules/ckeditor/plugins', to: 'ckeditor/plugins/[path][name].[ext]', pattern: /(\/lang\/(fr\.js|en\.js)|(^lang\/.*))/},
{from: './node_modules/ckeditor/plugins/link', to: 'ckeditor/plugins/link/[path][name].[ext]'}, {from: './node_modules/ckeditor/plugins/link', to: 'ckeditor/plugins/link/[path][name].[ext]'},
{from: './node_modules/ckeditor/plugins/image', to: 'ckeditor/plugins/image/[path][name].[ext]'},
{from: './node_modules/ckeditor/skins', to: 'ckeditor/skins/[path][name].[ext]'} {from: './node_modules/ckeditor/skins', to: 'ckeditor/skins/[path][name].[ext]'}
]) ])
// directory where compiled assets will be stored // directory where compiled assets will be stored
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.3.tgz" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.3.tgz"
integrity sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ== integrity sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==
"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.11.1", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.4.0-0", "@babel/core@^7.7.0": "@babel/core@^7.11.1", "@babel/core@^7.7.0":
version "7.22.1" version "7.22.1"
resolved "https://registry.npmjs.org/@babel/core/-/core-7.22.1.tgz" resolved "https://registry.npmjs.org/@babel/core/-/core-7.22.1.tgz"
integrity sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA== integrity sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==
...@@ -200,7 +200,7 @@ ...@@ -200,7 +200,7 @@
dependencies: dependencies:
"@babel/types" "^7.16.7" "@babel/types" "^7.16.7"
"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4": "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
version "7.10.4" version "7.10.4"
resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz" resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz"
integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==
...@@ -210,16 +210,6 @@ ...@@ -210,16 +210,6 @@
resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz" resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz"
integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==
"@babel/helper-plugin-utils@^7.8.0":
version "7.10.4"
resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz"
integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==
"@babel/helper-plugin-utils@^7.8.3":
version "7.10.4"
resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz"
integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==
"@babel/helper-remap-async-to-generator@^7.16.7": "@babel/helper-remap-async-to-generator@^7.16.7":
version "7.16.7" version "7.16.7"
resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.7.tgz" resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.7.tgz"
...@@ -973,16 +963,16 @@ ...@@ -973,16 +963,16 @@
resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz"
integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
"@jridgewell/sourcemap-codec@^1.4.10":
version "1.4.15"
resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz"
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
"@jridgewell/sourcemap-codec@1.4.14": "@jridgewell/sourcemap-codec@1.4.14":
version "1.4.14" version "1.4.14"
resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz"
integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
"@jridgewell/sourcemap-codec@^1.4.10":
version "1.4.15"
resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz"
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9":
version "0.3.18" version "0.3.18"
resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz" resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz"
...@@ -999,7 +989,7 @@ ...@@ -999,7 +989,7 @@
"@nodelib/fs.stat" "2.0.5" "@nodelib/fs.stat" "2.0.5"
run-parallel "^1.1.9" run-parallel "^1.1.9"
"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
version "2.0.5" version "2.0.5"
resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
...@@ -1204,12 +1194,7 @@ ...@@ -1204,12 +1194,7 @@
resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz" resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz"
integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==
"@types/json-schema@^7.0.5": "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6":
version "7.0.6"
resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz"
integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==
"@types/json-schema@^7.0.6":
version "7.0.6" version "7.0.6"
resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz" resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz"
integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==
...@@ -1484,7 +1469,7 @@ acorn-import-assertions@^1.7.6: ...@@ -1484,7 +1469,7 @@ acorn-import-assertions@^1.7.6:
resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz" resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz"
integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==
acorn@^8, acorn@^8.4.1, acorn@^8.5.0: acorn@^8.4.1:
version "8.7.0" version "8.7.0"
resolved "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz" resolved "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz"
integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==
...@@ -1524,7 +1509,7 @@ ajv-keywords@^5.0.0: ...@@ -1524,7 +1509,7 @@ ajv-keywords@^5.0.0:
dependencies: dependencies:
fast-deep-equal "^3.1.3" fast-deep-equal "^3.1.3"
ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1: ajv@^6.12.4, ajv@^6.12.5:
version "6.12.6" version "6.12.6"
resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
...@@ -1534,7 +1519,7 @@ ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1: ...@@ -1534,7 +1519,7 @@ ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1:
json-schema-traverse "^0.4.1" json-schema-traverse "^0.4.1"
uri-js "^4.2.2" uri-js "^4.2.2"
ajv@^8.0.0, ajv@^8.8.0, ajv@^8.8.2: ajv@^8.0.0, ajv@^8.8.0:
version "8.8.2" version "8.8.2"
resolved "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz" resolved "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz"
integrity sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw== integrity sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==
...@@ -1544,7 +1529,7 @@ ajv@^8.0.0, ajv@^8.8.0, ajv@^8.8.2: ...@@ -1544,7 +1529,7 @@ ajv@^8.0.0, ajv@^8.8.0, ajv@^8.8.2:
require-from-string "^2.0.2" require-from-string "^2.0.2"
uri-js "^4.2.2" uri-js "^4.2.2"
ajv@^8.6.0, ajv@>=8: ajv@^8.6.0:
version "8.11.0" version "8.11.0"
resolved "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz" resolved "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz"
integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==
...@@ -1606,16 +1591,16 @@ arity-n@^1.0.4: ...@@ -1606,16 +1591,16 @@ arity-n@^1.0.4:
resolved "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz" resolved "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz"
integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U= integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U=
array-flatten@^2.1.0:
version "2.1.2"
resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz"
integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
array-flatten@1.1.1: array-flatten@1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"
integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
array-flatten@^2.1.0:
version "2.1.2"
resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz"
integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
array-union@^1.0.1: array-union@^1.0.1:
version "1.0.2" version "1.0.2"
resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz"
...@@ -1642,6 +1627,11 @@ assets-webpack-plugin@7.0.*: ...@@ -1642,6 +1627,11 @@ assets-webpack-plugin@7.0.*:
escape-string-regexp "^4.0.0" escape-string-regexp "^4.0.0"
lodash "^4.17.20" lodash "^4.17.20"
async@0.9.x:
version "0.9.2"
resolved "https://registry.npmjs.org/async/-/async-0.9.2.tgz"
integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=
async@^2.6.2: async@^2.6.2:
version "2.6.3" version "2.6.3"
resolved "https://registry.npmjs.org/async/-/async-2.6.3.tgz" resolved "https://registry.npmjs.org/async/-/async-2.6.3.tgz"
...@@ -1649,11 +1639,6 @@ async@^2.6.2: ...@@ -1649,11 +1639,6 @@ async@^2.6.2:
dependencies: dependencies:
lodash "^4.17.14" lodash "^4.17.14"
async@0.9.x:
version "0.9.2"
resolved "https://registry.npmjs.org/async/-/async-0.9.2.tgz"
integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=
at-least-node@^1.0.0: at-least-node@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz"
...@@ -1788,7 +1773,7 @@ braces@^3.0.1, braces@~3.0.2: ...@@ -1788,7 +1773,7 @@ braces@^3.0.1, braces@~3.0.2:
dependencies: dependencies:
fill-range "^7.0.1" fill-range "^7.0.1"
browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.0, browserslist@^4.16.6, browserslist@^4.19.1, browserslist@^4.21.3, "browserslist@>= 4.21.0": browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.0, browserslist@^4.16.6, browserslist@^4.19.1, browserslist@^4.21.3:
version "4.21.7" version "4.21.7"
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.7.tgz" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.7.tgz"
integrity sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA== integrity sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==
...@@ -1831,16 +1816,16 @@ call-bind@^1.0.0, call-bind@^1.0.2: ...@@ -1831,16 +1816,16 @@ call-bind@^1.0.0, call-bind@^1.0.2:
function-bind "^1.1.1" function-bind "^1.1.1"
get-intrinsic "^1.0.2" get-intrinsic "^1.0.2"
camelcase@^6.0.0:
version "6.2.0"
resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz"
integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
camelcase@5.3.1: camelcase@5.3.1:
version "5.3.1" version "5.3.1"
resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
camelcase@^6.0.0:
version "6.2.0"
resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz"
integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
caniuse-api@^3.0.0: caniuse-api@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz"
...@@ -1881,7 +1866,7 @@ chalk@^4.0.2: ...@@ -1881,7 +1866,7 @@ chalk@^4.0.2:
ansi-styles "^4.1.0" ansi-styles "^4.1.0"
supports-color "^7.1.0" supports-color "^7.1.0"
chokidar@^3.5.2, "chokidar@>=3.0.0 <4.0.0": "chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.2:
version "3.5.2" version "3.5.2"
resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz" resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz"
integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==
...@@ -1944,16 +1929,16 @@ color-convert@^2.0.1: ...@@ -1944,16 +1929,16 @@ color-convert@^2.0.1:
dependencies: dependencies:
color-name "~1.1.4" color-name "~1.1.4"
color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
color-name@1.1.3: color-name@1.1.3:
version "1.1.3" version "1.1.3"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
colord@^2.9.1: colord@^2.9.1:
version "2.9.2" version "2.9.2"
resolved "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz" resolved "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz"
...@@ -2038,18 +2023,18 @@ content-type@~1.0.4: ...@@ -2038,18 +2023,18 @@ content-type@~1.0.4:
resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz"
integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
convert-source-map@^0.3.3: convert-source-map@1.7.0, convert-source-map@^1.7.0:
version "0.3.5"
resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz"
integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA=
convert-source-map@^1.7.0, convert-source-map@1.7.0:
version "1.7.0" version "1.7.0"
resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz" resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz"
integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
dependencies: dependencies:
safe-buffer "~5.1.1" safe-buffer "~5.1.1"
convert-source-map@^0.3.3:
version "0.3.5"
resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz"
integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA=
cookie-signature@1.0.6: cookie-signature@1.0.6:
version "1.0.6" version "1.0.6"
resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"
...@@ -2226,7 +2211,7 @@ csso@^4.2.0: ...@@ -2226,7 +2211,7 @@ csso@^4.2.0:
dependencies: dependencies:
css-tree "^1.1.2" css-tree "^1.1.2"
d@^1.0.1, d@1: d@1, d@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz" resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz"
integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
...@@ -2234,6 +2219,13 @@ d@^1.0.1, d@1: ...@@ -2234,6 +2219,13 @@ d@^1.0.1, d@1:
es5-ext "^0.10.50" es5-ext "^0.10.50"
type "^1.0.1" type "^1.0.1"
debug@2.6.9:
version "2.6.9"
resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
dependencies:
ms "2.0.0"
debug@^3.1.1: debug@^3.1.1:
version "3.2.7" version "3.2.7"
resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz"
...@@ -2255,13 +2247,6 @@ debug@^4.1.1: ...@@ -2255,13 +2247,6 @@ debug@^4.1.1:
dependencies: dependencies:
ms "2.1.2" ms "2.1.2"
debug@2.6.9:
version "2.6.9"
resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
dependencies:
ms "2.0.0"
decode-uri-component@^0.2.0: decode-uri-component@^0.2.0:
version "0.2.0" version "0.2.0"
resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz"
...@@ -2525,7 +2510,7 @@ es5-ext@^0.10.35, es5-ext@^0.10.50: ...@@ -2525,7 +2510,7 @@ es5-ext@^0.10.35, es5-ext@^0.10.50:
es6-symbol "~3.1.3" es6-symbol "~3.1.3"
next-tick "~1.0.0" next-tick "~1.0.0"
es6-iterator@~2.0.3, es6-iterator@2.0.3: es6-iterator@2.0.3, es6-iterator@~2.0.3:
version "2.0.3" version "2.0.3"
resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz" resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz"
integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
...@@ -2811,6 +2796,11 @@ fs.realpath@^1.0.0: ...@@ -2811,6 +2796,11 @@ fs.realpath@^1.0.0:
resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
fsevents@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
function-bind@^1.1.1: function-bind@^1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
...@@ -2984,6 +2974,17 @@ http-deceiver@^1.2.7: ...@@ -2984,6 +2974,17 @@ http-deceiver@^1.2.7:
resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz"
integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=
http-errors@1.7.2:
version "1.7.2"
resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz"
integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
dependencies:
depd "~1.1.2"
inherits "2.0.3"
setprototypeof "1.1.1"
statuses ">= 1.5.0 < 2"
toidentifier "1.0.0"
http-errors@~1.6.2: http-errors@~1.6.2:
version "1.6.3" version "1.6.3"
resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz"
...@@ -3005,17 +3006,6 @@ http-errors@~1.7.2: ...@@ -3005,17 +3006,6 @@ http-errors@~1.7.2:
statuses ">= 1.5.0 < 2" statuses ">= 1.5.0 < 2"
toidentifier "1.0.0" toidentifier "1.0.0"
http-errors@1.7.2:
version "1.7.2"
resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz"
integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
dependencies:
depd "~1.1.2"
inherits "2.0.3"
setprototypeof "1.1.1"
statuses ">= 1.5.0 < 2"
toidentifier "1.0.0"
http-parser-js@>=0.5.1: http-parser-js@>=0.5.1:
version "0.5.2" version "0.5.2"
resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz" resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz"
...@@ -3094,7 +3084,7 @@ inflight@^1.0.4: ...@@ -3094,7 +3084,7 @@ inflight@^1.0.4:
once "^1.3.0" once "^1.3.0"
wrappy "1" wrappy "1"
inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3, inherits@2, inherits@2.0.4: inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3:
version "2.0.4" version "2.0.4"
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
...@@ -3123,16 +3113,16 @@ ip@^1.1.0: ...@@ -3123,16 +3113,16 @@ ip@^1.1.0:
resolved "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz" resolved "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz"
integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
ipaddr.js@^2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz"
integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==
ipaddr.js@1.9.1: ipaddr.js@1.9.1:
version "1.9.1" version "1.9.1"
resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz"
integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
ipaddr.js@^2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz"
integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==
is-arguments@^1.0.4: is-arguments@^1.0.4:
version "1.1.0" version "1.1.0"
resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz" resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz"
...@@ -3363,7 +3353,7 @@ jest-worker@^27.4.1: ...@@ -3363,7 +3353,7 @@ jest-worker@^27.4.1:
merge-stream "^2.0.0" merge-stream "^2.0.0"
supports-color "^8.0.0" supports-color "^8.0.0"
jquery@^3.3.1, "jquery@1.9.1 - 3": jquery@^3.3.1:
version "3.5.1" version "3.5.1"
resolved "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz" resolved "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz"
integrity sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg== integrity sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==
...@@ -3466,6 +3456,15 @@ loader-runner@^4.2.0: ...@@ -3466,6 +3456,15 @@ loader-runner@^4.2.0:
resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz" resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz"
integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==
loader-utils@1.2.3:
version "1.2.3"
resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz"
integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==
dependencies:
big.js "^5.2.2"
emojis-list "^2.0.0"
json5 "^1.0.1"
loader-utils@^1.4.0: loader-utils@^1.4.0:
version "1.4.0" version "1.4.0"
resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz" resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz"
...@@ -3484,15 +3483,6 @@ loader-utils@^2.0.0: ...@@ -3484,15 +3483,6 @@ loader-utils@^2.0.0:
emojis-list "^3.0.0" emojis-list "^3.0.0"
json5 "^2.1.2" json5 "^2.1.2"
loader-utils@1.2.3:
version "1.2.3"
resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz"
integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==
dependencies:
big.js "^5.2.2"
emojis-list "^2.0.0"
json5 "^1.0.1"
locate-path@^3.0.0: locate-path@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz"
...@@ -3611,11 +3601,6 @@ micromatch@^4.0.2, micromatch@^4.0.4: ...@@ -3611,11 +3601,6 @@ micromatch@^4.0.2, micromatch@^4.0.4:
braces "^3.0.1" braces "^3.0.1"
picomatch "^2.2.3" picomatch "^2.2.3"
"mime-db@>= 1.43.0 < 2":
version "1.45.0"
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz"
integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==
mime-db@1.44.0: mime-db@1.44.0:
version "1.44.0" version "1.44.0"
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz" resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz"
...@@ -3626,14 +3611,12 @@ mime-db@1.51.0: ...@@ -3626,14 +3611,12 @@ mime-db@1.51.0:
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz" resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz"
integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==
mime-types@^2.1.27: "mime-db@>= 1.43.0 < 2":
version "2.1.34" version "1.45.0"
resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz" resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz"
integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==
dependencies:
mime-db "1.51.0"
mime-types@^2.1.31: mime-types@^2.1.27, mime-types@^2.1.31:
version "2.1.34" version "2.1.34"
resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz" resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz"
integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==
...@@ -3690,11 +3673,6 @@ mkdirp@^0.5.5: ...@@ -3690,11 +3673,6 @@ mkdirp@^0.5.5:
dependencies: dependencies:
minimist "^1.2.5" minimist "^1.2.5"
ms@^2.1.1, ms@2.1.2:
version "2.1.2"
resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
ms@2.0.0: ms@2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
...@@ -3705,6 +3683,11 @@ ms@2.1.1: ...@@ -3705,6 +3683,11 @@ ms@2.1.1:
resolved "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz" resolved "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz"
integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
ms@2.1.2, ms@^2.1.1:
version "2.1.2"
resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
multicast-dns-service-types@^1.1.0: multicast-dns-service-types@^1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz" resolved "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz"
...@@ -4264,12 +4247,7 @@ postcss-unique-selectors@^5.0.2: ...@@ -4264,12 +4247,7 @@ postcss-unique-selectors@^5.0.2:
alphanum-sort "^1.0.2" alphanum-sort "^1.0.2"
postcss-selector-parser "^6.0.5" postcss-selector-parser "^6.0.5"
postcss-value-parser@^4.0.2: postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0:
version "4.1.0"
resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz"
integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
postcss-value-parser@^4.1.0:
version "4.1.0" version "4.1.0"
resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz" resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz"
integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
...@@ -4279,15 +4257,6 @@ postcss-value-parser@^4.2.0: ...@@ -4279,15 +4257,6 @@ postcss-value-parser@^4.2.0:
resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
postcss@^8.0.9, postcss@^8.1.0, postcss@^8.2.15, postcss@^8.2.2, postcss@^8.2.9:
version "8.4.5"
resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz"
integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==
dependencies:
nanoid "^3.1.30"
picocolors "^1.0.0"
source-map-js "^1.0.1"
postcss@7.0.21: postcss@7.0.21:
version "7.0.21" version "7.0.21"
resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz" resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz"
...@@ -4297,6 +4266,15 @@ postcss@7.0.21: ...@@ -4297,6 +4266,15 @@ postcss@7.0.21:
source-map "^0.6.1" source-map "^0.6.1"
supports-color "^6.1.0" supports-color "^6.1.0"
postcss@^8.2.15, postcss@^8.2.9:
version "8.4.5"
resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz"
integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==
dependencies:
nanoid "^3.1.30"
picocolors "^1.0.0"
source-map-js "^1.0.1"
pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: pretty-bytes@^5.3.0, pretty-bytes@^5.4.1:
version "5.6.0" version "5.6.0"
resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz"
...@@ -4567,7 +4545,7 @@ rollup-plugin-terser@^7.0.0: ...@@ -4567,7 +4545,7 @@ rollup-plugin-terser@^7.0.0:
serialize-javascript "^4.0.0" serialize-javascript "^4.0.0"
terser "^5.0.0" terser "^5.0.0"
"rollup@^1.20.0 || ^2.0.0", rollup@^1.20.0||^2.0.0, rollup@^2.0.0, rollup@^2.43.1: rollup@^2.43.1:
version "2.70.1" version "2.70.1"
resolved "https://registry.npmjs.org/rollup/-/rollup-2.70.1.tgz" resolved "https://registry.npmjs.org/rollup/-/rollup-2.70.1.tgz"
integrity sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA== integrity sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==
...@@ -4581,27 +4559,12 @@ run-parallel@^1.1.9: ...@@ -4581,27 +4559,12 @@ run-parallel@^1.1.9:
dependencies: dependencies:
queue-microtask "^1.2.2" queue-microtask "^1.2.2"
safe-buffer@^5.0.1: safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.2.1"
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
safe-buffer@^5.1.0:
version "5.2.1"
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
safe-buffer@>=5.1.0:
version "5.2.1"
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
safe-buffer@~5.1.0, safe-buffer@~5.1.1, safe-buffer@5.1.2:
version "5.1.2" version "5.1.2"
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
safe-buffer@~5.2.0: safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0:
version "5.2.1" version "5.2.1"
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
...@@ -4622,23 +4585,14 @@ sass-loader@9.0.1: ...@@ -4622,23 +4585,14 @@ sass-loader@9.0.1:
schema-utils "^2.7.0" schema-utils "^2.7.0"
semver "^7.3.2" semver "^7.3.2"
sass@^1.3.0, sass@1.35.1: sass@1.35.1:
version "1.35.1" version "1.35.1"
resolved "https://registry.npmjs.org/sass/-/sass-1.35.1.tgz" resolved "https://registry.npmjs.org/sass/-/sass-1.35.1.tgz"
integrity sha512-oCisuQJstxMcacOPmxLNiLlj4cUyN2+8xJnG7VanRoh2GOLr9RqkvI4AxA4a6LHVg/rsu+PmxXeGhrdSF9jCiQ== integrity sha512-oCisuQJstxMcacOPmxLNiLlj4cUyN2+8xJnG7VanRoh2GOLr9RqkvI4AxA4a6LHVg/rsu+PmxXeGhrdSF9jCiQ==
dependencies: dependencies:
chokidar ">=3.0.0 <4.0.0" chokidar ">=3.0.0 <4.0.0"
schema-utils@^2.6.5: schema-utils@^2.6.5, schema-utils@^2.7.0:
version "2.7.1"
resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz"
integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==
dependencies:
"@types/json-schema" "^7.0.5"
ajv "^6.12.4"
ajv-keywords "^3.5.2"
schema-utils@^2.7.0:
version "2.7.1" version "2.7.1"
resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz"
integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==
...@@ -4656,16 +4610,7 @@ schema-utils@^3.0.0: ...@@ -4656,16 +4610,7 @@ schema-utils@^3.0.0:
ajv "^6.12.5" ajv "^6.12.5"
ajv-keywords "^3.5.2" ajv-keywords "^3.5.2"
schema-utils@^3.1.0: schema-utils@^3.1.0, schema-utils@^3.1.1:
version "3.1.1"
resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz"
integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==
dependencies:
"@types/json-schema" "^7.0.8"
ajv "^6.12.5"
ajv-keywords "^3.5.2"
schema-utils@^3.1.1:
version "3.1.1" version "3.1.1"
resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz"
integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==
...@@ -4701,6 +4646,11 @@ selfsigned@^1.10.11: ...@@ -4701,6 +4646,11 @@ selfsigned@^1.10.11:
dependencies: dependencies:
node-forge "^0.10.0" node-forge "^0.10.0"
semver@7.0.0:
version "7.0.0"
resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz"
integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
version "6.3.0" version "6.3.0"
resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"
...@@ -4720,11 +4670,6 @@ semver@^7.3.5: ...@@ -4720,11 +4670,6 @@ semver@^7.3.5:
dependencies: dependencies:
lru-cache "^6.0.0" lru-cache "^6.0.0"
semver@7.0.0:
version "7.0.0"
resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz"
integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
send@0.17.1: send@0.17.1:
version "0.17.1" version "0.17.1"
resolved "https://registry.npmjs.org/send/-/send-0.17.1.tgz" resolved "https://registry.npmjs.org/send/-/send-0.17.1.tgz"
...@@ -4884,12 +4829,12 @@ source-map-url@^0.4.0: ...@@ -4884,12 +4829,12 @@ source-map-url@^0.4.0:
resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz" resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz"
integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1, source-map@0.6.1: source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
version "0.6.1" version "0.6.1"
resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
source-map@^0.7.3: source-map@^0.7.3, source-map@~0.7.2:
version "0.7.3" version "0.7.3"
resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz" resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz"
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
...@@ -4901,11 +4846,6 @@ source-map@^0.8.0-beta.0: ...@@ -4901,11 +4846,6 @@ source-map@^0.8.0-beta.0:
dependencies: dependencies:
whatwg-url "^7.0.0" whatwg-url "^7.0.0"
source-map@~0.7.2:
version "0.7.3"
resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz"
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
sourcemap-codec@^1.4.8: sourcemap-codec@^1.4.8:
version "1.4.8" version "1.4.8"
resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz"
...@@ -4949,20 +4889,6 @@ stackframe@^1.1.1: ...@@ -4949,20 +4889,6 @@ stackframe@^1.1.1:
resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
string_decoder@^1.1.1:
version "1.3.0"
resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
dependencies:
safe-buffer "~5.2.0"
string_decoder@~1.1.1:
version "1.1.1"
resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
dependencies:
safe-buffer "~5.1.0"
string-width@^4.2.3: string-width@^4.2.3:
version "4.2.3" version "4.2.3"
resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
...@@ -5002,6 +4928,20 @@ string.prototype.trimstart@^1.0.4: ...@@ -5002,6 +4928,20 @@ string.prototype.trimstart@^1.0.4:
call-bind "^1.0.2" call-bind "^1.0.2"
define-properties "^1.1.3" define-properties "^1.1.3"
string_decoder@^1.1.1:
version "1.3.0"
resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
dependencies:
safe-buffer "~5.2.0"
string_decoder@~1.1.1:
version "1.1.1"
resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
dependencies:
safe-buffer "~5.1.0"
stringify-object@^3.3.0: stringify-object@^3.3.0:
version "3.3.0" version "3.3.0"
resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz"
...@@ -5263,7 +5203,7 @@ universalify@^2.0.0: ...@@ -5263,7 +5203,7 @@ universalify@^2.0.0:
resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz"
integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
unpipe@~1.0.0, unpipe@1.0.0: unpipe@1.0.0, unpipe@~1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
...@@ -5338,7 +5278,7 @@ webidl-conversions@^4.0.2: ...@@ -5338,7 +5278,7 @@ webidl-conversions@^4.0.2:
resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz" resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz"
integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
webpack-cli@^4, webpack-cli@4.x.x: webpack-cli@^4:
version "4.9.1" version "4.9.1"
resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz" resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz"
integrity sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ== integrity sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==
...@@ -5432,7 +5372,7 @@ webpack-sources@^3.2.2: ...@@ -5432,7 +5372,7 @@ webpack-sources@^3.2.2:
resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz" resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz"
integrity sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw== integrity sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==
webpack@*, "webpack@^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0", "webpack@^4.0.0 || ^5.0.0", "webpack@^4.27.0 || ^5.0.0", "webpack@^4.36.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", "webpack@^4.4.0 || ^5.0.0", "webpack@^4.4.0 || ^5.9.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.35, webpack@>=2, webpack@>=5.0.0, "webpack@4.x.x || 5.x.x": webpack@^5.35:
version "5.65.0" version "5.65.0"
resolved "https://registry.npmjs.org/webpack/-/webpack-5.65.0.tgz" resolved "https://registry.npmjs.org/webpack/-/webpack-5.65.0.tgz"
integrity sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw== integrity sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw==
...@@ -5462,7 +5402,7 @@ webpack@*, "webpack@^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0", "webpack@^4.0.0 || ^5 ...@@ -5462,7 +5402,7 @@ webpack@*, "webpack@^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0", "webpack@^4.0.0 || ^5
watchpack "^2.3.1" watchpack "^2.3.1"
webpack-sources "^3.2.2" webpack-sources "^3.2.2"
websocket-driver@^0.7.4, websocket-driver@>=0.5.1: websocket-driver@>=0.5.1, websocket-driver@^0.7.4:
version "0.7.4" version "0.7.4"
resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz"
integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment