uawdijnntqw1x1x1
IP : 216.73.216.46
Hostname : toronto-dev2
Kernel : Linux toronto-dev2 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
srv
/
users
/
craft4
/
apps
/
craft4-newsite-space
/
public
/
f7c78
/
..
/
cpresources
/
7acb0f10
/
cp.js
/
/
/*! For license information please see cp.js.LICENSE.txt */ (function(){var __webpack_modules__={463:function(){Craft.Accordion=Garnish.Base.extend({$trigger:null,targetSelector:null,_$target:null,init:function(t){var e=this;this.$trigger=$(t),this.$trigger.data("accordion")&&(console.warn("Double-instantiating an accordion trigger on an element"),this.$trigger.data("accordion").destroy()),this.$trigger.data("accordion",this),this.targetSelector=this.$trigger.attr("aria-controls")?"#".concat(this.$trigger.attr("aria-controls")):null,this.targetSelector&&(this._$target=$(this.targetSelector)),this.addListener(this.$trigger,"click","onTriggerClick"),this.addListener(this.$trigger,"keypress",(function(t){var i=t.keyCode;i!==Garnish.SPACE_KEY&&i!==Garnish.RETURN_KEY||(t.preventDefault(),e.onTriggerClick())}))},onTriggerClick:function(){"true"===this.$trigger.attr("aria-expanded")?this.hideTarget(this._$target):this.showTarget(this._$target)},showTarget:function(t){var e=this;if(t&&t.length){this.showTarget._currentHeight=t.height(),t.removeClass("hidden"),this.$trigger.removeClass("collapsed").addClass("expanded").attr("aria-expanded","true");for(var i=0;i<t.length;i++)!function(t){"SPAN"!==t.prop("nodeName")&&(t.height("auto"),e.showTarget._targetHeight=t.height(),t.css({height:e.showTarget._currentHeight,overflow:"hidden"}),t.velocity("stop"),t.velocity({height:e.showTarget._targetHeight},Garnish.getUserPreferredAnimationDuration("fast"),(function(){t.css({height:"",overflow:""})})))}(t.eq(i));delete this.showTarget._targetHeight,delete this.showTarget._currentHeight,Garnish.$win.trigger("resize")}},hideTarget:function(t){if(t&&t.length){this.$trigger.removeClass("expanded").addClass("collapsed").attr("aria-expanded","false");for(var e=0;e<t.length;e++)!function(t){t.hasClass("hidden")||("SPAN"===t.prop("nodeName")?t.addClass("hidden"):(t.css("overflow","hidden"),t.velocity("stop"),t.velocity({height:0},Garnish.getUserPreferredAnimationDuration("fast"),(function(){t.addClass("hidden")}))))}(t.eq(e))}},destroy:function(){this.$trigger.removeData("accordion"),this.base()}})},3839:function(){Craft.AddressesInput=Garnish.Base.extend({$container:null,$addBtn:null,$addBtnItem:null,$cards:null,init:function(t,e){var i=this;this.$container=$(t),this.setSettings(e,Craft.AddressesInput.defaults),this.$container.data("addresses")&&(console.warn("Double-instantiating an address input on an element"),this.$container.data("addresses").destroy()),this.$container.data("addresses",this),this.$addBtn=this.$container.find(".address-cards__add-btn"),this.$addBtnItem=this.$addBtn.closest("li"),this.$cards=this.$container.find("> .address-card");for(var n=0;n<this.$cards.length;n++)this.initCard(this.$cards.eq(n));this.updateAddButton(),this.addListener(this.$addBtn,"click",(function(){i.createAddress()}))},initCard:function(t){var e=this;this.addListener(t,"click",(function(i){$(i.target).closest(".menubtn").length||e.editAddress(t)}));var i=t.find(".menubtn").disclosureMenu();if(i.length){var n=i.data("trigger"),s=n.$container,a=s.find('[data-action="edit"]');this.addListener(a,"click",(function(i){i.stopPropagation(),e.editAddress(t)}));var r=s.find('[data-action="delete"]');this.addListener(r,"click",(function(i){if(i.preventDefault(),i.stopPropagation(),confirm(Craft.t("app","Are you sure you want to delete this {type}?",{type:Craft.elementTypeNames["craft\\elements\\Address"][2]}))){e.$addBtn.addClass("loading");var a=t.data("id"),r=t.data("draft-id");Craft.sendActionRequest("POST","elements/delete",{data:{elementId:a,draftId:r}}).then((function(){t.remove(),s.remove(),n.destroy(),e.$cards=e.$cards.not(t),e.updateAddButton(),e.trigger("deleteAddress",{addressId:a,draftId:r})})).finally((function(){e.$addBtn.removeClass("loading")}))}}))}},editAddress:function(t,e){var i=this;Craft.createElementEditor("craft\\elements\\Address",t,e).on("submit",(function(e){i.trigger("saveAddress",{data:e.data}),Craft.sendActionRequest("POST","addresses/card-html",{data:{addressId:e.data.id}}).then((function(e){var n=$(e.data.html);t?(t.replaceWith(n),i.$cards=i.$cards.not(t)):n.insertBefore(i.$addBtnItem),Craft.initUiElements(n),i.initCard(n),i.$cards=i.$cards.add(n),i.updateAddButton()}))}))},updateAddButton:function(){this.canCreateAddress()?this.$addBtn.removeClass("hidden"):this.$addBtn.addClass("hidden")},canCreateAddress:function(){return!this.settings.maxAddresses||this.$cards.length<this.settings.maxAddresses},createAddress:function(){var t=this;if(!this.canCreateAddress())throw"No more addresses can be created.";this.$addBtn.addClass("loading"),Craft.sendActionRequest("POST","elements/create",{data:{elementType:"craft\\elements\\Address",ownerId:this.settings.ownerId}}).then((function(e){t.editAddress(null,{elementId:e.data.element.id,draftId:e.data.element.draftId})})).finally((function(){t.$addBtn.removeClass("loading")}))},destroy:function(){this.$container.removeData("addresses"),this.base()}},{ownerId:null,defaults:{maxAddresses:null}})},7452:function(){Craft.AdminTable=Garnish.Base.extend({settings:null,totalItems:null,sorter:null,$noItems:null,$table:null,$tbody:null,$deleteBtns:null,init:function(t){var e=this;this.setSettings(t,Craft.AdminTable.defaults),this.settings.allowDeleteAll||(this.settings.minItems=1),this.$noItems=$(this.settings.noItemsSelector),this.$table=$(this.settings.tableSelector),this.$tbody=this.$table.children("tbody"),this.totalItems=this.$tbody.children().length,this.settings.sortable&&(this.sorter=new Craft.DataTableSorter(this.$table,{onSortChange:this.reorderItems.bind(this)})),this.$deleteBtns=this.$table.find(".delete:not(.disabled)"),this.addListener(this.$deleteBtns,"click","handleDeleteBtnClick"),this.addListener(this.$deleteBtns,"keydown",(function(t){t.keyCode!==Garnish.SPACE_KEY&&t.keyCode!==Garnish.RETURN_KEY||(t.preventDefault(),e.handleDeleteBtnClick(t))})),this.updateUI()},addRow:function(t){if(!(this.settings.maxItems&&this.totalItems>=this.settings.maxItems)){var e=$(t).appendTo(this.$tbody),i=e.find(".delete");this.settings.sortable&&this.sorter.addItems(e),this.$deleteBtns=this.$deleteBtns.add(i),this.addListener(i,"click","handleDeleteBtnClick"),this.totalItems++,this.updateUI()}},reorderItems:function(){var t=this;if(this.settings.sortable){for(var e=[],i=0;i<this.sorter.$items.length;i++){var n=$(this.sorter.$items[i]).attr(this.settings.idAttribute);e.push(n)}var s={ids:JSON.stringify(e)};Craft.sendActionRequest("POST",this.settings.reorderAction,{data:s}).then((function(i){t.onReorderItems(e),Craft.cp.displaySuccess(Craft.t("app",t.settings.reorderSuccessMessage))})).catch((function(e){e.response,Craft.cp.displayError(Craft.t("app",t.settings.reorderFailMessage))}))}},handleDeleteBtnClick:function(t){if(!(this.settings.minItems&&this.totalItems<=this.settings.minItems)){var e=$(t.target).closest("tr");this.confirmDeleteItem(e)&&this.deleteItem(e)}},confirmDeleteItem:function(t){if(!this.settings.confirmDeleteMessage)return!0;var e=this.getItemName(t);return confirm(Craft.t("app",this.settings.confirmDeleteMessage,{name:e}))},deleteItem:function(t){var e=this,i={id:this.getItemId(t)};Craft.sendActionRequest("POST",this.settings.deleteAction,{data:i}).then((function(i){return e.handleDeleteItemSuccess(i.data,t)})).catch((function(i){var n=i.response;return e.handleDeleteItemFailure(n.data,t)}))},handleDeleteItemFailure:function(t,e){this.getItemId(e);var i=this.getItemName(e);Craft.cp.displayError(Craft.t("app",this.settings.deleteFailMessage,{name:i}))},handleDeleteItemSuccess:function(t,e){var i=this.getItemId(e),n=this.getItemName(e);this.sorter&&this.sorter.removeItems(e),e.remove(),this.totalItems--,this.updateUI(),this.onDeleteItem(i),this.settings.deleteSuccessMessage&&Craft.cp.displaySuccess(Craft.t("app",this.settings.deleteSuccessMessage,{name:n}))},onReorderItems:function(t){this.settings.onReorderItems(t)},onDeleteItem:function(t){this.settings.onDeleteItem(t)},getItemId:function(t){return t.attr(this.settings.idAttribute)},getItemName:function(t){return Craft.escapeHtml(t.attr(this.settings.nameAttribute))},updateUI:function(){if(0===this.totalItems?(this.$table.hide(),this.$noItems.removeClass("hidden")):(this.$table.show(),this.$noItems.addClass("hidden")),this.settings.sortable){var t=this.$table.find(".move");1===this.totalItems?t.addClass("disabled"):t.removeClass("disabled")}this.settings.minItems&&this.totalItems<=this.settings.minItems?this.$deleteBtns.addClass("disabled"):this.$deleteBtns.removeClass("disabled"),this.settings.newItemBtnSelector&&(this.settings.maxItems&&this.totalItems>=this.settings.maxItems?$(this.settings.newItemBtnSelector).addClass("hidden"):$(this.settings.newItemBtnSelector).removeClass("hidden"))}},{defaults:{tableSelector:null,noItemsSelector:null,newItemBtnSelector:null,idAttribute:"data-id",nameAttribute:"data-name",sortable:!1,allowDeleteAll:!0,minItems:0,maxItems:null,reorderAction:null,deleteAction:null,reorderSuccessMessage:Craft.t("app","New order saved."),reorderFailMessage:Craft.t("app","Couldn’t save new order."),confirmDeleteMessage:Craft.t("app","Are you sure you want to delete “{name}”?"),deleteSuccessMessage:Craft.t("app","“{name}” deleted."),deleteFailMessage:Craft.t("app","Couldn’t delete “{name}”."),onReorderItems:$.noop,onDeleteItem:$.noop}})},6872:function(){Craft.AssetImageEditor=Garnish.Modal.extend({$body:null,$footer:null,$imageTools:null,$buttons:null,$cancelBtn:null,$replaceBtn:null,$saveBtn:null,$focalPointBtn:null,$editorContainer:null,$straighten:null,$croppingCanvas:null,$spinner:null,$constraintContainer:null,$constraintRadioInputs:null,$customConstraints:null,canvas:null,image:null,viewport:null,focalPoint:null,grid:null,croppingCanvas:null,clipper:null,croppingRectangle:null,cropperHandles:null,cropperGrid:null,croppingShade:null,imageStraightenAngle:0,viewportRotation:0,originalWidth:0,originalHeight:0,imageVerticeCoords:null,zoomRatio:1,animationInProgress:!1,currentView:"",assetId:null,cacheBust:null,draggingCropper:!1,scalingCropper:!1,draggingFocal:!1,previousMouseX:0,previousMouseY:0,shiftKeyHeld:!1,editorHeight:0,editorWidth:0,cropperState:!1,scaleFactor:1,flipData:{},focalPointState:!1,maxImageSize:null,lastLoadedDimensions:null,imageIsLoading:!1,mouseMoveEvent:null,croppingConstraint:!1,constraintOrientation:"landscape",showingCustomConstraint:!1,saving:!1,renderImage:null,renderCropper:null,_queue:null,init:function(t,e){var i=this;this._queue=new Craft.Queue,this.cacheBust=Date.now(),this.setSettings(e,Craft.AssetImageEditor.defaults),null===this.settings.allowDegreeFractions&&(this.settings.allowDegreeFractions=Craft.isImagick),Garnish.prefersReducedMotion()&&(this.settings.animationDuration=1),this.assetId=t,this.flipData={x:0,y:0},this.$container=$('<form class="modal fitted imageeditor"></form>').appendTo(Garnish.$bod),this.$body=$('<div class="body"></div>').appendTo(this.$container),this.$footer=$('<div class="footer"/>').appendTo(this.$container),this.base(this.$container,this.settings),this.$buttons=$('<div class="buttons right"/>').appendTo(this.$footer),this.$cancelBtn=$("<button/>",{type:"button",class:"btn cancel",text:Craft.t("app","Cancel")}).appendTo(this.$buttons),this.settings.allowSavingAsNew&&(this.$saveBtn=Craft.ui.createButton({class:"save copy",label:Craft.t("app","Save as a new {type}",{type:Craft.elementTypeNames["craft\\elements\\Asset"][2]}),spinner:!0}).appendTo(this.$buttons),this.addListener(this.$saveBtn,"activate",this.saveImage)),this.$replaceBtn=Craft.ui.createSubmitButton({class:"save replace",label:Craft.t("app","Save"),spinner:!0}).appendTo(this.$buttons),this.addListener(this.$replaceBtn,"activate",this.saveImage),this.addListener(this.$cancelBtn,"activate",this.hide),this.removeListener(this.$shade,"click"),this.maxImageSize=this.getMaxImageSize(),Craft.sendActionRequest("POST","assets/image-editor",{data:{assetId:t}}).then((function(t){return i.loadEditor(t.data)}))},getMaxImageSize:function(){var t=Garnish.$doc.get(0).documentElement.clientWidth,e=Garnish.$doc.get(0).documentElement.clientHeight;return Math.max(e,t)*(window.devicePixelRatio>1?2:1)},loadEditor:function(t){var e=this;t.html||Craft.cp.displayError(Craft.t("app","Could not load the image editor.")),this.$body.html(t.html),this.$tabs=$(".tabs li",this.$body),this.$viewsContainer=$(".views",this.$body),this.$views=$("> div",this.$viewsContainer),this.$imageTools=$(".image-container .image-tools",this.$body),this.$editorContainer=$(".image-container .image",this.$body),this.$constraintContainer=$(".constraint-group",this.$body),this.$constraintRadioInputs=$('[name="constraint"]',this.$constraintContainer),this.$focalPointBtn=$(".focal-point",this.$body),this.editorHeight=this.$editorContainer.innerHeight(),this.editorWidth=this.$editorContainer.innerWidth(),this._showSpinner(),this.updateSizeAndPosition(),$customConstraintWrapper=this.$constraintRadioInputs.filter('[value="custom"]').parent(),this.$customConstraints=$("<div/>",{class:"constraint custom hidden","data-constraint":"custom"}).append($("<input/>",{type:"text",class:"custom-constraint-w",size:3,value:1,"aria-label":Craft.t("app","Width unit")})).append($("<span/>",{class:"custom-constraint-spacer",text:"x","aria-hidden":"true"})).append($("<input/>",{type:"text",class:"custom-constraint-h",size:3,value:1,"aria-label":Craft.t("app","Height unit")})).appendTo($customConstraintWrapper),this.$constraintRadioInputs.filter((function(){var t=$(this).val();return/^\d*\.\d+$/.test(t)})).addClass("flip"),this.canvas=new fabric.StaticCanvas("image-canvas"),this.$croppingCanvas=$("#cropping-canvas",this.$editorContainer),this.$croppingCanvas.width(this.editorWidth),this.$croppingCanvas.height(this.editorHeight),this.canvas.enableRetinaScaling=!0,this.renderImage=function(){Garnish.requestAnimationFrame(e.canvas.renderAll.bind(e.canvas))};var i=Craft.getActionUrl("assets/edit-image",{assetId:this.assetId,size:this.maxImageSize,cacheBust:this.cacheBust});fabric.Image.fromURL(i,(function(i){e.image=i,e.image.set({originX:"center",originY:"center",left:e.editorWidth/2,top:e.editorHeight/2}),e.canvas.add(e.image),e.originalHeight=e.image.getHeight(),e.originalWidth=e.image.getWidth(),e.zoomRatio=1,e.lastLoadedDimensions=e.getScaledImageDimensions(),e._setFittedImageVerticeCoordinates(),e._repositionEditorElements();var n={imageDimensions:e.getScaledImageDimensions(),offsetX:0,offsetY:0},s=!1;if(t.focalPoint){var a=t.focalPoint,r=n.imageDimensions.width*a.x,o=n.imageDimensions.height*a.y;n.offsetX=r-n.imageDimensions.width/2,n.offsetY=o-n.imageDimensions.height/2,s=!0}e.storeFocalPointState(n),s&&e._createFocalPoint(),e._createViewport(),e.storeCropperState(),e._addControlListeners(),e.addListener(e.$croppingCanvas,"mousemove,touchmove",e._handleMouseMove),e.addListener(e.$croppingCanvas,"mousedown,touchstart",e._handleMouseDown),e.addListener(e.$croppingCanvas,"mouseup,touchend",e._handleMouseUp),e.addListener(e.$croppingCanvas,"mouseout,touchcancel",e._handleMouseOut),e._hideSpinner(),e.renderImage(),e.$tabs.first().trigger("click")}))},_reloadImage:function(){var t=this;if(!this.imageIsLoading){this.imageIsLoading=!0,this.maxImageSize=this.getMaxImageSize();var e=Craft.getActionUrl("assets/edit-image",{assetId:this.assetId,size:this.maxImageSize,cacheBust:this.cacheBust});this.image.setSrc(e,(function(e){t.originalHeight=e.getHeight(),t.originalWidth=e.getWidth(),t.lastLoadedDimensions={width:t.originalHeight,height:t.originalWidth},t.updateSizeAndPosition(),t.renderImage(),t.imageIsLoading=!1}))}},updateSizeAndPosition:function(){if(this.$container){var t=window.innerWidth,e=window.innerHeight;this.$container.css({width:t,"min-width":t,left:0,height:e,"min-height":e,top:0}),this.$body.css({height:e-(this.$footer.outerHeight()-1)}),t<e?this.$container.addClass("vertical"):this.$container.removeClass("vertical"),this.$editorContainer&&this.image&&this._repositionEditorElements()}},_repositionEditorElements:function(){var t={width:this.editorWidth,height:this.editorHeight};this.editorHeight=this.$editorContainer.innerHeight(),this.editorWidth=this.$editorContainer.innerWidth(),this.canvas.setDimensions({width:this.editorWidth,height:this.editorHeight});var e=this.getScaledImageDimensions();if("crop"===this.currentView){this.zoomRatio=this.getZoomToFitRatio(this.getScaledImageDimensions());var i=this._getBoundingRectangle(this.imageVerticeCoords);this._setFittedImageVerticeCoordinates(),this._repositionCropper(i)}else this.zoomRatio=this.getZoomToCoverRatio(this.getScaledImageDimensions())*this.scaleFactor;this._repositionImage(t),this._repositionViewport(),this._repositionFocalPoint(t),this._zoomImage(),this.renderImage(),(e.width/this.lastLoadedDimensions.width>1.5||e.height/this.lastLoadedDimensions.height>1.5)&&this._reloadImage()},_repositionImage:function(t){this.image.set({left:this.image.left-(t.width-this.editorWidth)/2,top:this.image.top-(t.height-this.editorHeight)/2})},_createViewport:function(){this.viewport=new fabric.Rect({width:this.image.width,height:this.image.height,fill:"rgba(127,0,0,1)",originX:"center",originY:"center",globalCompositeOperation:"destination-in",left:this.image.left,top:this.image.top}),this.canvas.add(this.viewport),this.renderImage()},_createFocalPoint:function(){var t=this.focalPointState,e=this.getScaledImageDimensions().width/t.imageDimensions.width,i=t.offsetX*e*this.zoomRatio*this.scaleFactor,n=t.offsetY*e*this.zoomRatio*this.scaleFactor;i+=this.image.left,n+=this.image.top;var s=0,a=0;this.viewport&&0===t.offsetX&&0===t.offsetY&&("crop"!==this.currentView?(s=this.viewport.left-this.image.left,a=this.viewport.top-this.image.top):(s=this.clipper.left-this.image.left,a=this.clipper.top-this.image.top),i+=s,n+=a,t.offsetX+=s/(e*this.zoomRatio*this.scaleFactor),t.offsetY+=a/(e*this.zoomRatio*this.scaleFactor)),this.focalPoint=new fabric.Group([new fabric.Circle({radius:8,fill:"rgba(0,0,0,0.5)",strokeWidth:2,stroke:"rgba(255,255,255,0.8)",left:0,top:0,originX:"center",originY:"center"}),new fabric.Circle({radius:1,fill:"rgba(255,255,255,0)",strokeWidth:2,stroke:"rgba(255,255,255,0.8)",left:0,top:0,originX:"center",originY:"center"})],{originX:"center",originY:"center",left:i,top:n}),this.storeFocalPointState(t),this.canvas.add(this.focalPoint)},toggleFocalPoint:function(){this.focalPoint?(this.canvas.remove(this.focalPoint),this.focalPoint=null,this.$focalPointBtn.attr("aria-pressed","false")):(this._createFocalPoint(),this.$focalPointBtn.attr("aria-pressed","true")),this.renderImage()},_repositionViewport:function(){if(this.viewport){var t={left:this.editorWidth/2,top:this.editorHeight/2};if("crop"===this.currentView)t.width=this.editorWidth,t.height=this.editorHeight;else if(this.cropperState){var e=this.cropperState,i=this.getScaledImageDimensions().width/e.imageDimensions.width;t.width=e.width*i*this.zoomRatio,t.height=e.height*i*this.zoomRatio,this.image.set({left:this.editorWidth/2-e.offsetX*i,top:this.editorHeight/2-e.offsetY*i})}else $.extend(t,this.getScaledImageDimensions());this.viewport.set(t)}},_repositionFocalPoint:function(t){if(this.focalPoint){var e=this.focalPoint.left-this.editorWidth/2,i=this.focalPoint.top-this.editorHeight/2,n=this.image.width,s=this.getScaledImageDimensions().width*this.zoomRatio/n/this.scaleFactor;e-=(t.width-this.editorWidth)/2,i-=(t.height-this.editorHeight)/2,e*=s,i*=s,this.focalPoint.set({left:this.editorWidth/2+e,top:this.editorHeight/2+i})}},hasOrientationChanged:function(){return this.viewportRotation%180!=0},getScaledImageDimensions:function(){return void 0===this.getScaledImageDimensions._&&(this.getScaledImageDimensions._={}),this.getScaledImageDimensions._.imageRatio=this.originalHeight/this.originalWidth,this.getScaledImageDimensions._.editorRatio=this.editorHeight/this.editorWidth,this.getScaledImageDimensions._.dimensions={},this.getScaledImageDimensions._.imageRatio>this.getScaledImageDimensions._.editorRatio?(this.getScaledImageDimensions._.dimensions.height=Math.min(this.editorHeight,this.originalHeight),this.getScaledImageDimensions._.dimensions.width=Math.round(this.originalWidth/(this.originalHeight/this.getScaledImageDimensions._.dimensions.height))):(this.getScaledImageDimensions._.dimensions.width=Math.min(this.editorWidth,this.originalWidth),this.getScaledImageDimensions._.dimensions.height=Math.round(this.originalHeight*(this.getScaledImageDimensions._.dimensions.width/this.originalWidth))),this.getScaledImageDimensions._.dimensions},_zoomImage:function(){void 0===this._zoomImage._&&(this._zoomImage._={}),this._zoomImage._.imageDimensions=this.getScaledImageDimensions(),this.image.set({width:this._zoomImage._.imageDimensions.width*this.zoomRatio,height:this._zoomImage._.imageDimensions.height*this.zoomRatio})},_getPrevTab:function(){var t,e=this._getActiveTabIndex();if(!(e<0))return t=e>0?e-1:this.$tabs.length-1,this.$tabs.eq(t)},_getNextTab:function(){var t,e=this._getActiveTabIndex();if(!(e<0))return t=e<this.$tabs.length-1?e+1:0,this.$tabs.eq(t)},_getActiveTab:function(){return this.$tabs.filter('[aria-selected="true"]')},_getActiveTabIndex:function(){var t=this._getActiveTab();if(t.length)return t.index()},_addControlListeners:function(){var t=this;this.addListener(this.$tabs,"click",this._handleTabClick),this.addListener(this.$tabs,"keydown",(function(e){switch(e.keyCode){case Garnish.LEFT_KEY:case Garnish.UP_KEY:e.preventDefault();var i=t._getPrevTab();t.activateTab(i);break;case Garnish.RIGHT_KEY:case Garnish.DOWN_KEY:e.preventDefault();var n=t._getNextTab();t.activateTab(n)}})),this.addListener(this.$focalPointBtn,"click",this.toggleFocalPoint),this.addListener($(".rotate-left"),"click",(function(){this.rotateImage(-90)})),this.addListener($(".rotate-right"),"click",(function(){this.rotateImage(90)})),this.addListener($(".flip-vertical"),"click",(function(){this.flipImage("y")})),this.addListener($(".flip-horizontal"),"click",(function(){this.flipImage("x")})),this.straighteningInput=new Craft.SlideRuleInput("slide-rule",{onStart:function(){t._showGrid()},onChange:function(e){t.straighten(e)},onEnd:function(){t._hideGrid(),t._cleanupFocalPointAfterStraighten()}}),this.addListener(Garnish.$doc,"keydown",(function(t){t.keyCode===Garnish.SHIFT_KEY&&(this.shiftKeyHeld=!0)})),this.addListener(Garnish.$doc,"keyup",(function(t){t.keyCode===Garnish.SHIFT_KEY&&(this.shiftKeyHeld=!1)})),this.addListener(this.$constraintRadioInputs,"change",this._handleConstraintChange),this.addListener($(".orientation input",this.$container),"click",this._handleOrientationClick),this.addListener($(".constraint-group .custom input",this.$container),"keyup",this._applyCustomConstraint)},_handleConstraintClick:function(t){var e=$(t.currentTarget).data("constraint"),i=$(t.currentTarget);if(i.siblings().removeClass("active"),i.addClass("active"),"custom"==e)return this._showCustomConstraint(),void this._applyCustomConstraint();this._hideCustomConstraint(),this.setCroppingConstraint(e),this.enforceCroppingConstraint()},_handleConstraintChange:function(t){var e=$(t.target).val();if("custom"==e)return this._showCustomConstraint(),void this._applyCustomConstraint();this._hideCustomConstraint(),this.setCroppingConstraint(e),this.enforceCroppingConstraint()},_handleOrientationClick:function(t){if(t.currentTarget.value!==this.constraintOrientation){this.constraintOrientation=t.currentTarget.value;for(var e=$(".flip",this.$constraintContainer),i=0;i<e.length;i++){var n=$(e[i]),s='label[for="'+n.attr("id")+'"]',a=$(s,this.$constraintContainer);n.val(1/n.val()),a.html(a.text().split(":").reverse().join(":").replace(/\s/g,""))}e.filter(":checked").trigger("change")}},_applyCustomConstraint:function(){var t=this._getCustomConstraint();t.w>0&&t.h>0&&(this.setCroppingConstraint(t.w/t.h),this.enforceCroppingConstraint())},_getCustomConstraint:function(){var t=parseFloat($(".custom-constraint-w").val()),e=parseFloat($(".custom-constraint-h").val());return{w:isNaN(t)?0:t,h:isNaN(e)?0:e}},_setCustomConstraint:function(t,e){$(".custom-constraint-w").val(parseFloat(t)),$(".custom-constraint-h").val(parseFloat(e))},_hideCustomConstraint:function(){this.showingCustomConstraint=!1,this.$customConstraints.addClass("hidden"),$(".orientation",this.$container).removeClass("hidden")},_showCustomConstraint:function(){this.showingCustomConstraint||(this.showingCustomConstraint=!0,this.$customConstraints.removeClass("hidden"),$(".orientation",this.$container).addClass("hidden"))},_handleTabClick:function(t){if(!this.animationInProgress){var e=$(t.currentTarget);this.activateTab(e)}},activateTab:function(t){var e=$(t).data("view");this.$tabs.removeClass("selected").attr({"aria-selected":"false",tabindex:"-1"}),$(t).addClass("selected").attr({"aria-selected":"true",tabindex:"0"}).focus(),this.showView(e)},showView:function(t){var e=this;this.currentView!==t&&(this.$views.addClass("hidden"),this.$views.filter('[data-view="'+t+'"]').removeClass("hidden"),"rotate"===t?this.enableSlider():this.disableSlider(),this.updateSizeAndPosition(),"crop"===this.currentView&&"crop"!==t?this._queue.push((function(){return new Promise((function(t,i){e.disableCropMode(),t()}))})):"crop"!==this.currentView&&"crop"===t&&this._queue.push((function(){return new Promise((function(t,i){e.enableCropMode(),t()}))})),this.currentView=t)},storeCropperState:function(t){void 0===this.storeCropperState._&&(this.storeCropperState._={}),t?this.cropperState=t:this.clipper?(this.storeCropperState._.zoomFactor=1/this.zoomRatio,this.cropperState={offsetX:(this.clipper.left-this.image.left)*this.storeCropperState._.zoomFactor,offsetY:(this.clipper.top-this.image.top)*this.storeCropperState._.zoomFactor,height:this.clipper.height*this.storeCropperState._.zoomFactor,width:this.clipper.width*this.storeCropperState._.zoomFactor,imageDimensions:this.getScaledImageDimensions()}):(this.storeCropperState._.dimensions=this.getScaledImageDimensions(),this.cropperState={offsetX:0,offsetY:0,height:this.storeCropperState._.dimensions.height,width:this.storeCropperState._.dimensions.width,imageDimensions:this.storeCropperState._.dimensions})},storeFocalPointState:function(t){void 0===this.storeFocalPointState._&&(this.storeFocalPointState._={}),t?this.focalPointState=t:this.focalPoint&&(this.storeFocalPointState._.zoomFactor=1/this.zoomRatio,this.focalPointState={offsetX:(this.focalPoint.left-this.image.left)*this.storeFocalPointState._.zoomFactor/this.scaleFactor,offsetY:(this.focalPoint.top-this.image.top)*this.storeFocalPointState._.zoomFactor/this.scaleFactor,imageDimensions:this.getScaledImageDimensions()})},rotateImage:function(t){var e=this;if(!this.animationInProgress){if(90!==t&&-90!==t)return!1;this.animationInProgress=!0,this.viewportRotation+=t,this.viewportRotation=parseInt((this.viewportRotation+360)%360,10);var i,n=this.image.angle+t,s=this.getScaledImageDimensions();i=this.hasOrientationChanged()?this.getZoomToCoverRatio({height:s.width,width:s.height}):this.getZoomToCoverRatio(s),this.zoomRatio>i&&(i=this.zoomRatio);var a={angle:90===t?"+=90":"-=90"},r={angle:n,width:s.width*i,height:s.height*i},o=1;this.scaleFactor<1?(o=1/this.scaleFactor,this.scaleFactor=1):(this.viewport.width>this.editorHeight?o=this.editorHeight/this.viewport.width:this.viewport.height>this.editorWidth&&(o=this.editorWidth/this.viewport.height),this.scaleFactor=o),o<1&&(r.width*=o,r.height*=o);var l=this.cropperState,h=l.offsetX,d=l.offsetY,c=t*(Math.PI/180),u=h*Math.cos(c)-d*Math.sin(c),p=h*Math.sin(c)+d*Math.cos(c),f=s.width/l.imageDimensions.width,g=u*f*this.zoomRatio*this.scaleFactor,m=p*f*this.zoomRatio*this.scaleFactor;r.left=this.editorWidth/2-g,r.top=this.editorHeight/2-m,l.offsetX=u,l.offsetY=p;var v=l.width;l.width=l.height,l.height=v,this.storeCropperState(l),this.focalPoint&&this.canvas.remove(this.focalPoint),this.viewport.animate(a,{duration:this.settings.animationDuration,onComplete:function(){var t=e.viewport.height*o;e.viewport.height=e.viewport.width*o,e.viewport.width=t,e.viewport.set({angle:0})}}),this.image.animate(r,{onChange:this.canvas.renderAll.bind(this.canvas),duration:this.settings.animationDuration,onComplete:function(){var i=parseFloat((e.image.angle+360)%360);e.image.set({angle:i}),e.animationInProgress=!1,e.focalPoint?(e._adjustFocalPointByAngle(t),e.straighten(e.straighteningInput),e.canvas.add(e.focalPoint)):e._resetFocalPointPosition()}})}},flipImage:function(t){var e=this;if(!this.animationInProgress){this.animationInProgress=!0,this.hasOrientationChanged()&&(t="y"===t?"x":"y"),this.focalPoint?this.canvas.remove(this.focalPoint):this._resetFocalPointPosition();var i={x:this.editorWidth/2,y:this.editorHeight/2};this.straighteningInput.setValue(-this.imageStraightenAngle),this.imageStraightenAngle=-this.imageStraightenAngle;var n,s,a={angle:this.viewportRotation+this.imageStraightenAngle},r=this.cropperState,o=this.focalPointState;"y"===t&&this.hasOrientationChanged()||"y"!==t&&!this.hasOrientationChanged()?(r.offsetX=-r.offsetX,o.offsetX=-o.offsetX,s=this.image.left-i.x,a.left=i.x-s):(r.offsetY=-r.offsetY,o.offsetY=-o.offsetY,n=this.image.top-i.y,a.top=i.y-n),"y"===t?(a.scaleY=-1*this.image.scaleY,this.flipData.y=1-this.flipData.y):(a.scaleX=-1*this.image.scaleX,this.flipData.x=1-this.flipData.x),this.storeCropperState(r),this.storeFocalPointState(o),this.image.animate(a,{onChange:this.canvas.renderAll.bind(this.canvas),duration:this.settings.animationDuration,onComplete:function(){e.animationInProgress=!1,e.focalPoint&&(e._adjustFocalPointByAngle(0),e.canvas.add(e.focalPoint))}})}},straighten:function(t){if(!this.animationInProgress){this.animationInProgress=!0;var e=this.image.angle;this.imageStraightenAngle=(this.settings.allowDegreeFractions?parseFloat(t.value):Math.round(parseFloat(t.value)))%360,this.image.set({angle:this.viewportRotation+this.imageStraightenAngle}),this.zoomRatio=this.getZoomToCoverRatio(this.getScaledImageDimensions())*this.scaleFactor,this._zoomImage(),this.cropperState&&this._adjustEditorElementsOnStraighten(e),this.renderImage(),this.animationInProgress=!1}},_adjustEditorElementsOnStraighten:function(t){var e,i,n,s,a,r=this.getScaledImageDimensions(),o=this.image.angle-t,l=this.cropperState,h=this.zoomRatio,d=1;do{var c=l.offsetX,u=l.offsetY,p=o*(Math.PI/180);n=c*Math.cos(p)-u*Math.sin(p),s=c*Math.sin(p)+u*Math.cos(p),e=n*h*(a=r.width/l.imageDimensions.width),i=s*h*a;var f=this.getImageVerticeCoords(h),g={width:this.viewport.width,height:this.viewport.height,left:this.editorWidth/2-this.viewport.width/2+e,top:this.editorHeight/2-this.viewport.height/2+i};h*=d=this._getZoomRatioToFitRectangle(g,f)}while(1!==d);this.image.set({left:this.editorWidth/2-e,top:this.editorHeight/2-i}),l.offsetX=n,l.offsetY=s,l.width=this.viewport.width/h/a,l.height=this.viewport.height/h/a,this.storeCropperState(l),this.zoomRatio=h,this.focalPoint?(this._adjustFocalPointByAngle(o),this._isCenterInside(this.focalPoint,this.viewport)?this.focalPoint.set({opacity:1}):this.focalPoint.set({opacity:0})):0!==o&&this._resetFocalPointPosition(),this._zoomImage()},_cleanupFocalPointAfterStraighten:function(){if(this.focalPoint&&!this._isCenterInside(this.focalPoint,this.viewport)){this.focalPoint.set({opacity:1});var t=this.focalPointState;t.offsetX=0,t.offsetY=0,this.storeFocalPointState(t),this.toggleFocalPoint()}},_resetFocalPointPosition:function(){var t=this.focalPointState;t.offsetX=0,t.offsetY=0,this.storeFocalPointState(t)},_isCenterInside:function(t,e){return t.left>e.left-e.width/2&&t.top>e.top-e.height/2&&t.left<e.left+e.width/2&&t.top<e.top+e.height/2},_adjustFocalPointByAngle:function(t){var e=t*(Math.PI/180),i=this.focalPointState,n=i.offsetX,s=i.offsetY,a=n*Math.cos(e)-s*Math.sin(e),r=n*Math.sin(e)+s*Math.cos(e),o=this.getScaledImageDimensions().width/i.imageDimensions.width,l=a*o*this.zoomRatio,h=r*o*this.zoomRatio;this.focalPoint.left=this.image.left+l,this.focalPoint.top=this.image.top+h,i.offsetX=a,i.offsetY=r,this.storeFocalPointState(i)},_getZoomRatioToFitRectangle:function(t,e){for(var i,n,s=this._getRectangleVertices(t),a=0;a<s.length&&(i=s[a],this.arePointsInsideRectangle([i],e));a++)i=!1;if(i){var r=this._getEdgeCrossed(e,i),o={x:t.left+t.width/2,y:t.top+t.height/2},l=Math.abs((r[1].y-r[0].y)*i.x-(r[1].x-r[0].x)*i.y+r[1].x*r[0].y-r[1].y*r[0].x)/Math.sqrt(Math.pow(r[1].y-r[0].y,2)+Math.pow(r[1].x-r[0].x,2)),h=Math.abs((r[1].y-r[0].y)*o.x-(r[1].x-r[0].x)*o.y+r[1].x*r[0].y-r[1].y*r[0].x)/Math.sqrt(Math.pow(r[1].y-r[0].y,2)+Math.pow(r[1].x-r[0].x,2));n=(l+h)/h}else n=1;return n},saveImage:function(t){var e=this,i=$(t.currentTarget);if(this.saving)return!1;this.saving=!0,i.addClass("loading");var n=i.hasClass("replace"),s={assetId:this.assetId,viewportRotation:this.viewportRotation,imageRotation:this.imageStraightenAngle,replace:n?1:0};if(this.cropperState){var a={};a.height=this.cropperState.height,a.width=this.cropperState.width,a.offsetX=this.cropperState.offsetX,a.offsetY=this.cropperState.offsetY,s.imageDimensions=this.cropperState.imageDimensions,s.cropData=a}else s.imageDimensions=this.getScaledImageDimensions();this.focalPoint&&(s.focalPoint=this.focalPointState),s.flipData=this.flipData,s.zoom=this.zoomRatio,Craft.sendActionRequest("POST","assets/save-image",{data:s}).then((function(t){var i=t.data;e.onSave(i),n&&Craft.broadcaster&&Craft.broadcaster.postMessage({event:"saveElement",id:e.assetId}),e.hide(),Craft.cp.runQueue(),Craft.Preview.refresh()})).catch((function(t){var e=t.response;Craft.cp.displayError(e.data.message)})).finally((function(){e.$buttons.find(".btn").removeClass("loading"),e.saving=!1}))},getZoomToCoverRatio:function(t){var e=Math.abs(this.imageStraightenAngle)*(Math.PI/180),i=Math.sin(e)*t.height+Math.cos(e)*t.width,n=Math.sin(e)*t.width+Math.cos(e)*t.height;return Math.max(i/t.width,n/t.height)},getZoomToFitRatio:function(t){var e=this._getImageBoundingBox(t),i=1;if(e.height>this.editorHeight||e.width>this.editorWidth){var n=this.editorHeight/e.height,s=this.editorWidth/e.width;i=Math.min(s,n)}return i},getCombinedZoomRatio:function(t){return this.getZoomToCoverRatio(t)/this.getZoomToFitRatio(t)},_showGrid:function(){if(!this.grid){var t,e={strokeWidth:1,stroke:"rgba(255,255,255,0.5)"},i=this.viewport.width,n=this.viewport.height,s=i/9,a=n/9,r=[new fabric.Rect({strokeWidth:2,stroke:"rgba(255,255,255,1)",originX:"center",originY:"center",width:i,height:n,left:i/2,top:n/2,fill:"rgba(255,255,255,0)"})];for(t=1;t<=8;t++)r.push(new fabric.Line([t*s,0,t*s,n],e));for(t=1;t<=8;t++)r.push(new fabric.Line([0,t*a,i,t*a],e));this.grid=new fabric.Group(r,{left:this.editorWidth/2,top:this.editorHeight/2,originX:"center",originY:"center",angle:this.viewport.angle}),this.canvas.add(this.grid),this.renderImage()}},_hideGrid:function(){this.canvas.remove(this.grid),this.grid=null,this.renderImage()},onFadeOut:function(){this.destroy()},show:function(){this.base(),Garnish.$bod.addClass("no-scroll")},hide:function(){this.removeAllListeners(),this.straighteningInput.removeAllListeners(),Garnish.$bod.removeClass("no-scroll"),this.base()},onSave:function(t){this.settings.onSave(t),this.trigger("save")},enableSlider:function(){this.$imageTools.removeClass("hidden")},disableSlider:function(){this.$imageTools.addClass("hidden")},enableCropMode:function(){var t=this,e=this.getScaledImageDimensions();this.zoomRatio=this.getZoomToFitRatio(e);var i={width:this.editorWidth,height:this.editorHeight},n={width:e.width*this.zoomRatio,height:e.height*this.zoomRatio,left:this.editorWidth/2,top:this.editorHeight/2};this._editorModeTransition((function(){t._setFittedImageVerticeCoordinates();var e=t.cropperState,i=t.getScaledImageDimensions(),n=i.width/e.imageDimensions.width,s={left:t.image.left+e.offsetX*n*t.zoomRatio,top:t.image.top+e.offsetY*n*t.zoomRatio,width:e.width*n*t.zoomRatio,height:e.height*n*t.zoomRatio};t._showCropper(s),t.focalPoint&&(n=i.width/t.focalPointState.imageDimensions.width,t.focalPoint.left=t.image.left+t.focalPointState.offsetX*n*t.zoomRatio,t.focalPoint.top=t.image.top+t.focalPointState.offsetY*n*t.zoomRatio,t.canvas.add(t.focalPoint))}),n,i)},disableCropMode:function(){var t=this,e={};this._hideCropper();var i=this.getScaledImageDimensions(),n=this.getZoomToCoverRatio(i)*this.scaleFactor,s=n/this.zoomRatio;this.zoomRatio=n;var a={width:i.width*this.zoomRatio,height:i.height*this.zoomRatio,left:this.editorWidth/2,top:this.editorHeight/2},r=(this.clipper.left-this.image.left)*s,o=(this.clipper.top-this.image.top)*s;a.left=this.editorWidth/2-r,a.top=this.editorHeight/2-o,e.height=this.clipper.height*s,e.width=this.clipper.width*s,(!this.focalPoint||this.focalPoint&&!this._isCenterInside(this.focalPoint,this.clipper))&&(this.focalPoint&&this.toggleFocalPoint(),this._resetFocalPointPosition()),this._editorModeTransition((function(){if(t.focalPoint){var e=t.getScaledImageDimensions().width/t.focalPointState.imageDimensions.width;t.focalPoint.left=t.image.left+t.focalPointState.offsetX*e*t.zoomRatio,t.focalPoint.top=t.image.top+t.focalPointState.offsetY*e*t.zoomRatio,t.canvas.add(t.focalPoint)}}),a,e)},_editorModeTransition:function(t,e,i){var n=this;this._queue.pause(),this.animationInProgress||(this.animationInProgress=!0,this.focalPoint&&(this.canvas.remove(this.focalPoint),this.renderImage()),this.image.animate(e,{onChange:this.canvas.renderAll.bind(this.canvas),duration:this.settings.animationDuration,onComplete:function(){t(),n.animationInProgress=!1,n.renderImage(),n._queue.resume()}}),this.viewport.animate(i,{duration:this.settings.animationDuration}))},_showSpinner:function(){this.$spinner||(this.$spinner=$('<div class="spinner big spinner-absolute"/>')),this.$spinner.appendTo(this.$container.find(".image"))},_hideSpinner:function(){this.$spinner.remove()},_showCropper:function(t){this._setupCropperLayer(t),this._redrawCropperElements(),this.renderCropper()},_hideCropper:function(){this.clipper&&(this.croppingCanvas.remove(this.clipper),this.croppingCanvas.remove(this.croppingShade),this.croppingCanvas.remove(this.cropperHandles),this.croppingCanvas.remove(this.cropperGrid),this.croppingCanvas.remove(this.croppingRectangle),this.croppingCanvas=null,this.renderCropper=null)},_setupCropperLayer:function(t){var e=this;this.croppingCanvas=new fabric.StaticCanvas("cropping-canvas",{backgroundColor:"rgba(0,0,0,0)",hoverCursor:"default",selection:!1}),this.croppingCanvas.setDimensions({width:this.editorWidth,height:this.editorHeight}),this.renderCropper=function(){return Garnish.requestAnimationFrame(e.croppingCanvas.renderAll.bind(e.croppingCanvas))},$("#cropping-canvas",this.$editorContainer).css({position:"absolute",top:0,left:0}),this.croppingShade=new fabric.Rect({left:this.editorWidth/2,top:this.editorHeight/2,originX:"center",originY:"center",width:this.editorWidth,height:this.editorHeight,fill:"rgba(0,0,0,0.7)"});var i=this.getScaledImageDimensions(),n=0===this.imageStraightenAngle?1:1.2*this.getCombinedZoomRatio(i),s=i.width/n,a=i.height/n;if(this.hasOrientationChanged()){var r=a;a=s,s=r}this.clipper=new fabric.Rect({left:this.editorWidth/2,top:this.editorHeight/2,originX:"center",originY:"center",width:s,height:a,stroke:"black",fill:"rgba(128,0,0,1)",strokeWidth:0}),t&&this.clipper.set(t),this.clipper.globalCompositeOperation="destination-out",this.croppingCanvas.add(this.croppingShade),this.croppingCanvas.add(this.clipper)},_redrawCropperElements:function(){void 0===this._redrawCropperElements._&&(this._redrawCropperElements._={}),this.cropperHandles&&(this.croppingCanvas.remove(this.cropperHandles),this.croppingCanvas.remove(this.cropperGrid),this.croppingCanvas.remove(this.croppingRectangle)),this._redrawCropperElements._.lineOptions={strokeWidth:4,stroke:"rgb(255,255,255)",fill:!1},this._redrawCropperElements._.gridOptions={strokeWidth:2,stroke:"rgba(255,255,255,0.5)"},this._redrawCropperElements._.pathGroup=[new fabric.Path("M 0,10 L 0,0 L 10,0",this._redrawCropperElements._.lineOptions),new fabric.Path("M "+(this.clipper.width-8)+",0 L "+(this.clipper.width+4)+",0 L "+(this.clipper.width+4)+",10",this._redrawCropperElements._.lineOptions),new fabric.Path("M "+(this.clipper.width+4)+","+(this.clipper.height-8)+" L"+(this.clipper.width+4)+","+(this.clipper.height+4)+" L "+(this.clipper.width-8)+","+(this.clipper.height+4),this._redrawCropperElements._.lineOptions),new fabric.Path("M 10,"+(this.clipper.height+4)+" L 0,"+(this.clipper.height+4)+" L 0,"+(this.clipper.height-8),this._redrawCropperElements._.lineOptions)],this.cropperHandles=new fabric.Group(this._redrawCropperElements._.pathGroup,{left:this.clipper.left,top:this.clipper.top,originX:"center",originY:"center"}),this.croppingRectangle=new fabric.Rect({left:this.clipper.left,top:this.clipper.top,width:this.clipper.width,height:this.clipper.height,fill:"rgba(0,0,0,0)",stroke:"rgba(255,255,255,0.8)",strokeWidth:2,originX:"center",originY:"center"}),this.cropperGrid=new fabric.Group([new fabric.Line([.33*this.clipper.width,0,.33*this.clipper.width,this.clipper.height],this._redrawCropperElements._.gridOptions),new fabric.Line([.66*this.clipper.width,0,.66*this.clipper.width,this.clipper.height],this._redrawCropperElements._.gridOptions),new fabric.Line([0,.33*this.clipper.height,this.clipper.width,.33*this.clipper.height],this._redrawCropperElements._.gridOptions),new fabric.Line([0,.66*this.clipper.height,this.clipper.width,.66*this.clipper.height],this._redrawCropperElements._.gridOptions)],{left:this.clipper.left,top:this.clipper.top,originX:"center",originY:"center"}),this._redrawCropperElements._.cropTextTop=this.croppingRectangle.top+this.clipper.height/2+12,this._redrawCropperElements._.cropTextBackgroundColor="rgba(0,0,0,0)",this._redrawCropperElements._.cropTextTop+12>this.editorHeight-2&&(this._redrawCropperElements._.cropTextTop-=24,this._redrawCropperElements._.cropTextBackgroundColor="rgba(0,0,0,0.5)"),this.croppingCanvas.add(this.cropperHandles),this.croppingCanvas.add(this.cropperGrid),this.croppingCanvas.add(this.croppingRectangle)},_repositionCropper:function(t){if(this.croppingCanvas){var e=this.clipper.left-this.croppingCanvas.width/2,i=this.clipper.top-this.croppingCanvas.height/2;this.croppingCanvas.setDimensions({width:this.editorWidth,height:this.editorHeight});var n=this._getBoundingRectangle(this.imageVerticeCoords).width/t.width;this.clipper.width=Math.round(this.clipper.width*n),this.clipper.height=Math.round(this.clipper.height*n),this.clipper.left=this.editorWidth/2+e*n,this.clipper.top=this.editorHeight/2+i*n,this.croppingShade.set({width:this.editorWidth,height:this.editorHeight,left:this.editorWidth/2,top:this.editorHeight/2}),this._redrawCropperElements(),this.renderCropper()}},_getBoundingRectangle:function(t){return{width:Math.max(t.a.x,t.b.x,t.c.x,t.d.x)-Math.min(t.a.x,t.b.x,t.c.x,t.d.x),height:Math.max(t.a.y,t.b.y,t.c.y,t.d.y)-Math.min(t.a.y,t.b.y,t.c.y,t.d.y)}},_handleMouseDown:function(t){var e=this.focalPoint&&this._isMouseOver(t,this.focalPoint),i=this.croppingCanvas&&this._isMouseOver(t,this.clipper),n=this.croppingCanvas&&this._cropperHandleHitTest(t);(n||i||e)&&(this.previousMouseX=t.pageX,this.previousMouseY=t.pageY,e?this.draggingFocal=!0:n?this.scalingCropper=n:i&&(this.draggingCropper=!0))},_handleMouseMove:function(t){null!==this.mouseMoveEvent&&Garnish.requestAnimationFrame(this._handleMouseMoveInternal.bind(this)),this.mouseMoveEvent=t},_handleMouseMoveInternal:function(){null!==this.mouseMoveEvent&&(this.focalPoint&&this.draggingFocal?(this._handleFocalDrag(this.mouseMoveEvent),this.storeFocalPointState(),this.renderImage()):this.draggingCropper||this.scalingCropper?(this.draggingCropper?this._handleCropperDrag(this.mouseMoveEvent):this._handleCropperResize(this.mouseMoveEvent),this._redrawCropperElements(),this.storeCropperState(),this.renderCropper()):this._setMouseCursor(this.mouseMoveEvent),this.previousMouseX=this.mouseMoveEvent.pageX,this.previousMouseY=this.mouseMoveEvent.pageY,this.mouseMoveEvent=null)},_handleMouseUp:function(){this.draggingCropper=!1,this.scalingCropper=!1,this.draggingFocal=!1},_handleMouseOut:function(t){this._handleMouseUp(t),this.mouseMoveEvent=t,this._handleMouseMoveInternal()},_handleCropperDrag:function(t){if(void 0===this._handleCropperDrag._&&(this._handleCropperDrag._={}),this._handleCropperDrag._.deltaX=t.pageX-this.previousMouseX,this._handleCropperDrag._.deltaY=t.pageY-this.previousMouseY,0===this._handleCropperDrag._.deltaX&&0===this._handleCropperDrag._.deltaY)return!1;if(this._handleCropperDrag._.rectangle={left:this.clipper.left-this.clipper.width/2,top:this.clipper.top-this.clipper.height/2,width:this.clipper.width,height:this.clipper.height},this._handleCropperDrag._.vertices=this._getRectangleVertices(this._handleCropperDrag._.rectangle,this._handleCropperDrag._.deltaX,this._handleCropperDrag._.deltaY),!this.arePointsInsideRectangle(this._handleCropperDrag._.vertices,this.imageVerticeCoords)){for(this._handleCropperDrag._.dxi=0,this._handleCropperDrag._.dyi=0,this._handleCropperDrag._.xStep=this._handleCropperDrag._.deltaX>0?-1:1,this._handleCropperDrag._.yStep=this._handleCropperDrag._.deltaY>0?-1:1,this._handleCropperDrag._.furthest=0,this._handleCropperDrag._.furthestDeltas={},this._handleCropperDrag._.dxi=Math.min(Math.abs(this._handleCropperDrag._.deltaX),10);this._handleCropperDrag._.dxi>=0;this._handleCropperDrag._.dxi--)for(this._handleCropperDrag._.dyi=Math.min(Math.abs(this._handleCropperDrag._.deltaY),10);this._handleCropperDrag._.dyi>=0;this._handleCropperDrag._.dyi--)this._handleCropperDrag._.vertices=this._getRectangleVertices(this._handleCropperDrag._.rectangle,this._handleCropperDrag._.dxi*(this._handleCropperDrag._.deltaX>0?1:-1),this._handleCropperDrag._.dyi*(this._handleCropperDrag._.deltaY>0?1:-1)),this.arePointsInsideRectangle(this._handleCropperDrag._.vertices,this.imageVerticeCoords)&&this._handleCropperDrag._.dxi+this._handleCropperDrag._.dyi>this._handleCropperDrag._.furthest&&(this._handleCropperDrag._.furthest=this._handleCropperDrag._.dxi+this._handleCropperDrag._.dyi,this._handleCropperDrag._.furthestDeltas={x:this._handleCropperDrag._.dxi*(this._handleCropperDrag._.deltaX>0?1:-1),y:this._handleCropperDrag._.dyi*(this._handleCropperDrag._.deltaY>0?1:-1)});if(0==this._handleCropperDrag._.furthest)return;this._handleCropperDrag._.deltaX=this._handleCropperDrag._.furthestDeltas.x,this._handleCropperDrag._.deltaY=this._handleCropperDrag._.furthestDeltas.y}this.clipper.set({left:this.clipper.left+this._handleCropperDrag._.deltaX,top:this.clipper.top+this._handleCropperDrag._.deltaY})},_handleFocalDrag:function(t){if(void 0===this._handleFocalDrag._&&(this._handleFocalDrag._={}),this.focalPoint){if(this._handleFocalDrag._.deltaX=t.pageX-this.previousMouseX,this._handleFocalDrag._.deltaY=t.pageY-this.previousMouseY,0===this._handleFocalDrag._.deltaX&&0===this._handleFocalDrag._.deltaY)return;if(this._handleFocalDrag._.newX=this.focalPoint.left+this._handleFocalDrag._.deltaX,this._handleFocalDrag._.newY=this.focalPoint.top+this._handleFocalDrag._.deltaY,"crop"===this.currentView){if(!this.arePointsInsideRectangle([{x:this._handleFocalDrag._.newX,y:this._handleFocalDrag._.newY}],this.imageVerticeCoords))return}else if(!(this.viewport.left-this.viewport.width/2-this._handleFocalDrag._.newX<0&&this.viewport.left+this.viewport.width/2-this._handleFocalDrag._.newX>0&&this.viewport.top-this.viewport.height/2-this._handleFocalDrag._.newY<0&&this.viewport.top+this.viewport.height/2-this._handleFocalDrag._.newY>0))return;this.focalPoint.set({left:this.focalPoint.left+this._handleFocalDrag._.deltaX,top:this.focalPoint.top+this._handleFocalDrag._.deltaY})}},setCroppingConstraint:function(t){switch(this.updateSizeAndPosition(),t){case"none":this.croppingConstraint=!1;break;case"original":this.croppingConstraint=this.originalWidth/this.originalHeight;break;case"current":this.croppingConstraint=this.clipper.width/this.clipper.height;break;case"custom":break;default:this.croppingConstraint=parseFloat(t)}},enforceCroppingConstraint:function(){var t=this;void 0===this.enforceCroppingConstraint._&&(this.enforceCroppingConstraint._={}),!this.animationInProgress&&this.croppingConstraint&&(this.animationInProgress=!0,this.enforceCroppingConstraint._.rectangle={left:this.clipper.left-this.clipper.width/2,top:this.clipper.top-this.clipper.height/2,width:this.clipper.width,height:this.clipper.height},this.clipper.width>this.clipper.height*this.croppingConstraint?(this.enforceCroppingConstraint._.previousHeight=this.enforceCroppingConstraint._.rectangle.height,this.enforceCroppingConstraint._.rectangle.height=this.clipper.width/this.croppingConstraint,this.enforceCroppingConstraint._.rectangle.top-=(this.enforceCroppingConstraint._.rectangle.height-this.enforceCroppingConstraint._.previousHeight)/2,this.arePointsInsideRectangle(this._getRectangleVertices(this.enforceCroppingConstraint._.rectangle),this.imageVerticeCoords)||(this.enforceCroppingConstraint._.rectangle.width=this.clipper.height*this.croppingConstraint,this.enforceCroppingConstraint._.rectangle.height=this.enforceCroppingConstraint._.rectangle.width/this.croppingConstraint)):(this.enforceCroppingConstraint._.previousWidth=this.enforceCroppingConstraint._.rectangle.width,this.enforceCroppingConstraint._.rectangle.width=this.clipper.height*this.croppingConstraint,this.enforceCroppingConstraint._.rectangle.left-=(this.enforceCroppingConstraint._.rectangle.width-this.enforceCroppingConstraint._.previousWidth)/2,this.arePointsInsideRectangle(this._getRectangleVertices(this.enforceCroppingConstraint._.rectangle),this.imageVerticeCoords)||(this.enforceCroppingConstraint._.rectangle.height=this.clipper.width/this.croppingConstraint,this.enforceCroppingConstraint._.rectangle.width=this.enforceCroppingConstraint._.rectangle.height*this.croppingConstraint)),this.enforceCroppingConstraint._.properties={height:this.enforceCroppingConstraint._.rectangle.height,width:this.enforceCroppingConstraint._.rectangle.width},this.clipper.animate(this.enforceCroppingConstraint._.properties,{onChange:function(){t._redrawCropperElements(),t.croppingCanvas.renderAll()},duration:this.settings.animationDuration,onComplete:function(){t._redrawCropperElements(),t.animationInProgress=!1,t.renderCropper(),t.storeCropperState()}}))},_handleCropperResize:function(t){void 0===this._handleCropperResize._&&(this._handleCropperResize._={}),this._handleCropperResize._.deltaX=t.pageX-this.previousMouseX,this._handleCropperResize._.deltaY=t.pageY-this.previousMouseY,"b"!==this.scalingCropper&&"t"!==this.scalingCropper||(this._handleCropperResize._.deltaX=0),"l"!==this.scalingCropper&&"r"!==this.scalingCropper||(this._handleCropperResize._.deltaY=0),0===this._handleCropperResize._.deltaX&&0===this._handleCropperResize._.deltaY||(this._handleCropperResize._.startingRectangle={left:this.clipper.left-this.clipper.width/2,top:this.clipper.top-this.clipper.height/2,width:this.clipper.width,height:this.clipper.height},this._handleCropperResize._.rectangle=this._calculateNewCropperSizeByDeltas(this._handleCropperResize._.startingRectangle,this._handleCropperResize._.deltaX,this._handleCropperResize._.deltaY,this.scalingCropper),this._handleCropperResize._.rectangle.height<30||this._handleCropperResize._.rectangle.width<30||this.arePointsInsideRectangle(this._getRectangleVertices(this._handleCropperResize._.rectangle),this.imageVerticeCoords)&&(this.clipper.set({top:this._handleCropperResize._.rectangle.top+this._handleCropperResize._.rectangle.height/2,left:this._handleCropperResize._.rectangle.left+this._handleCropperResize._.rectangle.width/2,width:this._handleCropperResize._.rectangle.width,height:this._handleCropperResize._.rectangle.height}),this._redrawCropperElements()))},_calculateNewCropperSizeByDeltas:function(t,e,i,n){if(void 0===this._calculateNewCropperSizeByDeltas._&&(this._calculateNewCropperSizeByDeltas._={}),this._calculateNewCropperSizeByDeltas._.topDelta=0,this._calculateNewCropperSizeByDeltas._.leftDelta=0,this._calculateNewCropperSizeByDeltas._.rectangle=t,this._calculateNewCropperSizeByDeltas._.deltaX=e,this._calculateNewCropperSizeByDeltas._.deltaY=i,this.croppingConstraint){switch(this._calculateNewCropperSizeByDeltas._.change=0,n){case"t":this._calculateNewCropperSizeByDeltas._.change=-this._calculateNewCropperSizeByDeltas._.deltaY;break;case"b":this._calculateNewCropperSizeByDeltas._.change=this._calculateNewCropperSizeByDeltas._.deltaY;break;case"r":this._calculateNewCropperSizeByDeltas._.change=this._calculateNewCropperSizeByDeltas._.deltaX;break;case"l":this._calculateNewCropperSizeByDeltas._.change=-this._calculateNewCropperSizeByDeltas._.deltaX;break;case"tr":this._calculateNewCropperSizeByDeltas._.change=Math.abs(this._calculateNewCropperSizeByDeltas._.deltaY)>Math.abs(this._calculateNewCropperSizeByDeltas._.deltaX)?-this._calculateNewCropperSizeByDeltas._.deltaY:this._calculateNewCropperSizeByDeltas._.deltaX;break;case"tl":this._calculateNewCropperSizeByDeltas._.change=Math.abs(this._calculateNewCropperSizeByDeltas._.deltaY)>Math.abs(this._calculateNewCropperSizeByDeltas._.deltaX)?-this._calculateNewCropperSizeByDeltas._.deltaY:-this._calculateNewCropperSizeByDeltas._.deltaX;break;case"br":this._calculateNewCropperSizeByDeltas._.change=Math.abs(this._calculateNewCropperSizeByDeltas._.deltaY)>Math.abs(this._calculateNewCropperSizeByDeltas._.deltaX)?this._calculateNewCropperSizeByDeltas._.deltaY:this._calculateNewCropperSizeByDeltas._.deltaX;break;case"bl":this._calculateNewCropperSizeByDeltas._.change=Math.abs(this._calculateNewCropperSizeByDeltas._.deltaY)>Math.abs(this._calculateNewCropperSizeByDeltas._.deltaX)?this._calculateNewCropperSizeByDeltas._.deltaY:-this._calculateNewCropperSizeByDeltas._.deltaX}switch(this.croppingConstraint>1?(this._calculateNewCropperSizeByDeltas._.deltaX=this._calculateNewCropperSizeByDeltas._.change,this._calculateNewCropperSizeByDeltas._.deltaY=this._calculateNewCropperSizeByDeltas._.deltaX/this.croppingConstraint):(this._calculateNewCropperSizeByDeltas._.deltaY=this._calculateNewCropperSizeByDeltas._.change,this._calculateNewCropperSizeByDeltas._.deltaX=this._calculateNewCropperSizeByDeltas._.deltaY*this.croppingConstraint),this._calculateNewCropperSizeByDeltas._.rectangle.height+=this._calculateNewCropperSizeByDeltas._.deltaY,this._calculateNewCropperSizeByDeltas._.rectangle.width+=this._calculateNewCropperSizeByDeltas._.deltaX,n){case"t":this._calculateNewCropperSizeByDeltas._.rectangle.top-=this._calculateNewCropperSizeByDeltas._.deltaY,this._calculateNewCropperSizeByDeltas._.rectangle.left-=this._calculateNewCropperSizeByDeltas._.deltaX/2;break;case"b":this._calculateNewCropperSizeByDeltas._.rectangle.left+=-this._calculateNewCropperSizeByDeltas._.deltaX/2;break;case"r":this._calculateNewCropperSizeByDeltas._.rectangle.top+=-this._calculateNewCropperSizeByDeltas._.deltaY/2;break;case"l":this._calculateNewCropperSizeByDeltas._.rectangle.top-=this._calculateNewCropperSizeByDeltas._.deltaY/2,this._calculateNewCropperSizeByDeltas._.rectangle.left-=this._calculateNewCropperSizeByDeltas._.deltaX;break;case"tr":this._calculateNewCropperSizeByDeltas._.rectangle.top-=this._calculateNewCropperSizeByDeltas._.deltaY;break;case"tl":this._calculateNewCropperSizeByDeltas._.rectangle.top-=this._calculateNewCropperSizeByDeltas._.deltaY,this._calculateNewCropperSizeByDeltas._.rectangle.left-=this._calculateNewCropperSizeByDeltas._.deltaX;break;case"bl":this._calculateNewCropperSizeByDeltas._.rectangle.left-=this._calculateNewCropperSizeByDeltas._.deltaX}}else!this.shiftKeyHeld||"tl"!==n&&"tr"!==n&&"bl"!==n&&"br"!==n||(this._calculateNewCropperSizeByDeltas._.ratio,Math.abs(e)>Math.abs(i)?(this._calculateNewCropperSizeByDeltas._.ratio=t.width/t.height,this._calculateNewCropperSizeByDeltas._.deltaY=this._calculateNewCropperSizeByDeltas._.deltaX/this._calculateNewCropperSizeByDeltas._.ratio,this._calculateNewCropperSizeByDeltas._.deltaY*="tr"===n||"bl"===n?-1:1):(this._calculateNewCropperSizeByDeltas._.ratio=t.width/t.height,this._calculateNewCropperSizeByDeltas._.deltaX=this._calculateNewCropperSizeByDeltas._.deltaY*this._calculateNewCropperSizeByDeltas._.ratio,this._calculateNewCropperSizeByDeltas._.deltaX*="tr"===n||"bl"===n?-1:1)),n.match(/t/)&&(this._calculateNewCropperSizeByDeltas._.rectangle.top+=this._calculateNewCropperSizeByDeltas._.deltaY,this._calculateNewCropperSizeByDeltas._.rectangle.height-=this._calculateNewCropperSizeByDeltas._.deltaY),n.match(/b/)&&(this._calculateNewCropperSizeByDeltas._.rectangle.height+=this._calculateNewCropperSizeByDeltas._.deltaY),n.match(/r/)&&(this._calculateNewCropperSizeByDeltas._.rectangle.width+=this._calculateNewCropperSizeByDeltas._.deltaX),n.match(/l/)&&(this._calculateNewCropperSizeByDeltas._.rectangle.left+=this._calculateNewCropperSizeByDeltas._.deltaX,this._calculateNewCropperSizeByDeltas._.rectangle.width-=this._calculateNewCropperSizeByDeltas._.deltaX);return this._calculateNewCropperSizeByDeltas._.rectangle.top=this._calculateNewCropperSizeByDeltas._.rectangle.top,this._calculateNewCropperSizeByDeltas._.rectangle.left=this._calculateNewCropperSizeByDeltas._.rectangle.left,this._calculateNewCropperSizeByDeltas._.rectangle.width=this._calculateNewCropperSizeByDeltas._.rectangle.width,this._calculateNewCropperSizeByDeltas._.rectangle.height=this._calculateNewCropperSizeByDeltas._.rectangle.height,this._calculateNewCropperSizeByDeltas._.rectangle},_setMouseCursor:function(t){void 0===this._setMouseCursor._&&(this._setMouseCursor._={}),Garnish.isMobileBrowser(!0)||(this._setMouseCursor._.cursor="default",this._setMouseCursor._.handle=this.croppingCanvas&&this._cropperHandleHitTest(t),this.focalPoint&&this._isMouseOver(t,this.focalPoint)?this._setMouseCursor._.cursor="pointer":this._setMouseCursor._.handle?"t"===this._setMouseCursor._.handle||"b"===this._setMouseCursor._.handle?this._setMouseCursor._.cursor="ns-resize":"l"===this._setMouseCursor._.handle||"r"===this._setMouseCursor._.handle?this._setMouseCursor._.cursor="ew-resize":"tl"===this._setMouseCursor._.handle||"br"===this._setMouseCursor._.handle?this._setMouseCursor._.cursor="nwse-resize":"bl"!==this._setMouseCursor._.handle&&"tr"!==this._setMouseCursor._.handle||(this._setMouseCursor._.cursor="nesw-resize"):this.croppingCanvas&&this._isMouseOver(t,this.clipper)&&(this._setMouseCursor._.cursor="move"),$(".body").css("cursor",this._setMouseCursor._.cursor))},_cropperHandleHitTest:function(t){if(void 0===this._cropperHandleHitTest._&&(this._cropperHandleHitTest._={}),this._cropperHandleHitTest._.parentOffset=this.$croppingCanvas.offset(),this._cropperHandleHitTest._.mouseX=t.pageX-this._cropperHandleHitTest._.parentOffset.left,this._cropperHandleHitTest._.mouseY=t.pageY-this._cropperHandleHitTest._.parentOffset.top,this._cropperHandleHitTest._.lb=this.clipper.left-this.clipper.width/2,this._cropperHandleHitTest._.rb=this._cropperHandleHitTest._.lb+this.clipper.width,this._cropperHandleHitTest._.tb=this.clipper.top-this.clipper.height/2,this._cropperHandleHitTest._.bb=this._cropperHandleHitTest._.tb+this.clipper.height,this._cropperHandleHitTest._.mouseX<this._cropperHandleHitTest._.lb+10&&this._cropperHandleHitTest._.mouseX>this._cropperHandleHitTest._.lb-3){if(this._cropperHandleHitTest._.mouseY<this._cropperHandleHitTest._.tb+10&&this._cropperHandleHitTest._.mouseY>this._cropperHandleHitTest._.tb-3)return"tl";if(this._cropperHandleHitTest._.mouseY<this._cropperHandleHitTest._.bb+3&&this._cropperHandleHitTest._.mouseY>this._cropperHandleHitTest._.bb-10)return"bl"}if(this._cropperHandleHitTest._.mouseX>this._cropperHandleHitTest._.rb-13&&this._cropperHandleHitTest._.mouseX<this._cropperHandleHitTest._.rb+3){if(this._cropperHandleHitTest._.mouseY<this._cropperHandleHitTest._.tb+10&&this._cropperHandleHitTest._.mouseY>this._cropperHandleHitTest._.tb-3)return"tr";if(this._cropperHandleHitTest._.mouseY<this._cropperHandleHitTest._.bb+2&&this._cropperHandleHitTest._.mouseY>this._cropperHandleHitTest._.bb-10)return"br"}return this._cropperHandleHitTest._.mouseX<this._cropperHandleHitTest._.lb+3&&this._cropperHandleHitTest._.mouseX>this._cropperHandleHitTest._.lb-3&&this._cropperHandleHitTest._.mouseY<this._cropperHandleHitTest._.bb-10&&this._cropperHandleHitTest._.mouseY>this._cropperHandleHitTest._.tb+10?"l":this._cropperHandleHitTest._.mouseX<this._cropperHandleHitTest._.rb+1&&this._cropperHandleHitTest._.mouseX>this._cropperHandleHitTest._.rb-5&&this._cropperHandleHitTest._.mouseY<this._cropperHandleHitTest._.bb-10&&this._cropperHandleHitTest._.mouseY>this._cropperHandleHitTest._.tb+10?"r":this._cropperHandleHitTest._.mouseY<this._cropperHandleHitTest._.tb+4&&this._cropperHandleHitTest._.mouseY>this._cropperHandleHitTest._.tb-2&&this._cropperHandleHitTest._.mouseX>this._cropperHandleHitTest._.lb+10&&this._cropperHandleHitTest._.mouseX<this._cropperHandleHitTest._.rb-10?"t":this._cropperHandleHitTest._.mouseY<this._cropperHandleHitTest._.bb+2&&this._cropperHandleHitTest._.mouseY>this._cropperHandleHitTest._.bb-4&&this._cropperHandleHitTest._.mouseX>this._cropperHandleHitTest._.lb+10&&this._cropperHandleHitTest._.mouseX<this._cropperHandleHitTest._.rb-10&&"b"},_isMouseOver:function(t,e){return void 0===this._isMouseOver._&&(this._isMouseOver._={}),this._isMouseOver._.parentOffset=this.$croppingCanvas.offset(),this._isMouseOver._.mouseX=t.pageX-this._isMouseOver._.parentOffset.left,this._isMouseOver._.mouseY=t.pageY-this._isMouseOver._.parentOffset.top,this._isMouseOver._.lb=e.left-e.width/2,this._isMouseOver._.rb=this._isMouseOver._.lb+e.width,this._isMouseOver._.tb=e.top-e.height/2,this._isMouseOver._.bb=this._isMouseOver._.tb+e.height,this._isMouseOver._.mouseX>=this._isMouseOver._.lb&&this._isMouseOver._.mouseX<=this._isMouseOver._.rb&&this._isMouseOver._.mouseY>=this._isMouseOver._.tb&&this._isMouseOver._.mouseY<=this._isMouseOver._.bb},_getRectangleVertices:function(t,e,i){return void 0===this._getRectangleVertices._&&(this._getRectangleVertices._={}),void 0===e&&(e=0),void 0===i&&(i=0),this._getRectangleVertices._.topLeft={x:t.left+e,y:t.top+i},this._getRectangleVertices._.topRight={x:this._getRectangleVertices._.topLeft.x+t.width,y:this._getRectangleVertices._.topLeft.y},this._getRectangleVertices._.bottomRight={x:this._getRectangleVertices._.topRight.x,y:this._getRectangleVertices._.topRight.y+t.height},this._getRectangleVertices._.bottomLeft={x:this._getRectangleVertices._.topLeft.x,y:this._getRectangleVertices._.bottomRight.y},[this._getRectangleVertices._.topLeft,this._getRectangleVertices._.topRight,this._getRectangleVertices._.bottomRight,this._getRectangleVertices._.bottomLeft]},_setFittedImageVerticeCoordinates:function(){this.imageVerticeCoords=this.getImageVerticeCoords("fit")},getImageVerticeCoords:function(t){var e,i=-1*((this.hasOrientationChanged()?90:0)+this.imageStraightenAngle)*(Math.PI/180),n=this.getScaledImageDimensions();e="number"==typeof t?t:"cover"===t?this.getZoomToCoverRatio(n):this.getZoomToFitRatio(n);var s=n.height*e,a=n.width*e,r=Math.cos(i)*s,o=Math.sin(i)*a,l=Math.cos(i)*a,h=Math.sin(i)*s,d=(this.editorHeight-(r+o))/2,c=(this.editorWidth-(h+l))/2;return{a:{x:c+l,y:d},b:{x:this.editorWidth-c,y:d+r},c:{x:c+h,y:this.editorHeight-d},d:{x:c,y:d+o}}},_debug:function(t){this.canvas.remove(this.debugger),this.debugger=t,this.canvas.add(this.debugger)},arePointsInsideRectangle:function(t,e){for(void 0===this.arePointsInsideRectangle._&&(this.arePointsInsideRectangle._={}),this.arePointsInsideRectangle._.ab=this._getVector(e.a,e.b),this.arePointsInsideRectangle._.bc=this._getVector(e.b,e.c),this.arePointsInsideRectangle._.scalarAbAb=this._getScalarProduct(this.arePointsInsideRectangle._.ab,this.arePointsInsideRectangle._.ab),this.arePointsInsideRectangle._.scalarBcBc=this._getScalarProduct(this.arePointsInsideRectangle._.bc,this.arePointsInsideRectangle._.bc),this.arePointsInsideRectangle._.i=0;this.arePointsInsideRectangle._.i<t.length;this.arePointsInsideRectangle._.i++)if(this.arePointsInsideRectangle._.point=t[this.arePointsInsideRectangle._.i],this.arePointsInsideRectangle._.ap=this._getVector(e.a,this.arePointsInsideRectangle._.point),this.arePointsInsideRectangle._.bp=this._getVector(e.b,this.arePointsInsideRectangle._.point),this.arePointsInsideRectangle._.scalarAbAp=this._getScalarProduct(this.arePointsInsideRectangle._.ab,this.arePointsInsideRectangle._.ap),this.arePointsInsideRectangle._.scalarBcBp=this._getScalarProduct(this.arePointsInsideRectangle._.bc,this.arePointsInsideRectangle._.bp),this.arePointsInsideRectangle._.projectsOnAB=0<=this.arePointsInsideRectangle._.scalarAbAp&&this.arePointsInsideRectangle._.scalarAbAp<=this.arePointsInsideRectangle._.scalarAbAb,this.arePointsInsideRectangle._.projectsOnBC=0<=this.arePointsInsideRectangle._.scalarBcBp&&this.arePointsInsideRectangle._.scalarBcBp<=this.arePointsInsideRectangle._.scalarBcBc,!this.arePointsInsideRectangle._.projectsOnAB||!this.arePointsInsideRectangle._.projectsOnBC)return!1;return!0},_getVector:function(t,e){return{x:e.x-t.x,y:e.y-t.y}},_getScalarProduct:function(t,e){return t.x*e.x+t.y*e.y},_getVectorMagnitude:function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},_getAngleBetweenVectors:function(t,e){return Math.round(180*Math.acos(Math.min(1,this._getScalarProduct(t,e)/(this._getVectorMagnitude(t)*this._getVectorMagnitude(e))))/Math.PI*100)/100},_getEdgeCrossed:function(t,e){for(var i=[[t.a,t.b],[t.b,t.c],[t.c,t.d],[t.d,t.a]],n={x:this.editorWidth/2,y:this.editorHeight/2},s=180,a=null,r=0;r<i.length;r++){var o=i[r],l=this._getVector(o[0],n),h=this._getVector(o[0],o[1]),d=this._getVector(o[0],e),c=Math.abs(this._getAngleBetweenVectors(l,d)-(this._getAngleBetweenVectors(l,h)+this._getAngleBetweenVectors(h,d)));c<s&&(s=c,a=o)}return a},_getImageBoundingBox:function(t){var e={},i=Math.abs(this.imageStraightenAngle)*(Math.PI/180),n=t.height/t.width;if(e.height=t.width*(Math.sin(i)+Math.cos(i)*n),e.width=t.width*(Math.cos(i)+Math.sin(i)*n),this.hasOrientationChanged()){var s=e.width;e.width=e.height,e.height=s}return e}},{defaults:{animationDuration:100,allowSavingAsNew:!0,onSave:$.noop,allowDegreeFractions:null}})},2495:function(){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function i(){"use strict";i=function(){return e};var e={},n=Object.prototype,s=n.hasOwnProperty,a=Object.defineProperty||function(t,e,i){t[e]=i.value},r="function"==typeof Symbol?Symbol:{},o=r.iterator||"@@iterator",l=r.asyncIterator||"@@asyncIterator",h=r.toStringTag||"@@toStringTag";function d(t,e,i){return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{d({},"")}catch(t){d=function(t,e,i){return t[e]=i}}function c(t,e,i,n){var s=e&&e.prototype instanceof f?e:f,r=Object.create(s.prototype),o=new x(n||[]);return a(r,"_invoke",{value:w(t,i,o)}),r}function u(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}e.wrap=c;var p={};function f(){}function g(){}function m(){}var v={};d(v,o,(function(){return this}));var b=Object.getPrototypeOf,$=b&&b(b(P([])));$&&$!==n&&s.call($,o)&&(v=$);var C=m.prototype=f.prototype=Object.create(v);function _(t){["next","throw","return"].forEach((function(e){d(t,e,(function(t){return this._invoke(e,t)}))}))}function y(e,i){function n(a,r,o,l){var h=u(e[a],e,r);if("throw"!==h.type){var d=h.arg,c=d.value;return c&&"object"==t(c)&&s.call(c,"__await")?i.resolve(c.__await).then((function(t){n("next",t,o,l)}),(function(t){n("throw",t,o,l)})):i.resolve(c).then((function(t){d.value=t,o(d)}),(function(t){return n("throw",t,o,l)}))}l(h.arg)}var r;a(this,"_invoke",{value:function(t,e){function s(){return new i((function(i,s){n(t,e,i,s)}))}return r=r?r.then(s,s):s()}})}function w(t,e,i){var n="suspendedStart";return function(s,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===s)throw a;return{value:void 0,done:!0}}for(i.method=s,i.arg=a;;){var r=i.delegate;if(r){var o=S(r,i);if(o){if(o===p)continue;return o}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if("suspendedStart"===n)throw n="completed",i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);n="executing";var l=u(t,e,i);if("normal"===l.type){if(n=i.done?"completed":"suspendedYield",l.arg===p)continue;return{value:l.arg,done:i.done}}"throw"===l.type&&(n="completed",i.method="throw",i.arg=l.arg)}}}function S(t,e){var i=t.iterator[e.method];if(void 0===i){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,S(t,e),"throw"===e.method))return p;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var n=u(i,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,p;var s=n.arg;return s?s.done?(e[t.resultName]=s.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):s:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function T(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function x(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(T,this),this.reset(!0)}function P(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,n=function e(){for(;++i<t.length;)if(s.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return n.next=n}}return{next:E}}function E(){return{value:void 0,done:!0}}return g.prototype=m,a(C,"constructor",{value:m,configurable:!0}),a(m,"constructor",{value:g,configurable:!0}),g.displayName=d(m,h,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,d(t,h,"GeneratorFunction")),t.prototype=Object.create(C),t},e.awrap=function(t){return{__await:t}},_(y.prototype),d(y.prototype,l,(function(){return this})),e.AsyncIterator=y,e.async=function(t,i,n,s,a){void 0===a&&(a=Promise);var r=new y(c(t,i,n,s),a);return e.isGeneratorFunction(i)?r:r.next().then((function(t){return t.done?t.value:r.next()}))},_(C),d(C,h,"Generator"),d(C,o,(function(){return this})),d(C,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),i=[];for(var n in e)i.push(n);return i.reverse(),function t(){for(;i.length;){var n=i.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=P,x.prototype={constructor:x,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(I),!t)for(var e in this)"t"===e.charAt(0)&&s.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(i,n){return r.type="throw",r.arg=t,e.next=i,n&&(e.method="next",e.arg=void 0),!!n}for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n],r=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var o=s.call(a,"catchLoc"),l=s.call(a,"finallyLoc");if(o&&l){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(o){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var n=this.tryEntries[i];if(n.tryLoc<=this.prev&&s.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var a=n;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var r=a?a.completion:{};return r.type=t,r.arg=e,a?(this.method="next",this.next=a.finallyLoc,p):this.complete(r)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),I(i),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var s=n.arg;I(i)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:P(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=void 0),p}},e}function n(t,e,i,n,s,a,r){try{var o=t[a](r),l=o.value}catch(t){return void i(t)}o.done?e(l):Promise.resolve(l).then(n,s)}function s(t){return function(){var e=this,i=arguments;return new Promise((function(s,a){var r=t.apply(e,i);function o(t){n(r,s,a,o,l,"next",t)}function l(t){n(r,s,a,o,l,"throw",t)}o(void 0)}))}}function a(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}var r,o;Craft.AssetIndex=Craft.BaseElementIndex.extend({$includeSubfoldersContainer:null,$includeSubfoldersCheckbox:null,showingIncludeSubfoldersCheckbox:!1,$uploadButton:null,$uploadInput:null,$progressBar:null,uploader:null,promptHandler:null,progressBar:null,currentFolderId:null,$listedFolders:null,itemDrag:null,_uploadTotalFiles:0,_uploadFileProgress:{},_currentUploaderSettings:{},init:function(t,e,i){var n,s=this;i=Object.assign({},Craft.AssetIndex.defaults,i),this.base(t,e,i),"index"===this.settings.context?(this.itemDrag=new Garnish.DragDrop((a(n={activeDropTargetClass:"sel",minMouseDist:10,hideDraggee:!1,moveHelperToCursor:!0},"activeDropTargetClass","active-drop-target"),a(n,"handle",(function(t){return $(t).closest("tr,li")})),a(n,"filter",(function(){var t=s.itemDrag.$targetItem.closest("tr,li");return s.view.elementSelect.selectItem(t),s._findDraggableItems(s.view.getSelectedElements())})),a(n,"helper",(function(t,e){return $('<div class="offset-drag-helper"/>').append(t).css({opacity:Math.max(.9-.05*e,0),width:"",height:""})})),a(n,"dropTargets",(function(){var t=$(s.$visibleSources.toArray().filter((function(t){return Garnish.hasAttr(t,"data-folder-id")&&Garnish.hasAttr(t,"data-can-move-peer-files-to")})));if(s.sourcePath.length<=1)t=t.not(s.$source);else for(var e=0;e<s.sourcePath.length-1;e++){var i=s.sourcePath[e];i.folderId&&(t=t.add(i.$btn))}return s.$listedFolders&&(t=t.add(s.$listedFolders.filter("[data-folder-id]").closest("tr,li")).not(s.view.getSelectedElements())),t})),a(n,"onDragStart",(function(){Garnish.$bod.addClass("dragging"),s.itemDrag.$draggee.closest("tr,li").addClass("draggee")})),a(n,"onDragStop",(function(){Garnish.$bod.removeClass("dragging");var t=s.itemDrag.$draggee,e=s._targetFolderId(s.itemDrag.$activeDropTarget);if(!e)return t.closest("tr,li").removeClass("draggee"),void s.itemDrag.returnHelpersToDraggees();s.itemDrag.fadeOutHelpers();var i=t.filter("[data-is-folder]"),n=t.not(i),a=i.toArray().map((function(t){return parseInt($(t).data("folder-id"))})),r=n.toArray().map((function(t){return parseInt($(t).data("id"))})),o=new Craft.AssetMover;o.moveFolders(a,e).then((function(i){o.moveAssets(r,e).then((function(e){var n=i+e;n?(Craft.cp.displayNotice(Craft.t("app","{totalItems, plural, =1{Item} other{Items}} moved.",{totalItems:n})),Craft.elementIndex.updateElements(!0)):t.closest("tr,li").removeClass("draggee")}))}))})),n)),this.addListener(Garnish.$win,"resize,scroll","_positionProgressBar")):(this.addListener(this.$main,"scroll","_positionProgressBar"),this.settings.modal&&this.settings.modal.on("updateSizeAndPosition",this._positionProgressBar.bind(this))),this.addListener(this.$elements,"keydown",this._onKeyDown.bind(this))},_findDraggableItems:function(t){return $(t.toArray().map((function(t){return $(t).find(".element:first")[0]})).filter((function(t){return t&&Garnish.hasAttr(t,"data-movable")})))},_targetFolderId:function(t){if(!t||!t.length)return!1;if(t.is(this.$visibleSources))return t.data("folder-id");for(var e=0;e<this.sourcePath.length-1;e++){var i=this.sourcePath[e];if(t.is(i.$btn))return i.folderId}return t.find(".element:first").data("folder-id")||!1},afterInit:function(){this.settings.foldersOnly||this.initForFiles(),this.addListener(this.$elements,"doubletap",(function(t,e){if(e.firstTap.target===e.secondTap.target){var i=$(e.firstTap.target).closest("tr,ul.thumbsview > li").find(".element:first");Garnish.hasAttr(i,"data-is-folder")&&i.find("a").trigger("activate")}})),this.base()},initForFiles:function(){this.promptHandler=new Craft.PromptHandler,this.progressBar=new Craft.ProgressBar(this.$main,!1)},createUploadInputs:function(){var t,e,i=this;null===(t=this.$uploadButton)||void 0===t||t.remove(),null===(e=this.$uploadInput)||void 0===e||e.remove(),this.$uploadButton=$("<button/>",{type:"button",class:"btn submit","data-icon":"upload",style:"position: relative; overflow: hidden;","aria-label":Craft.t("app","Upload files"),text:Craft.t("app","Upload files")}),this.addButton(this.$uploadButton),this.$uploadInput=$('<input type="file" multiple="multiple" name="assets-upload" />').hide().insertBefore(this.$uploadButton),this.$uploadButton.on("click",(function(){i.$uploadButton.hasClass("disabled")||i.isIndexBusy||i.$uploadButton.parent().find("input[name=assets-upload]").trigger("click")}))},onSelectSource:function(){if(!this.settings.foldersOnly){this.currentFolderId=this.currentFolderId||this.$source.data("folder-id");var t=this.$source.data("fs-type");if(this.createUploadInputs(),this.currentFolderId&&Garnish.hasAttr(this.$source,"data-can-upload")){var e,i,n;null===(e=this.uploader)||void 0===e||e.destroy(),this.$uploadButton.removeClass("disabled");var s={fileInput:this.$uploadInput,dropZone:this.$container,events:{fileuploadstart:this._onUploadStart.bind(this),fileuploadprogressall:this._onUploadProgress.bind(this),fileuploaddone:this._onUploadSuccess.bind(this),fileuploadalways:this._onUploadAlways.bind(this),fileuploadfail:this._onUploadFailure.bind(this)}};null!==(i=this.settings)&&void 0!==i&&null!==(n=i.criteria)&&void 0!==n&&n.kind&&(s.allowedKinds=this.settings.criteria.kind),this._currentUploaderSettings=s,this.uploader=Craft.createUploader(t,this.$uploadButton,s),this.uploader.setParams({folderId:this.currentFolderId})}else this.$uploadButton.addClass("disabled")}this.base()},onSourcePathChange:function(){var t=this.sourcePath.length?this.sourcePath[this.sourcePath.length-1]:null;if(this.currentFolderId=null==t?void 0:t.folderId,!this.settings.foldersOnly&&this.currentFolderId){var e;null===(e=this.uploader)||void 0===e||e.setParams({folderId:this.currentFolderId});var i=!!t.canMoveSubItems;this.settings.selectable=this.settings.selectable||i,this.settings.multiSelect=this.settings.multiSelect||i}this.base()},startSearching:function(){if(!this.settings.hideSidebar&&this.sourcePath.length&&this.sourcePath[this.sourcePath.length-1].hasChildren){if(null===this.$includeSubfoldersContainer){var t="includeSubfolders-"+Math.floor(1e9*Math.random());this.$includeSubfoldersContainer=$('<div style="margin-bottom: -25px; opacity: 0;"/>').insertAfter(this.$search);var e=$('<div style="padding-top: 5px;"/>').appendTo(this.$includeSubfoldersContainer);this.$includeSubfoldersCheckbox=$('<input type="checkbox" id="'+t+'" class="checkbox"/>').appendTo(e),$('<label class="light smalltext" for="'+t+'"/>').text(" "+Craft.t("app","Search in subfolders")).appendTo(e),this.addListener(this.$includeSubfoldersCheckbox,"change",(function(){this.setSelecetedSourceState("includeSubfolders",this.$includeSubfoldersCheckbox.prop("checked")),this.updateElements()}))}else this.$includeSubfoldersContainer.velocity("stop").removeClass("hidden");var i=this.getSelectedSourceState("includeSubfolders",!1);this.$includeSubfoldersCheckbox.prop("checked",i),this.$includeSubfoldersContainer.velocity({marginBottom:0,opacity:1},"fast"),this.showingIncludeSubfoldersCheckbox=!0}this.base()},stopSearching:function(){var t=this;this.showingIncludeSubfoldersCheckbox&&(this.$includeSubfoldersContainer.velocity("stop"),this.$includeSubfoldersContainer.velocity({marginBottom:-25,opacity:0},{duration:"fast",complete:function(){t.$includeSubfoldersContainer.addClass("hidden")}}),this.showingIncludeSubfoldersCheckbox=!1),this.base()},getViewSettings:function(){var t={};return"index"===this.settings.context&&(t.canSelectElement=function(){return!0}),t},getViewParams:function(){var t=Object.assign(this.base(),{showFolders:this.settings.showFolders&&!this.trashed,foldersOnly:this.settings.foldersOnly});return this.showingIncludeSubfoldersCheckbox&&this.$includeSubfoldersCheckbox.prop("checked")&&(t.criteria.includeSubfolders=!0),t},_onUploadStart:function(){this.setIndexBusy(),this._positionProgressBar(),this.progressBar.resetProgressBar(),this.progressBar.showProgressBar(),this.promptHandler.resetPrompts()},_onUploadProgress:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;e=t instanceof CustomEvent?t.detail:e;var i=parseInt(100*Math.min(e.loaded/e.total,1),10);this.progressBar.setProgressPercentage(i)},_onUploadSuccess:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=t instanceof CustomEvent?t.detail:e.result;this.selectElementAfterUpdate(i.assetId),i.conflict&&(i.prompt={message:Craft.t("app",i.conflict,{file:i.filename}),choices:[{value:"keepBoth",title:Craft.t("app","Keep both")},{value:"replace",title:Craft.t("app","Replace it")}],modalSettings:{hideOnEsc:!1,hideOnShadeClick:!1}},this.promptHandler.addPrompt(i)),Craft.cp.runQueue()},_onUploadAlways:function(){this.uploader.isLastUpload()&&(this.progressBar.hideProgressBar(),this.setIndexAvailable(),this.promptHandler.getPromptCount()?this.promptHandler.showBatchPrompts(this._uploadFollowup.bind(this)):this._updateAfterUpload())},_onUploadFailure:function(t){var e,i,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=t instanceof CustomEvent?t.detail:null==n||null===(e=n.jqXHR)||void 0===e?void 0:e.responseJSON,a=s||{},r=a.message,o=a.filename;o=o||(null==n||null===(i=n.files)||void 0===i?void 0:i[0].name),r||(r=o?Craft.t("app","Upload failed for “{filename}”.",{filename:o}):Craft.t("app","Upload failed.")),Craft.cp.displayError(r)},_updateAfterUpload:function(){"index"!==this.settings.context&&(this.clearSearch(),this.setSelectedSortAttribute("dateCreated","desc")),this.updateElements()},_uploadFollowup:function(t){var e=this;this.setIndexBusy(),this.progressBar.resetProgressBar(),this.promptHandler.resetPrompts(),this.progressBar.setItemCount(t.length),this.progressBar.showProgressBar(),function t(i,n,s){var a={},r=null,o=e.uploader.settings,l=o.replaceAction,h=o.deleteAction,d=function(){n++,e.progressBar.incrementProcessedItemCount(1),e.progressBar.updateProgressBar(),n===i.length?s():t(i,n,s)},c=function(t){t.assetId&&e.selectElementAfterUpdate(t.assetId),d()};"replace"===i[n].choice?(r=l,a.sourceAssetId=i[n].assetId,i[n].conflictingAssetId?a.assetId=i[n].conflictingAssetId:a.targetFilename=i[n].filename):"cancel"===i[n].choice&&(r=h,a.assetId=i[n].assetId),r?Craft.sendActionRequest("POST",r,{data:a}).then((function(t){return c(t.data)})).catch((function(t){return function(t){Craft.cp.displayError(t.message),d()}(t.response.data)})):c({assetId:i[n].assetId})}(t,0,(function(){e.progressBar.hideProgressBar(),e.setIndexAvailable(),e._updateAfterUpload()}))},onUpdateElements:function(){var t=this;this._onUpdateElements(!1,this.view.getAllElements()),this.view.on("appendElements",(function(e){t._onUpdateElements(!0,e.newElements)})),this.base()},_onUpdateElements:function(t,e){var i=this;this.$listedFolders=e.find(".element[data-is-folder][data-folder-name]");for(var n=function(t){var n=i.$listedFolders.eq(t),s=n.find(".label"),a=s.find(".title"),r=parseInt(n.data("folder-id")),o=n.data("folder-name"),l=Craft.t("app","{name} folder",{name:o});if(i.settings.disabledFolderIds.includes(r))return s.attr("aria-label",l),e.has(n).addClass("disabled"),"continue";var h=n.data("source-path");if(h){var d=$("<a/>",{href:Craft.getCpUrl(h[h.length-1].uri),html:a.html(),role:"button","aria-label":l});s.empty().append(d),i.addListener(d,"activate",(function(t){i.sourcePath=h,i.clearSearch(!1),i.updateElements().then((function(){var t=i.$elements.find(":focusable:not(.selectallcontainer)")[0];t&&t.focus()}))}))}},s=0;s<this.$listedFolders.length;s++)n(s);if(this.itemDrag){var a=this.sourcePath[this.sourcePath.length-1],r=!!(a&&a.folderId&&a.canMoveSubItems);r&&t||this.itemDrag.removeAllItems(),r&&this.itemDrag.addItems(this._findDraggableItems(e))}},_onKeyDown:function(t){if(t.keyCode===Garnish.SPACE_KEY&&t.shiftKey){if(Craft.PreviewFileModal.openInstance)Craft.PreviewFileModal.openInstance.hide();else{var e=$(t.target).closest(".element");e.length||(e=$(t.target).find(".element:first")),e.length&&!Garnish.hasAttr(e,"data-folder-id")&&Craft.PreviewFileModal.showForAsset(e,this.view.elementSelect)}return t.stopPropagation(),!1}},getSourcePathLabel:function(){return Craft.t("app","Volume path")},getSourcePathActionLabel:function(){return Craft.t("app","Folder actions")},getSourcePathActions:function(){var t=this,e=[],i=this.sourcePath[this.sourcePath.length-1];return i.canCreate&&e.push({label:Craft.t("app","New subfolder"),onSelect:function(){t._createSubfolder()}}),"index"===this.settings.context&&i.canRename&&(e.push({label:Craft.t("app","Rename folder"),onSelect:function(){t._renameFolder()}}),i.canMove&&this.getMoveTargetSourceKeys(!0).length&&e.push({label:Craft.t("app","Move folder"),onSelect:function(){t._moveFolder()}}),i.canDelete&&e.push({label:Craft.t("app","Delete folder"),destructive:!0,onSelect:function(){t.deleteCurrentFolder()}})),e},_createSubfolder:function(){var t=this,e=this.sourcePath[this.sourcePath.length-1],i=prompt(Craft.t("app","Enter the name of the folder"));if(i){var n={parentId:e.folderId,folderName:i};this.setIndexBusy(),Craft.sendActionRequest("POST","assets/create-folder",{data:n}).then((function(e){t.setIndexAvailable(),Craft.cp.displayNotice(Craft.t("app","Folder created.")),t.updateElements(!0)})).catch((function(e){var i=e.response;t.setIndexAvailable(),Craft.cp.displayError(i.data.message)}))}},deleteCurrentFolder:(o=s(i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.deleteFolder(this.sourcePath[this.sourcePath.length-1]);case 2:if(!t.sent){t.next=5;break}this.sourcePath=this.sourcePath.slice(0,this.sourcePath.length-1),this.updateElements();case 5:case"end":return t.stop()}}),t,this)}))),function(){return o.apply(this,arguments)}),deleteFolder:(r=s(i().mark((function t(e){var n,s;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(confirm(Craft.t("app","Really delete folder “{folder}”?",{folder:e.label}))){t.next=2;break}return t.abrupt("return",!1);case 2:return this.setIndexBusy(),t.prev=3,t.next=6,Craft.sendActionRequest("POST","assets/delete-folder",{data:{folderId:e.folderId}});case 6:t.next=12;break;case 8:return t.prev=8,t.t0=t.catch(3),Craft.cp.displayError(null===t.t0||void 0===t.t0||null===(n=t.t0.response)||void 0===n||null===(s=n.data)||void 0===s?void 0:s.message),t.abrupt("return",!1);case 12:return t.prev=12,this.setIndexAvailable(),t.finish(12);case 15:return Craft.cp.displayNotice(Craft.t("app","Folder deleted.")),t.abrupt("return",!0);case 17:case"end":return t.stop()}}),t,this,[[3,8,12,15]])}))),function(t){return r.apply(this,arguments)}),_renameFolder:function(){var t=this,e=this.sourcePath[this.sourcePath.length-1],i=prompt(Craft.t("app","Rename folder"),e.label);i&&i!==e.label&&(this.setIndexBusy(),Craft.sendActionRequest("POST","assets/rename-folder",{data:{folderId:e.folderId,newName:i}}).then((function(e){Craft.cp.displayNotice(Craft.t("app","Folder renamed."));var i=t.sourcePath.slice();i[i.length-1].label=e.data.newName,i[i.length-1].uri=i[i.length-2].uri+"/".concat(e.data.newName),t.sourcePath=i})).catch((function(t){var e=t.response;Craft.cp.displayError(e.data.message)})).finally((function(){t.setIndexAvailable()})))},getMoveTargetSourceKeys:function(t){var e=t?"data-can-move-peer-files-to":"data-can-move-to";return this.$sources.toArray().filter((function(t){var i=$(t).data("volume-handle");return i&&"temp"!==i&&Garnish.hasAttr(t,e)})).map((function(t){return $(t).data("key")}))},_moveFolder:function(){var t=this,i=this.sourcePath[this.sourcePath.length-1],n=this.sourcePath[this.sourcePath.length-2],s=[i.folderId];n&&s.push(n.folderId),new Craft.VolumeFolderSelectorModal({sources:this.getMoveTargetSourceKeys(!0),showTitle:!0,modalTitle:Craft.t("app","Move to"),selectBtnLabel:Craft.t("app","Move"),disabledFolderIds:s,indexSettings:{defaultSource:this.sourceKey,defaultSourcePath:this.sourcePath.slice(0,this.sourcePath.length-1)},onSelect:function(n){var s,a,r=(s=n,a=1,function(t){if(Array.isArray(t))return t}(s)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var n,s,a=[],r=!0,o=!1;try{for(i=i.call(t);!(r=(n=i.next()).done)&&(a.push(n.value),!e||a.length!==e);r=!0);}catch(t){o=!0,s=t}finally{try{r||null==i.return||i.return()}finally{if(o)throw s}}return a}}(s,a)||function(t,i){if(t){if("string"==typeof t)return e(t,i);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e(t,i):void 0}}(s,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0];t.$sourcePathActionsBtn.focus(),(new Craft.AssetMover).moveFolders([i.folderId],r.folderId).then((function(e){e&&(Craft.cp.displayNotice(Craft.t("app","{totalItems, plural, =1{Item} other{Items}} moved.",{totalItems:e})),t.sourcePath=t.sourcePath.slice(0,t.sourcePath.length-1),t.clearSearch(!1),t.updateElements())}))}})},_positionProgressBar:function(){this.progressBar||(this.progressBar=new Craft.ProgressBar(this.$main,!0));var t=$(),e=0,i=0;"index"===this.settings.context?(t=this.progressBar.$progressBar.closest("#content"),e=Garnish.$win.scrollTop()):(t=this.progressBar.$progressBar.closest(".main"),e=this.$main.scrollTop());var n=e-t.offset().top,s=Garnish.$win.height();i=t.height()>s?s/2-6+n:t.height()/2-6,"index"!==this.settings.context&&(i=e+(t.height()/2-6)),this.progressBar.$progressBar.css({top:i})}},{defaults:{showFolders:!0,foldersOnly:!1,disabledFolderIds:[]}}),Craft.registerElementIndexClass("craft\\elements\\Asset",Craft.AssetIndex)},1016:function(){function t(t,i){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=e(t))||i&&t&&"number"==typeof t.length){n&&(t=n);var s=0,a=function(){};return{s:a,n:function(){return s>=t.length?{done:!0}:{done:!1,value:t[s++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return o=t.done,t},e:function(t){l=!0,r=t},f:function(){try{o||null==n.return||n.return()}finally{if(l)throw r}}}}function e(t,e){if(t){if("string"==typeof t)return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(t,e):void 0}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}Craft.AssetMover=Garnish.Base.extend({moveAssets:function(t,e){var i=t.map((function(t){return{for:"asset",action:"assets/move-asset",params:{assetId:t,folderId:e}}}));return this._batchMoveRequests(i,{conflictChoices:[{value:"keepBoth",title:Craft.t("app","Keep both")},{value:"replace",title:Craft.t("app","Replace it")}],handleConflictChoice:function(t){var e={folderId:t.request.params.folderId,assetId:t.assetId};switch(t.choice){case"replace":e.force=!0;break;case"keepBoth":e.filename=t.suggestedFilename}return{action:"assets/move-asset",params:e}}})},moveFolders:function(t,n){var s=this;return new Promise((function(a,r){var o=[],l=[],h=t.map((function(t){return{for:"folder",action:"assets/move-folder",params:{folderId:t,parentId:n},onSuccess:function(n){var s;n.transferList.length&&o.push.apply(o,function(t){if(Array.isArray(t))return i(t)}(s=n.transferList)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(s)||e(s)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l.push(t)}}}));s._batchMoveRequests(h,{conflictChoices:[{value:"replace",title:Craft.t("app","Replace the folder (all existing files will be deleted)")},{value:"merge",title:Craft.t("app","Merge the folder (any conflicting files will be replaced)")}],handleConflictChoice:function(t){var e={folderId:t.folderId,parentId:t.parentId};switch(t.choice){case"replace":e.force=!0;break;case"merge":e.merge=!0}return{action:"assets/move-folder",params:e}}}).then((function(t){s._processTransferList(o).then((function(){s._deleteFolders(l).then((function(){a(t)}))}))})).catch(r)}))},_processTransferList:function(t){return this._batchRequests(t.map((function(t){return{action:"assets/move-asset",params:t}})))},_deleteFolders:function(t){return this._batchRequests(t.map((function(t){return{action:"assets/delete-folder",params:{folderId:t}}})))},_batchMoveRequests:function(e,i){var n=this;return new Promise((function(s){var a=0;n._batchRequests(e).then((function(e){Craft.elementIndex.promptHandler.resetPrompts();var r,o=t(e);try{for(o.s();!(r=o.n()).done;){var l=r.value;l.success&&a++,l.conflict&&Craft.elementIndex.promptHandler.addPrompt(Object.assign({},l,{prompt:{message:l.conflict,choices:i.conflictChoices}})),l.error&&Craft.cp.displayError(l.error)}}catch(t){o.e(t)}finally{o.f()}Craft.elementIndex.promptHandler.getPromptCount()?Craft.elementIndex.promptHandler.showBatchPrompts((function(e){Craft.elementIndex.promptHandler.resetPrompts();var r,o=[],l=t(e);try{for(l.s();!(r=l.n()).done;){var h=r.value;if("cancel"!==h.choice&&i.handleConflictChoice){var d=i.handleConflictChoice(h);h.request&&h.request.onSuccess&&(d.onSuccess=h.request.onSuccess),o.push(d)}}}catch(t){l.e(t)}finally{l.f()}n._batchMoveRequests(o,i).then((function(t){s(a+t)}))})):s(a)}))}))},_batchRequests:function(e){return new Promise((function(i){if(e.length){Craft.elementIndex.setIndexBusy(),Craft.elementIndex._positionProgressBar(),Craft.elementIndex.progressBar.resetProgressBar(),Craft.elementIndex.progressBar.setItemCount(e.length),Craft.elementIndex.progressBar.showProgressBar();var n,s=[],a=e.length,r=t(e);try{var o=function(){var t=n.value;Craft.sendActionRequest("POST",t.action,{data:t.params}).then((function(e){s.push(Object.assign({},e.data,{request:t})),e.data.success&&t.onSuccess&&t.onSuccess(e.data)})).catch((function(e){e.response&&e.response.data&&s.push(Object.assign({},e.response.data,{request:t}))})).finally((function(){0==--a?(Craft.elementIndex.setIndexAvailable(),Craft.elementIndex.progressBar.hideProgressBar(),Craft.cp.runQueue(),i(s)):(Craft.elementIndex.progressBar.incrementProcessedItemCount(1),Craft.elementIndex.progressBar.updateProgressBar())}))};for(r.s();!(n=r.n()).done;)o()}catch(t){r.e(t)}finally{r.f()}}else i([])}))}})},5077:function(){Craft.AssetSelectInput=Craft.BaseElementSelectInput.extend({$uploadBtn:null,uploader:null,progressBar:null,openPreviewTimeout:null,init:function(){this.base.apply(this,arguments),this.settings.canUpload&&this._attachUploader(),this.updateAddElementsBtn(),this.addListener(this.$elementsContainer,"keydown",this._onKeyDown.bind(this))},_onKeyDown:function(t){if(t.keyCode===Garnish.SPACE_KEY&&t.shiftKey)return this.openPreview(),t.stopPropagation(),!1},onAddElements:function(){var t=this;this.$elements.find(".elementthumb").addClass("open-preview").on("click",(function(e){t.clearOpenPreviewTimeout(),t.openPreviewTimeout=setTimeout((function(){t.openPreview(),t.openPreviewTimeout=null}),500)})).on("dblclick",(function(e){t.clearOpenPreviewTimeout()})),this.base()},clearOpenPreviewTimeout:function(){this.openPreviewTimeout&&(clearTimeout(this.openPreviewTimeout),this.openPreviewTimeout=null)},openPreview:function(){if(Craft.PreviewFileModal.openInstance)Craft.PreviewFileModal.openInstance.hide();else{var t=this.$elements.filter(":focus").add(this.$elements.has(":focus"));t.length&&Craft.PreviewFileModal.showForAsset(t,this.elementSelect)}},_attachUploader:function(){var t=this;this.progressBar=new Craft.ProgressBar($('<div class="progress-shade"></div>').appendTo(this.$container)),this.$addElementBtn&&(this.$uploadBtn=$("<button/>",{type:"button",class:"btn dashed","data-icon":"upload","aria-label":1==this.settings.limit?Craft.t("app","Upload a file"):Craft.t("app","Upload files"),"aria-describedby":this.settings.describedBy,text:1==this.settings.limit?Craft.t("app","Upload a file"):Craft.t("app","Upload files")}).insertAfter(this.$addElementBtn),this.$fileInput=$("<input/>",{type:"file",class:"hidden",multiple:1!=this.settings.limit}).insertAfter(this.$uploadBtn),Garnish.$win.trigger("resize"));var e={dropZone:this.$container,fileInput:this.$fileInput};void 0!==this.settings.criteria.kind&&(e.allowedKinds=this.settings.criteria.kind),e.canAddMoreFiles=this.canAddMoreFiles.bind(this),e.events={},e.events.fileuploadstart=this._onUploadStart.bind(this),e.events.fileuploadprogressall=this._onUploadProgress.bind(this),e.events.fileuploaddone=this._onUploadComplete.bind(this),e.events.fileuploadfail=this._onUploadFailure.bind(this),this.uploader=Craft.createUploader(this.settings.fsType,this.$container,e);var i={fieldId:this.settings.fieldId};this.settings.sourceElementId&&(i.elementId=this.settings.sourceElementId),this.settings.criteria.siteId&&(i.siteId=this.settings.criteria.siteId),this.uploader.setParams(i),this.$uploadBtn&&this.$uploadBtn.on("click",(function(e){t.$uploadBtn.next("input[type=file]").trigger("click")}))},enableAddElementsBtn:function(){this.$uploadBtn&&this.$uploadBtn.removeClass("hidden"),this.base()},disableAddElementsBtn:function(){this.$uploadBtn&&this.$uploadBtn.addClass("hidden"),this.base()},selectUploadedFile:function(t){if(this.canAddMoreElements()){var e=t.$element;e.addClass("removable"),e.prepend('<input type="hidden" name="'+this.settings.name+'[]" value="'+t.id+'"><a class="delete icon" title="'+Craft.t("app","Remove")+'"></a>'),e.appendTo(this.$elementsContainer);var i=-(e.outerWidth()+10);this.$addElementBtn.css("margin-"+Craft.left,i+"px");var n={};n["margin-"+Craft.left]=0,this.$addElementBtn.velocity(n,"fast"),this.addElements(e),delete this.modal}},_onUploadStart:function(){this.progressBar.$progressBar.css({top:Math.round(this.$container.outerHeight()/2)-6}),this.$container.addClass("uploading"),this.progressBar.resetProgressBar(),this.progressBar.showProgressBar()},_onUploadProgress:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;e=t instanceof CustomEvent?t.detail:e;var i=parseInt(100*Math.min(e.loaded/e.total,1),10);this.progressBar.setProgressPercentage(i)},_onUploadComplete:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=t instanceof CustomEvent?t.detail:i.result,s={elementId:n.assetId,siteId:this.settings.criteria.siteId,thumbSize:this.settings.viewMode};Craft.sendActionRequest("POST","elements/get-element-html",{data:s}).then((function(t){var i=$(t.data.html);Craft.appendHeadHtml(t.data.headHtml),e.selectUploadedFile(Craft.getElementInfo(i)),e.uploader.isLastUpload()&&(e.progressBar.hideProgressBar(),e.$container.removeClass("uploading"),e.$container.trigger("change"))})).catch((function(t){var e=t.response;Craft.cp.displayError(e.data.message)})),Craft.cp.runQueue()},_onUploadFailure:function(t){var e,i,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=t instanceof CustomEvent?t.detail:null==n||null===(e=n.jqXHR)||void 0===e?void 0:e.responseJSON,a=s||{},r=a.message,o=a.filename;o=o||(null==n||null===(i=n.files)||void 0===i?void 0:i[0].name),r||(r=o?Craft.t("app","Upload failed for “{filename}”.",{filename:o}):Craft.t("app","Upload failed.")),Craft.cp.displayError(r),this.progressBar.hideProgressBar(),this.$container.removeClass("uploading")},canAddMoreFiles:function(t){return!this.settings.limit||this.$elements.length+t<this.settings.limit}})},4606:function(){Craft.AssetSelectorModal=Craft.BaseElementSelectorModal.extend({$selectTransformBtn:null,_selectedTransform:null,init:function(t,e){e=$.extend({},Craft.AssetSelectorModal.defaults,e),this.base(t,e),e.transforms.length&&this.createSelectTransformButton(e.transforms)},createSelectTransformButton:function(t){if(t&&t.length){var e=$('<div class="btngroup"/>').appendTo(this.$primaryButtons);this.$selectBtn.appendTo(e),this.$selectTransformBtn=$("<button/>",{type:"button",class:"btn menubtn disabled",text:Craft.t("app","Select transform")}).appendTo(e);for(var i=$('<div class="menu" data-align="right"></div>').insertAfter(this.$selectTransformBtn),n=$("<ul></ul>").appendTo(i),s=0;s<t.length;s++)$('<li><a data-transform="'+t[s].handle+'">'+t[s].name+"</a></li>").appendTo(n);var a=new Garnish.MenuBtn(this.$selectTransformBtn,{onOptionSelect:this.onSelectTransform.bind(this)});a.disable(),this.$selectTransformBtn.data("menuButton",a)}},onSelectionChange:function(t){var e=this.elementIndex.getSelectedElements(),i=!1;if(e.length&&this.settings.transforms.length){i=!0;for(var n=0;n<e.length&&$(".element.hasthumb:first",e[n]).length;n++);}var s=null;this.$selectTransformBtn&&(s=this.$selectTransformBtn.data("menuButton")),i?(s&&s.enable(),this.$selectTransformBtn.removeClass("disabled")):this.$selectTransformBtn&&(s&&s.disable(),this.$selectTransformBtn.addClass("disabled")),this.base()},onSelectTransform:function(t){var e=$(t).data("transform");this.selectImagesWithTransform(e)},selectImagesWithTransform:function(t){var e=this;void 0===Craft.AssetSelectorModal.transformUrls[t]&&(Craft.AssetSelectorModal.transformUrls[t]={});for(var i=this.elementIndex.getSelectedElements(),n=[],s=0;s<i.length;s++){var a=$(i[s]),r=Craft.getElementInfo(a).id;void 0===Craft.AssetSelectorModal.transformUrls[t][r]&&n.push(r)}n.length?(this.showFooterSpinner(),this.fetchMissingTransformUrls(n,t,(function(){e.hideFooterSpinner(),e.selectImagesWithTransform(t)}))):(this._selectedTransform=t,this.selectElements(),this._selectedTransform=null)},fetchMissingTransformUrls:function(t,e,i){var n=this,s=t.pop(),a={assetId:s,handle:e};Craft.sendActionRequest("POST","assets/generate-transform",{data:a}).then((function(t){Craft.AssetSelectorModal.transformUrls[e][s]=t.data.url||!1})).catch((function(){Craft.AssetSelectorModal.transformUrls[e][s]=!1})).finally((function(){t.length?n.fetchMissingTransformUrls(t,e,i):i()}))},getElementInfo:function(t){var e=this.base(t);if(this._selectedTransform)for(var i=0;i<e.length;i++){var n=e[i].id;void 0!==Craft.AssetSelectorModal.transformUrls[this._selectedTransform][n]&&!1!==Craft.AssetSelectorModal.transformUrls[this._selectedTransform][n]&&(e[i].url=Craft.AssetSelectorModal.transformUrls[this._selectedTransform][n])}return e},onSelect:function(t){this.settings.onSelect(t,this._selectedTransform)}},{defaults:{canSelectImageTransforms:!1,transforms:[]},transformUrls:{}}),Craft.registerElementSelectorModalClass("craft\\elements\\Asset",Craft.AssetSelectorModal)},8391:function(){Craft.AssetsFieldSettings=Garnish.Base.extend({$useSingleFolderInput:null,$sourceInputs:null,$defaultUploadLocationSelect:null,$defaultUploadLocationOptions:null,init:function(t,e,i){var n=this;this.$useSingleFolderInput=$("#".concat(t)),this.$sourceInputs=$("#".concat(e," input")),this.$defaultUploadLocationSelect=$("#".concat(i)),this.$defaultUploadLocationOptions=this.$defaultUploadLocationSelect.children("option"),this.updateDefaultUploadLocationSelect(),Garnish.requestAnimationFrame((function(){n.addListener(n.$useSingleFolderInput,"change","updateDefaultUploadLocationSelect"),n.addListener(n.$sourceInputs,"change","updateDefaultUploadLocationSelect")}))},updateDefaultUploadLocationSelect:function(){if(!this.$useSingleFolderInput.prop("checked")){for(var t,e=this.$defaultUploadLocationSelect.val(),i=0;i<this.$sourceInputs.length;i++){var n=this.$sourceInputs.eq(i),s=n.val(),a=n.prop("checked");if("*"===s){if(a)return void this.$defaultUploadLocationOptions.prop("disabled",!1)}else this.getOption(s).prop("disabled",!a),a&&!t&&(t=s)}var r=this.getOption(e);(!r.length||r.prop("disabled")&&t)&&this.$defaultUploadLocationSelect.val(t)}},getOption:function(t){return this.$defaultUploadLocationOptions.filter('[value="'.concat(t,'"]'))}})},9222:function(){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(){"use strict";e=function(){return i};var i={},n=Object.prototype,s=n.hasOwnProperty,a=Object.defineProperty||function(t,e,i){t[e]=i.value},r="function"==typeof Symbol?Symbol:{},o=r.iterator||"@@iterator",l=r.asyncIterator||"@@asyncIterator",h=r.toStringTag||"@@toStringTag";function d(t,e,i){return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{d({},"")}catch(t){d=function(t,e,i){return t[e]=i}}function c(t,e,i,n){var s=e&&e.prototype instanceof f?e:f,r=Object.create(s.prototype),o=new x(n||[]);return a(r,"_invoke",{value:w(t,i,o)}),r}function u(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}i.wrap=c;var p={};function f(){}function g(){}function m(){}var v={};d(v,o,(function(){return this}));var b=Object.getPrototypeOf,$=b&&b(b(P([])));$&&$!==n&&s.call($,o)&&(v=$);var C=m.prototype=f.prototype=Object.create(v);function _(t){["next","throw","return"].forEach((function(e){d(t,e,(function(t){return this._invoke(e,t)}))}))}function y(e,i){function n(a,r,o,l){var h=u(e[a],e,r);if("throw"!==h.type){var d=h.arg,c=d.value;return c&&"object"==t(c)&&s.call(c,"__await")?i.resolve(c.__await).then((function(t){n("next",t,o,l)}),(function(t){n("throw",t,o,l)})):i.resolve(c).then((function(t){d.value=t,o(d)}),(function(t){return n("throw",t,o,l)}))}l(h.arg)}var r;a(this,"_invoke",{value:function(t,e){function s(){return new i((function(i,s){n(t,e,i,s)}))}return r=r?r.then(s,s):s()}})}function w(t,e,i){var n="suspendedStart";return function(s,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===s)throw a;return{value:void 0,done:!0}}for(i.method=s,i.arg=a;;){var r=i.delegate;if(r){var o=S(r,i);if(o){if(o===p)continue;return o}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if("suspendedStart"===n)throw n="completed",i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);n="executing";var l=u(t,e,i);if("normal"===l.type){if(n=i.done?"completed":"suspendedYield",l.arg===p)continue;return{value:l.arg,done:i.done}}"throw"===l.type&&(n="completed",i.method="throw",i.arg=l.arg)}}}function S(t,e){var i=t.iterator[e.method];if(void 0===i){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,S(t,e),"throw"===e.method))return p;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var n=u(i,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,p;var s=n.arg;return s?s.done?(e[t.resultName]=s.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):s:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function T(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function x(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(T,this),this.reset(!0)}function P(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,n=function e(){for(;++i<t.length;)if(s.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return n.next=n}}return{next:E}}function E(){return{value:void 0,done:!0}}return g.prototype=m,a(C,"constructor",{value:m,configurable:!0}),a(m,"constructor",{value:g,configurable:!0}),g.displayName=d(m,h,"GeneratorFunction"),i.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},i.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,d(t,h,"GeneratorFunction")),t.prototype=Object.create(C),t},i.awrap=function(t){return{__await:t}},_(y.prototype),d(y.prototype,l,(function(){return this})),i.AsyncIterator=y,i.async=function(t,e,n,s,a){void 0===a&&(a=Promise);var r=new y(c(t,e,n,s),a);return i.isGeneratorFunction(e)?r:r.next().then((function(t){return t.done?t.value:r.next()}))},_(C),d(C,h,"Generator"),d(C,o,(function(){return this})),d(C,"toString",(function(){return"[object Generator]"})),i.keys=function(t){var e=Object(t),i=[];for(var n in e)i.push(n);return i.reverse(),function t(){for(;i.length;){var n=i.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},i.values=P,x.prototype={constructor:x,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(I),!t)for(var e in this)"t"===e.charAt(0)&&s.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(i,n){return r.type="throw",r.arg=t,e.next=i,n&&(e.method="next",e.arg=void 0),!!n}for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n],r=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var o=s.call(a,"catchLoc"),l=s.call(a,"finallyLoc");if(o&&l){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(o){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var n=this.tryEntries[i];if(n.tryLoc<=this.prev&&s.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var a=n;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var r=a?a.completion:{};return r.type=t,r.arg=e,a?(this.method="next",this.next=a.finallyLoc,p):this.complete(r)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),I(i),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var s=n.arg;I(i)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:P(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=void 0),p}},i}function i(t,e,i,n,s,a,r){try{var o=t[a](r),l=o.value}catch(t){return void i(t)}o.done?e(l):Promise.resolve(l).then(n,s)}var n,s;Craft.AuthManager=Garnish.Base.extend({checkRemainingSessionTimer:null,showLoginModalTimer:null,decrementLogoutWarningInterval:null,showingLogoutWarningModal:!1,showingLoginModal:!1,renewingSession:!1,logoutWarningModal:null,loginModal:null,$logoutWarningPara:null,$passwordInput:null,$loginBtn:null,$loginErrorPara:null,submitLoginIfLoggedOut:!1,get remainingSessionTime(){return Craft.remainingSessionTime},init:function(){Craft.username&&this.updateRemainingSessionTime(Craft.remainingSessionTime)},setCheckRemainingSessionTimer:function(t){var e=this;this.checkRemainingSessionTimer&&clearTimeout(this.checkRemainingSessionTimer),this.checkRemainingSessionTimer=setTimeout((function(){e.checkRemainingSessionTime()}),1e3*t)},checkRemainingSessionTime:function(t,e){var i=this;$.ajax({url:Craft.getActionUrl("users/session-info",t?null:"dontExtendSession=1"),type:"GET",dataType:"json",complete:function(t,n){"success"===n?(void 0!==t.responseJSON.csrfTokenValue&&void 0!==Craft.csrfTokenValue&&(Craft.csrfTokenValue=t.responseJSON.csrfTokenValue),i.updateRemainingSessionTime(t.responseJSON.timeout),i.submitLoginIfLoggedOut=!1,e&&e()):i.updateRemainingSessionTime(-1)}})},updateRemainingSessionTime:function(t){var e=this;this.showLoginModalTimer&&clearTimeout(this.showLoginModalTimer),this.checkRemainingSessionTimer&&clearTimeout(this.checkRemainingSessionTimer);var i=!Craft.remainingSessionTime&&t;Craft.remainingSessionTime=parseInt(t),-1!==Craft.remainingSessionTime&&Craft.remainingSessionTime<Craft.AuthManager.minSafeSessionTime?(Craft.remainingSessionTime?(this.showingLogoutWarningModal||this.showLogoutWarningModal(),Craft.remainingSessionTime<Craft.AuthManager.checkInterval&&(this.showLoginModalTimer=setTimeout((function(){Craft.remainingSessionTime=0,e.showLoginModal()}),1e3*Craft.remainingSessionTime))):this.showingLoginModal?this.submitLoginIfLoggedOut&&this.submitLogin():this.renewingSession||this.showLoginModal(),this.setCheckRemainingSessionTimer(Craft.AuthManager.checkInterval)):(this.hideLogoutWarningModal(),this.hideLoginModal(),-1!==Craft.remainingSessionTime&&Craft.remainingSessionTime<Craft.AuthManager.minSafeSessionTime+Craft.AuthManager.checkInterval?this.setCheckRemainingSessionTimer(Craft.remainingSessionTime-Craft.AuthManager.minSafeSessionTime+1):this.setCheckRemainingSessionTimer(Craft.AuthManager.checkInterval)),i&&(window.am=this,this.trigger("login"))},showLogoutWarningModal:function(){var t,e=this;if(this.showingLoginModal?(this.hideLoginModal(!0),t=!0):t=!1,this.showingLogoutWarningModal=!0,!this.logoutWarningModal){var i=$('<form id="logoutwarningmodal" class="modal alert fitted"/>'),n=$('<div class="body"/>').appendTo(i),s=$('<div class="buttons right"/>').appendTo(n),a=$("<button/>",{type:"button",class:"btn",text:Craft.t("app","Sign out now")}).appendTo(s),r=$("<button/>",{type:"submit",class:"btn submit",text:Craft.t("app","Keep me signed in")}).appendTo(s);this.$logoutWarningPara=$("<p/>").prependTo(n),this.logoutWarningModal=new Garnish.Modal(i,{autoShow:!1,closeOtherModals:!1,hideOnEsc:!1,hideOnShadeClick:!1,shadeClass:"modal-shade dark logoutwarningmodalshade",onFadeIn:function(){Garnish.isMobileBrowser(!0)||setTimeout((function(){r.focus()}),100)}}),this.addListener(a,"activate","logout"),this.addListener(i,"submit",(function(t){t.preventDefault(),e.renewSession()}))}t?this.logoutWarningModal.quickShow():this.logoutWarningModal.show(),this.updateLogoutWarningMessage(),this.decrementLogoutWarningInterval=setInterval(this.decrementLogoutWarning.bind(this),1e3)},updateLogoutWarningMessage:function(){this.$logoutWarningPara.text(Craft.t("app","Your session will expire in {time}.",{time:Craft.secondsToHumanTimeDuration(Craft.remainingSessionTime)})),this.logoutWarningModal.updateSizeAndPosition()},decrementLogoutWarning:function(){Craft.remainingSessionTime>0&&(Craft.remainingSessionTime--,this.updateLogoutWarningMessage()),0===Craft.remainingSessionTime&&clearInterval(this.decrementLogoutWarningInterval)},hideLogoutWarningModal:function(t){this.showingLogoutWarningModal=!1,this.logoutWarningModal&&(t?this.logoutWarningModal.quickHide():this.logoutWarningModal.hide(),this.decrementLogoutWarningInterval&&clearInterval(this.decrementLogoutWarningInterval))},showLoginModal:function(){var t,e=this;if(this.showingLogoutWarningModal?(this.hideLogoutWarningModal(!0),t=!0):t=!1,this.showingLoginModal=!0,!this.loginModal){var i=$('<form id="loginmodal" class="modal alert fitted"/>'),n=$('<div class="body"><h2>'+Craft.t("app","Your session has ended.")+"</h2><p>"+Craft.t("app","Enter your password to log back in.")+"</p></div>").appendTo(i),s=$('<div class="inputcontainer">').appendTo(n),a=$('<div class="flex"/>').appendTo(s),r=$('<div class="flex-grow"/>').appendTo(a),o=$("<div/>").appendTo(a),l=$('<div class="passwordwrapper"/>').appendTo(r);this.$passwordInput=$('<input type="password" class="text password fullwidth" autocomplete="current-password" placeholder="'+Craft.t("app","Password")+'"/>').appendTo(l),this.$loginBtn=Craft.ui.createSubmitButton({class:"disabled",label:Craft.t("app","Sign in"),spinner:!0}).attr("aria-disabled","true").appendTo(o),this.$loginErrorPara=$('<p class="error"/>').appendTo(n),this.loginModal=new Garnish.Modal(i,{autoShow:!1,closeOtherModals:!1,hideOnEsc:!1,hideOnShadeClick:!1,shadeClass:"modal-shade dark loginmodalshade",onFadeIn:function(){Garnish.isMobileBrowser(!0)||setTimeout((function(){e.$passwordInput.focus()}),100)},onFadeOut:function(){e.$passwordInput.val("")}}),new Craft.PasswordInput(this.$passwordInput,{onToggleInput:function(t){e.$passwordInput=t}}),this.addListener(this.$passwordInput,"input","validatePassword"),this.addListener(i,"submit","login")}t?this.loginModal.quickShow():this.loginModal.show()},hideLoginModal:function(t){this.showingLoginModal=!1,this.loginModal&&(t?this.loginModal.quickHide():this.loginModal.hide())},logout:function(){$.get({url:Craft.getActionUrl("users/logout"),dataType:"json",success:function(){Craft.redirectTo("")}})},renewSession:(n=e().mark((function t(){var i=this;return e().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:this.hideLogoutWarningModal(),this.renewingSession=!0,this.checkRemainingSessionTime(!0,(function(){i.renewingSession=!1}));case 3:case"end":return t.stop()}}),t,this)})),s=function(){var t=this,e=arguments;return new Promise((function(s,a){var r=n.apply(t,e);function o(t){i(r,s,a,o,l,"next",t)}function l(t){i(r,s,a,o,l,"throw",t)}o(void 0)}))},function(){return s.apply(this,arguments)}),validatePassword:function(){return this.$passwordInput.val().length>=6?(this.$loginBtn.removeClass("disabled"),this.$loginBtn.removeAttr("aria-disabled"),!0):(this.$loginBtn.addClass("disabled"),this.$loginBtn.attr("aria-disabled","true"),!1)},login:function(t){t&&t.preventDefault(),this.validatePassword()&&(this.$loginBtn.addClass("loading"),this.clearLoginError(),void 0!==Craft.csrfTokenValue?(this.submitLoginIfLoggedOut=!0,this.checkRemainingSessionTime()):this.submitLogin())},submitLogin:function(){var t=this,e={loginName:Craft.username,password:this.$passwordInput.val()};Craft.sendActionRequest("POST","users/login",{data:e}).then((function(e){t.$loginBtn.removeClass("loading"),t.hideLoginModal(),t.checkRemainingSessionTime()})).catch((function(e){var i=e.response;t.$loginBtn.removeClass("loading"),t.showLoginError(i.data.message||null),Garnish.shake(t.loginModal.$container),Garnish.isMobileBrowser(!0)||t.$passwordInput.focus()}))},showLoginError:function(t){null==t&&(t=Craft.t("app","A server error occurred.")),this.$loginErrorPara.text(t),this.loginModal.updateSizeAndPosition()},clearLoginError:function(){this.showLoginError("")}},{checkInterval:60,minSafeSessionTime:120})},5774:function(){function t(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function e(e){for(var n=1;n<arguments.length;n++){var s=null!=arguments[n]?arguments[n]:{};n%2?t(Object(s),!0).forEach((function(t){i(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):t(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function i(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var n,s,a=[],r=!0,o=!1;try{for(i=i.call(t);!(r=(n=i.next()).done)&&(a.push(n.value),!e||a.length!==e);r=!0);}catch(t){o=!0,s=t}finally{try{r||null==i.return||i.return()}finally{if(o)throw s}}return a}}(t,e)||r(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(t){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}function a(t,e){var i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!i){if(Array.isArray(t)||(i=r(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,s=function(){};return{s:s,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,l=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return o=t.done,t},e:function(t){l=!0,a=t},f:function(){try{o||null==i.return||i.return()}finally{if(l)throw a}}}}function r(t,e){if(t){if("string"==typeof t)return o(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?o(t,e):void 0}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}Craft.BaseElementIndex=Garnish.Base.extend({initialized:!1,elementType:null,idPrefix:null,instanceState:null,sourceStates:null,sourceStatesStorageKey:null,searchTimeout:null,sourceSelect:null,$container:null,$main:null,isIndexBusy:!1,$sidebar:null,showingSidebar:null,sourceKey:null,rootSourceKey:null,sourceViewModes:null,$source:null,$rootSource:null,sourcesByKey:null,$visibleSources:null,$sourceActionsContainer:null,$sourceActionsBtn:null,$toolbar:null,toolbarOffset:null,$searchContainer:null,$search:null,$filterBtn:null,searching:!1,searchText:null,sortByScore:null,trashed:!1,drafts:!1,$clearSearchBtn:null,$statusMenuBtn:null,$statusMenuContainer:null,statusMenu:null,status:null,$siteMenuBtn:null,siteMenu:null,siteId:null,sourcePaths:null,$sourcePathOuterContainer:null,$sourcePathInnerContainer:null,$sourcePathOverflowBtnContainer:null,$sourcePathActionsBtn:null,$elements:null,$updateSpinner:null,$viewModeBtnContainer:null,viewModeBtns:null,_viewMode:null,view:null,_autoSelectElements:null,$countSpinner:null,$countContainer:null,$actionsContainer:null,page:1,resultSet:null,totalResults:null,$exportBtn:null,actions:null,actionsHeadHtml:null,actionsBodyHtml:null,$selectAllContainer:null,$selectAllCheckbox:null,showingActionTriggers:!1,exporters:null,exportersByType:null,_$triggers:null,_cancelToken:null,viewMenus:null,activeViewMenu:null,filterHuds:null,_activeElement:null,get viewMode(){return"structure"!==this._viewMode||this.canSortByStructure()?this._viewMode:"table"},set viewMode(t){this._viewMode=t},init:function(t,e,i){var n=this;if(this.elementType=t,this.$container=e,this.setSettings(i,Craft.BaseElementIndex.defaults),this.sourcePaths={},this.idPrefix=Craft.randomString(10),this.instanceState=this.getDefaultInstanceState(),this.sourceStates={},this.settings.storageKey&&$.extend(this.instanceState,Craft.getLocalStorage(this.settings.storageKey),{}),this.sourceStatesStorageKey="BaseElementIndex."+this.elementType+"."+this.settings.context,$.extend(this.sourceStates,Craft.getLocalStorage(this.sourceStatesStorageKey,{})),this.$main=this.$container.find(".main"),this.$toolbar=this.$container.find(this.settings.toolbarSelector),this.$statusMenuBtn=this.$toolbar.find(".statusmenubtn:first"),this.$statusMenuContainer=this.$statusMenuBtn.parent(),this.$siteMenuBtn=this.$container.find(".sitemenubtn:first"),this.$searchContainer=this.$toolbar.find(".search-container:first"),this.$search=this.$searchContainer.children("input:first"),this.$filterBtn=this.$searchContainer.children(".filter-btn:first"),this.$clearSearchBtn=this.$searchContainer.children(".clear-btn:first"),this.$sidebar=this.$container.find(".sidebar:first"),this.$sourceActionsContainer=this.$sidebar.find("#source-actions"),this.$elements=this.$container.find(".elements:first"),this.$updateSpinner=this.$elements.find(".spinner"),this.$updateSpinner.length||(this.$updateSpinner=$("<div/>",{class:"update-spinner spinner spinner-absolute"}).appendTo(this.$elements)),this.$countSpinner=this.$container.find("#count-spinner"),this.$countContainer=this.$container.find("#count-container"),this.$actionsContainer=this.$container.find("#actions-container"),this.$exportBtn=this.$container.find("#export-btn"),this.settings.hideSidebar&&(this.$sidebar.hide(),$(".body, .content",this.$container).removeClass("has-sidebar")),this.initSources()){if(this.$statusMenuBtn.length&&(this.statusMenu=this.$statusMenuBtn.menubtn().data("menubtn").menu,this.statusMenu.on("optionselect",this._handleStatusChange.bind(this))),this.$siteMenuBtn.length){this.siteMenu=this.$siteMenuBtn.menubtn().data("menubtn").menu;var s=this.siteMenu.$options.filter(".sel:first");if(s.length||(s=this.siteMenu.$options.first()),s.length?this._setSite(s.data("site-id")):this.settings.criteria={id:"0"},this.siteMenu.on("optionselect",this._handleSiteChange.bind(this)),this.siteId){var a=this.settings.defaultSiteId||Craft.cp.getSiteId();if(a&&a!=this.siteId){var r=this.siteMenu.$options.filter('[data-site-id="'+a+'"]:first');r.length&&r.trigger("click")}}}else this.settings.criteria&&this.settings.criteria.siteId&&"*"!==this.settings.criteria.siteId?this._setSite(this.settings.criteria.siteId):this._setSite(Craft.siteId);this.settings.criteria&&this.settings.criteria.siteId&&delete this.settings.criteria.siteId,this.addListener(this.$search,"input",(function(){!n.searching&&n.$search.val()?n.startSearching():n.searching&&!n.$search.val()&&n.stopSearching(),n.searchTimeout&&clearTimeout(n.searchTimeout),n.searchTimeout=setTimeout(n.updateElementsIfSearchTextChanged.bind(n),500)})),this.addListener(this.$search,"keypress",(function(t){t.keyCode===Garnish.RETURN_KEY&&(t.preventDefault(),n.searchTimeout&&clearTimeout(n.searchTimeout),n.updateElementsIfSearchTextChanged())})),this.addListener(this.$clearSearchBtn,"click",(function(){n.clearSearch(!0),Garnish.isMobileBrowser(!0)||n.$search.focus()})),Garnish.isMobileBrowser(!0)||this.$search.focus(),this.viewMenus={},this.filterHuds={},this.addListener(this.$filterBtn,"click","showFilterHud");var o,l="index"===this.settings.context?Craft.getQueryParams():{};if(l.status){var h;switch(l.status){case"trashed":h="[data-trashed]";break;case"drafts":h="[data-drafts]";break;default:h='[data-status="'.concat(l.status,'"]')}var d=this.statusMenu.$options.filter(h);d.length?this.statusMenu.selectOption(d[0]):Craft.setQueryParam("status",null)}this.addListener(this.$exportBtn,"click","_showExportHud"),this.initialized=!0,this.afterInit(),o="index"===this.settings.context?this.getSelectedSourceState("sourcePathStep"):this.instanceState.sourcePathStep||null,this.selectDefaultSource();var c=this.getDefaultSourcePath();c&&1!=c.length||!o?(c&&(this.sourcePath=c),this.afterSetInitialSource(l)):this.loadSourcePathByKey(o).then((function(t){if(t){var e=n.sourceKey.split("/").slice(-1)[0],i=t.findIndex((function(t){return t.key===e}));-1!==i&&(n.sourcePath=t.slice(i))}n.afterSetInitialSource(l)}))}},afterInit:function(){this.onAfterInit()},loadSourcePathByKey:function(t){var e=this;return new Promise((function(i,n){if(t!==e.sourceKey){var s=e.getViewParams();s.stepKey=t,Craft.sendActionRequest("POST","element-indexes/source-path",{data:s}).then((function(t){var e=t.data;i(e.sourcePath)})).catch(n)}else i([])}))},afterSetInitialSource:function(t){if("index"===this.settings.context&&this.addListener(Garnish.$win,"resize","handleResize"),this.handleResize(),t.search&&(this.startSearching(),this.searchText=t.search),t.filters&&this.createFilterHud({showOnInit:!1,serialized:t.filters}),t.sort){var e=t.sort.lastIndexOf("-");if(-1!==e){var i=t.sort.substring(0,e),n=t.sort.substring(e+1);this.setSelectedSortAttribute(i,n)}}this.setPage(Craft.pageNum),this.updateElements(!0)},handleResize:function(){this.sourcePath.length&&this.settings.showSourcePath&&this._updateSourcePathVisibility()},_createCancelToken:function(){return this._cancelToken=axios.CancelToken.source(),this._cancelToken.token},_cancelRequests:function(){this._cancelToken&&this._cancelToken.cancel()},getSourceContainer:function(){return this.$sidebar.find("nav > ul")},get $sources(){if(this.sourceSelect)return this.sourceSelect.$items},getSite:function(){var t=this;if(this.siteId)return Craft.sites.find((function(e){return e.id==t.siteId}))},initSources:function(){var t=this._getSourcesInList(this.getSourceContainer(),!0);if(0===t.length)return!1;this.sourceSelect||(this.sourceSelect=new Garnish.Select(this.$sidebar.find("nav"),{multi:!1,allowEmpty:!1,vertical:!0,onSelectionChange:this._handleSourceSelectionChange.bind(this)})),this.sourcesByKey={};for(var e=0;e<t.length;e++)this.initSource($(t[e]));return!0},selectDefaultSource:function(){var t,e;return"index"===this.settings.context&&(t=Craft.getQueryParam("source")),t||(t=this.getDefaultSourceKey()),t&&(e=this.getSourceByKey(t),-1===this.$visibleSources.index(e)&&(e=null)),t&&e||(e=this.$visibleSources.first()),this.selectSource(e)},refreshSources:function(){var t=this;this.sourceSelect.removeAllItems(),this.setIndexBusy(),Craft.sendActionRequest("POST",this.settings.refreshSourcesAction,{data:{context:this.settings.context,elementType:this.elementType}}).then((function(e){t.setIndexAvailable(),t.getSourceContainer().replaceWith(e.data.html),t.initSources(),t.selectDefaultSource()})).catch((function(e){var i,n;axios.isCancel(e)||(t.setIndexAvailable(),Craft.cp.displayError(null==e||null===(i=e.response)||void 0===i||null===(n=i.data)||void 0===n?void 0:n.message))}))},initSource:function(t){this.sourceSelect.addItems(t),this.initSourceToggle(t),this.sourcesByKey[t.data("key")]=t,t.data("hasNestedSources")&&-1!==this.instanceState.expandedSources.indexOf(t.data("key"))&&this._expandSource(t)},initSourceToggle:function(t){this.deinitSourceToggle(t);var e=this._getSourceToggle(t);e.length?(this.addListener(t,"dblclick","_handleSourceDblClick"),this.addListener(e,"click","_handleSourceToggleClick"),t.data("hasNestedSources",!0)):t.data("hasNestedSources",!1)},deinitSource:function(t){this.sourceSelect.removeItems(t),this.deinitSourceToggle(t),delete this.sourcesByKey[t.data("key")]},deinitSourceToggle:function(t){t.data("hasNestedSources")&&(this.removeListener(t,"dblclick"),this.removeListener(this._getSourceToggle(t),"click")),t.removeData("hasNestedSources")},getDefaultInstanceState:function(){return{selectedSource:null,expandedSources:[]}},getDefaultSourceKey:function(){var t;if(this.settings.preferStoredSource&&this.instanceState.selectedSource)return this.settings.defaultSource=null,this.settings.defaultSourcePath=null,this.instanceState.selectedSource;var e=null;if(this.settings.defaultSource){var i,n=null,s=!1,r=a(this.settings.defaultSource.split("/"));try{for(r.s();!(i=r.n()).done;){var o=i.value;n&&(this._expandSource(n),s=!0);var l=(null!==e?"".concat(e,"/"):"")+o,h=this.getSourceByKey(l);if(!h){n&&this._collapseSource(n);break}n=h,e=l}}catch(t){r.e(t)}finally{r.f()}s&&this._setSite(this.siteId)}return e||(this.settings.defaultSource=null,this.settings.defaultSourcePath=null),null!==(t=e)&&void 0!==t?t:this.instanceState.selectedSource},getDefaultSourcePath:function(){return null!==this.settings.defaultSourcePath&&void 0!==this.settings.defaultSourcePath[0]&&!0===this.settings.defaultSourcePath[0].canView?this.settings.defaultSourcePath:null},getDefaultExpandedSources:function(){return this.instanceState.expandedSources},get sourcePath(){return this.sourcePaths[this.sourceKey]||[]},set sourcePath(t){var e=this;this.sourcePaths[this.sourceKey]=t&&t.length?t:null,this.$sourcePathOuterContainer&&(this.$sourcePathOuterContainer.remove(),this.$sourcePathOuterContainer=null,this.$sourcePathInnerContainer=null,this.$sourcePathOverflowBtnContainer=null,this.$sourcePathActionsBtn=null),this.sourcePaths[this.sourceKey]&&this.settings.showSourcePath&&function(){var i=e.getSourcePathActions();e.$sourcePathOuterContainer=$("<div/>",{class:"source-path"}).insertBefore(e.$elements),e.$sourcePathInnerContainer=$("<div/>",{class:"chevron-btns"}).appendTo(e.$sourcePathOuterContainer);var n,s,a,r=$("<nav/>",{"aria-label":e.getSourcePathLabel()}).appendTo(e.$sourcePathInnerContainer),o=$("<ol/>").appendTo(r);if(t.length>1){e.$sourcePathOverflowBtnContainer=$("<li/>",{class:"first-step hidden"}).appendTo(o),s="menu"+Math.floor(1e6*Math.random()),n=$("<button/>",{type:"button",class:"btn",title:Craft.t("app","More items"),"aria-label":Craft.t("app","More items"),"data-disclosure-trigger":!0,"aria-controls":s}).append($("<span/>",{class:"btn-body"}).append($("<span/>",{class:"label"}).append($("<span/>",{"data-icon":"ellipsis","aria-hidden":"true"})))).append($("<span/>",{class:"chevron-right"})).appendTo(e.$sourcePathOverflowBtnContainer);var l=$("<div/>",{id:s,class:"menu menu--disclosure"}).appendTo(e.$sourcePathOverflowBtnContainer);a=$("<ul/>").appendTo(l),n.disclosureMenu()}for(var h=0;h<t.length;h++)!function(s){var r=t[s];a&&s<t.length-1&&(r.$overflowLi=$("<li/>",{class:"hidden"}).appendTo(a),$("<a/>",{class:"flex flex-nowrap",href:"#",type:"button",role:"button",html:r.icon?'<span data-icon="'.concat(r.icon,'" aria-hidden="true"></span><span>').concat(r.label,"</span>"):r.label}).appendTo(r.$overflowLi).on("click",(function(t){t.preventDefault(),n.data("trigger").hide(),e.selectSourcePathStep(s)})));var l=0===s,h=s===t.length-1;r.$li=$("<li/>").appendTo(o),l&&r.$li.addClass("first-step"),r.$btn=$("<a/>",{href:r.uri?Craft.getCpUrl(r.uri):"#",class:"btn",role:"button"}),r.icon&&r.$btn.attr("aria-label",r.label);var d=$("<span/>",{class:"btn-body"}).appendTo(r.$btn);r.$label=$("<span/>",{class:"label",html:r.icon?'<span data-icon="'.concat(r.icon,'" aria-hidden="true"></span>'):r.label}).appendTo(d),r.$btn.append($('<span class="chevron-left"/>')),h&&i.length?r.$btn.addClass("has-action-menu"):r.$btn.append($('<span class="chevron-right"/>')),h&&r.$btn.addClass("current-step").attr("aria-current","page"),r.$btn.appendTo(r.$li),e.addListener(r.$btn,"activate",(function(){e.selectSourcePathStep(s)}))}(h);if(i&&i.length){var d=e.getSourcePathActionLabel(),c="menu"+Math.floor(1e6*Math.random());e.$sourcePathActionsBtn=$("<button/>",{type:"button",class:"btn current-step",title:d,"aria-label":d,"data-disclosure-trigger":!0,"aria-controls":c}).append($("<span/>",{class:"btn-body"}).append($("<span/>",{class:"label"}))).append($("<span/>",{class:"chevron-right"})).appendTo(e.$sourcePathInnerContainer);var u=[i.filter((function(t){return!t.destructive&&!t.administrative})),i.filter((function(t){return t.destructive&&!t.administrative})),i.filter((function(t){return t.administrative}))].filter((function(t){return t.length})),p=$("<div/>",{id:c,class:"menu menu--disclosure"}).appendTo(e.$sourcePathInnerContainer);u.forEach((function(t,i){0!==i&&$("<hr/>").appendTo(p),e._buildSourcePathActionList(t).appendTo(p)})),e.$sourcePathActionsBtn.disclosureMenu(),e._updateSourcePathVisibility()}"index"===e.settings.context&&void 0!==t[t.length-1].uri&&"undefined"!=typeof history&&history.replaceState({},"",Craft.getCpUrl(t[t.length-1].uri))}();var i=(this.sourcePaths[this.sourceKey]?this.sourcePaths[this.sourceKey][this.sourcePaths[this.sourceKey].length-1].key:null)||null;"index"===this.settings.context?this.setSelecetedSourceState("sourcePathStep",i):this.setInstanceState("sourcePathStep",i),this.onSourcePathChange()},getSourcePathLabel:function(){return""},getSourcePathActions:function(){return[]},getSourcePathActionLabel:function(){return""},_updateSourcePathVisibility:function(){var t=this.sourcePath[0],e=this.sourcePath[this.sourcePath.length-1];this.$sourcePathOverflowBtnContainer&&(this.$sourcePathOverflowBtnContainer.addClass("hidden"),t.$li.addClass("first-step"));var i,n=a(this.sourcePath);try{for(n.s();!(i=n.n()).done;){var s=i.value;s.$overflowLi&&s.$overflowLi.addClass("hidden"),s.$li.removeClass("hidden")}}catch(t){n.e(t)}finally{n.f()}e.$label.css("width",""),e.$btn.removeAttr("title");var r=this._checkSourcePathOverage();if(r){if(this.$sourcePathOverflowBtnContainer){this.$sourcePathOverflowBtnContainer.removeClass("hidden"),t.$li.removeClass("first-step");for(var o=0;o<this.sourcePath.length-1;o++){var l=this.sourcePath[o];if(l.$overflowLi.removeClass("hidden"),l.$li.addClass("hidden"),!(r=this._checkSourcePathOverage()))return}}if(!e.icon){var h=e.$label[0].getBoundingClientRect().width;e.$label.width(Math.floor(h-r)),e.$btn.attr("title",e.label)}}},_checkSourcePathOverage:function(){var t=this.$sourcePathOuterContainer[0].getBoundingClientRect().width,e=this.$sourcePathInnerContainer[0].getBoundingClientRect().width;return Math.max(e-t,0)},_buildSourcePathActionList:function(t){var e=this,i=$("<ul/>");return t.forEach((function(t){var n=$("<a/>",{href:"#",type:"button",role:"button","aria-label":t.label,text:t.label}).on("click",(function(i){i.preventDefault(),e.$sourcePathActionsBtn.data("trigger").hide(),t.onSelect&&t.onSelect()}));t.destructive&&n.addClass("error"),$("<li/>").append(n).appendTo(i)})),i},onSourcePathChange:function(){this.settings.onSourcePathChange(),this.trigger("sourcePathChange")},selectSourcePathStep:function(t){this.sourcePath=this.sourcePath.slice(0,t+1),this.sourcePath[t].$btn.focus(),this.clearSearch(!1),this.updateElements()},startSearching:function(){this.$clearSearchBtn.removeClass("hidden"),this.searching=!0,this.sortByScore=!0},clearSearch:function(t){this.searching&&(this.$search.val(""),this.searchTimeout&&clearTimeout(this.searchTimeout),this.stopSearching(),t?this.updateElementsIfSearchTextChanged():this.searchText=null)},stopSearching:function(){this.$clearSearchBtn.addClass("hidden"),this.searching=!1,this.sortByScore=!1},setInstanceState:function(t,e){"object"===s(t)?$.extend(this.instanceState,t):this.instanceState[t]=e,this.storeInstanceState()},storeInstanceState:function(){this.settings.storageKey&&Craft.setLocalStorage(this.settings.storageKey,this.instanceState)},getSourceState:function(t,e,i){return null==t?null:(t=t.replace(/\/.*/,""),void 0===this.sourceStates[t]&&(this.sourceStates[t]={}),void 0===e?this.sourceStates[t]:void 0!==this.sourceStates[t][e]?this.sourceStates[t][e]:void 0!==i?i:null)},getSelectedSourceState:function(t,e){return this.getSourceState(this.instanceState.selectedSource,t,e)},setSelecetedSourceState:function(t,e){var i=this.getSelectedSourceState();if(null==i&&(i=[]),"object"===s(t))for(var n in t)t.hasOwnProperty(n)&&(null!==t[n]?i[n]=t[n]:delete i[n]);else null!==e?i[t]=e:delete i[t];var a="*";for(var r in null!=this.instanceState.selectedSource&&(a=this.instanceState.selectedSource.replace(/\/.*/,"")),this.sourceStates[a]=i,this.sourceStates)this.sourceStates.hasOwnProperty(r)&&r.includes("/")&&delete this.sourceStates[r];Craft.setLocalStorage(this.sourceStatesStorageKey,this.sourceStates)},storeSortAttributeAndDirection:function(){},setPage:function(t){if("index"===this.settings.context){t=Math.max(t,1),this.page=t;var e=Craft.getPageUrl(this.page);history.replaceState({},"",e)}},_resetCount:function(){this.resultSet=null,this.totalResults=null},updateSourceMenu:function(){var t=this;if(this.$sourceActionsContainer.length){this.$sourceActionsBtn&&(this.$sourceActionsBtn.data("trigger").destroy(),this.$sourceActionsContainer.empty(),$("#source-actions-menu").remove(),this.$sourceActionsBtn=null);var e=this.getSourceActions();if(e.length){var i=[e.filter((function(t){return!t.destructive&&!t.administrative})),e.filter((function(t){return t.destructive&&!t.administrative})),e.filter((function(t){return t.administrative}))].filter((function(t){return t.length}));this.$sourceActionsBtn=$("<button/>",{type:"button",class:"btn settings icon menubtn",title:Craft.t("app","Source settings"),"aria-label":Craft.t("app","Source settings"),"aria-controls":"source-actions-menu"}).appendTo(this.$sourceActionsContainer);var n=$("<div/>",{id:"source-actions-menu",class:"menu menu--disclosure"}).appendTo(this.$sourceActionsContainer);i.forEach((function(e,i){0!==i&&$("<hr/>").appendTo(n),t._buildActionList(e).appendTo(n)})),this.$sourceActionsBtn.disclosureMenu()}}},_buildActionList:function(t){var e=this,i=$("<ul/>");return t.forEach((function(t){var n=$("<button/>",{type:"button",class:"menu-option",text:t.label}).on("click",(function(){e.$sourceActionsBtn.data("trigger").hide(),t.onSelect&&t.onSelect()}));t.destructive&&n.addClass("error"),$("<li/>").append(n).appendTo(i)})),i},getSourceActions:function(){var t=this,e=[];return Craft.userIsAdmin&&Craft.allowAdminChanges&&e.push({label:Craft.t("app","Customize sources"),administrative:!0,onSelect:function(){t.createCustomizeSourcesModal()}}),e},updateViewMenu:function(){this.activeViewMenu&&this.activeViewMenu===this.viewMenus[this.rootSourceKey]||(this.activeViewMenu&&this.activeViewMenu.hideTrigger(),this.viewMenus[this.rootSourceKey]||(this.viewMenus[this.rootSourceKey]=new l(this,this.$rootSource)),this.activeViewMenu=this.viewMenus[this.rootSourceKey],this.activeViewMenu.showTrigger())},getViewSettings:function(){return{}},getViewParams:function(){var t={siteId:this.siteId,search:this.searchText,offset:this.settings.batchSize*(this.page-1),limit:this.settings.batchSize};if(this.settings.canHaveDrafts&&(this.drafts||"index"===this.settings.context&&!this.status)&&(t.drafts=this.drafts||null,t.savedDraftsOnly=!0,this.drafts||(t.draftOf=!1)),this.trashed&&(t.trashed=!0),Garnish.hasAttr(this.$source,"data-override-status")||(t.status=this.status),$.extend(t,this.settings.criteria),this.sourcePath.length){var e=this.sourcePath[this.sourcePath.length-1];void 0!==e.criteria&&$.extend(t,e.criteria)}var i={context:this.settings.context,elementType:this.elementType,source:this.instanceState.selectedSource,condition:this.settings.condition,referenceElementId:this.settings.referenceElementId,referenceElementSiteId:this.settings.referenceElementSiteId,criteria:t,disabledElementIds:this.settings.disabledElementIds,viewState:$.extend({},this.getSelectedSourceState()),paginated:this._isViewPaginated()?1:0};if(i.viewState.mode=this.viewMode,"structure"===this.viewMode)i.viewState.mode="table",i.viewState.order="structure",i.viewState.sort="asc",void 0===this.instanceState.collapsedElementIds&&(this.instanceState.collapsedElementIds=[]),i.collapsedElementIds=this.instanceState.collapsedElementIds;else{var s=n(this.getSortAttributeAndDirection(),2),a=s[0],r=s[1];i.viewState.order=a,i.viewState.sort=r}return this.filterHuds[this.siteId]&&this.filterHuds[this.siteId][this.sourceKey]&&(this.filterHuds[this.siteId][this.sourceKey].conditionConfig||this.filterHuds[this.siteId][this.sourceKey].serialized)&&(i.filterConfig=this.filterHuds[this.siteId][this.sourceKey].conditionConfig,i.filters=this.filterHuds[this.siteId][this.sourceKey].serialized),this.trigger("registerViewParams",{params:i}),i},updateElements:function(t,e){var i=this;return new Promise((function(n,s){if(i.initialized){i._cancelRequests(),i.setIndexBusy(),i.view&&(i.view.destroy(),delete i.view),!0!==t&&i.setPage(1),i._resetCount();var a=i.getViewParams();Craft.sendActionRequest("POST",i.settings.updateElementsAction,{data:a,cancelToken:i._createCancelToken()}).then((function(t){if(i.setIndexAvailable(),"index"===i.settings.context){if(Craft.cp.fixedHeader){var s=Craft.cp.$headerContainer.height(),r=i.$main.offset().top-s;r<Garnish.$scrollContainer.scrollTop()&&Garnish.$scrollContainer.scrollTop(r)}}else i.$main.scrollTop(0);if(i._updateView(a,t.data),e){var o=i.view.getElementContainer();Garnish.firstFocusableElement(o).focus()}n()})).catch((function(t){var e,n;axios.isCancel(t)||(i.setIndexAvailable(),Craft.cp.displayError(null==t||null===(e=t.response)||void 0===e||null===(n=e.data)||void 0===n?void 0:n.message)),s(t)}))}else s("The element index isn’t initialized yet.")}))},updateElementsIfSearchTextChanged:function(){this.searchText!==(this.searchText=this.searching?this.$search.val():null)&&("index"===this.settings.context&&Craft.setQueryParam("search",this.$search.val()),this.updateElements())},showActionTriggers:function(){this.showingActionTriggers||(this._$triggers?this._$triggers.appendTo(this.$actionsContainer):this._createTriggers(),this.showingActionTriggers=!0)},submitAction:function(t,e){var i=this,n=this.view.getSelectedElementIds();if(0!==n.length&&("string"==typeof t&&(t=this._findAction(t)),!t.confirm||confirm(t.confirm))){this._cancelRequests();var s=this.getViewParams();e=e?Craft.expandPostArray(e):{};var a=$.extend(s,t.settings||{},e,{elementAction:t.type,elementIds:n});this.setIndexBusy(),this._autoSelectElements=n,t.download?(Craft.csrfTokenName&&(a[Craft.csrfTokenName]=Craft.csrfTokenValue),Craft.downloadFromUrl("POST",Craft.getActionUrl(this.settings.submitActionsAction),a).then((function(t){i.setIndexAvailable()})).catch((function(t){i.setIndexAvailable()}))):Craft.sendActionRequest("POST",this.settings.submitActionsAction,{data:a,cancelToken:this._createCancelToken()}).then((function(e){i._resetCount(),i._updateView(s,e.data),void 0!==e.data.badgeCounts&&i._updateBadgeCounts(e.data.badgeCounts),e.data.message&&Craft.cp.displaySuccess(e.data.message),i.afterAction(t,a)})).catch((function(t){var e,i;Craft.cp.displayError(null==t||null===(e=t.response)||void 0===e||null===(i=e.data)||void 0===i?void 0:i.message)})).finally((function(){i.setIndexAvailable()}))}},_findAction:function(t){for(var e=0;e<this.actions.length;e++)if(this.actions[e].type===t)return this.actions[e];throw"Invalid element action: ".concat(t)},afterAction:function(t,e){Craft.cp.runQueue(),this.onAfterAction(t,e)},hideActionTriggers:function(){this.showingActionTriggers&&(this._$triggers.detach(),this.showingActionTriggers=!1)},updateActionTriggers:function(){if(this.actions){var t=this.view.getSelectedElements().length;0!==t?(t===this.view.getEnabledElements().length?(this.$selectAllCheckbox.removeClass("indeterminate"),this.$selectAllCheckbox.addClass("checked"),this.$selectAllCheckbox.attr("aria-checked","true")):(this.$selectAllCheckbox.addClass("indeterminate"),this.$selectAllCheckbox.removeClass("checked"),this.$selectAllCheckbox.attr("aria-checked","mixed")),this.showActionTriggers()):(this.$selectAllCheckbox.removeClass("indeterminate checked"),this.$selectAllCheckbox.attr("aria-checked","false"),this.hideActionTriggers())}},getSelectedElements:function(){return this.view?this.view.getSelectedElements():$()},getSelectedElementIds:function(){return this.view?this.view.getSelectedElementIds():[]},setStatus:function(t){var e=this.statusMenu.$options.filter('a[data-status="'+t+'"]:first');e.length&&this.statusMenu.selectOption(e[0])},getSelectedSortAttribute:function(t){if(t=t?this.getRootSource(t):this.$rootSource){var e=this.getSourceState(t.data("key"),"order");if(this.getSortOption(e,t))return e}return this.getDefaultSort()[0]},getSelectedSortDirection:function(t){if(t=t||this.$source){var e=this.getSourceState(t.data("key"),"sort");if(["asc","desc"].includes(e))return e}return this.getDefaultSort()[1]},setSortAttribute:function(t){this.setSelectedSortAttribute(t)},setSelectedSortAttribute:function(t,e){if("score"!==t){this.sortByScore=!1;var i=this.getSortOption(t);if(i){e||(e=i.defaultDir);var s=[],a=[t],r=this.getSelectedSourceState("order");r&&r!==t&&(s.push([r,this.getSelectedSourceState("sort")]),a.push(r));for(var o=this.getSelectedSourceState("orderHistory",[]),l=0;l<o.length;l++){var h=n(o[l],1)[0];if(!h||a.includes(h))break;s.push(o[l]),a.push(h)}this.setSelecetedSourceState({order:t,sort:e,orderHistory:s}),"index"===this.settings.context&&Craft.setQueryParam("sort","".concat(t,"-").concat(e))}else console.warn("Invalid sort option: ".concat(t))}else this.sortByScore=!0},setSortDirection:function(t){this.setSelectedSortDirection(t)},setSelectedSortDirection:function(t){this.setSelectedSortAttribute(this.getSelectedSortAttribute(),t)},canSortByStructure:function(){return!this.trashed&&!this.drafts&&!this.searching},getSortAttributeAndDirection:function(){return this.searching&&this.sortByScore?["score","desc"]:[this.getSelectedSortAttribute(),this.getSelectedSortDirection()]},getSortLabel:function(t){var e=this.getSortOption(t);return e?e.label:null},getSelectedViewMode:function(){return this.getSelectedSourceState("mode")||"table"},getSourceLevel:function(t){return t.parentsUntil("nav","ul.nested").length+1},getParentSource:function(t){var e=t.parent().parent().siblings("a");return e.length?e:null},getRootSource:function(t){for(var e;e=this.getParentSource(t);)t=e;return t},getSourceByKey:function(t){return this.sourcesByKey[t]||null},selectSource:function(t){var e=$(t);if(!this.sourcesByKey||!Object.keys(this.sourcesByKey).length)return!1;if(this.$source&&this.$source[0]&&this.$source[0]===e[0]&&e.data("key")===this.sourceKey)return!1;if(this.hideActionTriggers(),this.$source=e,this.$rootSource=this.getRootSource(e),this.sourceKey=e.data("key"),this.rootSourceKey=this.$rootSource.data("key"),this.setInstanceState("selectedSource",this.sourceKey),this.sourceSelect.selectItem(e),Craft.cp.updateContentHeading(),this.searching&&(this.searchText=null,this.$search.val(""),"index"===this.settings.context&&Craft.setQueryParam("search",null),this.stopSearching()),this.$statusMenuBtn.length&&(Garnish.hasAttr(this.$source,"data-override-status")?this.$statusMenuContainer.addClass("hidden"):this.$statusMenuContainer.removeClass("hidden"),this.trashed)){var i=this.statusMenu.$options.first();this.setStatus(i.data("status"))}if(this.$viewModeBtnContainer&&this.$viewModeBtnContainer.remove(),this.viewModeBtns={},this.viewMode=null,this.sourceViewModes=this.getViewModesForSource(),this.sourceViewModes.length>1){this.$viewModeBtnContainer=$('<section class="btngroup btngroup--exclusive"/>').attr("aria-label",Craft.t("app","View")).insertAfter(this.$searchContainer);for(var n=0;n<this.sourceViewModes.length;n++){var s=this.sourceViewModes[n],a=$("<button/>",{type:"button",class:"btn"+(void 0!==s.className?" ".concat(s.className):""),"data-view":s.mode,"data-icon":s.icon,"aria-label":s.title,"aria-pressed":"false",title:s.title}).appendTo(this.$viewModeBtnContainer);this.viewModeBtns[s.mode]=a,this.addListener(a,"click",{mode:s.mode},(function(t){this.selectViewMode(t.data.mode),this.updateElements()}))}}var r=this.getSelectedSourceState("mode");if("table"===r&&"structure"===this.getSourceState(e.data("key"),"order")&&(r="structure"),r&&this.doesSourceHaveViewMode(r)||(r=this.viewMode&&this.doesSourceHaveViewMode(this.viewMode)?this.viewMode:this.sourceViewModes[0].mode),this.selectViewMode(r),this.updateSourceMenu(),this.updateViewMenu(),!this.filterHudExists()&&this.$source.data("default-filter")?this.createFilterHud({showOnInit:!1,conditionConfig:this.$source.data("default-filter")}):this.updateFilterBtn(),this.onSelectSource(),this.sourcePath=this.sourcePaths[this.sourceKey]||this.$source.data("default-source-path"),"index"===this.settings.context){var o=Craft.getQueryParams();o.source=this.sourceKey,Craft.setUrl(Craft.getUrl(Craft.path,o))}return!0},selectSourceByKey:function(t){var e=this.getSourceByKey(t);return!!e&&this.selectSource(e)},getSortOptions:function(t){var e=((t=t?this.getRootSource(t):this.$rootSource)?t.data("sort-opts"):null)||[];return e.length||e.push({label:Craft.t("app","Title"),attr:"title",defaultDir:"asc"}),e},getSortOption:function(t,e){return this.getSortOptions(e).find((function(e){return e.attr===t}))||null},getDefaultSort:function(t){if(t=t?this.getRootSource(t):this.$rootSource){var e=t.data("default-sort");if(e){"string"==typeof e&&(e=[e]);var i=this.getSortOption(e[0],t);if(i)return e[1]||(e[1]=i.defaultDir),e}}var n=this.getSortOptions(t);return[n[0].attr,n[0].defaultDir]},getTableColumnOptions:function(t){return((t=t?this.getRootSource(t):this.$rootSource)?t.data("table-col-opts"):null)||[]},getTableColumnOption:function(t,e){return this.getTableColumnOptions(e).find((function(e){return e.attr===t}))||null},getDefaultTableColumns:function(t){return((t=t?this.getRootSource(t):this.$rootSource)?t.data("default-table-cols"):null)||[]},getSelectedTableColumns:function(t){var e=this;if(t=t?this.getRootSource(t):this.$rootSource){var i=this.getSourceState(t.data("key"),"tableColumns");if(i)return i.filter((function(i){return!!e.getTableColumnOption(i,t)}))}return this.getDefaultTableColumns(t)},setSelectedTableColumns:function(t){this.setSelecetedSourceState({tableColumns:t}),this.activeViewMenu&&this.activeViewMenu.updateTableColumnField()},getViewModesForSource:function(){var t=[];return Garnish.hasAttr(this.$source,"data-has-structure")&&t.push({mode:"structure",title:Craft.t("app","Display in a structured table"),icon:"rtl"===Craft.orientation?"structurertl":"structure"}),t.push({mode:"table",title:Craft.t("app","Display in a table"),icon:"list"}),this.$source&&Garnish.hasAttr(this.$source,"data-has-thumbs")&&t.push({mode:"thumbs",title:Craft.t("app","Display as thumbnails"),icon:"grid"}),t},doesSourceHaveViewMode:function(t){for(var e=0;e<this.sourceViewModes.length;e++)if(this.sourceViewModes[e].mode===t)return!0;return!1},selectViewMode:function(t,e){e||this.doesSourceHaveViewMode(t)||(t=this.sourceViewModes[0].mode),t!==this._viewMode&&(this._viewMode&&void 0!==this.viewModeBtns[this._viewMode]&&this.viewModeBtns[this._viewMode].removeClass("active").attr("aria-pressed","false"),this._viewMode=t,this.setSelecetedSourceState("mode",this._viewMode),void 0!==this.viewModeBtns[this._viewMode]&&this.viewModeBtns[this._viewMode].addClass("active").attr("aria-pressed","true"))},createView:function(t,e){return new(this.getViewClass(t))(this,this.$elements,e)},getViewClass:function(t){switch(t){case"table":case"structure":return Craft.TableElementIndexView;case"thumbs":return Craft.ThumbsElementIndexView;default:throw'View mode "'.concat(t,'" not supported.')}},rememberDisabledElementId:function(t){-1===$.inArray(t,this.settings.disabledElementIds)&&this.settings.disabledElementIds.push(t)},forgetDisabledElementId:function(t){var e=$.inArray(t,this.settings.disabledElementIds);-1!==e&&this.settings.disabledElementIds.splice(e,1)},enableElements:function(t){t.removeClass("disabled").parents(".disabled").removeClass("disabled");for(var e=0;e<t.length;e++){var i=$(t[e]).data("id");this.forgetDisabledElementId(i)}this.onEnableElements(t)},disableElements:function(t){t.removeClass("sel").addClass("disabled");for(var e=0;e<t.length;e++){var i=$(t[e]).data("id");this.rememberDisabledElementId(i)}this.onDisableElements(t)},getElementById:function(t){return this.view.getElementById(t)},enableElementsById:function(t){t=$.makeArray(t);for(var e=0;e<t.length;e++){var i=t[e],n=this.getElementById(i);n&&n.length?this.enableElements(n):this.forgetDisabledElementId(i)}},disableElementsById:function(t){t=$.makeArray(t);for(var e=0;e<t.length;e++){var i=t[e],n=this.getElementById(i);n&&n.length?this.disableElements(n):this.rememberDisabledElementId(i)}},selectElementAfterUpdate:function(t){null===this._autoSelectElements&&(this._autoSelectElements=[]),this._autoSelectElements.push(t)},addButton:function(t){this.getButtonContainer().append(t)},isShowingSidebar:function(){return null===this.showingSidebar&&(this.showingSidebar=this.$sidebar.length&&!this.$sidebar.hasClass("hidden")),this.showingSidebar},getButtonContainer:function(){if(this.settings.buttonContainer)return $(this.settings.buttonContainer);var t=$("#action-buttons");return t.length||(t=$('<div id="action-buttons"/>').appendTo($("#header"))),t},setIndexBusy:function(){this.$elements.addClass("busy"),this.$updateSpinner.appendTo(this.$elements),this.isIndexBusy=!0,document.activeElement&&this.$elements[0].contains(document.activeElement)&&(this._activeElement=document.activeElement,document.activeElement.blur());var t=this.$elements.height(),e=window.innerHeight,i=$(document).scrollTop();if("modal"==this.settings.context&&(e=this.$elements.parents(".modal").height(),i=this.$elements.scrollParent().scrollTop()),t>e){var n=Math.floor(i+e/2)-100;n=Math.floor(n/t*100),document.documentElement.style.setProperty("--elements-busy-top-position",n+"%")}},setIndexAvailable:function(){this.$elements.removeClass("busy"),this.$updateSpinner.remove(),this.isIndexBusy=!1,this._activeElement&&(document.activeElement&&document.activeElement!==document.body||(document.body.contains(this._activeElement)?this._activeElement.focus():this._activeElement.id&&$("#".concat(this._activeElement.id)).focus()),this._activeElement=null)},createCustomizeSourcesModal:function(){var t=new Craft.CustomizeSourcesModal(this,{hideOnEsc:!1,hideOnShadeClick:!1,onHide:function(){t.destroy()}});return t},disable:function(){this.sourceSelect&&this.sourceSelect.disable(),this.view&&this.view.disable(),this.base()},enable:function(){this.sourceSelect&&this.sourceSelect.enable(),this.view&&this.view.enable(),this.base()},onAfterInit:function(){this.settings.onAfterInit(),this.trigger("afterInit")},onSelectSource:function(){this.settings.onSelectSource(this.sourceKey),this.trigger("selectSource",{sourceKey:this.sourceKey})},onSelectSite:function(){this.settings.onSelectSite(this.siteId),this.trigger("selectSite",{siteId:this.siteId})},onUpdateElements:function(){this.settings.onUpdateElements(),this.trigger("updateElements")},onSelectionChange:function(){this.settings.onSelectionChange(),this.trigger("selectionChange")},onEnableElements:function(t){this.settings.onEnableElements(t),this.trigger("enableElements",{elements:t})},onDisableElements:function(t){this.settings.onDisableElements(t),this.trigger("disableElements",{elements:t})},onAfterAction:function(t,e){this.settings.onAfterAction(t,e),this.trigger("afterAction",{action:t,params:e})},_handleSourceSelectionChange:function(){this.sourceSelect.totalSelected?this.selectSource(this.sourceSelect.$selectedItems)&&this.updateElements():this.sourceSelect.selectItem(this.$visibleSources.first())},_handleActionTriggerSubmit:function(t){t.preventDefault();var e=$(t.currentTarget);e.hasClass("disabled")||e.data("custom-handler")||this.submitAction(e.data("action"),Garnish.getPostData(e))},_handleMenuActionTriggerSubmit:function(t){var e=$(t.option);e.hasClass("disabled")||e.data("custom-handler")||this.submitAction(e.data("action"))},_handleStatusChange:function(t){this.statusMenu.$options.removeClass("sel");var e=$(t.selectedOption).addClass("sel");this.$statusMenuBtn.html(e.html()),this.trashed=!1,this.drafts=!1,this.status=null;var i=null;Garnish.hasAttr(e,"data-trashed")?(this.trashed=!0,i="trashed"):Garnish.hasAttr(e,"data-drafts")?(this.drafts=!0,i="drafts"):this.status=i=e.data("status")||null,"index"===this.settings.context&&Craft.setQueryParam("status",i),this.updateElements()},_handleSiteChange:function(t){this.siteMenu.$options.removeClass("sel");var e=$(t.selectedOption).addClass("sel");this.$siteMenuBtn.html(e.html()),this._setSite(e.data("site-id")),this.initialized&&this.updateElements(),this.onSelectSite()},_setSite:function(t){var e=null===this.siteId;this.siteId=t,this.updateSourceVisibility(),!this.initialized||e||this.$source&&this.$source.length||!this.$visibleSources.length||this.selectSource(this.$visibleSources[0]);for(var i,n=this.getSourceContainer().children(".heading"),s=0;s<n.length;s++)0!==(i=n.eq(s)).has("> ul > li:not(.hidden)").length?i.removeClass("hidden"):i.addClass("hidden");this.initialized&&("index"===this.settings.context&&Craft.cp.setSiteId(t),this.updateFilterBtn())},updateSourceVisibility:function(){var t=this;this.$visibleSources=$();for(var e=0;e<this.$sources.length;e++){var i=this.$sources.eq(e);Garnish.hasAttr(i,"data-disabled")||void 0!==i.data("sites")&&!i.data("sites").toString().split(",").some((function(e){if(e==t.siteId)return!0;if(e!=parseInt(e)){var i=Craft.sites.find((function(e){return e.id==t.siteId}));if(i&&e==i.uid)return!0}return!1}))?(i.parent().addClass("hidden"),this.$source&&this.$source.get(0)===i.get(0)&&(this.$source=null,this.$rootSource=null,this.sourceKey=null,this.rootSourceKey=null)):(i.parent().removeClass("hidden"),this.$visibleSources=this.$visibleSources.add(i))}},_handleSelectionChange:function(){this.updateActionTriggers(),this.onSelectionChange()},_handleSourceDblClick:function(t){this._toggleSource($(t.currentTarget)),t.stopPropagation()},_handleSourceToggleClick:function(t){this._toggleSource($(t.currentTarget).prev("a")),t.stopPropagation()},_getSourcesInList:function(t,e){var i=t.find("> li:not(.heading) > a");return e&&(i=i.add(t.find("> li.heading > ul > li > a"))),i},_getChildSources:function(t){var e=t.siblings("ul");return this._getSourcesInList(e)},_getSourceToggle:function(t){return t.siblings(".toggle")},_toggleSource:function(t){t.parent("li").hasClass("expanded")?this._collapseSource(t):this._expandSource(t)},_expandSource:function(t){t.next(".toggle").attr({"aria-expanded":"true","aria-label":Craft.t("app","Hide nested sources")}),t.parent("li").addClass("expanded");for(var e=this._getChildSources(t),i=0;i<e.length;i++)this.initSource($(e[i])),this.$visibleSources&&(this.$visibleSources=this.$visibleSources.add(e[i]));var n=t.data("key");-1===this.instanceState.expandedSources.indexOf(n)&&(this.instanceState.expandedSources.push(n),this.storeInstanceState())},_collapseSource:function(t){t.next(".toggle").attr({"aria-expanded":"false","aria-label":Craft.t("app","Show nested sources")}),t.parent("li").removeClass("expanded");for(var e=this._getChildSources(t),i=0;i<e.length;i++)this.deinitSource($(e[i])),this.$visibleSources=this.$visibleSources.not(e[i]);var n=this.instanceState.expandedSources.indexOf(t.data("key"));-1!==n&&(this.instanceState.expandedSources.splice(n,1),this.storeInstanceState())},_isViewPaginated:function(){return"index"===this.settings.context&&"structure"!==this.viewMode},_updateView:function(t,e){var i=this;this.actions&&(this.hideActionTriggers(),this.actions=this.actionsHeadHtml=this.actionsBodyHtml=this._$triggers=null),this.$countContainer.length&&(this.$countSpinner.removeClass("hidden"),this.$countContainer.html(""),this._countResults().then((function(t){i.$countSpinner.addClass("hidden");var e=Craft.elementTypeNames[i.elementType]?Craft.elementTypeNames[i.elementType][2]:i.settings.elementTypeName.toLowerCase(),n=Craft.elementTypeNames[i.elementType]?Craft.elementTypeNames[i.elementType][3]:i.settings.elementTypePluralName.toLowerCase();if(i._isViewPaginated()){var s=Math.min(i.settings.batchSize*(i.page-1)+1,t),a=Math.min(s+(i.settings.batchSize-1),t),r=Craft.t("app","{first, number}-{last, number} of {total, number} {total, plural, =1{{item}} other{{items}}}",{first:s,last:a,total:t,item:e,items:n}),o=$('<div class="flex pagination"/>').appendTo(i.$countContainer),l=Math.max(Math.ceil(t/i.settings.batchSize),1),h=$("<nav/>",{class:"flex","aria-label":Craft.t("app","{element} pagination",{element:e})}).appendTo(o),d=$("<button/>",{role:"button",class:"page-link prev-page"+(i.page>1?"":" disabled"),disabled:1===i.page,title:Craft.t("app","Previous Page")}).appendTo(h),c=$("<button/>",{role:"button",class:"page-link next-page"+(i.page<l?"":" disabled"),disabled:i.page===l,title:Craft.t("app","Next Page")}).appendTo(h);$("<div/>",{class:"page-info",text:r}).appendTo(o),i.page>1&&i.addListener(d,"click",(function(){this.removeListener(d,"click"),this.removeListener(c,"click"),this.setPage(this.page-1),this.updateElements(!0,!0)})),i.page<l&&i.addListener(c,"click",(function(){this.removeListener(d,"click"),this.removeListener(c,"click"),this.setPage(this.page+1),this.updateElements(!0,!0)}))}else{var u=Craft.t("app","{total, number} {total, plural, =1{{item}} other{{items}}}",{total:t,item:e,items:n});i.$countContainer.text(u)}})).catch((function(){i.$countSpinner.addClass("hidden")}))),this.$elements.html(e.html),Craft.appendHeadHtml(e.headHtml),Craft.appendBodyHtml(e.bodyHtml),this.$selectAllContainer=this.$elements.find(".selectallcontainer:first"),e.actions&&e.actions.length?this.$selectAllContainer.length&&(this.actions=e.actions,this.actionsHeadHtml=e.actionsHeadHtml,this.actionsBodyHtml=e.actionsBodyHtml,this.$selectAllCheckbox=$('<div class="checkbox"/>').prependTo(this.$selectAllContainer).attr({role:"checkbox",tabindex:"0","aria-checked":"false","aria-label":Craft.t("app","Select all")}),this.addListener(this.$selectAllContainer,"click",(function(){0===this.view.getSelectedElements().length?this.view.selectAllElements():this.view.deselectAllElements()})),this.addListener(this.$selectAllCheckbox,"keydown",(function(t){t.keyCode===Garnish.SPACE_KEY&&(t.preventDefault(),$(t.currentTarget).trigger("click"))}))):(this.$selectAllContainer.siblings().length||this.$selectAllContainer.parent(".header").remove(),this.$selectAllContainer.remove()),this.exporters=e.exporters,this.exportersByType=Craft.index(this.exporters||[],(function(t){return t.type})),this.exporters&&this.exporters.length?this.$exportBtn.removeClass("hidden"):this.$exportBtn.addClass("hidden");var n=this.actions||this.settings.selectable,s=Object.assign({context:this.settings.context,batchSize:"index"!==this.settings.context||"structure"===this.viewMode?this.settings.batchSize:null,params:t,selectable:n,multiSelect:this.actions||this.settings.multiSelect,canSelectElement:this.settings.canSelectElement,checkboxMode:!!this.actions,onSelectionChange:this._handleSelectionChange.bind(this)},this.getViewSettings(),this.settings.viewSettings());if(this.view=this.createView(this.getSelectedViewMode(),s),this._autoSelectElements){if(n)for(var a=0;a<this._autoSelectElements.length;a++)this.view.selectElementById(this._autoSelectElements[a]);this._autoSelectElements=null}this.onUpdateElements()},_updateBadgeCounts:function(t){for(var e in t)if(t.hasOwnProperty(e)){var i=this.getSourceByKey(e);if(i){var n=i.children(".badge");null!==t[e]?(n.length||(n=$('<span class="badge"/>').appendTo(i)),n.text(t[e])):n&&n.remove()}}},_countResults:function(){var t=this;return new Promise((function(e,i){if(null!==t.totalResults)e(t.totalResults);else{var n=t.getViewParams();delete n.criteria.offset,delete n.criteria.limit,null===t.resultSet&&(t.resultSet=Math.floor(1e8*Math.random())),n.resultSet=t.resultSet,Craft.sendActionRequest("POST",t.settings.countElementsAction,{data:n,cancelToken:t._createCancelToken()}).then((function(n){n.data.resultSet==t.resultSet?(t.totalResults=n.data.count,e(n.data.count)):i()})).catch(i)}}))},_createTriggers:function(){var t,e,i=[],n=[],s=[];for(t=0;t<this.actions.length;t++){var a=this.actions[t];if(a.trigger){var r=$('<form id="'+Craft.formatInputId(a.type)+'-actiontrigger"/>').data("action",a).append(a.trigger);r.find(".btn").addClass("secondary"),this.addListener(r,"submit","_handleActionTriggerSubmit"),i.push(r)}else a.destructive?s.push(a):n.push(a)}if(n.length||s.length){var o=$("<form/>");e=$("<button/>",{type:"button",class:"btn secondary menubtn","data-icon":"settings",title:Craft.t("app","Actions")}).appendTo(o);var l=$('<ul class="menu"/>').appendTo(o),h=this._createMenuTriggerList(n,!1),d=this._createMenuTriggerList(s,!0);h&&h.appendTo(l),h&&d&&$("<hr/>").appendTo(l),d&&d.appendTo(l),i.push(o)}for(this._$triggers=$(),t=0;t<i.length;t++){var c=$("<div/>").append(i[t]);this._$triggers=this._$triggers.add(c)}this._$triggers.appendTo(this.$actionsContainer),Craft.appendHeadHtml(this.actionsHeadHtml),Craft.appendBodyHtml(this.actionsBodyHtml),Craft.initUiElements(this._$triggers),e&&e.data("menubtn").on("optionSelect",this._handleMenuActionTriggerSubmit.bind(this))},_showExportHud:function(){var t=this;this.$exportBtn.addClass("active"),this.$exportBtn.attr("aria-expanded","true");for(var e=$("<form/>",{class:"export-form"}),i=[],n=0;n<this.exporters.length;n++)i.push({label:this.exporters[n].name,value:this.exporters[n].type});var s=Craft.ui.createSelectField({label:Craft.t("app","Export Type"),options:i,class:"fullwidth"}).appendTo(e),a=Craft.ui.createSelectField({label:Craft.t("app","Format"),options:[{label:"CSV",value:"csv"},{label:"JSON",value:"json"},{label:"XML",value:"xml"}],class:"fullwidth"}).appendTo(e),r=s.find("select");this.addListener(r,"change",(function(){var e=r.val();t.exportersByType[e].formattable?a.removeClass("hidden"):a.addClass("hidden")})),r.trigger("change");var o=this.view.getSelectedElementIds();if(!o.length)var l=Craft.ui.createTextField({label:Craft.t("app","Limit"),placeholder:Craft.t("app","No limit"),type:"number",min:1}).appendTo(e);var h=Craft.ui.createSubmitButton({class:"fullwidth",label:Craft.t("app","Export"),spinner:!0}).appendTo(e),d=new Garnish.MultiFunctionBtn(h);new Garnish.HUD(this.$exportBtn,e).on("hide",(function(){t.$exportBtn.removeClass("active"),t.$exportBtn.attr("aria-expanded","false")}));var c=!1;this.addListener(e,"submit",(function(t){if(t.preventDefault(),!c){c=!0,d.busyEvent();var e=this.getViewParams();if(delete e.criteria.offset,delete e.criteria.limit,delete e.collapsedElementIds,e.type=s.find("select").val(),e.format=a.find("select").val(),o.length)e.criteria.id=o;else{var i=parseInt(l.find("input").val());i&&!isNaN(i)&&(e.criteria.limit=i)}Craft.csrfTokenValue&&(e[Craft.csrfTokenName]=Craft.csrfTokenValue),Craft.downloadFromUrl("POST",Craft.getActionUrl("element-indexes/export"),e).catch((function(t){var e,i;axios.isCancel(t)||Craft.cp.displayError(null==t||null===(e=t.response)||void 0===e||null===(i=e.data)||void 0===i?void 0:i.message)})).finally((function(){c=!1,d.successEvent()}))}}))},_createMenuTriggerList:function(t,e){if(t&&t.length){for(var i=$("<ul/>"),n=0;n<t.length;n++)$("<li/>").append($("<a/>",{id:Craft.formatInputId(t[n].type)+"-actiontrigger",class:e?"error":null,data:{action:t[n]},text:t[n].name})).appendTo(i);return i}},filterHudExists:function(){return this.filterHuds[this.siteId]&&this.filterHuds[this.siteId][this.sourceKey]},showFilterHud:function(){this.filterHudExists()?this.filterHuds[this.siteId][this.sourceKey].show():this.createFilterHud()},createFilterHud:function(t){this.filterHuds[this.siteId]||(this.filterHuds[this.siteId]={}),this.filterHuds[this.siteId][this.sourceKey]=new h(this,this.sourceKey,this.siteId,t),this.updateFilterBtn()},updateFilterBtn:function(){this.$filterBtn.removeClass("active"),"index"===this.settings.context&&Craft.setQueryParam("filters",null),this.filterHuds[this.siteId]&&this.filterHuds[this.siteId][this.sourceKey]?(this.$filterBtn.attr("aria-controls",this.filterHuds[this.siteId][this.sourceKey].id).attr("aria-expanded",this.filterHuds[this.siteId][this.sourceKey].showing?"true":"false"),this.filterHuds[this.siteId][this.sourceKey].isActive&&(this.$filterBtn.addClass("active"),"index"===this.settings.context&&Craft.setQueryParam("filters",this.filterHuds[this.siteId][this.sourceKey].serialized))):this.$filterBtn.attr("aria-controls",null)}},{defaults:{context:"index",modal:null,storageKey:null,condition:null,referenceElementId:null,referenceElementSiteId:null,criteria:null,batchSize:100,disabledElementIds:[],selectable:!1,multiSelect:!1,canSelectElement:null,buttonContainer:null,hideSidebar:!1,toolbarSelector:".toolbar:first",refreshSourcesAction:"element-indexes/get-source-tree-html",updateElementsAction:"element-indexes/get-elements",countElementsAction:"element-indexes/count-elements",submitActionsAction:"element-indexes/perform-action",defaultSiteId:null,defaultSource:null,defaultSourcePath:null,preferStoredSource:!1,showSourcePath:!0,canHaveDrafts:!1,viewSettings:$.noop,elementTypeName:Craft.t("app","Element"),elementTypePluralName:Craft.t("app","Elements"),onAfterInit:$.noop,onSelectSource:$.noop,onSelectSite:$.noop,onUpdateElements:$.noop,onSelectionChange:$.noop,onSourcePathChange:$.noop,onEnableElements:$.noop,onDisableElements:$.noop,onAfterAction:$.noop}});var l=Garnish.Base.extend({elementIndex:null,$source:null,sourceKey:null,menu:null,id:null,$trigger:null,$container:null,$sortField:null,$sortAttributeSelect:null,$sortDirectionPicker:null,sortDirectionListbox:null,$tableColumnsField:null,$tableColumnsContainer:null,$revertContainer:null,$revertBtn:null,$closeBtn:null,init:function(t,e){var i=this;this.elementIndex=t,this.$source=e,this.sourceKey=e.data("key"),this.id="view-menu-".concat(Math.floor(1e9*Math.random())),this.$trigger=$("<button/>",{type:"button",class:"btn menubtn hidden",text:Craft.t("app","View"),"aria-label":Craft.t("app","View settings"),"aria-controls":this.id,"data-icon":"sliders"}).appendTo(this.elementIndex.$toolbar),this.$container=$("<div/>",{id:this.id,class:"menu menu--disclosure element-index-view-menu","data-align":"right"}).appendTo(Garnish.$bod),this._buildMenu(),this.addListener(this.$container,"mousedown",(function(t){t.stopPropagation()})),this.menu=new Garnish.DisclosureMenu(this.$trigger),this.menu.on("show",(function(){i.$trigger.addClass("active"),i.updateSortField()})),this.menu.on("hide",(function(){i.$trigger.removeClass("active"),setTimeout((function(){i.tidyTableColumnField()}),Garnish.FX_DURATION)}))},showTrigger:function(){this.$trigger.removeClass("hidden")},hideTrigger:function(){this.$trigger.data("trigger").hide(),this.$trigger.addClass("hidden"),this.menu.hide()},updateSortField:function(){this.$sortField&&("structure"===this.elementIndex.viewMode?(this.$sortField.addClass("hidden"),this.$tableColumnsField.addClass("first-child")):(this.$sortField.removeClass("hidden"),this.$tableColumnsField.removeClass("first-child")));var t=n(this.elementIndex.getSortAttributeAndDirection(),2),e=t[0],i=t[1],s=this.$sortAttributeSelect.children('option[value="score"]');this.elementIndex.searching?s.length||this.$sortAttributeSelect.prepend($("<option/>",{value:"score",text:Craft.t("app","Score")})):s.length&&s.remove(),this.$sortAttributeSelect.val(e),this.sortDirectionListbox.select("asc"===i?0:1),"score"===e?(this.sortDirectionListbox.disable(),this.$sortDirectionPicker.addClass("disabled")):(this.sortDirectionListbox.enable(),this.$sortDirectionPicker.removeClass("disabled"))},updateTableColumnField:function(){var t,e,i=this,n=this.elementIndex.getSelectedTableColumns();n.forEach((function(n){var s=i.$tableColumnsContainer.find('input[value="'.concat(n,'"]'));s.prop("checked")||s.prop("checked",!0);var a=s.parent();t&&a.index()<e&&a.insertAfter(t),t=a,e=a.index()}));for(var s=this._getTableColumnCheckboxes(),a=0;a<s.length;a++){var r=s.eq(a);r.prop("checked")&&!n.includes(r.val())&&r.prop("checked",!1)}},tidyTableColumnField:function(){var t=this.elementIndex.getTableColumnOptions(this.$source).map((function(t){return t.attr})).reduce((function(t,n,s){return e(e({},t),{},i({},n,s))}),{});this.$tableColumnsContainer.children().sort((function(e,i){var n=$(e).children('input[type="checkbox"]')[0],s=$(i).children('input[type="checkbox"]')[0];return n.checked&&s.checked?0:n.checked||s.checked?n.checked?-1:1:t[n.value]<t[s.value]?-1:1})).appendTo(this.$tableColumnsContainer)},revert:function(){this.elementIndex.setSelecetedSourceState({order:null,sort:null,tableColumns:null}),this.updateSortField(),this.updateTableColumnField(),this.tidyTableColumnField(),this.$revertBtn.remove(),this.$revertBtn=null,this.$closeBtn.focus(),this.elementIndex.updateElements()},_buildMenu:function(){var t=this,e=$('<div class="meta"/>').appendTo(this.$container);this.$sortField=this._createSortField().appendTo(e),this.$tableColumnsField=this._createTableColumnsField().appendTo(e),this.updateSortField(),this.$sortAttributeSelect.focus();var i=$("<div/>",{class:"flex menu-footer"}).appendTo(this.$container);this.$revertContainer=$("<div/>",{class:"flex-grow"}).appendTo(i),(this.elementIndex.getSelectedSourceState("order")||this.elementIndex.getSelectedSourceState("sort")||this.elementIndex.getSelectedSourceState("tableColumns"))&&this._createRevertBtn(),this.$closeBtn=$("<button/>",{type:"button",class:"btn",text:Craft.t("app","Close")}).appendTo(i).on("click",(function(){t.menu.hide()}))},_createSortField:function(){var t=this,e=$('<div class="flex"/>'),i=this.elementIndex.getSortOptions(this.$source).sort((function(t,e){return t.label===e.label?0:t.label<e.label?-1:1})).reduce((function(t,e){return t[e.attr.startsWith("field:")?1:0].push(e),t}),[[],[]]);i[1].length&&i[1].unshift({optgroup:Craft.t("app","Fields")});var n=Craft.ui.createSelect({options:i.flat().map((function(t){return t.optgroup?t:{label:Craft.escapeHtml(t.label),value:t.attr}}))}).addClass("fullwidth").appendTo($('<div class="flex-grow"/>').appendTo(e));this.$sortAttributeSelect=n.children("select").attr({"aria-label":Craft.t("app","Sort attribute")}),this.$sortDirectionPicker=$("<section/>",{class:"btngroup btngroup--exclusive","aria-label":Craft.t("app","Sort direction")}).append($("<button/>",{type:"button",class:"btn",title:Craft.t("app","Sort ascending"),"aria-label":Craft.t("app","Sort ascending"),"aria-pressed":"false","data-icon":"asc","data-dir":"asc"})).append($("<button/>",{type:"button",class:"btn",title:Craft.t("app","Sort descending"),"aria-label":Craft.t("app","Sort descending"),"aria-pressed":"false","data-icon":"desc","data-dir":"desc"})).appendTo(e),this.sortDirectionListbox=new Craft.Listbox(this.$sortDirectionPicker,{onChange:function(e){e.data("dir")!==t.elementIndex.getSelectedSortDirection()&&(t.elementIndex.setSelectedSortAttribute(t.$sortAttributeSelect.val(),e.data("dir")),t.elementIndex.sortByScore||t.elementIndex.selectViewMode(t.elementIndex.viewMode),t.elementIndex.updateElements(),t._createRevertBtn())}}),this.$sortAttributeSelect.on("change",(function(){t.elementIndex.setSelectedSortAttribute(t.$sortAttributeSelect.val(),null,!1),t.elementIndex.selectViewMode(t.elementIndex.viewMode),t.elementIndex.updateElements(),t._createRevertBtn()}));var s=Craft.ui.createField(e,{label:Craft.t("app","Sort by"),fieldset:!0});return s.addClass("sort-field"),s},_getTableColumnCheckboxes:function(){return this.$tableColumnsContainer.find('input[type="checkbox"]')},_createTableColumnsField:function(){var t=this,e=this.elementIndex.getTableColumnOptions(this.$source).sort((function(t,e){return t.label===e.label?0:t.label<e.label?-1:1}));if(!e.length)return $();this.$tableColumnsContainer=$("<div/>"),e.forEach((function(e){$('<div class="element-index-view-menu-table-column"/>').append('<div class="icon move"/>').append(Craft.ui.createCheckbox({label:Craft.escapeHtml(e.label),value:e.attr})).appendTo(t.$tableColumnsContainer)})),this.updateTableColumnField(),this.tidyTableColumnField(),new Garnish.DragSort(this.$tableColumnsContainer.children(),{handle:".move",axis:"y",onSortChange:function(){t._onTableColumnChange()}}),this._getTableColumnCheckboxes().on("change",(function(e){t._onTableColumnChange()}));var i=Craft.ui.createField(this.$tableColumnsContainer,{label:Craft.t("app","Table Columns"),fieldset:!0});return i.addClass("table-columns-field"),i},_onTableColumnChange:function(){for(var t=[],e=this._getTableColumnCheckboxes().filter(":checked"),i=0;i<e.length;i++)t.push(e.eq(i).val());Craft.compare(t,this.elementIndex.getSelectedTableColumns(this.$source))||(this.elementIndex.setSelectedTableColumns(t,!1),this.elementIndex.updateElements(),this._createRevertBtn())},_createRevertBtn:function(){var t=this;this.$revertBtn||(this.$revertBtn=$("<button/>",{type:"button",class:"light",text:Craft.t("app","Use defaults")}).appendTo(this.$revertContainer).on("click",(function(){t.revert()})))},destroy:function(){this.menu.destroy(),delete this.menu,this.base()}}),h=Garnish.HUD.extend({elementIndex:null,sourceKey:null,siteId:null,id:null,loading:!0,conditionConfig:null,serialized:null,$clearBtn:null,cleared:!1,get isActive(){return this.showing||this.conditionConfig||this.serialized},init:function(t,e,i,n){var s=this;this.elementIndex=t,this.sourceKey=e,this.siteId=i,this.id="filter-".concat(Math.floor(1e9*Math.random())),n&&(n.conditionConfig?(this.conditionConfig=n.conditionConfig,delete n.conditionConfig):n.serialized&&(this.serialized=n.serialized,delete n.serialized));var a=$("<div/>").append($("<div/>",{class:"spinner"})).append($("<div/>",{text:Craft.t("app","Loading"),class:"visually-hidden","aria-role":"alert"}));this.base(this.elementIndex.$filterBtn,a,Object.assign({hudClass:"hud element-filter-hud loading"},n)),this.$hud.attr({id:this.id,"aria-live":"polite","aria-busy":"false"}),this.$tip.remove(),this.$tip=null,this.$body.on("submit",(function(t){t.preventDefault(),s.hide()})),Craft.sendActionRequest("POST","element-indexes/filter-hud",{data:{elementType:this.elementIndex.elementType,source:this.sourceKey,condition:this.elementIndex.settings.condition,conditionConfig:this.conditionConfig,serialized:this.serialized,id:"".concat(this.id,"-filters")}}).then((function(t){s.loading=!1,s.$hud.removeClass("loading"),a.remove(),s.$main.append(t.data.hudHtml),Craft.appendHeadHtml(t.data.headHtml),Craft.appendBodyHtml(t.data.bodyHtml);var e=$("<div/>",{class:"flex flex-nowrap"}).appendTo(s.$main);$("<div/>",{class:"flex-grow"}).appendTo(e),s.$clearBtn=$("<button/>",{type:"button",class:"btn",text:Craft.t("app","Cancel")}).appendTo(e),$("<button/>",{type:"submit",class:"btn secondary",text:Craft.t("app","Apply")}).appendTo(e),s.$clearBtn.on("click",(function(){s.clear()})),s.$hud.find(".condition-container").on("htmx:beforeRequest",(function(){s.setBusy()})),s.$hud.find(".condition-container").on("htmx:load",(function(){s.setReady(),s.updateSizeAndPosition(!0)})),s.setFocus(),s.conditionConfig&&(s.conditionConfig=null,s.serialized=s.serialize())})).catch((function(t){var e,i;Craft.cp.displayError(null==t||null===(e=t.response)||void 0===e||null===(i=e.data)||void 0===i?void 0:i.message)})),this.$hud.css("position","fixed"),this.addListener(Garnish.$win,"scroll,resize",(function(){s.updateSizeAndPosition(!0)}))},addListener:function(t,e,i,n){t===this.$main&&"resize"===e||this.base(t,e,i,n)},setBusy:function(){this.$hud.attr("aria-busy","true"),$("<div/>",{class:"visually-hidden",text:Craft.t("app","Loading")}).insertAfter(this.$main.find(".htmx-indicator"))},setReady:function(){this.$hud.attr("aria-busy","false")},setFocus:function(){Garnish.setFocusWithin(this.$main)},clear:function(){this.cleared=!0,this.hide()},updateSizeAndPositionInternal:function(){var t,e=this.elementIndex.$searchContainer[0].getBoundingClientRect(),i=Garnish.$win.height(),n=i-e.bottom;this.$body.height()>n&&(t=i-e.bottom-10),this.$hud.css({width:this.elementIndex.$searchContainer.outerWidth()-2,top:e.top+this.elementIndex.$searchContainer.outerHeight(),left:e.left+1,height:t?"".concat(t,"px"):"unset",overflowY:t?"scroll":"unset"})},onShow:function(){this.base(),this.$clearBtn&&this.$clearBtn.text(Craft.t("app","Clear")),this.elementIndex.updateFilterBtn(),this.setFocus()},onHide:function(){this.base(),this.serialized!==(this.serialized=this.serialize())&&this.elementIndex.updateElements(),this.cleared?this.destroy():(this.$hud.detach(),this.$shade.detach()),this.elementIndex.updateFilterBtn(),this.elementIndex.$filterBtn.focus()},hasRules:function(){return 0!==this.$main.has(".condition-rule").length},serialize:function(){return!this.cleared&&this.hasRules()?this.$body.serialize():null},destroy:function(){this.base(),delete this.elementIndex.filterHuds[this.siteId][this.sourceKey]}})},8495:function(){Craft.BaseElementIndexView=Garnish.Base.extend({$container:null,$loadingMoreSpinner:null,$elementContainer:null,$scroller:null,elementIndex:null,elementSelect:null,loadingMore:!1,_totalVisible:null,_morePending:null,_handleEnableElements:null,_handleDisableElements:null,get thumbLoader(){return console.warn("Craft.BaseElementIndexView::thumbLoader is deprecated. Craft.cp.elementThumbLoader should be used instead."),Craft.cp.elementThumbLoader},init:function(t,e,i){var n=this;this.elementIndex=t,this.$container=$(e),this.setSettings(i,Craft.BaseElementIndexView.defaults),this.$loadingMoreSpinner=$('<div class="centeralign hidden"><div class="spinner loadingmore"></div></div>').insertAfter(this.$container),this.$elementContainer=this.getElementContainer();var s=this.$elementContainer.children();this.setTotalVisible(s.length),this.setMorePending(this.settings.batchSize&&s.length==this.settings.batchSize),Craft.cp.elementThumbLoader.load(s),this.settings.selectable&&(this.elementSelect=new Garnish.Select(this.$elementContainer,this.filterSelectableElements(s),{multi:this.settings.multiSelect,vertical:this.isVerticalList(),handle:"index"===this.settings.context?".checkbox, .element:first":null,filter:":not(a):not(.toggle)",checkboxMode:this.settings.checkboxMode,onSelectionChange:this.onSelectionChange.bind(this)}),this._handleEnableElements=function(t){n.elementSelect.addItems(n.filterSelectableElements($(t.elements)))},this._handleDisableElements=function(t){n.elementSelect.removeItems(t.elements)},this.elementIndex.on("enableElements",this._handleEnableElements),this.elementIndex.on("disableElements",this._handleDisableElements)),"index"===this.settings.context&&(this._handleElementEditing=function(t){var e=$(t.target);if("A"!==e.prop("nodeName")){var i;if(e.hasClass("element"))i=e;else if(!(i=e.closest(".element")).length)return;Garnish.hasAttr(i,"data-editable")&&Craft.createElementEditor(i.data("type"),i)}},this.elementIndex.trashed||this.addListener(this.$elementContainer,"dblclick,taphold",this._handleElementEditing)),this.afterInit(),this.settings.batchSize&&("index"===this.settings.context?this.$scroller=Garnish.$scrollContainer:this.$scroller=this.elementIndex.$main,this.$scroller.scrollTop(0),this.addListener(this.$scroller,"scroll","maybeLoadMore"),this.maybeLoadMore())},filterSelectableElements:function(t){var e=this;return $(t.toArray().filter((function(t){return e.canSelectElement($(t))})))},canSelectElement:function(t){return!t.hasClass("disabled")&&(this.settings.canSelectElement?this.settings.canSelectElement(t):!!t.data("id"))},getElementContainer:function(){throw"Classes that extend Craft.BaseElementIndexView must supply a getElementContainer() method."},afterInit:function(){},getAllElements:function(){return this.$elementContainer.children()},getEnabledElements:function(){return this.$elementContainer.children(":not(.disabled)")},getElementById:function(t){var e=this.$elementContainer.children('[data-id="'+t+'"]:first');return e.length?e:null},getSelectedElements:function(){if(!this.elementSelect)throw"This view is not selectable.";return this.elementSelect.$selectedItems},getSelectedElementIds:function(){var t;try{t=this.getSelectedElements()}catch(t){}var e=[];if(t)for(var i=0;i<t.length;i++){var n=t.eq(i).data("id");n&&e.push(n)}return e},selectElement:function(t){if(!this.elementSelect)throw"This view is not selectable.";return this.elementSelect.selectItem(t,!0),!0},selectElementById:function(t){if(!this.elementSelect)throw"This view is not selectable.";var e=this.getElementById(t);return!!e&&(this.elementSelect.selectItem(e,!0),!0)},selectAllElements:function(){this.elementSelect.selectAll()},deselectAllElements:function(){this.elementSelect.deselectAll()},getElementCheckbox:function(t){return $(t).find('[role="checkbox"]')},isVerticalList:function(){return!1},getTotalVisible:function(){return this._totalVisible},setTotalVisible:function(t){this._totalVisible=t},getMorePending:function(){return this._morePending},setMorePending:function(t){this._morePending=t},maybeLoadMore:function(){this.canLoadMore()&&this.loadMore()},canLoadMore:function(){return!(!this.getMorePending()||!this.settings.batchSize)&&(this.$scroller[0]===Garnish.$win[0]?Garnish.$win.innerHeight()+Garnish.$win.scrollTop()>=this.$container.offset().top+this.$container.height():this.$scroller.prop("scrollHeight")-this.$scroller.scrollTop()<=this.$scroller.outerHeight()+15)},loadMore:function(){var t=this;this.getMorePending()&&!this.loadingMore&&this.settings.batchSize&&(this.loadingMore=!0,this.$loadingMoreSpinner.removeClass("hidden"),this.removeListener(this.$scroller,"scroll"),Craft.sendActionRequest("POST",this.settings.loadMoreElementsAction,{data:this.getLoadMoreParams()}).then((function(e){t.loadingMore=!1,t.$loadingMoreSpinner.addClass("hidden");var i=$(e.data.html);t.appendElements(i),Craft.appendHeadHtml(e.data.headHtml),Craft.appendBodyHtml(e.data.bodyHtml),t.elementSelect&&(t.elementSelect.addItems(t.filterSelectableElements(i)),t.elementIndex.updateActionTriggers()),t.setTotalVisible(t.getTotalVisible()+i.length),t.setMorePending(i.length==t.settings.batchSize),t.addListener(t.$scroller,"scroll","maybeLoadMore"),t.maybeLoadMore()})).catch((function(e){t.loadingMore=!1,t.$loadingMoreSpinner.addClass("hidden")})))},getLoadMoreParams:function(){var t=$.extend(!0,{},this.settings.params);return t.criteria.offset=this.getTotalVisible(),t},appendElements:function(t){t.appendTo(this.$elementContainer),Craft.cp.elementThumbLoader.load(t),this.onAppendElements(t)},onAppendElements:function(t){this.settings.onAppendElements(t),this.trigger("appendElements",{newElements:t})},onSelectionChange:function(){var t=this;this.settings.onSelectionChange(),this.trigger("selectionChange"),this.settings.checkboxMode&&this.elementSelect.$items.each((function(e,i){t.elementSelect.isSelected(i)?t.getElementCheckbox(i).attr("aria-checked","true"):t.getElementCheckbox(i).attr("aria-checked","false")}))},disable:function(){this.elementSelect&&this.elementSelect.disable()},enable:function(){this.elementSelect&&this.elementSelect.enable()},destroy:function(){this.$loadingMoreSpinner.remove(),this.elementSelect&&(this.elementIndex.off("enableElements",this._handleEnableElements),this.elementIndex.off("disableElements",this._handleDisableElements),this.elementSelect.destroy(),delete this.elementSelect),this.base()}},{defaults:{context:"index",batchSize:null,params:null,selectable:!1,multiSelect:!1,canSelectElement:null,checkboxMode:!1,loadMoreElementsAction:"element-indexes/get-more-elements",onAppendElements:$.noop,onSelectionChange:$.noop}})},5970:function(){function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}Craft.BaseElementSelectInput=Garnish.Base.extend({elementSelect:null,elementSort:null,modal:null,elementEditor:null,modalFirstOpen:!0,$container:null,$form:null,$elementsContainer:null,$elements:null,$addElementBtn:null,$spinner:null,_initialized:!1,get thumbLoader(){return console.warn("Craft.BaseElementSelectInput::thumbLoader is deprecated. Craft.cp.elementThumbLoader should be used instead."),Craft.cp.elementThumbLoader},init:function(t){var e=this;if(!$.isPlainObject(t)){for(var i={},n=["id","name","elementType","sources","criteria","sourceElementId","limit","modalStorageKey","fieldId"],s=0;s<n.length&&void 0!==arguments[s];s++)i[n[s]]=arguments[s];t=i}this.setSettings(t,Craft.BaseElementSelectInput.defaults),this.settings.modalStorageKey&&(this.modalStorageKey="BaseElementSelectInput."+this.settings.modalStorageKey),(1==this.settings.limit||this.settings.maintainHierarchy)&&(this.settings.sortable=!1),this.$container=this.getContainer(),this.$form=this.$container.closest("form"),this.$container.data("elementSelect",this),this.$elementsContainer=this.getElementsContainer(),this.$addElementBtn=this.getAddElementsBtn(),this.$spinner=this.getSpinner(),this.initElementSelect(),this.initElementSort(),this.resetElements(),this.$addElementBtn&&this.addListener(this.$addElementBtn,"activate","showModal"),Garnish.requestAnimationFrame((function(){e._initialized=!0})),this.elementSelect&&this.addListener(Garnish.$win,"mousedown",(function(t){e.$container.is(t.target)||e.$container.find(t.target).length||e.elementSelect.deselectAll()}))},get totalSelected(){return this.$elements.length},getContainer:function(){return $("#"+this.settings.id)},getElementsContainer:function(){return this.$container.children(".elements")},getElements:function(){return this.$elementsContainer.find(".element")},getAddElementsBtn:function(){return this.$container.find(".btn.add:first")},getSpinner:function(){return this.$container.find(".spinner")},initElementSelect:function(){this.settings.selectable&&(this.elementSelect=new Garnish.Select({multi:this.settings.sortable,filter:":not(.delete)"}))},initElementSort:function(){var t=this;this.settings.sortable&&(this.elementSort=new Garnish.DragSort({container:this.$elementsContainer,filter:this.settings.selectable?function(){return t.elementSort.$targetItem.hasClass("sel")?t.elementSelect.getSelectedItems():t.elementSort.$targetItem}:null,ignoreHandleSelector:".delete",axis:this.getElementSortAxis(),collapseDraggees:!0,magnetStrength:4,helperLagBase:1.5,onSortChange:this.settings.selectable?function(){t.elementSelect.resetItemOrder()}:null}))},getElementSortAxis:function(){return"list"===this.settings.viewMode?"y":null},canAddMoreElements:function(){return!this.settings.limit||this.$elements.length<this.settings.limit},updateAddElementsBtn:function(){this.canAddMoreElements()?this.enableAddElementsBtn():this.disableAddElementsBtn()},enableAddElementsBtn:function(){this.$addElementBtn&&this.$addElementBtn.removeClass("hidden"),this.updateButtonContainer()},disableAddElementsBtn:function(){this.$addElementBtn&&this.$addElementBtn.addClass("hidden"),this.updateButtonContainer()},showSpinner:function(){this.$spinner&&this.$spinner.removeClass("hidden"),this.updateButtonContainer()},hideSpinner:function(){this.$spinner&&this.$spinner.addClass("hidden"),this.updateButtonContainer()},updateButtonContainer:function(){var t=this.$addElementBtn&&this.$addElementBtn.parent(".flex");t&&t.length&&(t.children(":not(.hidden)").length?t.removeClass("hidden"):t.addClass("hidden"))},focusNextLogicalElement:function(){if(this.canAddMoreElements()){var t=this.$addElementBtn;t&&t.get(0).focus()}else this.focusLastRemoveBtn()},focusLastRemoveBtn:function(){var t=this.$container.find(".delete");t.length&&t.last()[0].focus()},resetElements:function(){null!==this.$elements?this.removeElements(this.$elements):this.$elements=$(),this.addElements(this.getElements())},addElements:function(t){var e=this;Craft.cp.elementThumbLoader.load(t),this.settings.selectable&&this.elementSelect.addItems(t),this.settings.sortable&&this.elementSort.addItems(t),this.settings.editable&&(this._handleShowElementEditor=function(t){if("taphold"!==t.type||"BUTTON"!==t.target.nodeName){var i=$(t.currentTarget);!Garnish.hasAttr(i,"data-editable")||i.hasClass("disabled")||i.hasClass("loading")||(e.elementEditor=e.createElementEditor(i))}},this.addListener(t,"dblclick",this._handleShowElementEditor),$.isTouchCapable()&&this.addListener(t,"taphold",this._handleShowElementEditor)),t.find(".delete").on("click dblclick",(function(t){e.removeElement($(t.currentTarget).closest(".element")),t.stopPropagation()})),t.on("keydown",(function(t){if([Garnish.BACKSPACE_KEY,Garnish.DELETE_KEY].includes(t.keyCode)){t.stopPropagation(),t.preventDefault();for(var i=e.elementSelect.getSelectedItems(),n=0;n<i.length;n++)e.removeElement(i.eq(n))}})),this.$elements=this.$elements.add(t),this.updateAddElementsBtn(),this.onAddElements()},createElementEditor:function(t,e){return e=Object.assign({elementSelectInput:this,prevalidate:this.settings.prevalidate},e),Craft.createElementEditor(this.settings.elementType,t,e)},replaceElement:function(t,e){var i=this;return new Promise((function(n,s){var a=i.$elements.filter('[data-id="'.concat(t,'"]'));if(a.length){i.showSpinner();var r={elementId:e,siteId:i.settings.criteria.siteId,thumbSize:i.settings.viewMode};Craft.sendActionRequest("POST","elements/get-element-html",{data:r}).then((function(t){i.removeElement(a);var e=Craft.getElementInfo(t.data.html);i.selectElements([e]),n()})).catch((function(t){var e=t.response;e&&e.data&&e.data.message?Craft.cp.displayError(e.data.message):Craft.cp.displayError(),s(e.data.message)})).finally((function(){i.hideSpinner()}))}else s("No element selected with an ID of ".concat(t,"."))}))},removeElements:function(t){if(this.settings.selectable&&this.elementSelect.removeItems(t),this.modal){for(var e=[],i=0;i<t.length;i++){var n=t.eq(i).data("id");n&&e.push(n)}e.length&&this.modal.elementIndex.enableElementsById(e)}var s;if(t.children("input").prop("disabled",!0),this.settings.selectable){var a=this.$elements.index(t.last());s=this.$elements.eq(a+1).find(".delete")}s.length?s.focus():this.focusNextLogicalElement(),this.$elements=this.$elements.not(t),this.updateAddElementsBtn(),this.onRemoveElements()},removeElement:function(t){if(this.settings.maintainHierarchy){var e=t.add(t.parent().siblings("ul").find(".element"));$("[name]",e).removeAttr("name"),this.removeElements(e);for(var i=0;i<e.length;i++)this._animateStructureElementAway(e,i)}else $("[name]",t).removeAttr("name"),this.removeElements(t),this.animateElementAway(t,(function(){t.remove()}))},animateElementAway:function(t,e){t.css("z-index",0);var i={opacity:-1};i["margin-"+Craft.left]=-(t.outerWidth()+parseInt(t.css("margin-"+Craft.right))),"list"!==this.settings.viewMode&&0!==this.$elements.length||(i["margin-bottom"]=-(t.outerHeight()+parseInt(t.css("margin-bottom")))),t.velocity(i,Craft.BaseElementSelectInput.REMOVE_FX_DURATION,(function(){e&&e()}))},showModal:function(){this.canAddMoreElements()&&(this.modal?this.modal.show():(this.modal=this.createModal(),this.modalFirstOpen=!1))},createModal:function(){return Craft.createElementSelectorModal(this.settings.elementType,this.getModalSettings())},getModalSettings:function(){var t=$.extend({closeOtherModals:!1,storageKey:this.modalStorageKey,sources:this.settings.sources,condition:this.settings.condition,referenceElementId:this.settings.referenceElementId,referenceElementSiteId:this.settings.referenceElementSiteId,criteria:Object.assign({},this.settings.criteria),multiSelect:1!=this.settings.limit,hideOnSelect:!this.settings.maintainHierarchy,showSiteMenu:this.settings.showSiteMenu,disabledElementIds:this.getDisabledElementIds(),onSelect:this.onModalSelect.bind(this),onHide:this.onModalHide.bind(this),triggerElement:this.$addElementBtn,modalTitle:Craft.t("app","Choose")},this.settings.modalSettings);return this.modalFirstOpen||(t.preferStoredSource=!0),t},getSelectedElementIds:function(){for(var t=[],e=0;e<this.$elements.length;e++)t.push(this.$elements.eq(e).data("id"));return t},getDisabledElementIds:function(){var e,i=this.getSelectedElementIds();return!this.settings.allowSelfRelations&&this.settings.sourceElementId&&i.push(this.settings.sourceElementId),this.settings.disabledElementIds&&i.push.apply(i,function(e){if(Array.isArray(e))return t(e)}(e=this.settings.disabledElementIds)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(e)||function(e,i){if(e){if("string"==typeof e)return t(e,i);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,i):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i},onModalSelect:function(t){if(this.settings.maintainHierarchy)this.selectStructuredElements(t);else{if(this.settings.limit){var e=this.settings.limit-this.$elements.length;t.length>e&&(t=t.slice(0,e))}this.selectElements(t),this.updateDisabledElementsInModal()}},onModalHide:function(){var t=this;this.modal&&this.settings.condition&&this.settings.referenceElementId&&(this.modal.destroy(),this.modal=null),this.canAddMoreElements()||setTimeout((function(){t.focusNextLogicalElement()}),200)},selectElements:function(t){for(var e=0;e<t.length;e++){var i=t[e],n=this.createNewElement(i);this.appendElement(n),this.addElements(n),this.animateElementIntoPlace(i.$element,n),i.$element=n}this.onSelectElements(t)},selectStructuredElements:function(t){var e=this;this.modal.disable(),this.modal.disableCancelBtn(),this.modal.disableSelectBtn(),this.modal.showFooterSpinner();for(var i=this.getSelectedElementIds(),n=0;n<t.length;n++)i.push(t[n].id);var s={elementIds:i,siteId:t[0].siteId,containerId:this.settings.id,name:this.settings.name,branchLimit:this.settings.branchLimit,selectionLabel:this.settings.selectionLabel,elementType:this.settings.elementType},a=function(){e.modal.enable(),e.modal.enableCancelBtn(),e.modal.enableSelectBtn(),e.modal.hideFooterSpinner()};Craft.sendActionRequest("POST","relational-fields/structured-input-html",{data:s}).then((function(i){a();var n=$(i.data.html).children(".elements");e.$elementsContainer.replaceWith(n),e.$elementsContainer=n,e.resetElements();for(var s=[],r=0;r<t.length;r++){var o=t[r],l=e.getElementById(o.id);l&&(e.animateElementIntoPlace(o.$element,l),s.push(o))}e.updateDisabledElementsInModal(),e.modal.hide(),e.onSelectElements(s)})).catch((function(t){t.response,a()}))},createNewElement:function(t){var e=t.$element.clone(),i=Craft.t("app","Remove {label}",{label:Craft.escapeHtml(t.label)});return Craft.setElementSize(e,"large"===this.settings.viewMode?"large":"small"),e.addClass("removable").prepend($("<input/>",{type:"hidden",name:this.settings.name+(this.settings.single?"":"[]"),value:t.id})).prepend($("<button/>",{type:"button",class:"delete icon",title:Craft.t("app","Remove"),"aria-label":i})),e},appendElement:function(t){t.appendTo(this.$elementsContainer)},animateElementIntoPlace:function(t,e){var i=t.offset(),n=e.offset(),s=e.clone().appendTo(Garnish.$bod);e.css("visibility","hidden"),s.css({position:"absolute",zIndex:1e4,top:i.top,left:i.left});var a={top:n.top,left:n.left};s.velocity(a,Craft.BaseElementSelectInput.ADD_FX_DURATION,(function(){s.remove(),e.css("visibility","visible")}))},updateDisabledElementsInModal:function(){this.modal.elementIndex&&this.modal.elementIndex.disableElementsById(this.getDisabledElementIds())},getElementById:function(t){for(var e=0;e<this.$elements.length;e++){var i=this.$elements.eq(e);if(i.data("id")==t)return i}},onSelectElements:function(t){this.trigger("selectElements",{elements:t}),this.settings.onSelectElements(t),this.$container.trigger("change")},onAddElements:function(){this.trigger("addElements"),this.settings.onAddElements(),this.$container.trigger("change")},onRemoveElements:function(){this.trigger("removeElements"),this.settings.onRemoveElements(),this.$container.trigger("change")},_animateStructureElementAway:function(t,e){var i,n=this;e===t.length-1&&(i=function(){var e=t.first().parent().parent(),i=e.parent();i[0]===n.$elementsContainer[0]||e.siblings().length?e.remove():i.remove()});var s=function(){n.animateElementAway(t.eq(e),i)};0===e?s():setTimeout(s,100*e)}},{ADD_FX_DURATION:200,REMOVE_FX_DURATION:200,defaults:{id:null,name:null,fieldId:null,elementType:null,sources:null,condition:null,referenceElementId:null,referenceElementSiteId:null,criteria:{},allowSelfRelations:!1,sourceElementId:null,disabledElementIds:null,viewMode:"list",single:!1,maintainHierarchy:!1,branchLimit:null,limit:null,showSiteMenu:!1,modalStorageKey:null,modalSettings:{},onAddElements:$.noop,onSelectElements:$.noop,onRemoveElements:$.noop,sortable:!0,selectable:!0,editable:!0,prevalidate:!1,editorSettings:{}}})},4993:function(){Craft.BaseElementSelectorModal=Garnish.Modal.extend({elementType:null,elementIndex:null,supportSidebarToggleView:!1,$body:null,$content:null,$footer:null,$selectBtn:null,$sidebar:null,$sources:null,$sourceToggles:null,$sidebarToggleBtn:null,$sidebarCloseBtn:null,$mainHeading:null,$main:null,$search:null,$elements:null,$tbody:null,$primaryButtons:null,$secondaryButtons:null,$cancelBtn:null,init:function(t,e){this.elementType=t,this.setSettings(e,Craft.BaseElementSelectorModal.defaults);var i="elementSelectorModalHeading-"+Date.now(),n=$("<div/>",{class:"modal elementselectormodal","aria-labelledby":i}).appendTo(Garnish.$bod),s=$("<div/>",{class:this.settings.showTitle?"header":"visually-hidden"}).appendTo(n);$("<h1/>",{id:i,text:this.settings.modalTitle}).appendTo(s);var a=$("<div/>",{class:"body"}).append($("<div/>",{class:"spinner big"})).appendTo(n);this.$footer=$("<div/>",{class:"footer"}).appendTo(n),this.settings.fullscreen&&(n.addClass("fullscreen"),this.settings.minGutter=0),this.base(n,this.settings),this.$secondaryButtons=$('<div class="buttons left secondary-buttons"/>').appendTo(this.$footer),this.$primaryButtons=$('<div class="buttons right"/>').appendTo(this.$footer),this.$cancelBtn=$("<button/>",{type:"button",class:"btn",text:Craft.t("app","Cancel")}).appendTo(this.$primaryButtons),this.$selectBtn=Craft.ui.createSubmitButton({class:"disabled",label:this.settings.selectBtnLabel,spinner:!0}).attr("aria-disabled","true").appendTo(this.$primaryButtons),this.$body=a,this.addListener(this.$cancelBtn,"activate","cancel"),this.addListener(this.$selectBtn,"activate","selectElements")},updateModalBottomPadding:function(){var t=this.$footer.outerHeight();t!==parseInt(this.$container.css("padding-bottom"))&&this.$container.css("padding-bottom",t)},updateSidebarView:function(){this.supportSidebarToggleView&&(this.sidebarShouldBeHidden()?this.$sidebarToggleBtn||this.buildSidebarToggleView():this.$sidebarToggleBtn&&this.resetView())},sidebarShouldBeHidden:function(){return this.$container.outerWidth()<550},resetView:function(){this.$mainHeader&&this.$mainHeader.remove(),this.$sidebarHeader&&this.$sidebarHeader.remove(),this.$sidebarToggleBtn=null,this.$body.addClass("has-sidebar"),this.$content.addClass("has-sidebar"),this.$sidebar.removeClass("hidden")},buildSidebarToggleView:function(){var t=this;!this.$sidebarToggleBtn&&this.sidebarShouldBeHidden()&&(this.$sidebarHeader=$('<div class="sidebar-header"/>').prependTo(this.$sidebar),this.$sidebarCloseBtn=Craft.ui.createButton({class:"nav-close close-btn"}).attr("aria-label",Craft.t("app","Close")).removeClass("btn").appendTo(this.$sidebarHeader),this.$mainHeader=$('<div class="main-header"/>').prependTo(this.$main),this.$mainHeading=$('<h2 class="main-heading">'.concat(this.getActiveSourceName(),"</h2>")).appendTo(this.$mainHeader),this.$sidebarToggleBtn=Craft.ui.createButton({toggle:!0,controls:"modal-sidebar",class:"nav-toggle"}).removeClass("btn").attr("aria-label",Craft.t("app","Show sidebar")).appendTo(this.$mainHeader),this.$sidebar.attr("id","modal-sidebar"),this.closeSidebar(),this.addListener(this.$sidebarToggleBtn,"click",(function(){t.toggleSidebar()})),this.addListener(this.$sidebarCloseBtn,"click",(function(){t.toggleSidebar()})))},sidebarIsOpen:function(){return"true"===this.$sidebarToggleBtn.attr("aria-expanded")},toggleSidebar:function(){this.sidebarIsOpen()?this.closeSidebar():this.openSidebar()},openSidebar:function(){var t=this;this.$body.addClass("has-sidebar"),this.$content.addClass("has-sidebar"),this.$sidebar.removeClass("hidden"),this.$sidebarToggleBtn.attr("aria-expanded","true"),this.$sidebar.find(":focusable").first().focus(),Garnish.uiLayerManager.addLayer(this.$sidebar),Garnish.uiLayerManager.registerShortcut(Garnish.ESC_KEY,(function(){t.closeSidebar();var e=Garnish.getFocusedElement();$.contains(t.$sidebar.get(0),e.get(0))&&t.$sidebarToggleBtn.focus()}))},closeSidebar:function(){this.$sidebarToggleBtn&&(this.sidebarIsOpen()&&(Garnish.uiLayerManager.removeLayer(),this.$sidebar.addClass("hidden"),this.$sidebarToggleBtn.attr("aria-expanded","false")),this.$body.removeClass("has-sidebar"),this.$content.removeClass("has-sidebar"))},getActiveSourceName:function(){return this.$sidebar.find(".sel").text()},onFadeIn:function(){this.elementIndex?(this.updateModalBottomPadding(),Garnish.isMobileBrowser(!0)||this.elementIndex.$search.focus()):this._createElementIndex(),this.base()},onSelectionChange:function(){this.updateSelectBtnState()},onSelectSource:function(){this.updateHeading(),this.updateModalBottomPadding()},updateHeading:function(){this.$mainHeading&&this.$mainHeading.text(this.getActiveSourceName())},updateSelectBtnState:function(){this.$selectBtn&&(this.shouldEnableSelectBtn()?this.enableSelectBtn():this.disableSelectBtn())},shouldEnableSelectBtn:function(){return this.hasSelection()},hasSelection:function(){return this.elementIndex&&this.elementIndex.getSelectedElements().length},enableSelectBtn:function(){this.$selectBtn.removeClass("disabled").attr("aria-disabled","false")},disableSelectBtn:function(){this.$selectBtn.addClass("disabled").attr("aria-disabled","true")},enableCancelBtn:function(){this.$cancelBtn.removeClass("disabled")},disableCancelBtn:function(){this.$cancelBtn.addClass("disabled")},showFooterSpinner:function(){this.$selectBtn.addClass("loading")},hideFooterSpinner:function(){this.$selectBtn.removeClass("loading")},cancel:function(){this.$cancelBtn.hasClass("disabled")||this.hide()},selectElements:function(){if(this.hasSelection()){this.elementIndex.view&&this.elementIndex.view.elementSelect&&this.elementIndex.view.elementSelect.clearMouseUpTimeout();var t=this.elementIndex.getSelectedElements(),e=this.getElementInfo(t);this.onSelect(e),this.settings.disableElementsOnSelect&&this.elementIndex.disableElements(this.elementIndex.getSelectedElements()),this.settings.hideOnSelect&&this.hide()}},getElementInfo:function(t){for(var e=[],i=0;i<t.length;i++){var n=$(t[i]),s=Craft.getElementInfo(n);e.push(s)}return e},onShow:function(){this.updateSelectBtnState(),this.addListener(Garnish.$win,"resize",this.updateSidebarView),this.addListener(Garnish.$win,"resize",this.updateModalBottomPadding),this.updateModalBottomPadding(),this.updateSidebarView(),this.base()},onHide:function(){this.closeSidebar(),this.base()},onSelect:function(t){this.settings.onSelect(t)},disable:function(){this.elementIndex&&this.elementIndex.disable(),this.base()},enable:function(){this.elementIndex&&this.elementIndex.enable(),this.base()},getElementIndexParams:function(){var t={context:"modal",elementType:this.elementType,sources:this.settings.sources};return null!==this.settings.showSiteMenu&&"auto"!==this.settings.showSiteMenu&&(t.showSiteMenu=this.settings.showSiteMenu?"1":"0"),t},_createElementIndex:function(){var t=this;Craft.sendActionRequest("POST",this.settings.bodyAction,{data:this.getElementIndexParams()}).then((function(e){t.$body.html(e.data.html),t.$body.has(".sidebar:not(.hidden)").length&&(t.$body.addClass("has-sidebar"),t.supportSidebarToggleView=!0),t.elementIndex=Craft.createElementIndex(t.elementType,t.$body,t.getIndexSettings()),t.$main=t.elementIndex.$main,t.$sidebar=t.elementIndex.$sidebar,t.$content=t.$body.find(".content"),t.updateSidebarView(),t.updateModalBottomPadding(),t.addListener(t.elementIndex.$elements,"doubletap",(function(t,e){e.firstTap.target===e.secondTap.target&&this.selectElements()})),t.on("updateSizeAndPosition",(function(){t.elementIndex.handleResize()})),t.updateSelectBtnState()}))},getIndexSettings:function(){var t=this;return Object.assign({context:"modal",modal:this,storageKey:this.settings.storageKey,condition:this.settings.condition,referenceElementId:this.settings.referenceElementId,referenceElementSiteId:this.settings.referenceElementSiteId,criteria:Object.assign({},this.settings.criteria),disabledElementIds:this.settings.disabledElementIds,selectable:!0,multiSelect:this.settings.multiSelect,buttonContainer:this.$secondaryButtons,onSelectionChange:function(){t.elementIndex&&t.onSelectionChange()},onSourcePathChange:function(){t.elementIndex&&t.onSelectionChange()},onSelectSource:this.onSelectSource.bind(this),hideSidebar:this.settings.hideSidebar,defaultSiteId:this.settings.defaultSiteId,defaultSource:this.settings.defaultSource,defaultSourcePath:this.settings.defaultSourcePath,preferStoredSource:this.settings.preferStoredSource,showSourcePath:this.settings.showSourcePath},this.settings.indexSettings)}},{defaults:{fullscreen:!1,resizable:!0,storageKey:null,sources:null,condition:null,referenceElementId:null,referenceElementSiteId:null,criteria:null,multiSelect:!1,showSiteMenu:null,disabledElementIds:[],disableElementsOnSelect:!1,hideOnSelect:!0,modalTitle:Craft.t("app","Select element"),showTitle:!1,selectBtnLabel:Craft.t("app","Select"),onCancel:$.noop,onSelect:$.noop,hideSidebar:!1,defaultSiteId:null,defaultSource:null,defaultSourcePath:null,preferStoredSource:!1,showSourcePath:!0,bodyAction:"element-selector-modals/body",indexSettings:{}}})},8843:function(){Craft.BaseInputGenerator=Garnish.Base.extend({$source:null,$target:null,$form:null,settings:null,listening:null,timeout:null,init:function(t,e,i){this.$source=$(t),this.$target=$(e),this.$form=this.$source.closest("form"),this.setSettings(i,Craft.BaseInputGenerator.defaults),this.setSettings(i),this.startListening()},setNewSource:function(t){var e=this.listening;this.stopListening(),this.$source=$(t),e&&this.startListening()},startListening:function(){this.listening||(this.listening=!0,this.addListener(this.$source,"input","onSourceTextChange"),this.addListener(this.$target,"input","onTargetTextChange"),this.addListener(this.$form,"submit","onFormSubmit"))},stopListening:function(){this.listening&&(this.listening=!1,this.timeout&&clearTimeout(this.timeout),this.removeAllListeners(this.$source),this.removeAllListeners(this.$target),this.removeAllListeners(this.$form))},onSourceTextChange:function(){this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(this.updateTarget.bind(this),250)},onTargetTextChange:function(){this.$target.get(0)===document.activeElement&&this.stopListening()},onFormSubmit:function(){this.timeout&&clearTimeout(this.timeout),this.updateTarget()},updateTarget:function(){if(this.$target.is(":visible")||0!=this.settings.updateWhenHidden){var t=this.$source.val();if(void 0!==t){var e=this.generateTargetValue(t);e&&(e="".concat(this.settings.prefix).concat(e).concat(this.settings.suffix)),this.$target.val(e);for(var i=0;i<this.$target.length;i++)this.$target[i].dispatchEvent(new InputEvent("input",{inputType:"insertText"})),this.$target[i].dispatchEvent(new Event("input"));this.$target.is(":focus")&&Craft.selectFullValue(this.$target)}}},generateTargetValue:function(t){return t}},{defaults:{updateWhenHidden:!1,prefix:"",suffix:""}})},4918:function(){Craft.BaseUploader=Garnish.Base.extend({allowedKinds:null,$element:null,$fileInput:null,settings:null,fsType:null,formData:{},events:{},_rejectedFiles:{},_extensionList:null,_inProgressCounter:0,init:function(t,e){this._rejectedFiles={size:[],type:[],limit:[]},this.$element=t,this.settings=$.extend({},Craft.BaseUploader.defaults,e),this.formData=this.settings.formData,this.$fileInput=this.settings.fileInput||t,this.events=this.settings.events,this.settings.url||(this.settings.url=this.settings.replace?Craft.getActionUrl(this.settings.replaceAction):Craft.getActionUrl(this.settings.createAction)),this.settings.allowedKinds&&this.settings.allowedKinds.length&&("string"==typeof this.settings.allowedKinds&&(this.settings.allowedKinds=[this.settings.allowedKinds]),this.allowedKinds=this.settings.allowedKinds,delete this.settings.allowedKinds)},setParams:function(t){void 0!==Craft.csrfTokenName&&void 0!==Craft.csrfTokenValue&&(t[Craft.csrfTokenName]=Craft.csrfTokenValue),this.formData=t},getInProgress:function(){return this._inProgressCounter},isLastUpload:function(){return this.getInProgress()<2},processErrorMessages:function(){var t;this._rejectedFiles.type.length&&(t=1===this._rejectedFiles.type.length?"The file {files} could not be uploaded. The allowed file kinds are: {kinds}.":"The files {files} could not be uploaded. The allowed file kinds are: {kinds}.",t=Craft.t("app",t,{files:this._rejectedFiles.type.join(", "),kinds:this.allowedKinds.join(", ")}),this._rejectedFiles.type=[],Craft.cp.displayError(t)),this._rejectedFiles.size.length&&(t=1===this._rejectedFiles.size.length?"The file {files} could not be uploaded, because it exceeds the maximum upload size of {size}.":"The files {files} could not be uploaded, because they exceeded the maximum upload size of {size}.",t=Craft.t("app",t,{files:this._rejectedFiles.size.join(", "),size:this.humanFileSize(this.settings.maxFileSize)}),this._rejectedFiles.size=[],Craft.cp.displayError(t)),this._rejectedFiles.limit.length&&(t=1===this._rejectedFiles.limit.length?"The file {files} could not be uploaded, because the field limit has been reached.":"The files {files} could not be uploaded, because the field limit has been reached.",t=Craft.t("app",t,{files:this._rejectedFiles.limit.join(", ")}),this._rejectedFiles.limit=[],Craft.cp.displayError(t))},humanFileSize:function(t){var e=1024;if(t<e)return t+" B";var i=-1;do{t/=e,++i}while(t>=e);return t.toFixed(1)+" "+["kB","MB","GB","TB","PB","EB","ZB","YB"][i]},_createExtensionList:function(){this._extensionList=[];for(var t=0;t<this.allowedKinds.length;t++){var e=this.allowedKinds[t];if(void 0!==Craft.fileKinds[e])for(var i=0;i<Craft.fileKinds[e].extensions.length;i++){var n=Craft.fileKinds[e].extensions[i];this._extensionList.push(n)}}},destroy:$.noop},{defaults:{dropZone:null,pasteZone:null,fileInput:null,maxFileSize:Craft.maxUploadSize,allowedKinds:null,events:{},formData:{},canAddMoreFiles:null,headers:{Accept:"application/json;q=0.9,*/*;q=0.8"},paramName:"assets-upload",url:null,createAction:null,replaceAction:null,deleteAction:null,replace:!1}})},525:function(){function t(){"use strict";t=function(){return e};var e={},i=Object.prototype,n=i.hasOwnProperty,a=Object.defineProperty||function(t,e,i){t[e]=i.value},r="function"==typeof Symbol?Symbol:{},o=r.iterator||"@@iterator",l=r.asyncIterator||"@@asyncIterator",h=r.toStringTag||"@@toStringTag";function d(t,e,i){return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{d({},"")}catch(t){d=function(t,e,i){return t[e]=i}}function c(t,e,i,n){var s=e&&e.prototype instanceof f?e:f,r=Object.create(s.prototype),o=new x(n||[]);return a(r,"_invoke",{value:w(t,i,o)}),r}function u(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}e.wrap=c;var p={};function f(){}function g(){}function m(){}var v={};d(v,o,(function(){return this}));var b=Object.getPrototypeOf,$=b&&b(b(P([])));$&&$!==i&&n.call($,o)&&(v=$);var C=m.prototype=f.prototype=Object.create(v);function _(t){["next","throw","return"].forEach((function(e){d(t,e,(function(t){return this._invoke(e,t)}))}))}function y(t,e){function i(a,r,o,l){var h=u(t[a],t,r);if("throw"!==h.type){var d=h.arg,c=d.value;return c&&"object"==s(c)&&n.call(c,"__await")?e.resolve(c.__await).then((function(t){i("next",t,o,l)}),(function(t){i("throw",t,o,l)})):e.resolve(c).then((function(t){d.value=t,o(d)}),(function(t){return i("throw",t,o,l)}))}l(h.arg)}var r;a(this,"_invoke",{value:function(t,n){function s(){return new e((function(e,s){i(t,n,e,s)}))}return r=r?r.then(s,s):s()}})}function w(t,e,i){var n="suspendedStart";return function(s,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===s)throw a;return{value:void 0,done:!0}}for(i.method=s,i.arg=a;;){var r=i.delegate;if(r){var o=S(r,i);if(o){if(o===p)continue;return o}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if("suspendedStart"===n)throw n="completed",i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);n="executing";var l=u(t,e,i);if("normal"===l.type){if(n=i.done?"completed":"suspendedYield",l.arg===p)continue;return{value:l.arg,done:i.done}}"throw"===l.type&&(n="completed",i.method="throw",i.arg=l.arg)}}}function S(t,e){var i=t.iterator[e.method];if(void 0===i){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,S(t,e),"throw"===e.method))return p;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var n=u(i,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,p;var s=n.arg;return s?s.done?(e[t.resultName]=s.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):s:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function T(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function x(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(T,this),this.reset(!0)}function P(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,s=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return s.next=s}}return{next:E}}function E(){return{value:void 0,done:!0}}return g.prototype=m,a(C,"constructor",{value:m,configurable:!0}),a(m,"constructor",{value:g,configurable:!0}),g.displayName=d(m,h,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,d(t,h,"GeneratorFunction")),t.prototype=Object.create(C),t},e.awrap=function(t){return{__await:t}},_(y.prototype),d(y.prototype,l,(function(){return this})),e.AsyncIterator=y,e.async=function(t,i,n,s,a){void 0===a&&(a=Promise);var r=new y(c(t,i,n,s),a);return e.isGeneratorFunction(i)?r:r.next().then((function(t){return t.done?t.value:r.next()}))},_(C),d(C,h,"Generator"),d(C,o,(function(){return this})),d(C,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),i=[];for(var n in e)i.push(n);return i.reverse(),function t(){for(;i.length;){var n=i.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=P,x.prototype={constructor:x,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(I),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(i,n){return r.type="throw",r.arg=t,e.next=i,n&&(e.method="next",e.arg=void 0),!!n}for(var s=this.tryEntries.length-1;s>=0;--s){var a=this.tryEntries[s],r=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var o=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(o&&l){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(o){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var s=this.tryEntries[i];if(s.tryLoc<=this.prev&&n.call(s,"finallyLoc")&&this.prev<s.finallyLoc){var a=s;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var r=a?a.completion:{};return r.type=t,r.arg=e,a?(this.method="next",this.next=a.finallyLoc,p):this.complete(r)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),I(i),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var s=n.arg;I(i)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:P(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=void 0),p}},e}function e(t,e,i,n,s,a,r){try{var o=t[a](r),l=o.value}catch(t){return void i(t)}o.done?e(l):Promise.resolve(l).then(n,s)}function i(t){return function(){var i=this,n=arguments;return new Promise((function(s,a){var r=t.apply(i,n);function o(t){e(r,s,a,o,l,"next",t)}function l(t){e(r,s,a,o,l,"throw",t)}o(void 0)}))}}function n(t,e){var i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!i){if(Array.isArray(t)||(i=a(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,s=function(){};return{s:s,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,l=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return o=t.done,t},e:function(t){l=!0,r=t},f:function(){try{o||null==i.return||i.return()}finally{if(l)throw r}}}}function s(t){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}function a(t,e){if(t){if("string"==typeof t)return r(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?r(t,e):void 0}}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}Craft.CP=Garnish.Base.extend({elementThumbLoader:null,authManager:null,$nav:null,$navToggle:null,$globalSidebar:null,$globalContainer:null,$mainContainer:null,$alerts:null,$crumbs:null,$breadcrumbList:null,$breadcrumbItems:null,$notificationContainer:null,$main:null,$primaryForm:null,$headerContainer:null,$header:null,$mainContent:null,$details:null,$sidebarContainer:null,$sidebarToggle:null,$sidebar:null,$contentContainer:null,$edition:null,$confirmUnloadForms:null,$deltaForms:null,$collapsibleTables:null,isMobile:null,fixedHeader:!1,breadcrumbListWidth:0,breadcrumbDisclosureItem:'<li class="breadcrumb-toggle-wrapper" data-disclosure-item><button data-disclosure-trigger aria-controls="breadcrumb-disclosure" aria-haspopup="true">'.concat(Craft.t("app","More…"),'</button><div id="breadcrumb-disclosure" class="menu menu--disclosure" data-disclosure-menu><ul></ul></div></li>'),tabManager:null,enableQueue:!0,totalJobs:0,jobInfo:null,displayedJobInfo:null,displayedJobInfoUnchanged:1,trackJobProgressTimeout:null,trackingJobProgress:!1,jobProgressCancelToken:null,jobProgressIcon:null,checkingForUpdates:!1,forcingRefreshOnUpdatesCheck:!1,includingDetailsOnUpdatesCheck:!1,checkForUpdatesCallbacks:null,checkForUpdatesFailureCallbacks:null,resizeTimeout:null,init:function(){var t=this;this.elementThumbLoader=new Craft.ElementThumbLoader,0!==Craft.remainingSessionTime&&(this.authManager=new Craft.AuthManager),this.$nav=$("#nav"),this.$navToggle=$("#primary-nav-toggle"),this.$globalSidebar=$("#global-sidebar"),this.$globalContainer=$("#global-container"),this.$mainContainer=$("#main-container"),this.$alerts=$("#alerts"),this.$crumbs=$("#crumbs"),this.$breadcrumbList=$(".breadcrumb-list"),this.$breadcrumbItems=$(".breadcrumb-list li"),this.$notificationContainer=$("#notifications"),this.$main=$("#main"),this.$primaryForm=$("#main-form"),this.$headerContainer=$("#header-container"),this.$header=$("#header"),this.$mainContent=$("#main-content"),this.$details=$("#details"),this.$sidebarContainer=$("#sidebar-container"),this.$sidebarToggle=$("#sidebar-toggle"),this.$sidebar=$("#sidebar"),this.$contentContainer=$("#content-container"),this.$collapsibleTables=$("table.collapsible"),this.isMobile=Garnish.isMobileBrowser(),this.updateContentHeading();for(var e,i=this.$details.find(".meta > .field > .instructions"),n=0;n<i.length;n++){var s=i.eq(n),r=s.siblings(".heading").children("label");$("<span/>",{class:"info",html:s.children().html()}).appendTo(r),s.remove()}if(!this.isMobile&&this.$header.length&&(this.addListener(Garnish.$win,"scroll","updateFixedHeader"),this.updateFixedHeader()),Garnish.$doc.ready((function(){t.addListener(Garnish.$win,"resize",(function(e){if(e.target===window){t.handleWindowResize(),clearTimeout(t.resizeTimeout);var i=t;t.resizeTimeout=setTimeout((function(){i.setSidebarNavAttributes()}),100)}})),t.handleWindowResize(),t.setSidebarNavAttributes(),Garnish.requestAnimationFrame(t.initSpecialForms.bind(t))})),this.$alerts.length&&this.initAlerts(),this.addListener(this.$navToggle,"click","toggleNav"),this.addListener(this.$sidebarToggle,"click","toggleSidebar"),this.$primaryForm.length||(this.$primaryForm=$("form[data-saveshortcut]:first")),this.$primaryForm.length&&Garnish.hasAttr(this.$primaryForm,"data-saveshortcut")&&function(){var e=[],i=t.$primaryForm.data("actions");if(void 0===i)e.push([{keyCode:Garnish.S_KEY,ctrl:!0},{redirect:t.$primaryForm.data("saveshortcut-redirect"),retainScroll:Garnish.hasAttr(t.$primaryForm,"saveshortcut-scroll")}]);else for(var n=0;n<i.length;n++){var s=i[n];s.shortcut&&e.push([{keyCode:Garnish.S_KEY,ctrl:!0,shift:!!s.shift},{action:s.action,redirect:s.redirect,confirm:s.confirm,params:s.params,data:s.data,retainScroll:s.retainScroll}])}for(var a=function(i){Garnish.uiLayerManager.registerShortcut(e[i][0],(function(){t.submitPrimaryForm(e[i][1])}))},r=0;r<e.length;r++)a(r)}(),this.initTabs(),this.tabManager&&window.LOCATION_HASH){var o=this.tabManager.$tabs.filter('[href="#'.concat(window.LOCATION_HASH,'"]'));o.length&&this.tabManager.selectTab(o)}var l=document.location,h=new URLSearchParams(l.search);if(h.has("scrollY")?(e=h.get("scrollY"),h.delete("scrollY"),Craft.setUrl(Craft.getUrl("".concat(l.origin).concat(l.pathname).concat(l.hash),h.toString()))):void 0!==(e=Craft.getLocalStorage("scrollY"))&&Craft.removeLocalStorage("scrollY"),void 0!==e&&Garnish.$doc.ready((function(){Garnish.requestAnimationFrame((function(){window.scrollTo(0,e)}))})),$.isTouchCapable()&&(this.$mainContainer.on("focus","input, textarea, .focusable-input",this._handleInputFocus.bind(this)),this.$mainContainer.on("blur","input, textarea, .focusable-input",this._handleInputBlur.bind(this))),Craft.announcements.length){var d,c,u=$("#announcements-btn").removeClass("hidden"),p=Craft.announcements.some((function(t){return t.unread}));p&&(d=$("<span/>",{class:"visually-hidden",html:Craft.t("app","Unread messages")}),u.addClass("unread").append(d)),this.addListener(u,"click",(function(){if(c)c.show();else{var t="";Craft.announcements.forEach((function(e){t+='<div class="announcement '.concat(e.unread?"unread":"",'" role="listitem">')+'<div class="announcement__header">'+'<h3 class="announcement__heading h2">'.concat(e.heading,"</h3>")+'<div class="announcement-label-container">'+'<div class="announcement-icon" aria-hidden="true">'.concat(e.icon,"</div>")+'<div class="announcement-label">'.concat(e.label,"</div>")+"</div></div>"+"<p>".concat(e.body,"</p>")+"</div>"})),c=new Garnish.HUD(u,'<h2 class="visually-hidden">'.concat(Craft.t("app","Announcements"),'</h2><div id="announcements" role="list">').concat(t,"</div>"),{onShow:function(){u.addClass("active")},onHide:function(){u.removeClass("active")}}),$("a",c.$main).each((function(){this.hostname.length&&this.hostname!==l.hostname&&void 0===$(this).attr("target")&&$(this).attr("rel","noopener").attr("target","_blank")})),p&&(u.removeClass("unread"),d.remove(),Craft.sendActionRequest("POST","users/mark-announcements-as-read",{data:{ids:Craft.announcements.map((function(t){return t.id}))}}))}}))}var f=document.getElementById("footer");f&&new IntersectionObserver((function(t){var e=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var n,s,a=[],r=!0,o=!1;try{for(i=i.call(t);!(r=(n=i.next()).done)&&(a.push(n.value),!e||a.length!==e);r=!0);}catch(t){o=!0,s=t}finally{try{r||null==i.return||i.return()}finally{if(o)throw s}}return a}}(t,e)||a(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(t,1)[0];e.target.classList.toggle("stuck",e.intersectionRatio<1)}),{rootMargin:"0px 0px -1px 0px",threshold:[1]}).observe(f),this.elementThumbLoader.load($("#user-info")),this.elementThumbLoader.load(this.$mainContent)},get $contentHeader(){var t=$("#content-header");return t.length?t:$("<header/>",{id:"content-header",class:"pane-header"}).prependTo($("#content"))},get $noticeContainer(){var t=$("#content-notice");return t.length?t:$('<div id="content-notice"/>').attr("role","status").prependTo(this.$contentHeader)},initSpecialForms:function(){var t=this;if(this.$confirmUnloadForms=$("form[data-confirm-unload]"),this.$deltaForms=$("form[data-delta]"),this.$confirmUnloadForms.length){for(var e=this.$confirmUnloadForms.add(this.$deltaForms),i=function(i){var n=e.eq(i);if(!n.data("initialSerializedValue")){var s=n.data("serializer")||function(){return n.serialize()};n.data("initialSerializedValue",s())}t.addListener(n,"submit",(function(t){if(Garnish.hasAttr(n,"data-confirm-unload")&&this.removeListener(Garnish.$win,"beforeunload"),Garnish.hasAttr(n,"data-delta")){t.preventDefault();var e=n.data("serializer")||function(){return n.serialize()},i=Craft.findDeltaData(n.data("initialSerializedValue"),e(),n.data("delta-names"),null,n.data("initial-delta-values"),n.data("modified-delta-names"));Craft.createForm(i).appendTo(Garnish.$bod).submit()}}))},n=0;n<e.length;n++)i(n);this.addListener(Garnish.$win,"beforeunload",(function(t){var e=!1;if(void 0!==Craft.livePreview&&Craft.livePreview.inPreviewMode)e=!0;else for(var i=0;i<this.$confirmUnloadForms.length;i++){var n,s=this.$confirmUnloadForms.eq(i);if(n="function"==typeof s.data("serializer")?s.data("serializer")():s.serialize(),s.data("initialSerializedValue")!==n){e=!0;break}}if(e){var a=Craft.t("app","Any changes will be lost if you leave this page.");return t?t.originalEvent.returnValue=a:window.event.returnValue=a,a}}))}},_handleInputFocus:function(){this.updateFixedHeader()},_handleInputBlur:function(){this.updateFixedHeader()},submitPrimaryForm:function(t){this.trigger("beforeSaveShortcut"),"object"===s(t)&&$.isPlainObject(t)||(t={}),t.redirect||(t.redirect=this.$primaryForm.data("saveshortcut-redirect")),t.data||(t.data={}),t.data.saveShortcut=!0,Craft.submitForm(this.$primaryForm,t)},updateSidebarMenuLabel:function(){this.updateContentHeading()},updateContentHeading:function(){var t=this.$sidebar.find("a.sel:first"),e=t.children(".label");$("#content-heading").text(e.length?e.text():t.text()),Garnish.$bod.removeClass("showing-sidebar")},toggleNav:function(){var t=this.navIsExpanded();null!==t&&(t?(this.disableGlobalSidebarLinks(),this.$navToggle.focus(),this.$navToggle.attr("aria-expanded","false"),Garnish.$bod.removeClass("showing-nav")):(this.enableGlobalSidebarLinks(),this.$globalSidebar.find(":focusable")[0].focus(),this.$navToggle.attr("aria-expanded","true"),Garnish.$bod.addClass("showing-nav")))},enableGlobalSidebarLinks:function(){var t=this.$globalSidebar.find(":focusable");$(t).each((function(){$(this).attr("tabindex","0")}))},disableGlobalSidebarLinks:function(){var t=this.$globalSidebar.find(":focusable");$(t).each((function(){$(this).attr("tabindex","-1")}))},setSidebarNavAttributes:function(){var t=this.navIsExpanded();null!==t&&(t?this.enableGlobalSidebarLinks():this.disableGlobalSidebarLinks())},navIsExpanded:function(){if(!this.$globalSidebar[0])return null;var t=getComputedStyle(this.$globalSidebar[0]).getPropertyValue("--is-always-visible").trim();return"true"===this.$navToggle.attr("aria-expanded")||"true"===t},toggleSidebar:function(){var t="true"===this.$sidebarToggle.attr("aria-expanded")?"false":"true";this.$sidebarToggle.attr("aria-expanded",t),Garnish.$bod.toggleClass("showing-sidebar")},initTabs:function(){this.tabManager&&(this.tabManager.destroy(),this.tabManager=null);var t=$("#tabs");t.length&&(this.tabManager=new Craft.Tabs(t),this.tabManager.on("selectTab",(function(t){var e=t.$tab.attr("href");if(e&&"#"===e.charAt(0)&&$(e).removeClass("hidden"),Garnish.$win.trigger("resize"),Garnish.$doc.trigger("scroll"),e&&"#"===e.charAt(0)){var i=$("#context-btn").menubtn().data("menubtn");if(i)for(var n=0;n<i.menu.$options.length;n++){var s=i.menu.$options[n];s.href&&(s.href=s.href.match(/^[^#]*/)[0]+e)}}"undefined"!=typeof history&&Garnish.requestAnimationFrame((function(){history.replaceState(void 0,void 0,e)}))})),this.tabManager.on("deselectTab",(function(t){var e=t.$tab.attr("href");e&&"#"===e.charAt(0)&&$(t.$tab.attr("href")).addClass("hidden")})))},updateTabs:function(t){if(t){var e=$(t).attr("id","tabs");this.tabManager?this.tabManager.$container.replaceWith(e):e.appendTo(this.$contentHeader),this.initTabs()}else this.tabManager&&(this.tabManager.$container.siblings().length?this.tabManager.$container.remove():this.tabManager.$container.parent().remove(),this.tabManager.destroy(),this.tabManager=null)},get $tabsContainer(){return this.tabManager?this.tabManager.$container:void 0},get $tabsList(){return this.tabManager?this.tabManager.$tablist:void 0},get $tabs(){return this.tabManager?this.tabManager.$tablist.find("> a"):void 0},get $selectedTab(){return this.tabManager?this.tabManager.$selectedTab:void 0},get selectedTabIndex(){return this.tabManager?this.tabManager.$tabs.index(this.tabManager.$selectedTab):void 0},get $focusableTab(){return this.tabManager?this.tabManager.$focusableTab:void 0},selectTab:function(t){this.tabManager&&this.tabManager.selectTab(t)},deselectTab:function(){this.tabManager&&this.tabManager.deselectTab()},handleWindowResize:function(){this.updateResponsiveTables(),this.handleBreadcrumbVisibility()},breadcrumbItemsWrap:function(){if(this.$breadcrumbItems[0]){this.$breadcrumbList.css("ltr"===Craft.orientation?"margin-right":"margin-left","");for(var t=this.$breadcrumbList[0].getBoundingClientRect().width,e=0,i=this.$breadcrumbList.find("li"),n=0;n<i.length;n++)e+=i.get(n).getBoundingClientRect().width;return this.breadcrumbListWidth=t,!(e<=t||e<t+1&&(this.$breadcrumbList.css("ltr"===Craft.orientation?"margin-right":"margin-left","-1px"),1))}},handleBreadcrumbVisibility:function(){if(this.breadcrumbItemsWrap()){0===this.$breadcrumbList.find("[data-disclosure-item]").length&&this.$breadcrumbList.append(this.breadcrumbDisclosureItem);var t,e=this.$breadcrumbList.find("[data-disclosure-item]")[0].offsetWidth,i=this.breadcrumbListWidth;this.$breadcrumbItems.each((function(n){if(!(e+this.offsetWidth<i))return!1;t=n,e+=this.offsetWidth}));var n=this.$breadcrumbItems.slice(0,t+1),s=this.$breadcrumbItems.slice(t+1);this.$breadcrumbList.html(""),this.$breadcrumbList.append(n),this.$breadcrumbList.append(this.breadcrumbDisclosureItem),this.$breadcrumbList.find("[data-disclosure-menu] ul").append(s),this.$breadcrumbList.find("[data-disclosure-trigger]").disclosureMenu()}},updateResponsiveTables:function(){for(this.updateResponsiveTables._i=0;this.updateResponsiveTables._i<this.$collapsibleTables.length;this.updateResponsiveTables._i++)this.updateResponsiveTables._$table=this.$collapsibleTables.eq(this.updateResponsiveTables._i),this.updateResponsiveTables._containerWidth=this.updateResponsiveTables._$table.parent().width(),this.updateResponsiveTables._check=!1,this.updateResponsiveTables._containerWidth>0&&(void 0===this.updateResponsiveTables._$table.data("lastContainerWidth")?this.updateResponsiveTables._check=!0:(this.updateResponsiveTables._isCollapsed=this.updateResponsiveTables._$table.hasClass("collapsed"),this.updateResponsiveTables._containerWidth>this.updateResponsiveTables._$table.data("lastContainerWidth")?this.updateResponsiveTables._isCollapsed&&(this.updateResponsiveTables._$table.removeClass("collapsed"),this.updateResponsiveTables._check=!0):this.updateResponsiveTables._isCollapsed||(this.updateResponsiveTables._check=!0)),this.updateResponsiveTables._check&&this.updateResponsiveTables._$table.width()-30>this.updateResponsiveTables._containerWidth&&this.updateResponsiveTables._$table.addClass("collapsed"),this.updateResponsiveTables._$table.data("lastContainerWidth",this.updateResponsiveTables._containerWidth))},updateFixedHeader:function(){if(!this.isMobile)if(this.$main.length&&this.$headerContainer[0].getBoundingClientRect().top<0){var t=this.$headerContainer.height();this.fixedHeader||(this.$contentContainer.css("min-height","calc(100vh - "+(t+14+48-1)+"px)"),this.$headerContainer.height(t),Garnish.$bod.addClass("fixed-header"),this.fixedHeader=!0),this._setFixedTopPos(this.$sidebar,t),this._setFixedTopPos(this.$details,t)}else this.fixedHeader&&(this.$headerContainer.height("auto"),Garnish.$bod.removeClass("fixed-header"),this.$contentContainer.css("min-height",""),this.$sidebar.removeClass("fixed").css("top",""),this.$details.removeClass("fixed").css("top",""),this.fixedHeader=!1)},_setFixedTopPos:function(t,e){t.length&&this.$contentContainer.length&&(t.outerHeight()>=this.$contentContainer.outerHeight()?t.removeClass("fixed").css("top",""):t.addClass("fixed").css("top",Math.min(e+14,Math.max(this.$mainContent[0].getBoundingClientRect().top,document.documentElement.clientHeight-t.outerHeight()))+"px"))},displayNotification:function(t,e,i){var n=new Craft.CP.Notification(t,e,i);return this.trigger("displayNotification",{notificationType:t,message:e,notification:n}),n},displayNotice:function(t,e){return this.displayNotification("notice",t,Object.assign({icon:"info",iconLabel:Craft.t("app","Notice")},e))},displaySuccess:function(t,e){return this.displayNotification("success",t,Object.assign({icon:"check",iconLabel:Craft.t("app","Success")},e))},displayError:function(t,e){return t&&"object"!==s(t)||(e=t,t=Craft.t("app","A server error occurred.")),this.displayNotification("error",t,Object.assign({icon:"alert",iconLabel:Craft.t("app","Error")},e))},fetchAlerts:function(){return Craft.queue.push((function(){return new Promise((function(t,e){var i={path:Craft.path};Craft.sendActionRequest("POST","app/get-cp-alerts",{data:i}).then((function(e){var i=e.data;t(i.alerts)})).catch(e)}))}))},displayAlerts:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.$alerts.remove(),Array.isArray(t)&&t.length){this.$alerts=$('<ul id="alerts"/>').prependTo($("#page-container"));var i,s=n(t);try{for(s.s();!(i=s.n()).done;){var a=i.value;$.isPlainObject(a)||(a={content:a,showIcon:!0});var r=a.content;a.showIcon&&(r='<span data-icon="alert" aria-label="'.concat(Craft.t("app","Error"),'"></span> ').concat(r)),$("<li>".concat(r,"</li>")).appendTo(this.$alerts)}}catch(t){s.e(t)}finally{s.f()}if(e){var o=this.$alerts.outerHeight();this.$alerts.css("margin-top",-o).velocity({"margin-top":0},"fast")}this.initAlerts()}},initAlerts:function(){for(var e=this,n=this.$alerts.find('a[class^="shun:"]'),s=0;s<n.length;s++)this.addListener(n[s],"click",(function(t){t.preventDefault(),Craft.queue.push((function(){return new Promise((function(i,n){var s=$(t.currentTarget),a={message:s.prop("className").substring(5)};Craft.sendActionRequest("POST","app/shun-cp-alert",{data:a}).then((function(){s.parent().remove(),i()})).catch((function(t){var i=t.response;e.displayError(i.data.message),n()}))}))}))}));var a=this.$alerts.find(".resolvable-alert-buttons");if(a.length){var r=Craft.ui.createButton({label:Craft.t("app","Refresh"),spinner:!0}).appendTo(a);r.on("click",i(t().mark((function i(){var n;return t().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r.addClass("loading"),t.prev=1,t.next=4,Craft.sendApiRequest("GET","ping");case 4:return t.next=6,e.fetchAlerts();case 6:n=t.sent,e.displayAlerts(n,!1);case 8:return t.prev=8,r.removeClass("loading"),t.finish(8);case 11:case"end":return t.stop()}}),i,null,[[1,,8,11]])}))))}},checkForUpdates:function(t,e,i,s){var a=this;if("function"==typeof e&&(s=i,i=e,e=!1),this.checkingForUpdates&&(!0===t&&!this.forcingRefreshOnUpdatesCheck||!0===e&&!this.includingDetailsOnUpdatesCheck)){var r=i,o=s;i=function(){a.checkForUpdates(t,e,r,o)}}"function"==typeof i&&(Array.isArray(this.checkForUpdatesCallbacks)||(this.checkForUpdatesCallbacks=[]),this.checkForUpdatesCallbacks.push(i)),"function"==typeof s&&(Array.isArray(this.checkForUpdatesFailureCallbacks)||(this.checkForUpdatesFailureCallbacks=[]),this.checkForUpdatesFailureCallbacks.push(s)),this.checkingForUpdates||(this.checkingForUpdates=!0,this.forcingRefreshOnUpdatesCheck=!0===t,this.includingDetailsOnUpdatesCheck=!0===e,this._checkForUpdates(t,e).then((function(t){if(a.updateUtilitiesBadge(),a.checkingForUpdates=!1,Array.isArray(a.checkForUpdatesCallbacks)){var e=a.checkForUpdatesCallbacks;a.checkForUpdatesCallbacks=null;var i,s=n(e);try{for(s.s();!(i=s.n()).done;)(0,i.value)(t)}catch(t){s.e(t)}finally{s.f()}}a.trigger("checkForUpdates",{updateInfo:t})})).catch((function(){if(a.checkingForUpdates=!1,Array.isArray(a.checkForUpdatesFailureCallbacks)){var t=a.checkForUpdatesFailureCallbacks;a.checkForUpdatesFailureCallbacks=null;var e,i=n(t);try{for(i.s();!(e=i.n()).done;)(0,e.value)()}catch(t){i.e(t)}finally{i.f()}}})))},_checkForUpdates:function(t,e){var i=this;return new Promise((function(n,s){t?i._getUpdates(e).then(n).catch(s):i._checkForCachedUpdates(e).then((function(t){t.cached?n(t):i._getUpdates(e).then((function(t){n(t)})).catch(s)})).catch(s)}))},_checkForCachedUpdates:function(t){return new Promise((function(e,i){var n={onlyIfCached:!0,includeDetails:t};Craft.sendActionRequest("POST","app/check-for-updates",{data:n}).then((function(t){var i=t.data;e(i)})).catch((function(){e({cached:!1})}))}))},_getUpdates:function(t){var e=this;return new Promise((function(i,n){Craft.sendApiRequest("GET","updates").then((function(s){e._cacheUpdates(s,t).then((function(t){i(t)})).catch(n)})).catch(n)}))},_cacheUpdates:function(t,e){return new Promise((function(i,n){var s={updates:t,includeDetails:e};Craft.sendActionRequest("POST","app/cache-updates",{data:s}).then((function(t){var e=t.data;i(e)})).catch(n)}))},updateUtilitiesBadge:function(){var t=$("#nav-utilities").find("> a:not(.sel)");t.length&&Craft.queue.push((function(){return new Promise((function(e,i){Craft.sendActionRequest("POST","app/get-utilities-badge-count").then((function(i){var n=i.data,s=t.children(".badge"),a=t.children("[data-notification]");n.badgeCount?(s.length||(s=$('<span class="badge" aria-hidden="true"/>').appendTo(t)),a.length||(a=$('<span class="visually-hidden" data-notification/>').appendTo(t)),s.text(n.badgeCount),a.text(Craft.t("app","{num, number} {num, plural, =1{notification} other{notifications}}",{num:n.badgeCount}))):s.length&&a.length&&(s.remove(),a.remove()),e()})).catch(i)}))}))},runQueue:function(){var t=this;this.enableQueue&&(Craft.runQueueAutomatically?Craft.queue.push((function(){return new Promise((function(e,i){Craft.sendActionRequest("POST","queue/run").then((function(){t.trackJobProgress(!1,!0),e()})).catch(i)}))})):this.trackJobProgress(!1,!0))},trackJobProgress:function(t,e){this.trackJobProgressTimeout&&!e||!this.enableQueue||(this.cancelJobTracking(),t?(!0===t&&(t=this.getNextJobDelay()),this.trackJobProgressTimeout=setTimeout(this._trackJobProgressInternal.bind(this),t)):this._trackJobProgressInternal())},getNextJobDelay:function(){return Math.min(6e4,500*this.displayedJobInfoUnchanged)},_trackJobProgressInternal:function(){var e=this;Craft.remainingSessionTime?(this.trackingJobProgress=!0,Craft.queue.push(i(t().mark((function i(){var n,s,a;return t().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e.trackingJobProgress){t.next=2;break}return t.abrupt("return");case 2:return Craft.broadcaster&&Craft.broadcaster.postMessage({event:"beforeTrackJobProgress"}),e.jobProgressCancelToken=axios.CancelToken.source(),t.prev=4,t.next=7,Craft.sendActionRequest("POST","queue/get-job-info?limit=50&dontExtendSession=1",{cancelToken:e.jobProgressCancelToken.token});case 7:s=t.sent,n=s.data,t.next=20;break;case 11:if(t.prev=11,t.t0=t.catch(4),400!==(null===t.t0||void 0===t.t0||null===(a=t.t0.response)||void 0===a?void 0:a.status)){t.next=17;break}Garnish.once(Craft.AuthManager,"login",(function(){e._trackJobProgressInternal()})),t.next=19;break;case 17:if(!e.trackingJobProgress){t.next=19;break}throw t.t0;case 19:return t.abrupt("return");case 20:return t.prev=20,e.trackingJobProgress=!1,e.trackJobProgressTimeout=null,e.jobProgressCancelToken=null,t.finish(20);case 25:e.setJobData(n),e.jobInfo.length&&e.trackJobProgress(!0),Craft.broadcaster&&Craft.broadcaster.postMessage({event:"trackJobProgress",jobData:n});case 28:case"end":return t.stop()}}),i,null,[[4,11,20,25]])}))))):Garnish.once(Craft.AuthManager,"login",(function(){e._trackJobProgressInternal()}))},setJobData:function(t){this.totalJobs=t.total,this.setJobInfo(t.jobs)},setJobInfo:function(t){if(this.enableQueue){this.jobInfo=t;var e=this.displayedJobInfo;this.displayedJobInfo=this.getDisplayedJobInfo(),e&&this.displayedJobInfo&&e.id===this.displayedJobInfo.id&&e.progress===this.displayedJobInfo.progress&&e.progressLabel===this.displayedJobInfo.progressLabel&&e.status===this.displayedJobInfo.status?this.displayedJobInfoUnchanged++:this.displayedJobInfoUnchanged=1,this.updateJobIcon(),this.trigger("setJobInfo")}},cancelJobTracking:function(){this.trackingJobProgress=!1,this.trackJobProgressTimeout&&(clearTimeout(this.trackJobProgressTimeout),this.trackJobProgressTimeout=null),this.jobProgressCancelToken&&this.jobProgressCancelToken.cancel()},getDisplayedJobInfo:function(){if(!this.enableQueue)return null;for(var t=[Craft.CP.JOB_STATUS_RESERVED,Craft.CP.JOB_STATUS_FAILED,Craft.CP.JOB_STATUS_WAITING],e=0;e<t.length;e++)for(var i=0;i<this.jobInfo.length;i++)if(this.jobInfo[i].status===t[e]&&(t[e]!==Craft.CP.JOB_STATUS_WAITING||!this.jobInfo[i].delay))return this.jobInfo[i];return null},updateJobIcon:function(){this.enableQueue&&this.$nav.length&&(this.displayedJobInfo?(this.jobProgressIcon||(this.jobProgressIcon=new o),this.displayedJobInfo.status===Craft.CP.JOB_STATUS_RESERVED||this.displayedJobInfo.status===Craft.CP.JOB_STATUS_WAITING?(this.jobProgressIcon.hideFailMode(),this.jobProgressIcon.setDescription(this.displayedJobInfo.description,this.displayedJobInfo.progressLabel),this.jobProgressIcon.setProgress(this.displayedJobInfo.progress)):this.displayedJobInfo.status===Craft.CP.JOB_STATUS_FAILED&&this.jobProgressIcon.showFailMode(Craft.t("app","Failed"))):this.jobProgressIcon&&(this.jobProgressIcon.hideFailMode(),this.jobProgressIcon.complete(),delete this.jobProgressIcon))},getSiteId:function(){var t=Craft.getLocalStorage("BaseElementIndex.siteId");if(void 0!==t){Craft.removeLocalStorage("BaseElementIndex.siteId");try{this.setSiteId(t)}catch(t){}}return Craft.siteId},setSiteId:function(t){var e=Craft.sites.find((function(e){return e.id===t}));if(!e)throw"Invalid site ID: ".concat(t);Craft.siteId=t,Craft.actionUrl=Craft.getUrl(Craft.actionUrl,{site:e.handle}),Craft.baseCpUrl=Craft.getUrl(Craft.baseCpUrl,{site:e.handle}),Craft.baseUrl=Craft.getUrl(Craft.baseUrl,{site:e.handle});var i=Craft.getUrl(document.location.href,{site:e.handle});history.replaceState({},"",i);var s,a=n(document.body.classList);try{for(a.s();!(s=a.n()).done;){var r=s.value;r.match(/^site--/)&&document.body.classList.remove(r)}}catch(t){a.e(t)}finally{a.f()}document.body.classList.add("site--".concat(e.handle)),$("a").each((function(){this.hostname.length&&this.hostname===location.hostname&&-1!==this.href.indexOf(Craft.cpTrigger)&&(this.href=Craft.getUrl(this.href,{site:e.handle}))}))}},{notificationDuration:5e3,JOB_STATUS_WAITING:1,JOB_STATUS_RESERVED:2,JOB_STATUS_DONE:3,JOB_STATUS_FAILED:4}),Craft.CP.Notification=Garnish.Base.extend({type:null,message:null,settings:null,closing:!1,closeTimeout:null,_preventDelayedClose:!1,$container:null,$closeBtn:null,originalActiveElement:null,init:function(t,e,i){var n=this;this.type=t,this.message=e,this.settings=i||{},this.$container=$("<div/>",{class:"notification","data-type":this.type}).appendTo(Craft.cp.$notificationContainer);var s=$('<div class="notification-body"/>').appendTo(this.$container);if(this.settings.icon){var a=$("<span/>",{class:"notification-icon","data-icon":this.settings.icon}).appendTo(s);this.settings.iconLabel?a.attr({"aria-label":this.settings.iconLabel,role:"img"}):a.attr("aria-hidden","true")}var r=$('<div class="notification-main"/>').appendTo(s);$("<div/>",{class:"notification-message",text:this.message}).appendTo(r);var o=$("<div/>").appendTo(this.$container);this.$closeBtn=$("<button/>",{type:"button",class:"notification-close-btn","aria-label":Craft.t("app","Close"),"data-icon":"remove"}).appendTo(o),this.settings.details&&$('<div class="notification-details"/>').append(this.settings.details).appendTo(r).find("button,input").length&&(this.originalActiveElement=document.activeElement,this.$container.attr("tabindex","-1").focus(),this.addListener(this.$container,"keydown",(function(t){t.keyCode===Garnish.ESC_KEY&&n.close()}))),this.$container.css({opacity:0,"margin-bottom":this._negMargin()}).velocity({opacity:1,"margin-bottom":0},{duration:"fast"}),Craft.initUiElements(this.$container),this.addListener(this.$closeBtn,"click","close"),Craft.notificationDuration&&this._initDelayedClose()},_initDelayedClose:function(){var t=this;this._preventDelayedClose||(Craft.isVisible()?(this.delayedClose(),this.$container.on("keypress keyup change focus click mousedown mouseup",(function(e){e.target!=t.$closeBtn[0]&&(t.$container.off("keypress keyup change focus click mousedown mouseup"),t.preventDelayedClose())}))):Garnish.$doc.one("visibilitychange",(function(){t._initDelayedClose()})))},_negMargin:function(){return"-".concat(this.$container.outerHeight()+12,"px")},close:function(){var t=this;this.closing||(this.closeTimeout&&(clearTimeout(this.closeTimeout),this.closeTimeout=null),this.closing=!0,this.originalActiveElement&&document.activeElement&&(document.activeElement===this.$container[0]||$.contains(this.$container[0],document.activeElement))&&$(this.originalActiveElement).focus(),this.$container.velocity({opacity:0,"margin-bottom":this._negMargin()},{duration:"fast",complete:function(){t.destroy()}}))},delayedClose:function(){var t=this;this.closeTimeout=setTimeout((function(){t.close()}),Craft.notificationDuration),this.$container.one("mouseover",(function(){clearTimeout(t.closeTimeout),t.closeTimeout=null,t.$container.on("mouseout",(function(e){e.target==t.$container[0]&&(t.$container.off("mouseout"),t.delayedClose())}))}))},preventDelayedClose:function(){this._preventDelayedClose=!0,this.closeTimeout&&(clearTimeout(this.closeTimeout),this.closeTimeout=null),this.$container.off("mouseover mouseout")},destroy:function(){this.$container.remove(),this.base()}}),Garnish.$scrollContainer=Garnish.$win,Craft.cp=new Craft.CP;var o=Garnish.Base.extend({$li:null,$a:null,$label:null,$progressLabel:null,progress:null,failMode:!1,_$bgCanvas:null,_$staticCanvas:null,_$hoverCanvas:null,_$failCanvas:null,_staticCtx:null,_hoverCtx:null,_canvasSize:null,_arcPos:null,_arcRadius:null,_lineWidth:null,_arcStartPos:0,_arcEndPos:0,_arcStartStepSize:null,_arcEndStepSize:null,_arcStep:null,_arcStepTimeout:null,_arcAnimateCallback:null,_progressBar:null,init:function(){this.$li=$("<li/>").appendTo(Craft.cp.$nav.children("ul")),this.$a=$("<a/>",{id:"job-icon",href:Craft.canAccessQueueManager?Craft.getUrl("utilities/queue-manager"):null}).appendTo(this.$li),this.$canvasContainer=$('<span class="icon"/>').appendTo(this.$a);var t=$('<span class="label"/>').appendTo(this.$a);this.$label=$("<span/>").appendTo(t),this.$progressLabel=$('<span class="progress-label"/>').appendTo(t).hide();var e=window.devicePixelRatio>1?2:1;this._canvasSize=18*e,this._arcPos=this._canvasSize/2,this._arcRadius=7*e,this._lineWidth=3*e,this._$bgCanvas=this._createCanvas("bg","#61666b"),this._$staticCanvas=this._createCanvas("static","#d7d9db"),this._$hoverCanvas=this._createCanvas("hover","#fff"),this._$failCanvas=this._createCanvas("fail","#da5a47").hide(),this._staticCtx=this._$staticCanvas[0].getContext("2d"),this._hoverCtx=this._$hoverCanvas[0].getContext("2d"),this._drawArc(this._$bgCanvas[0].getContext("2d"),0,1),this._drawArc(this._$failCanvas[0].getContext("2d"),0,1)},setDescription:function(t,e){this.$a.attr("title",t),this.$label.text(t),e?this.$progressLabel.text(e).show():this.$progressLabel.hide()},setProgress:function(t){0==t?(this._$staticCanvas.hide(),this._$hoverCanvas.hide()):(this._$staticCanvas.show(),this._$hoverCanvas.show(),this.progress&&t>this.progress?this._animateArc(0,t/100):this._setArc(0,t/100)),this.progress=t},complete:function(){var t=this;this._animateArc(0,1,(function(){t._$bgCanvas.velocity("fadeOut"),t._animateArc(1,1,(function(){t.$a.remove(),t.destroy()}))}))},showFailMode:function(t){this.failMode||(this.failMode=!0,this.progress=null,this._$bgCanvas.hide(),this._$staticCanvas.hide(),this._$hoverCanvas.hide(),this._$failCanvas.show(),this.setDescription(t))},hideFailMode:function(){this.failMode&&(this.failMode=!1,this._$bgCanvas.show(),this._$staticCanvas.show(),this._$hoverCanvas.show(),this._$failCanvas.hide())},_createCanvas:function(t,e){var i=$('<canvas id="job-icon-'+t+'" width="'+this._canvasSize+'" height="'+this._canvasSize+'"/>').appendTo(this.$canvasContainer),n=i[0].getContext("2d");return n.strokeStyle=e,n.lineWidth=this._lineWidth,n.lineCap="round",i},_setArc:function(t,e){this._arcStartPos=t,this._arcEndPos=e,this._drawArc(this._staticCtx,t,e),this._drawArc(this._hoverCtx,t,e)},_drawArc:function(t,e,i){t.clearRect(0,0,this._canvasSize,this._canvasSize),t.beginPath(),t.arc(this._arcPos,this._arcPos,this._arcRadius,(1.5+2*e)*Math.PI,(1.5+2*i)*Math.PI),t.stroke(),t.closePath()},_animateArc:function(t,e,i){this._arcStepTimeout&&clearTimeout(this._arcStepTimeout),this._arcStep=0,this._arcStartStepSize=(t-this._arcStartPos)/10,this._arcEndStepSize=(e-this._arcEndPos)/10,this._arcAnimateCallback=i,this._takeNextArcStep()},_takeNextArcStep:function(){this._setArc(this._arcStartPos+this._arcStartStepSize,this._arcEndPos+this._arcEndStepSize),this._arcStep++,this._arcStep<10?this._arcStepTimeout=setTimeout(this._takeNextArcStep.bind(this),50):this._arcAnimateCallback&&this._arcAnimateCallback()}})},3778:function(){function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}Craft.CategoryIndex=Craft.BaseElementIndex.extend({editableGroups:null,$newCategoryBtnGroup:null,$newCategoryBtn:null,init:function(t,e,i){this.editableGroups=[],this.on("selectSource",this.updateButton.bind(this)),this.on("selectSite",this.updateButton.bind(this)),this.base(t,e,i)},afterInit:function(){var t=this;this.editableGroups=Craft.editableCategoryGroups.filter((function(e){return!!t.getSourceByKey("group:".concat(e.uid))})),this.base()},getDefaultSourceKey:function(){if("index"===this.settings.context&&"undefined"!=typeof defaultGroupHandle)for(var t=0;t<this.$sources.length;t++){var e=$(this.$sources[t]);if(e.data("handle")===defaultGroupHandle)return e.data("key")}return this.base()},updateButton:function(){var e=this;if(this.$source){var i=this.$source.data("handle");if(this.editableGroups.length&&function(){e.$newCategoryBtnGroup&&e.$newCategoryBtnGroup.remove();var n,s=e.editableGroups.find((function(t){return t.handle===i}));e.$newCategoryBtnGroup=$('<div class="btngroup submit" data-wrapper/>');var a="new-category-menu-"+Craft.randomString(10);if(s){var r="index"===e.settings.context?Craft.t("app","New {type}",{type:Craft.elementTypeNames["craft\\elements\\Category"][2]}):Craft.t("app","New {group} category",{group:s.name}),o="index"===e.settings.context?Craft.t("app","New category in the {group} category group",{group:s.name}):r,l="index"===e.settings.context?"link":null;e.$newCategoryBtn=Craft.ui.createButton({label:r,ariaLabel:o,spinner:!0,role:l}).addClass("submit add icon").appendTo(e.$newCategoryBtnGroup),e.addListener(e.$newCategoryBtn,"click mousedown",(function(t){"index"===e.settings.context&&("click"===t.type&&Garnish.isCtrlKeyPressed(t)||"mousedown"===t.type&&1===t.originalEvent.button)?window.open(Craft.getUrl("categories/".concat(s.handle,"/new"))):"click"===t.type&&e._createCategory(s.id)})),e.editableGroups.length>1&&(n=$("<button/>",{type:"button",class:"btn submit menubtn btngroup-btn-last","aria-controls":a,"data-disclosure-trigger":"","aria-label":Craft.t("app","New category, choose a category group")}).appendTo(e.$newCategoryBtnGroup))}else e.$newCategoryBtn=n=Craft.ui.createButton({label:Craft.t("app","New {type}",{type:Craft.elementTypeNames["craft\\elements\\Category"][2]}),ariaLabel:Craft.t("app","New category, choose a category group"),spinner:!0}).addClass("submit add icon menubtn btngroup-btn-last").attr("aria-controls",a).attr("data-disclosure-trigger","").appendTo(e.$newCategoryBtnGroup);if(e.addButton(e.$newCategoryBtnGroup),n){var h,d=$("<div/>",{id:a,class:"menu menu--disclosure"}).appendTo(e.$newCategoryBtnGroup),c=$("<ul/>").appendTo(d),u=function(e,i){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,i){if(e){if("string"==typeof e)return t(e,i);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,i):void 0}}(e))||i&&e&&"number"==typeof e.length){n&&(e=n);var s=0,a=function(){};return{s:a,n:function(){return s>=e.length?{done:!0}:{done:!1,value:e[s++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var t=n.next();return o=t.done,t},e:function(t){l=!0,r=t},f:function(){try{o||null==n.return||n.return()}finally{if(l)throw r}}}}(e.editableGroups);try{var p=function(){var t=h.value,i="index"===e.settings.context?"link":"button";if("index"===e.settings.context||t!==s){var a=$("<li/>").appendTo(c),r=$("<a/>",{role:"button"===i?"button":null,href:"#",type:"button"===i?"button":null,text:Craft.t("app","New {group} category",{group:t.name})}).appendTo(a);e.addListener(r,"click",(function(){n.data("trigger").hide(),e._createCategory(t.id)})),"button"===i&&e.addListener(r,"keydown",(function(i){i.keyCode===Garnish.SPACE_KEY&&(i.preventDefault(),n.data("trigger").hide(),e._createCategory(t.id))}))}};for(u.s();!(h=u.n()).done;)p()}catch(t){u.e(t)}finally{u.f()}new Garnish.DisclosureMenu(n)}}(),"index"===this.settings.context){var n="categories";i&&(n+="/"+i),Craft.setPath(n)}}},_createCategory:function(t){var e=this;if(this.$newCategoryBtn.hasClass("loading"))console.warn("New category creation already in progress.");else{var i=this.editableGroups.find((function(e){return e.id===t}));if(!i)throw"Invalid category group ID: ".concat(t);this.$newCategoryBtn.addClass("loading"),Craft.sendActionRequest("POST","elements/create",{data:{elementType:this.elementType,siteId:this.siteId,groupId:t}}).then((function(t){"index"===e.settings.context?document.location.href=Craft.getUrl(t.data.cpEditUrl,{fresh:1}):Craft.createElementEditor(e.elementType,{siteId:e.siteId,elementId:t.data.element.id,draftId:t.data.element.draftId,params:{fresh:1}}).on("submit",(function(){var n="group:".concat(i.uid);e.sourceKey!==n&&e.selectSourceByKey(n),e.clearSearch(),e.selectElementAfterUpdate(t.data.element.id),e.updateElements()}))})).finally((function(){e.$newCategoryBtn.removeClass("loading")}))}}}),Craft.registerElementIndexClass("craft\\elements\\Category",Craft.CategoryIndex)},6617:function(){Craft.CategorySelectInput=Craft.BaseElementSelectInput.extend({setSettings:function(){this.base.apply(this,arguments),this.settings.sortable=!1},getModalSettings:function(){var t=this.base();return t.hideOnSelect=!1,t},getElements:function(){return this.$elementsContainer.find(".element")},onModalSelect:function(t){var e=this;this.modal.disable(),this.modal.disableCancelBtn(),this.modal.disableSelectBtn(),this.modal.showFooterSpinner();for(var i=this.getSelectedElementIds(),n=0;n<t.length;n++)i.push(t[n].id);var s={categoryIds:i,siteId:t[0].siteId,id:this.settings.id,name:this.settings.name,branchLimit:this.settings.branchLimit,selectionLabel:this.settings.selectionLabel},a=function(){e.modal.enable(),e.modal.enableCancelBtn(),e.modal.enableSelectBtn(),e.modal.hideFooterSpinner()};Craft.sendActionRequest("POST","categories/input-html",{data:s}).then((function(i){a();var n=$(i.data.html).children(".elements");e.$elementsContainer.replaceWith(n),e.$elementsContainer=n,e.resetElements();for(var s=[],r=0;r<t.length;r++){var o=t[r],l=e.getElementById(o.id);l&&(e.animateElementIntoPlace(o.$element,l),s.push(o))}e.updateDisabledElementsInModal(),e.modal.hide(),e.onSelectElements(s)})).catch((function(t){t.response,a()}))},removeElement:function(t){var e=t.add(t.parent().siblings("ul").find(".element"));this.removeElements(e);for(var i=0;i<e.length;i++)this._animateCategoryAway(e,i)},_animateCategoryAway:function(t,e){var i,n=this;e===t.length-1&&(i=function(){var e=t.first().parent().parent(),i=e.parent();i[0]===n.$elementsContainer[0]||e.siblings().length?e.remove():i.remove()});var s=function(){n.animateElementAway(t.eq(e),i)};0===e?s():setTimeout(s,100*e)}})},9482:function(){Craft.charts={},Craft.charts.DataTable=Garnish.Base.extend({columns:null,rows:null,init:function(t){var e=t.columns,i=t.rows;i.forEach((function(t){$.each(t,(function(i){var n;switch(e[i].type){case"date":n=d3.timeParse("%Y-%m-%d"),t[i]=n(t[i]);break;case"datetime":n=d3.timeParse("%Y-%m-%d %H:00:00"),t[i]=n(t[i]);break;case"percent":t[i]=t[i]/100;break;case"number":t[i]=+t[i]}}))})),this.columns=e,this.rows=i}}),Craft.charts.Tip=Garnish.Base.extend({$container:null,$tip:null,init:function(t){this.$container=t,this.$tip=$('<div class="tooltip"></div>').appendTo(this.$container),this.hide()},setContent:function(t){this.$tip.html(t)},setPosition:function(t){this.$tip.css("left","".concat(t.left,"px")),this.$tip.css("top","".concat(t.top,"px"))},show:function(){this.$tip.css("display","block")},hide:function(){this.$tip.css("display","none")}}),Craft.charts.BaseChart=Garnish.Base.extend({$container:null,$chart:null,chartBaseClass:"cp-chart",dataTable:null,formatLocale:null,timeFormatLocale:null,orientation:null,svg:null,width:null,height:null,init:function(t,e){var i=this;this.$container=t,this.setSettings(Craft.charts.BaseChart.defaults),this.setSettings(e);var n={formats:window.d3Formats,formatLocaleDefinition:window.d3FormatLocaleDefinition,timeFormatLocaleDefinition:window.d3TimeFormatLocaleDefinition};this.setSettings(n),d3.select(window).on("resize",(function(){i.resize()}))},setSettings:function(t,e){var i=void 0===this.settings?{}:this.settings;this.settings=$.extend(!0,{},i,e,t)},draw:function(t,e){this.setSettings(e),this.dataTable=t,this.formatLocale=d3.formatLocale(this.settings.formatLocaleDefinition),this.timeFormatLocale=d3.timeFormatLocale(this.settings.timeFormatLocaleDefinition),this.orientation=this.settings.orientation,this.$chart&&this.$chart.remove();var i=this.chartBaseClass;this.settings.chartClass&&(i+=" "+this.settings.chartClass),this.$chart=$('<div class="'.concat(i,'" />')).appendTo(this.$container)},resize:function(){this.draw(this.dataTable,this.settings)},onAfterDrawTicks:function(){$(".tick",this.$chart).each((function(t,e){var i=$("text",e);i.clone().appendTo(e),i.attr("stroke","#ffffff"),i.attr("stroke-width",3)}))}},{defaults:{formatLocaleDefinition:null,timeFormatLocaleDefinition:null,formats:{numberFormat:",.2f",percentFormat:",.2%",currencyFormat:"$,.2f",shortDateFormats:{day:"%-m/%-d",month:"%-m/%y",year:"%Y"}},margin:{top:0,right:0,bottom:0,left:0},chartClass:null,colors:["#0594D1","#DE3800","#FF9A00","#009802","#9B009B"]}}),Craft.charts.Area=Craft.charts.BaseChart.extend({tip:null,drawingArea:null,init:function(t,e){this.base(t,Craft.charts.Area.defaults),this.setSettings(e)},draw:function(t,e){this.base(t,e),this.tip&&(this.tip=null);var i=this.getChartMargin();this.width=this.$chart.width()-i.left-i.right,this.height=this.$chart.height()-i.top-i.bottom;var n={width:this.width+(i.left+i.right),height:this.height+(i.top+i.bottom),translateX:"rtl"!==this.orientation?i.left:i.right,translateY:i.top};this.svg=d3.select(this.$chart.get(0)).append("svg").attr("width",n.width).attr("height",n.height),this.drawingArea=this.svg.append("g").attr("transform","translate(".concat(n.translateX,",").concat(n.translateY,")")),this.drawTicks(),this.drawAxes(),this.drawChart(),this.drawTipTriggers()},drawTicks:function(){var t=this.getX(!0),e=d3.axisBottom(t).tickFormat(this.getXFormatter()).ticks(3);this.drawingArea.append("g").attr("class","x ticks-axis").attr("transform","translate(0, ".concat(this.height,")")).call(e);var i,n=this.getY();"rtl"!==this.orientation?(i=d3.axisLeft(n).tickFormat(this.getYFormatter()).tickValues(this.getYTickValues()).ticks(2),this.drawingArea.append("g").attr("class","y ticks-axis").call(i)):(i=d3.axisRight(n).tickFormat(this.getYFormatter()).tickValues(this.getYTickValues()).ticks(2),this.drawingArea.append("g").attr("class","y ticks-axis").attr("transform","translate(".concat(this.width,",0)")).call(i)),this.onAfterDrawTicks()},drawAxes:function(){if(this.settings.xAxis.showAxis){var t=this.getX(),e=d3.axisBottom(t).ticks(0).tickSizeOuter(0);this.drawingArea.append("g").attr("class","x axis").attr("transform","translate(0, ".concat(this.height,")")).call(e)}if(this.settings.yAxis.showAxis){var i,n=this.getY();"rtl"===this.orientation?(i=d3.axisLeft(n).ticks(0),this.drawingArea.append("g").attr("class","y axis").attr("transform","translate(".concat(this.width-0,", 0)")).call(i)):(i=d3.axisRight(n).ticks(0),this.drawingArea.append("g").attr("class","y axis").attr("transform","translate(".concat(0,", 0)")).call(i))}},drawChart:function(){var t=this.getX(!0),e=this.getY();if(this.settings.xAxis.gridlines){var i=d3.axisBottom(t);this.drawingArea.append("g").attr("class","x grid-line").attr("transform","translate(0,".concat(this.height,")")).call(i.tickSize(-this.height,0,0).tickFormat(""))}if(this.settings.yAxis.gridlines){var n=d3.axisLeft(e);this.drawingArea.append("g").attr("class","y grid-line").attr("transform","translate(0 , 0)").call(n.tickSize(-this.width,0).tickFormat("").tickValues(this.getYTickValues()).ticks(2))}var s=d3.line().x((function(e){return t(e[0])})).y((function(t){return e(t[1])}));this.drawingArea.append("g").attr("class","chart-line").append("path").datum(this.dataTable.rows).style("fill","none").style("stroke",this.settings.colors[0]).style("stroke-width","3px").attr("d",s);var a=d3.area().x((function(e){return t(e[0])})).y0(this.height).y1((function(t){return e(t[1])}));this.drawingArea.append("g").attr("class","chart-area").append("path").datum(this.dataTable.rows).style("fill",this.settings.colors[0]).style("fill-opacity","0.3").attr("d",a),this.settings.plots&&this.drawingArea.append("g").attr("class","plots").selectAll("circle").data(this.dataTable.rows).enter().append("circle").style("fill",this.settings.colors[0]).attr("class",(function(t,e){return"plot plot-".concat(e)})).attr("r",4).attr("cx",(function(e){return t(e[0])})).attr("cy",(function(t){return e(t[1])}))},drawTipTriggers:function(){var t=this;if(this.settings.tips){this.tip||(this.tip=new Craft.charts.Tip(this.$chart));var e=this.getChartMargin(),i=(this.drawingArea.select(".x path.domain").node().getTotalLength()-e.left-e.right-12)/(this.dataTable.rows.length-1),n=Math.max(0,i),s=this.getX(!0),a=this.getY();this.drawingArea.append("g").attr("class","tip-triggers").selectAll("rect").data(this.dataTable.rows).enter().append("rect").attr("class","tip-trigger").style("fill","transparent").style("fill-opacity","1").attr("width",n).attr("height",this.height).attr("x",(function(t){return s(t[0])-n/2})).on("mouseover",(function(e,i){t.drawingArea.select(".plot-"+i).attr("r",5);var n=$("<div />"),r=$('<div class="x-value" />').appendTo(n),o=$('<div class="y-value" />').appendTo(n);r.html(t.getXFormatter()(e[0])),o.html(t.getYFormatter()(e[1]));var l=n.get(0);t.tip.setContent(l);var h,d=t.getChartMargin(),c=24,u=a(e[1])+c;"rtl"!==t.orientation?(h=s(e[0])+d.left+c,t.$chart.offset().left+h+t.tip.$tip.width()>t.$chart.offset().left+t.$chart.width()-c&&(h=s(e[0])-(t.tip.$tip.width()+c))):h=s(e[0])-(t.tip.$tip.width()+d.left+c),h<0&&(h=s(e[0])+d.left+c);var p={top:u,left:h};t.tip.setPosition(p),t.tip.show()})).on("mouseout",(function(e,i){t.drawingArea.select(".plot-"+i).attr("r",4),t.tip.hide()}))}},getChartMargin:function(){var t=this,e=this.settings.margin,i=this.getYTickValues(),n=0;return $.each(i,(function(e,i){var s=8*t.getYFormatter()(i).length;s>n&&(n=s)})),n+=10,e.left=n,e},getX:function(t){var e=d3.min(this.dataTable.rows,(function(t){return t[0]})),i=d3.max(this.dataTable.rows,(function(t){return t[0]})),n=[e,i];"rtl"===this.orientation&&(n=[i,e]);var s=0,a=0;t&&(s=0,a=0);var r=d3.scaleTime().range([s,this.width-a]);return r.domain(n),r},getY:function(){var t=[0,this.getYMaxValue()],e=d3.scaleLinear().range([this.height,0]);return e.domain(t),e},getXFormatter:function(){return this.settings.xAxis.formatter!==$.noop?this.settings.xAxis.formatter(this):Craft.charts.utils.getTimeFormatter(this.timeFormatLocale,this.settings)},getYFormatter:function(){return this.settings.yAxis.formatter!==$.noop?this.settings.yAxis.formatter(this):Craft.charts.utils.getNumberFormatter(this.formatLocale,this.dataTable.columns[1].type,this.settings)},getYMaxValue:function(){return d3.max(this.dataTable.rows,(function(t){return t[1]}))},getYTickValues:function(){var t=this.getYMaxValue();return t>1?[t/2,t]:[0,t]}},{defaults:{chartClass:"area",margin:{top:25,right:5,bottom:25,left:0},plots:!0,tips:!0,xAxis:{gridlines:!1,showAxis:!0,formatter:$.noop},yAxis:{gridlines:!0,showAxis:!1,formatter:$.noop}}}),Craft.charts.utils={getDuration:function(t){var e=parseInt(t,10),i={hours:Math.floor(e/3600),minutes:Math.floor((e-3600*i.hours)/60),seconds:e-3600*i.hours-60*i.minutes};return i.hours<10&&(i.hours="0".concat(i.hours)),i.minutes<10&&(i.minutes="0".concat(i.minutes)),i.seconds<10&&(i.seconds="0".concat(i.seconds)),"".concat(i.hours,":").concat(i.minutes,":").concat(i.seconds)},getTimeFormatter:function(t,e){switch(e.dataScale){case"year":return t.format("%Y");case"month":return t.format(e.formats.shortDateFormats.month);case"hour":return t.format("".concat(e.formats.shortDateFormats.day," %H:00:00"));default:return t.format(e.formats.shortDateFormats.day)}},getNumberFormatter:function(t,e,i){switch(e){case"currency":return t.format(i.formats.currencyFormat);case"percent":return t.format(i.formats.percentFormat);case"time":return Craft.charts.utils.getDuration;case"number":return t.format(i.formats.numberFormat)}}}},3352:function(){function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}Craft.ColorInput=Garnish.Base.extend({$container:null,$input:null,$colorContainer:null,$colorPreview:null,$colorInput:null,init:function(t,e){this.setSettings(e,Craft.ColorInput.defaults),this.$container=$(t),this.$input=this.$container.find(".color-input"),this.$colorContainer=this.$container.children(".color"),this.$colorPreview=this.$colorContainer.children(".color-preview"),this.createColorInput(),this.handleTextChange(),this.addListener(this.$input,"input","handleTextChange")},createColorInput:function(){var e,i=document.createElement("input");if(i.setAttribute("type","color"),"color"===i.type){if(this.$colorContainer.removeClass("static"),this.$colorInput=$(i).addClass("color-preview-input").attr({"aria-controls":this.$input.attr("id"),"aria-label":Craft.t("app","Color picker")}).appendTo(this.$colorPreview),null!==(e=this.settings.presets)&&void 0!==e&&e.length){var n="listbox-".concat(Math.floor(1e6*Math.random()));this.$colorInput.attr("list",n);var s,a=$("<datalist/>",{id:n}).insertAfter(this.$colorInput),r=function(e,i){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,i){if(e){if("string"==typeof e)return t(e,i);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,i):void 0}}(e))||i&&e&&"number"==typeof e.length){n&&(e=n);var s=0,a=function(){};return{s:a,n:function(){return s>=e.length?{done:!0}:{done:!1,value:e[s++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var t=n.next();return o=t.done,t},e:function(t){l=!0,r=t},f:function(){try{o||null==n.return||n.return()}finally{if(l)throw r}}}}(this.settings.presets);try{for(r.s();!(s=r.n()).done;){var o=s.value;$("<option/>").text(o).appendTo(a)}}catch(t){r.e(t)}finally{r.f()}}this.addListener(this.$colorInput,"click",(function(t){t.stopPropagation()})),this.addListener(this.$colorContainer,"click",(function(){this.$colorInput.trigger("click")})),this.addListener(this.$colorInput,"input","updateColor")}},updateColor:function(){this.$input.val(this.$colorInput.val()),this.handleTextChange()},handleTextChange:function(){var t=this.$input.val();t!==(t=t.trim())&&this.$input.val(t),t.length&&"#"===t[0]&&(t=t.substring(1),this.$input.val(t)),t.length?(3===t.length&&(t=t[0].repeat(2)+t[1].repeat(2)+t[2].repeat(2)),t.match(/^[0-9a-f]{6}$/i)?(this.$colorPreview.css("background-color","#".concat(t)),this.$colorInput&&this.$colorInput.val("#".concat(t))):this.$colorPreview.css("background-color","")):this.$colorPreview.css("background-color","")}},{defaults:{presets:[]},_browserSupportsColorInputs:null,doesBrowserSupportColorInputs:function(){return Craft.ColorInput._browserSupportsColorInputs,Craft.ColorInput._browserSupportsColorInputs}})},8167:function(){function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function e(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}Craft.CpScreenSlideout=Craft.Slideout.extend({action:null,namespace:null,showingLoadSpinner:!1,hasTabs:!1,hasCpLink:!1,hasSidebar:!1,$header:null,$toolbar:null,$tabContainer:null,$loadSpinner:null,$editLink:null,$sidebarBtn:null,$body:null,$content:null,$sidebar:null,$footer:null,$noticeContainer:null,$cancelBtn:null,$saveBtn:null,tabManager:null,showingSidebar:!1,cancelToken:null,ignoreFailedRequest:!1,fieldsWithErrors:null,init:function(t,e){var i=this;this.action=t,this.setSettings(e,Craft.CpScreenSlideout.defaults),this.fieldsWithErrors=[],this.$header=$("<header/>",{class:"pane-header"}),this.$toolbar=$("<div/>",{class:"so-toolbar"}).appendTo(this.$header),this.$tabContainer=$("<div/>",{class:"pane-tabs"}).appendTo(this.$toolbar),this.$loadSpinner=$("<div/>",{class:"spinner",title:Craft.t("app","Loading"),"aria-label":Craft.t("app","Loading")}).appendTo(this.$toolbar),this.$editLink=$("<a/>",{target:"_blank",class:"btn header-btn hidden",title:Craft.t("app","Open the full edit page in a new tab"),"aria-label":Craft.t("app","Open the full edit page in a new tab"),"data-icon":"external"}).appendTo(this.$toolbar),this.$sidebarBtn=$("<button/>",{type:"button",class:"btn header-btn hidden sidebar-btn",title:Craft.t("app","Show sidebar"),"aria-label":Craft.t("app","Show sidebar"),"data-icon":"sidebar-".concat(Garnish.ltr?"right":"left"),"aria-expanded":"false"}).appendTo(this.$toolbar),this.addListener(this.$sidebarBtn,"click",(function(t){t.preventDefault(),i.showingSidebar?i.hideSidebar():i.showSidebar()})),this.$body=$("<div/>",{class:"so-body"}),this.$content=$("<div/>",{class:"so-content"}).appendTo(this.$body),this.$sidebar=$("<div/>",{class:"so-sidebar details hidden"}).appendTo(this.$body),this.$footer=$("<div/>",{class:"so-footer hidden"}),this.$noticeContainer=$("<div/>",{class:"so-notice"}).appendTo(this.$footer),$("<div/>",{class:"flex-grow"}).appendTo(this.$footer);var n=$("<div/>",{class:"flex flex-nowrap"}).appendTo(this.$footer);this.$cancelBtn=$("<button/>",{type:"button",class:"btn",text:Craft.t("app","Cancel")}).appendTo(n),this.$saveBtn=Craft.ui.createSubmitButton({label:Craft.t("app","Save"),spinner:!0}).appendTo(n);var s=this.$header.add(this.$body).add(this.$footer);this.base(s,{containerElement:"form",containerAttributes:{id:"cp-screen-".concat(Math.floor(1e8*Math.random())),action:"",method:"post",novalidate:"",class:"cp-screen"},closeOnEsc:!1,closeOnShadeClick:!1}),this.$container.data("cpScreen",this),this.on("beforeClose",(function(){i.hideSidebar()})),Garnish.uiLayerManager.registerShortcut({keyCode:Garnish.S_KEY,ctrl:!0},(function(t){i.handleSubmit(t)})),Garnish.uiLayerManager.registerShortcut(Garnish.ESC_KEY,(function(){i.closeMeMaybe()})),this.addListener(this.$cancelBtn,"click",(function(){i.closeMeMaybe()})),this.addListener(this.$shade,"click",(function(){i.closeMeMaybe()})),this.addListener(this.$container,"click",(function(t){var e=$(event.target);!i.showingSidebar||e.closest(i.$sidebarBtn).length||e.closest(i.$sidebar).length||i.hideSidebar()})),this.addListener(this.$container,"submit","handleSubmit"),this.load()},load:function(t,e){var i=this;return new Promise((function(t,n){i.trigger("beforeLoad"),i.showLoadSpinner(),i.cancelToken&&(i.ignoreFailedRequest=!0,i.cancelToken.cancel()),i.cancelToken=axios.CancelToken.source(),Craft.sendActionRequest("GET",i.action,$.extend({params:Object.assign({},i.getParams(),i.settings.params),cancelToken:i.cancelToken.token,headers:{"X-Craft-Container-Id":i.$container.attr("id")}},i.settings.requestOptions)).then((function(s){i.update(s.data).then((function(){!1!==e&&(i.$container.data("delta-names",s.data.deltaNames),i.$container.data("initial-delta-values",s.data.initialDeltaValues),i.$container.data("initialSerializedValue",i.$container.serialize())),t()})).catch((function(t){n(t)}))})).catch((function(t){i.ignoreFailedRequest||(Craft.cp.displayError(),n(t)),i.ignoreFailedRequest=!1})).finally((function(){i.hideLoadSpinner(),i.cancelToken=null}))}))},getParams:function(){return{}},updateHeaderVisibility:function(){var t=this.settings.showHeader||this.hasTabs||this.hasCpLink||this.showingLoadSpinner;t||this.hasSidebar?this.$header.removeClass("hidden"):this.$header.addClass("hidden"),t?this.$header.addClass("so-visible"):this.$header.removeClass("so-visible")},showLoadSpinner:function(){this.$loadSpinner.removeClass("hidden"),this.showingLoadSpinner=!0,this.updateHeaderVisibility()},hideLoadSpinner:function(){this.$loadSpinner.addClass("hidden"),this.showingLoadSpinner=!1,this.updateHeaderVisibility()},update:function(t){var e=this;return new Promise((function(i){e.namespace=t.namespace,t.bodyClass&&e.$body.addClass(t.bodyClass),e.$content.html(t.content),t.submitButtonLabel&&e.$saveBtn.text(t.submitButtonLabel),e.updateTabs(t.tabs),t.formAttributes&&Craft.setElementAttributes(e.$container,t.formAttributes),t.editUrl?(e.$editLink.removeClass("hidden").attr("href",t.editUrl),e.hasCpLink=!0):(e.$editLink.addClass("hidden"),e.hasCpLink=!1),t.sidebar?(e.$container.addClass("has-sidebar"),e.$sidebarBtn.removeClass("hidden"),e.$sidebar.html(t.sidebar),e.$sidebar.find("a").each((function(){this.hostname.length&&void 0===$(this).attr("target")&&$(this).attr("target","_blank")})),e.hasSidebar=!0):(e.$container.removeClass("has-sidebar"),e.$sidebarBtn.addClass("hidden"),e.$sidebar.addClass("hidden").html(""),e.hasSidebar=!1),t.notice?e.$noticeContainer.html(t.notice):e.$noticeContainer.empty(),e.updateHeaderVisibility(),e.$footer.removeClass("hidden"),Garnish.requestAnimationFrame((function(){Craft.appendHeadHtml(t.headHtml),Craft.appendBodyHtml(t.bodyHtml),Craft.initUiElements(e.$content),Craft.cp.elementThumbLoader.load($(e.$content)),t.sidebar&&(Craft.initUiElements(e.$sidebar),Craft.cp.elementThumbLoader.load(e.$sidebar)),Garnish.isMobileBrowser()||Craft.setFocusWithin(e.$content),i(),e.trigger("load")}))}))},updateTabs:function(t){var e=this;if(this.tabManager&&(this.tabManager.destroy(),this.tabManager=null,this.$tabContainer.html("")),this.hasTabs=!!t,this.hasTabs){var i=$(t);this.$tabContainer.replaceWith(i),this.$tabContainer=i,this.tabManager=new Craft.Tabs(this.$tabContainer),this.tabManager.on("deselectTab",(function(t){$(t.$tab.attr("href")).addClass("hidden")})),this.tabManager.on("selectTab",(function(t){$(t.$tab.attr("href")).removeClass("hidden"),Garnish.$win.trigger("resize"),e.$body.trigger("scroll")}))}},showSidebar:function(){var t=this;this.showingSidebar||(this.$body.scrollTop(0).addClass("no-scroll"),this.$sidebar.off("transitionend.so").css(this._closedSidebarStyles()).removeClass("hidden"),this.$sidebar[0].offsetWidth,this.$sidebar.css(this._openedSidebarStyles()),Garnish.isMobileBrowser()||this.$sidebar.one("transitionend.so",(function(){Craft.setFocusWithin(t.$sidebar)})),Craft.trapFocusWithin(this.$sidebar),this.$sidebarBtn.addClass("active").attr({"aria-expanded":"true"}),Garnish.$win.trigger("resize"),this.$sidebar.trigger("scroll"),Garnish.uiLayerManager.addLayer(),Garnish.uiLayerManager.registerShortcut(Garnish.ESC_KEY,(function(){t.hideSidebar()})),this.showingSidebar=!0)},hideSidebar:function(){var t=this;this.showingSidebar&&(this.$body.removeClass("no-scroll"),this.$sidebar.off("transitionend.so").css(this._closedSidebarStyles()).one("transitionend.so",(function(){t.$sidebar.addClass("hidden"),t.$sidebarBtn.focus()})),Craft.releaseFocusWithin(this.$sidebar),this.$sidebarBtn.removeClass("active").attr({"aria-expanded":"false"}),Garnish.uiLayerManager.removeLayer(),this.showingSidebar=!1)},_openedSidebarStyles:function(){return e({},Garnish.ltr?"right":"left","0")},_closedSidebarStyles:function(){return e({},Garnish.ltr?"right":"left","-350px")},showSubmitSpinner:function(){this.$saveBtn.addClass("loading")},hideSubmitSpinner:function(){this.$saveBtn.removeClass("loading")},handleSubmit:function(t){t.preventDefault(),this.submit()},submit:function(){var t=this;this.showSubmitSpinner();var e=Craft.findDeltaData(this.$container.data("initialSerializedValue"),this.$container.serialize(),this.$container.data("delta-names"),null,this.$container.data("initial-delta-values"));Craft.sendActionRequest("POST",null,{data:e,headers:{"X-Craft-Namespace":this.namespace}}).then((function(e){t.handleSubmitResponse(e)})).catch((function(e){t.handleSubmitError(e)})).finally((function(){t.hideSubmitSpinner()}))},handleSubmitResponse:function(t){this.clearErrors();var e=t.data||{};e.message&&Craft.cp.displaySuccess(e.message,e.notificationSettings),this.trigger("submit",{response:t,data:e.modelName&&e[e.modelName]||{}}),this.settings.closeOnSubmit&&this.close()},handleSubmitError:function(t){if(!t.isAxiosError||!t.response||400===!t.response.status)throw Craft.cp.displayError(),t;var e=t.response.data||{};Craft.cp.displayError(e.message),e.errors&&this.showErrors(e.errors)},showErrors:function(e){var i=this;this.clearErrors(),Object.entries(e).forEach((function(e){var n,s,a=(s=2,function(t){if(Array.isArray(t))return t}(n=e)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var n,s,a=[],r=!0,o=!1;try{for(i=i.call(t);!(r=(n=i.next()).done)&&(a.push(n.value),!e||a.length!==e);r=!0);}catch(t){o=!0,s=t}finally{try{r||null==i.return||i.return()}finally{if(o)throw s}}return a}}(n,s)||function(e,i){if(e){if("string"==typeof e)return t(e,i);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,i):void 0}}(n,s)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),r=a[0],o=a[1],l=i.$container.find('[data-attribute="'.concat(r,'"]'));l&&(Craft.ui.addErrorsToField(l,o),i.fieldsWithErrors.push(l))}))},clearErrors:function(){this.fieldsWithErrors.forEach((function(t){Craft.ui.clearErrorsFromField(t)}))},isDirty:function(){var t=this,e=this.$container.data("initialSerializedValue");return void 0!==e&&e!==(this.$container.data("serializer")||function(){return t.$container.serialize()})()},closeMeMaybe:function(){this.isOpen&&(this.isDirty()&&!confirm(Craft.t("app","Are you sure you want to close this screen? Any changes will be lost."))||this.close())},close:function(){this.base(),this.cancelToken&&(this.ignoreFailedRequest=!0,this.cancelToken.cancel())}},{defaults:{params:{},requestOptions:{},showHeader:null,closeOnSubmit:!0}})},587:function(){function t(t,e){var i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!i){if(Array.isArray(t)||(i=r(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,s=function(){};return{s:s,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){function e(e){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(t){throw t})),f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,l=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return o=t.done,t},e:function(t){function e(e){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(t){l=!0,a=t})),f:function(){try{o||null==i.return||i.return()}finally{if(l)throw a}}}}function i(){"use strict";i=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,s=Object.defineProperty||function(t,e,i){t[e]=i.value},a="function"==typeof Symbol?Symbol:{},r=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",h=a.toStringTag||"@@toStringTag";function d(t,e,i){return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{d({},"")}catch(t){d=function(t,e,i){return t[e]=i}}function c(t,e,i,n){var a=e&&e.prototype instanceof f?e:f,r=Object.create(a.prototype),o=new x(n||[]);return s(r,"_invoke",{value:w(t,i,o)}),r}function u(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var p={};function f(){}function g(){}function m(){}var v={};d(v,r,(function(){return this}));var b=Object.getPrototypeOf,$=b&&b(b(P([])));$&&$!==e&&n.call($,r)&&(v=$);var C=m.prototype=f.prototype=Object.create(v);function _(t){["next","throw","return"].forEach((function(e){d(t,e,(function(t){return this._invoke(e,t)}))}))}function y(t,e){function i(s,a,r,o){var h=u(t[s],t,a);if("throw"!==h.type){var d=h.arg,c=d.value;return c&&"object"==l(c)&&n.call(c,"__await")?e.resolve(c.__await).then((function(t){i("next",t,r,o)}),(function(t){i("throw",t,r,o)})):e.resolve(c).then((function(t){d.value=t,r(d)}),(function(t){return i("throw",t,r,o)}))}o(h.arg)}var a;s(this,"_invoke",{value:function(t,n){function s(){return new e((function(e,s){i(t,n,e,s)}))}return a=a?a.then(s,s):s()}})}function w(t,e,i){var n="suspendedStart";return function(s,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===s)throw a;return{value:void 0,done:!0}}for(i.method=s,i.arg=a;;){var r=i.delegate;if(r){var o=S(r,i);if(o){if(o===p)continue;return o}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if("suspendedStart"===n)throw n="completed",i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);n="executing";var l=u(t,e,i);if("normal"===l.type){if(n=i.done?"completed":"suspendedYield",l.arg===p)continue;return{value:l.arg,done:i.done}}"throw"===l.type&&(n="completed",i.method="throw",i.arg=l.arg)}}}function S(t,e){var i=t.iterator[e.method];if(void 0===i){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,S(t,e),"throw"===e.method))return p;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var n=u(i,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,p;var s=n.arg;return s?s.done?(e[t.resultName]=s.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):s:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function T(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function x(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(T,this),this.reset(!0)}function P(t){if(t){var e=t[r];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,s=function e(){for(;++i<t.length;)if(n.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return s.next=s}}return{next:E}}function E(){return{value:void 0,done:!0}}return g.prototype=m,s(C,"constructor",{value:m,configurable:!0}),s(m,"constructor",{value:g,configurable:!0}),g.displayName=d(m,h,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,d(t,h,"GeneratorFunction")),t.prototype=Object.create(C),t},t.awrap=function(t){return{__await:t}},_(y.prototype),d(y.prototype,o,(function(){return this})),t.AsyncIterator=y,t.async=function(e,i,n,s,a){void 0===a&&(a=Promise);var r=new y(c(e,i,n,s),a);return t.isGeneratorFunction(i)?r:r.next().then((function(t){return t.done?t.value:r.next()}))},_(C),d(C,h,"Generator"),d(C,r,(function(){return this})),d(C,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),i=[];for(var n in e)i.push(n);return i.reverse(),function t(){for(;i.length;){var n=i.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=P,x.prototype={constructor:x,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(I),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(i,n){return r.type="throw",r.arg=t,e.next=i,n&&(e.method="next",e.arg=void 0),!!n}for(var s=this.tryEntries.length-1;s>=0;--s){var a=this.tryEntries[s],r=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var o=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(o&&l){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(o){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var s=this.tryEntries[i];if(s.tryLoc<=this.prev&&n.call(s,"finallyLoc")&&this.prev<s.finallyLoc){var a=s;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var r=a?a.completion:{};return r.type=t,r.arg=e,a?(this.method="next",this.next=a.finallyLoc,p):this.complete(r)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),I(i),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var s=n.arg;I(i)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:P(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=void 0),p}},t}function n(t,e,i,n,s,a,r){try{var o=t[a](r),l=o.value}catch(t){return void i(t)}o.done?e(l):Promise.resolve(l).then(n,s)}function s(t){return function(){var e=this,i=arguments;return new Promise((function(s,a){var r=t.apply(e,i);function o(t){n(r,s,a,o,l,"next",t)}function l(t){n(r,s,a,o,l,"throw",t)}o(void 0)}))}}function a(t){return function(t){if(Array.isArray(t))return o(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||r(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(t,e){if(t){if("string"==typeof t)return o(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?o(t,e):void 0}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function l(t){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},l(t)}var h,d,c=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi;if(jQuery.htmlPrefilter=function(t){return t.replace(c,"<$1></$2>")},$.extend(Craft,{navHeight:48,index:function(t,e){if(!Array.isArray(t))throw"The first argument passed to Craft.index() must be an array.";return t.reduce((function(t,i,n){return t["string"==typeof e?i[e]:e(i,n)]=i,t}),{})},group:function(t,e){if(!Array.isArray(t))throw"The first argument passed to Craft.group() must be an array.";var i={};return t.reduce((function(t,n,s){var a="string"==typeof e?n[e]:e(n,s);return i.hasOwnProperty(a)||(i[a]=[[],a],t.push(i[a])),i[a][0].push(n),t}),[])},t:function(t,e,i){return void 0!==Craft.translations[t]&&void 0!==Craft.translations[t][e]&&(e=Craft.translations[t][e]),i?this.formatMessage(e,i):e},formatMessage:function(t,e){var i;if(!1===(i=this._tokenizePattern(t)))throw"Message pattern is invalid.";for(var n=0;n<i.length;n++){var s=i[n];if("object"===l(s)&&!1===(i[n]=this._parseToken(s,e)))throw"Message pattern is invalid."}return i.join("")},_tokenizePattern:function(t){var e,i,n=1,s=a(t);if(-1===(e=i=s.indexOf("{")))return[t];for(var r=[s.slice(0,i).join("")];;){var o=s.indexOf("{",i+1),l=s.indexOf("}",i+1);if(-1===o&&(o=!1),-1===l&&(l=!1),!1===o&&!1===l)break;if(!1===o&&(o=s.length),l>o?(n++,i=o):(n--,i=l),0===n&&(r.push(s.slice(e+1,i).join("").split(",",3)),e=i+1,r.push(s.slice(e,o).join("")),e=o),0!==n&&(!1===o||!1===l))break}return 0===n&&r},_parseToken:function(t,e){var i=this,n=t[0].trim();if(void 0===e[n])return"{".concat(t.join(","),"}");var s=e[n],r=void 0!==t[1]?t[1].trim():"none";switch(r){case"number":return function(){var e=void 0!==t[2]?t[2].trim():null;if(null!==e&&"integer"!==e)throw"Message format 'number' is only supported for integer values.";var i,n=Craft.formatNumber(s);return null===e&&-1!==(i="".concat(s).indexOf("."))&&(n+=".".concat(s.substring(i+1))),n}();case"none":return s;case"select":return function(){if(void 0===t[2])return!1;for(var n=i._tokenizePattern(t[2]),a=n.length,r=!1,o=0;o+1<a;o++){if(Array.isArray(n[o])||!Array.isArray(n[o+1]))return!1;var l=n[o++].trim();(!1===r&&"other"===l||l==s)&&(r=n[o].join(","))}return!1!==r&&i.formatMessage(r,e)}();case"plural":return function(){if(void 0===t[2])return!1;for(var n=i._tokenizePattern(t[2]),r=n.length,o=!1,h=0,d=0;d+1<r;d++){if("object"===l(n[d])||"object"!==l(n[d+1]))return!1;var c=n[d++].trim(),u=a(c);if(1===d&&"offset:"===c.substring(0,7)){var p=a(c.replace(/[\n\r\t]/g," ")).indexOf(" ",7);if(-1===p)throw"Message pattern is invalid.";h=parseInt(u.slice(7,p).join("").trim()),c=u.slice(p+1,p+1+u.length).join("").trim()}(!1===o&&"other"===c||"="===c[0]&&parseInt(u.slice(1,1+u.length).join(""))===s||"one"===c&&s-h==1)&&(o=("string"==typeof n[d]?[n[d]]:n[d]).map((function(t){return t.replace("#",s-h)})).join(","))}return!1!==o&&i.formatMessage(o,e)}();default:throw"Message format '".concat(r,"' is not supported.")}},formatDate:function(t){return"object"!==l(t)&&(t=new Date(t)),$.datepicker.formatDate(Craft.datepickerOptions.dateFormat,t)},formatNumber:function(t,e){return void 0===e&&(e=",.0f"),d3.formatLocale(d3FormatLocaleDefinition).format(e)(t)},shortcutText:function(t,e,i){return"Mac"===Craft.clientOs?(i?"⌥":"")+(e?"⇧":"")+"⌘"+t:"Ctrl+"+(i?"Alt+":"")+(e?"Shift+":"")+t},escapeHtml:function(t){return $("<div/>").text(t).html()},escapeRegex:function(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},getText:function(t){return $("<div/>").html(t).text()},encodeUriComponent:function(t){t=encodeURIComponent(t);var e={"!":"%21","*":"%2A","'":"%27","(":"%28",")":"%29"};for(var i in e){var n=new RegExp("\\"+i,"g");t=t.replace(n,e[i])}return t},selectFullValue:function(t){var e=$(t),i=e.val();if(void 0!==e[0].setSelectionRange){var n=2*i.length;e[0].setSelectionRange(0,n)}else e.val(i)},formatInputId:function(t){return this.rtrim(t.replace(/[^\w\-]+/g,"-"),"-")},getUrl:function(t,e,i){"string"!=typeof t&&(t="");var n=null;if($.isPlainObject(e))void 0!==e["#"]&&(n=e["#"],delete e["#"]);else if("string"==typeof e){var s=e.indexOf("#");-1!==s&&(n=e.substring(s+1),e=e.substring(0,s)),e=Object.fromEntries(new URLSearchParams(e).entries())}else e={};var a=t.indexOf("#");-1!==a&&(n||(n=t.substring(a+1)),t=t.substring(0,a));var r,o=t.indexOf("?");if(-1!==o&&(e=$.extend(Object.fromEntries(new URLSearchParams(t.substring(o+1)).entries()),e),t=t.substring(0,o)),-1!==t.search("://")||"/"===t[0])return t+($.isEmptyObject(e)?"":"?".concat($.param(e)))+(n?"#".concat(n):"");if(t=Craft.trim(t,"/"),i){if(r=i,t&&Craft.pathParam){var l=r.match(new RegExp("[&?]"+Craft.escapeRegex(Craft.pathParam)+"=[^&]+"));l&&(r=r.replace(l[0],Craft.rtrim(l[0],"/")+"/"+t),t="")}}else r=Craft.baseUrl;return-1!==(o=r.indexOf("?"))&&(e=$.extend(Object.fromEntries(new URLSearchParams(r.substring(o+1)).entries()),e),r=r.substring(0,o)),!Craft.omitScriptNameInUrls&&t&&(Craft.usePathInfo||!Craft.pathParam?-1===r.search(Craft.scriptName)&&(r=Craft.rtrim(r,"/")+"/"+Craft.scriptName):(void 0!==e[Craft.pathParam]&&(t=e[Craft.pathParam].trimEnd()+(t?"/"+t:"")),e[Craft.pathParam]=t,t=null)),t&&(r=Craft.rtrim(r,"/")+"/"+t),$.isEmptyObject(e)||(r+="?".concat($.param(e))),n&&(r+="#".concat(n)),r},getCpUrl:function(t,e){return this.getUrl(t,e,Craft.baseCpUrl)},getSiteUrl:function(t,e){return this.getUrl(t,e,Craft.baseSiteUrl)},getActionUrl:function(t,e){return Craft.getUrl(t,e,Craft.actionUrl)},redirectTo:function(t){document.location.href=this.getUrl(t)},setUrl:function(t){"undefined"!=typeof history&&(t.match(/#/)||(t+=document.location.hash),history.replaceState({},"",t))},setPath:function(t){this.path=t,this.setUrl(Craft.getUrl(t,document.location.search))},setQueryParam:function(t,e){var i=document.location.origin+document.location.pathname,n=this.getQueryParams();null!=e&&!1!==e?n[t]=e:delete n[t],this.setUrl(Craft.getUrl(i,n))},getPageUrl:function(t){var e=document.location.origin+document.location.pathname;e=Craft.rtrim(e,"/");var i=document.location.search?document.location.search.substring(1):"";if("?"===Craft.pageTrigger[0]){var n=Craft.pageTrigger.substring(1);if(document.location.search){var s=Object.fromEntries(new URLSearchParams(i).entries());delete s[n],i=$.param(s)}1!==t&&(i+=(""!==i?"&":"")+"".concat(n,"=").concat(t))}else e=e.replace(new RegExp("/"+Craft.escapeRegex(Craft.pageTrigger)+"\\d+$"),""),1!==t&&(e+="/".concat(Craft.pageTrigger).concat(t));return e+(i?"?".concat(i):"")+document.location.hash},getCsrfInput:function(){return Craft.csrfTokenName?'<input type="hidden" name="'+Craft.csrfTokenName+'" value="'+Craft.csrfTokenValue+'"/>':""},postActionRequest:function(t,e,i,n){"function"==typeof e&&(n=i,i=e,e={}),(n=n||{}).contentType&&n.contentType.match(/\bjson\b/)&&("object"===l(e)&&(e=JSON.stringify(e)),n.contentType="application/json; charset=utf-8");var s=$.ajax($.extend({url:Craft.getActionUrl(t),type:"POST",dataType:"json",headers:this._actionHeaders(),data:e,success:i,error:function(t,e,n){4===t.readyState&&(400!==t.status&&(void 0!==Craft.cp?Craft.cp.displayError():alert(Craft.t("app","A server error occurred."))),i&&i(400===t.status?t.responseJSON:null,e,t))}},n));return"function"==typeof n.send&&n.send(s),s},_actionHeaders:function(){var t={"X-Registered-Asset-Bundles":a(new Set(Craft.registeredAssetBundles)).join(","),"X-Registered-Js-Files":a(new Set(Craft.registeredJsFiles)).join(",")};return Craft.csrfTokenValue&&(t["X-CSRF-Token"]=Craft.csrfTokenValue),t},sendActionRequest:function(t,e){var i=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if($.isPlainObject(e)&&(n=e,e=null),"POST"===t.toUpperCase()&&e&&n.data)if("string"==typeof n.data){var s=n&&n.headers&&n.headers["X-Craft-Namespace"],a=this.namespaceInputName("action",s);n.data+="&".concat(a,"=").concat(e)}else delete n.data.action;return new Promise((function(s,a){(n=n?$.extend({},n):{}).method=t,n.url=e?Craft.getActionUrl(e):Craft.getCpUrl(),n.headers=$.extend({"X-Requested-With":"XMLHttpRequest"},n.headers||{},i._actionHeaders()),n.params=$.extend({},n.params||{},{v:(new Date).getTime()}),axios.request(n).then(s).catch(a)}))},sendApiRequest:function(t,e){var i=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise((function(s,a){var r=(n=n?$.extend({},n):{}).cancelToken||null;i._getApiHeaders(r).then((function(o){n.method=t,n.baseURL=Craft.baseApiUrl,n.url=e,n.headers=$.extend(o,n.headers||{}),n.params=$.extend(Craft.apiParams||{},n.params||{},{v:(new Date).getTime()}),i._apiHeaders||(n.params.processCraftHeaders=1),Craft.httpProxy&&(n.proxy=Craft.httpProxy),axios.request(n).then((function(t){i._processApiHeaders(t.headers,r).then((function(){s(t.data)})).catch(a)})).catch(a)})).catch(a)}))},_loadingApiHeaders:!1,_apiHeaders:null,_apiHeaderWaitlist:[],_getApiHeaders:function(t){var i=this;return new Promise((function(n,s){i._loadingApiHeaders?i._apiHeaderWaitlist.push([n,s]):i._apiHeaders?n(i._apiHeaders):(i._loadingApiHeaders=!0,i.sendActionRequest("POST","app/api-headers",{cancelToken:t}).then((function(t){i._loadingApiHeaders?n(t.data):s(e)})).catch((function(t){i._rejectApiRequests(s,t)})))}))},_processApiHeaders:function(t,i){var n=this;return new Promise((function(s,a){n._apiHeaders?s():n.sendActionRequest("POST","app/process-api-response-headers",{data:{headers:t},cancelToken:i}).then((function(t){if(n._loadingApiHeaders)for(n._apiHeaders=t.data,n._loadingApiHeaders=!1,s();n._apiHeaderWaitlist.length;)n._apiHeaderWaitlist.shift()[0](n._apiHeaders);else a(e)})).catch((function(t){n._rejectApiRequests(a,t)}))}))},_rejectApiRequests:function(t,e){for(this._loadingApiHeaders=!1,t(e);this._apiHeaderWaitlist.length;)this._apiHeaderWaitlist.shift()[1](e)},clearCachedApiHeaders:function(){for(this._apiHeaders=null,this._loadingApiHeaders=!1;this._apiHeaderWaitlist.length;)this._apiHeaderWaitlist.shift()[1]()},downloadFromUrl:function(t,e,i){return new Promise((function(n,s){var a=new XMLHttpRequest;a.open(t,e,!0),"object"===l(i)?(a.setRequestHeader("Content-Type","application/json; charset=UTF-8"),i=JSON.stringify(i)):a.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"),a.responseType="blob",a.onload=function(){if(200===a.status){var t=a.getResponseHeader("content-disposition"),e=/"([^"]*)"/.exec(t),i=null!=e&&e[1]?e[1]:"Download",r=a.getResponseHeader("content-type"),o=new Blob([a.response],{type:r}),l=document.createElement("a");l.href=window.URL.createObjectURL(o),l.download=i,document.body.appendChild(l),l.click(),document.body.removeChild(l),n()}else s()},a.send(i)}))},stringToArray:function(t){if("string"!=typeof t)return t;for(var e=t.split(","),i=0;i<e.length;i++)e[i]=$.trim(e[i]);return e},findDeltaData:function(t,e,i,n,s,a){t="string"==typeof t?t:"",e="string"==typeof e?e:"",i=Array.isArray(i)?i:[],s=$.isPlainObject(s)?s:{},a=Array.isArray(a)?a:[],i.sort((function(t,e){return t.length===e.length?0:t.length>e.length?1:-1}));for(var r=this._groupParamsByDeltaNames(t.split("&"),i,!1,s),o=this._groupParamsByDeltaNames(e.split("&"),i,!0,!1),h=o.__root__,d=0;d<i.length;d++)(Craft.inArray(i[d],a)||"object"===l(o[i[d]])&&("object"!==l(r[i[d]])||JSON.stringify(r[i[d]])!==JSON.stringify(o[i[d]])))&&((h=h.concat(o[i[d]])).push("modifiedDeltaNames[]="+i[d]),n&&n(i[d],o[i[d]]));return h.join("&")},_groupParamsByDeltaNames:function(t,e,i,n){var s={};i&&(s.__root__=[]);var a=function(t){return encodeURIComponent(t).replace("%3D","=")};t=t.map((function(t){return decodeURIComponent(t)}));t:for(var r=0;r<t.length;r++){for(var o=e.length-1;o>=0;o--){var l=t[r].substring(0,e[o].length+1);if(l===e[o]+"="||l===e[o]+"["){void 0===s[e[o]]&&(s[e[o]]=[]),s[e[o]].push(a(t[r]));continue t}}i&&s.__root__.push(a(t[r]))}if(n){var h=function(t,e){return Array.isArray(e)||$.isPlainObject(e)?e=$.param(e):"string"==typeof e?e=encodeURIComponent(e):null===e&&(e=""),"".concat(encodeURIComponent(t),"=").concat(e)};for(var d in n)if(n.hasOwnProperty(d))if($.isPlainObject(n[d]))for(var c in s[d]=[],n[d])n[d].hasOwnProperty(c)&&s[d].push(h("".concat(d,"[").concat(c,"]"),n[d][c]));else s[d]=[h(d,n[d])]}return s},expandPostArray:function(t){var e,i={};for(var n in t)if(t.hasOwnProperty(n)){var s,a=t[n],r=n.match(/^(\w+)(\[.*)?/);if(r[2])for(s=r[2].match(/\[[^\[\]]*\]/g),e=0;e<s.length;e++)s[e]=s[e].substring(1,s[e].length-1);else s=[];s.unshift(r[1]);var o=i;for(e=0;e<s.length;e++)e<s.length-1?("object"!==l(o[s[e]])&&(s[e+1]&&parseInt(s[e+1])!=s[e+1]?o[s[e]]={}:o[s[e]]=[]),o=o[s[e]]):(s[e]||(s[e]=o.length),o[s[e]]=a)}return i},createForm:function(t){var e=$("<form/>",{attr:{method:"post",action:"","accept-charset":"UTF-8"}});if("string"==typeof t)for(var i,n=t.split("&"),s=0;s<n.length;s++)i=n[s].split("=",2),$("<input/>",{type:"hidden",name:decodeURIComponent(i[0]),value:decodeURIComponent(i[1]||"")}).appendTo(e);return e},compare:function(t,e,i){if(l(t)!==l(e))return!1;if("object"===l(t)&&null!==t&&null!==e){if(t.length!==e.length)return!1;if(Array.isArray(t)!==Array.isArray(e))return!1;if(!Array.isArray(t))if(void 0===i||!0===i){if(!Craft.compare(Craft.getObjectKeys(t).sort(),Craft.getObjectKeys(e).sort()))return!1}else if(!Craft.compare(Craft.getObjectKeys(t),Craft.getObjectKeys(e)))return!1;for(var n in t)if(t.hasOwnProperty(n)&&!Craft.compare(t[n],e[n]))return!1;return!0}return t===e},getObjectKeys:function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(i);return e},escapeChars:function(t){Array.isArray(t)||(t=t.split());for(var e="",i=0;i<t.length;i++)e+="\\"+t[i];return e},ltrim:function(t,e){if(!t)return t;if(void 0===e)return t.trimStart();var i=new RegExp("^["+Craft.escapeChars(e)+"]+");return t.replace(i,"")},rtrim:function(t,e){if(!t)return t;if(void 0===e)return t.trimEnd();var i=new RegExp("["+Craft.escapeChars(e)+"]+$");return t.replace(i,"")},trim:function(t,e){return t?void 0===e?t.trim():(t=Craft.ltrim(t,e),t=Craft.rtrim(t,e)):t},startsWith:function(t,e){return t.startsWith(e)},ensureStartsWith:function(t,e){return t.startsWith(e)||(t=e+t),t},ensureEndsWith:function(t,e){return t.endsWith(e)||(t+=e),t},filterArray:function(t,e){for(var i=[],n=0;n<t.length;n++)("function"==typeof e?e(t[n],n):t[n])&&i.push(t[n]);return i},inArray:function(t,e){return $.isPlainObject(e)&&(e=Object.values(e)),e.includes(t)},removeFromArray:function(t,e){var i=$.inArray(t,e);return-1!==i&&(e.splice(i,1),!0)},getLast:function(t){return t.length?t[t.length-1]:null},uppercaseFirst:function(t){return t.charAt(0).toUpperCase()+t.slice(1)},lowercaseFirst:function(t){return t.charAt(0).toLowerCase()+t.slice(1)},parseUrl:function(t){var e=t.match(/^(?:(https?):\/\/|\/\/)([^\/\:]*)(?:\:(\d+))?(\/[^\?]*)?(?:\?([^#]*))?(#.*)?/);return e?{scheme:e[1],host:e[2]+(e[3]?":"+e[3]:""),hostname:e[2],port:e[3]||null,path:e[4]||"/",query:e[5]||null,hash:e[6]||null}:{}},getQueryParams:function(){return Object.fromEntries(new URLSearchParams(window.location.search).entries())},getQueryParam:function(t){return new Proxy(new URLSearchParams(window.location.search),{get:function(t,e){return t.get(e)}})[t]},isSameHost:function(t){var e=this.parseUrl(document.location.href);if(!e)return!1;var i=this.parseUrl(t);return!!i&&e.host===i.host},secondsToHumanTimeDuration:function(t,e){void 0===e&&(e=!0);var i=604800,n=Math.floor(t/i);t%=i;var s=Math.floor(t/86400);t%=86400;var a,r=Math.floor(t/3600);t%=3600,e?(a=Math.floor(t/60),t%=60):(a=Math.round(t/60),t=0);var o=[];return n&&o.push(n+" "+(1===n?Craft.t("app","week"):Craft.t("app","weeks"))),s&&o.push(s+" "+(1===s?Craft.t("app","day"):Craft.t("app","days"))),r&&o.push(r+" "+(1===r?Craft.t("app","hour"):Craft.t("app","hours"))),!a&&(e||n||s||r)||o.push(a+" "+(1===a?Craft.t("app","minute"):Craft.t("app","minutes"))),!t&&(!e||n||s||r||a)||o.push(t+" "+(1===t?Craft.t("app","second"):Craft.t("app","seconds"))),o.join(", ")},asciiString:function(t,e){t=t.normalize("NFC");for(var i,n="",s=0;s<t.length;s++)i=t.charAt(s),n+="string"==typeof(e||Craft.asciiCharMap)[i]?(e||Craft.asciiCharMap)[i]:i;return n},uuid:function(){return"function"==typeof crypto.randomUUID?crypto.randomUUID():([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))},namespaceInputName:function(t,e){return e?t.replace(/([^'"\[\]]+)([^'"]*)/,"".concat(e,"[$1]$2")):t},namespaceId:function(t,e){return(e?"".concat(Craft.formatInputId(e),"-"):"")+Craft.formatInputId(t)},randomString:function(t){for(var e="",i=0;i<t;i++)e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random()));return e},createErrorList:function(t){for(var e=$(document.createElement("ul")).addClass("errors"),i=0;i<t.length;i++){var n=$(document.createElement("li"));n.appendTo(e),n.html(t[i])}return e},_existingCss:null,_existingJs:null,_appendHtml:function(t,e){var i=this;if(t){var n=$.parseHTML(t.trim(),!0).filter((function(t){if("LINK"===t.nodeName&&t.href)return i._existingCss||(i._existingCss=$("link[href]").toArray().map((function(t){return t.href.replace(/&/g,"&")}))),!i._existingCss.includes(t.href)&&(i._existingCss.push(t.href),!0);if("SCRIPT"===t.nodeName&&t.src){if(i._existingJs||(i._existingJs=$("script[src]").toArray().map((function(t){return t.src.replace(/&/g,"&")}))),t.src.startsWith(i.resourceBaseUrl)&&!i.isSameHost(t.src)&&(t.src=i.getActionUrl("app/resource-js",{url:t.src})),i._existingJs.includes(t.src))return!1;i._existingJs.push(t.src)}return!0}));e.append(n)}},appendHeadHtml:(d=s(i().mark((function t(e){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:this._appendHtml(e,$("head"));case 1:case"end":return t.stop()}}),t,this)}))),function(t){return d.apply(this,arguments)}),appendBodyHtml:(h=s(i().mark((function t(e){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:this._appendHtml(e,Garnish.$bod);case 1:case"end":return t.stop()}}),t,this)}))),function(t){return h.apply(this,arguments)}),appendFootHtml:function(t){console.warn("Craft.appendFootHtml() is deprecated. Craft.appendBodyHtml() should be used instead."),this.appendBodyHtml(t)},initUiElements:function(t){$(".grid",t).grid(),$(".info",t).infoicon(),$(".checkbox-select",t).checkboxselect(),$(".fieldtoggle",t).fieldtoggle(),$(".lightswitch",t).lightswitch(),$(".nicetext",t).nicetext(),$(".formsubmit",t).formsubmit(),$(".menubtn:not([data-disclosure-trigger])",t).menubtn(),$("[data-disclosure-trigger]",t).disclosureMenu(),$(".datetimewrapper",t).datetime(),$('.datewrapper > input[type="date"], .timewrapper > input[type="time"]',t).datetimeinput(),$("a",t).each((function(){this.hostname.length&&this.hostname!==location.hostname&&void 0===$(this).attr("target")&&$(this).attr("rel","noopener").attr("target","_blank")}))},_elementIndexClasses:{},_elementSelectorModalClasses:{},_elementEditorClasses:{},_uploaderClasses:{},registerElementIndexClass:function(t,e){if(void 0!==this._elementIndexClasses[t])throw"An element index class has already been registered for the element type “"+t+"”.";this._elementIndexClasses[t]=e},registerUploaderClass:function(t,e){if(void 0!==this._uploaderClasses[t])throw"An asset uploader class has already been registered for the filesystem type “"+t+"”.";this._uploaderClasses[t]=e},registerElementSelectorModalClass:function(t,e){if(void 0!==this._elementSelectorModalClasses[t])throw"An element selector modal class has already been registered for the element type “"+t+"”.";this._elementSelectorModalClasses[t]=e},registerElementEditorClass:function(t,e){if(void 0!==this._elementEditorClasses[t])throw"An element editor class has already been registered for the element type “"+t+"”.";this._elementEditorClasses[t]=e},createElementIndex:function(t,e,i){return new(void 0!==this._elementIndexClasses[t]?this._elementIndexClasses[t]:Craft.BaseElementIndex)(t,e,i)},createUploader:function(t,e,i){var n=new(void 0!==this._uploaderClasses[t]?this._uploaderClasses[t]:Craft.Uploader)(e,i);return n.fsType=t,n},createElementSelectorModal:function(t,e){return new(void 0!==this._elementSelectorModalClasses[t]?this._elementSelectorModalClasses[t]:Craft.BaseElementSelectorModal)(t,e)},createElementEditor:function(t,e,i){return void 0===i&&$.isPlainObject(e)?(i=e,e=null):"object"!==l(i)&&(i={}),i.elementType||(i.elementType=t),new Craft.ElementEditorSlideout(e,i)},getLocalStorage:function(t,e){return t="Craft-"+Craft.systemUid+"."+t,"undefined"!=typeof localStorage&&void 0!==localStorage[t]?JSON.parse(localStorage[t]):e},setLocalStorage:function(t,e){if("undefined"!=typeof localStorage){t="Craft-"+Craft.systemUid+"."+t;try{localStorage[t]=JSON.stringify(e)}catch(t){}}},removeLocalStorage:function(t){"undefined"!=typeof localStorage&&localStorage.removeItem("Craft-".concat(Craft.systemUid,".").concat(t))},getCookie:function(t){return document.cookie.replace(new RegExp("(?:(?:^|.*;\\s*)Craft-".concat(Craft.systemUid,":").concat(t,"\\s*\\=\\s*([^;]*).*$)|^.*$")),"$1")},setCookie:function(t,e,i){i=$.extend({},this.defaultCookieOptions,i);var n="Craft-".concat(Craft.systemUid,":").concat(t,"=").concat(encodeURIComponent(e));i.path&&(n+=";path=".concat(i.path)),i.domain&&(n+=";domain=".concat(i.domain)),i.maxAge?n+=";max-age-in-seconds=".concat(i.maxAge):i.expires&&(n+=";expires=".concat(i.expires.toUTCString())),i.secure&&(n+=";secure"),document.cookie=n},removeCookie:function(t){this.setCookie(t,"",new Date("1970-01-01T00:00:00"))},getElementInfo:function(t){var e=$(t);return e.hasClass("element")||(e=e.find(".element:first")),{id:e.data("id"),siteId:e.data("site-id"),label:e.data("label"),status:e.data("status"),url:e.data("url"),hasThumb:e.hasClass("hasthumb"),$element:e}},setElementSize:function(t,e){var i=$(t);if("small"!==e&&"large"!==e&&(e="small"),!i.hasClass(e)){var n="small"===e?"large":"small";if(i.addClass(e).removeClass(n),i.hasClass("hasthumb")){var s=i.find("> .elementthumb > img"),a=$("<img/>",{sizes:("small"===e?"30":"100")+"px",srcset:s.attr("srcset")||s.attr("data-pfsrcset")});s.replaceWith(a),picturefill({elements:[a[0]]})}}},submitForm:function(t,e){if(void 0===e&&(e={}),!e.confirm||confirm(e.confirm)){if(e.action&&$("<input/>",{type:"hidden",name:"action",val:e.action}).appendTo(t),e.redirect&&$("<input/>",{type:"hidden",name:"redirect",val:e.redirect}).appendTo(t),e.params)for(var i in e.params){var n=e.params[i];$("<input/>",{type:"hidden",name:i,val:n}).appendTo(t)}e.retainScroll&&this.setLocalStorage("scrollY",window.scrollY),t.trigger($.extend({type:"submit"},e.data))}},trapFocusWithin:function(t){Garnish.trapFocusWithin(t)},releaseFocusWithin:function(t){Garnish.releaseFocusWithin(t)},setFocusWithin:function(t){Garnish.setFocusWithin(t)},filterInputVal:function(t,e){for(var i=$(t),n=i.val(),s=i[0].selectionStart,a="",r=0;r<n.length;r++)n[r].match(e)?a+=n[r]:r<s&&s--;a!==n&&(i.val(a),i[0].setSelectionRange(s,s))},filterNumberInputVal:function(t){this.filterInputVal(t,/[0-9.,\-]/)},setElementAttributes:function(e,i){var n=$(e);for(var s in i)if(i.hasOwnProperty(s)){var a=i[s];if(null===a||!1===a)n.removeAttr(s);else if(!0===a)n.attr(s,"");else if(Array.isArray(a)||$.isPlainObject(a))if(Craft.dataAttributes.includes(s)){for(var r in a=Object.assign({},a))if(a.hasOwnProperty(r)){var o=a[r];null!==o&&!1!==o&&(o=$.isPlainObject(o)||Array.isArray(o)?JSON.stringify(o):!0===o?"":this.escapeHtml(o),n.attr("".concat(s,"-").concat(r),o))}}else if("class"===s){$.isPlainObject(a)&&(a=Object.values(a));var l,h=t(a);try{for(h.s();!(l=h.n()).done;){var d=l.value;n.addClass(d)}}catch(t){h.e(t)}finally{h.f()}}else"style"===s?n.css(a):n.attr(s,JSON.stringify(a));else n.attr(s,this.escapeHtml(a))}},isVisible:function(){return void 0===document.visibilityState||"visible"===document.visibilityState},useMobileStyles:function(){return Garnish.isMobileBrowser()||document.body.clientWidth<600}}),Craft.pageId=Craft.uuid(),"undefined"!=typeof BroadcastChannel){var u="CraftCMS:".concat(Craft.appId);Craft.broadcaster=new BroadcastChannel(u),Craft.messageReceiver=new BroadcastChannel(u),Craft.broadcaster.addEventListener("message",(function(t){switch(t.data.event){case"beforeTrackJobProgress":Craft.cp.cancelJobTracking();break;case"trackJobProgress":if(Craft.cp.setJobData(t.data.jobData),Craft.cp.jobInfo.length){var e=Craft.cp.getNextJobDelay()+1e3;Craft.cp.trackJobProgress(e)}}})),Craft.messageReceiver.addEventListener("message",(function(e){if("saveElement"===e.data.event){var i=$('div.element[data-id="'.concat(e.data.id,'"][data-settings]'));if(!i.length)return;for(var n={type:i.data("type"),id:e.data.id,instances:[]},s=0;s<i.length;s++){var a=i.eq(s);n.instances.push(Object.assign({siteId:a.data("site-id")},a.data("settings")))}Craft.sendActionRequest("POST","app/render-element",{data:n}).then((function(e){for(var n=e.data,s=0;s<i.length;s++){var a=i.eq(s);if(n.elementHtml[s]){var r,o=$(n.elementHtml[s]),l=t(o[0].attributes);try{for(l.s();!(r=l.n()).done;){var h=r.value;"class"===h.name?a.addClass(h.value):a.attr(h.name,h.value)}}catch(t){l.e(t)}finally{l.f()}var d=a.find("input,button").detach();a.html(o.html()),d.length&&d.prependTo(a)}}Craft.cp.elementThumbLoader.load(i)}))}}))}$.extend($.fn,{animateLeft:function(t,e,i,n){return"ltr"===Craft.orientation?this.velocity({left:t},e,i,n):this.velocity({right:t},e,i,n)},animateRight:function(t,e,i,n){return"ltr"===Craft.orientation?this.velocity({right:t},e,i,n):this.velocity({left:t},e,i,n)},disable:function(){return this.each((function(){var t=$(this);t.addClass("disabled"),t.data("activatable")&&t.removeAttr("tabindex")}))},enable:function(){return this.each((function(){var t=$(this);t.removeClass("disabled"),t.data("activatable")&&t.attr("tabindex","0")}))},grid:function(){return this.each((function(){var t=$(this),e={};t.data("item-selector")&&(e.itemSelector=t.data("item-selector")),t.data("cols")&&(e.cols=parseInt(t.data("cols"))),t.data("max-cols")&&(e.maxCols=parseInt(t.data("max-cols"))),t.data("min-col-width")&&(e.minColWidth=parseInt(t.data("min-col-width"))),t.data("mode")&&(e.mode=t.data("mode")),t.data("fill-mode")&&(e.fillMode=t.data("fill-mode")),t.data("col-class")&&(e.colClass=t.data("col-class")),t.data("snap-to-grid")&&(e.snapToGrid=!!t.data("snap-to-grid")),new Craft.Grid(this,e)}))},infoicon:function(){return this.each((function(){new Craft.InfoIcon(this)}))},checkboxselect:function(){return this.each((function(){$.data(this,"checkboxSelect")||new Garnish.CheckboxSelect(this)}))},fieldtoggle:function(){return this.each((function(){$.data(this,"fieldtoggle")||new Craft.FieldToggle(this)}))},lightswitch:function(t,e,i){return"settings"===t?("string"==typeof e?(t={})[e]=i:t=e,this.each((function(){var e=$.data(this,"lightswitch");e&&e.setSettings(t)}))):($.isPlainObject(t)||(t={}),this.each((function(){var e=$.extend({},t);Garnish.hasAttr(this,"data-value")&&(e.value=$(this).attr("data-value")),Garnish.hasAttr(this,"data-indeterminate-value")&&(e.indeterminateValue=$(this).attr("data-indeterminate-value")),$.data(this,"lightswitch")||new Craft.LightSwitch(this,e)})))},nicetext:function(){return this.each((function(){$.data(this,"nicetext")||new Garnish.NiceText(this)}))},formsubmit:function(){return this.on("click",(function(t){var e=$(t.currentTarget),i=e.data("params")||{};e.data("param")&&(i[e.data("param")]=e.data("value"));var n=e.data("menu")?e.data("menu").$anchor:e,s=n.attr("data-form")?$("#"+n.attr("data-form")):n.closest("form");Craft.submitForm(s,{confirm:e.data("confirm"),action:e.data("action"),redirect:e.data("redirect"),retainScroll:Garnish.hasAttr(e,"data-retain-scroll"),params:i,data:$.extend({customTrigger:e},e.data("event-data"))})}))},menubtn:function(){return this.each((function(){var t=$(this);if(!t.data("menubtn")&&t.next().hasClass("menu")){var e={};t.data("menu-anchor")&&(e.menuAnchor=t.data("menu-anchor")),new Garnish.MenuBtn(t,e)}}))},disclosureMenu:function(){return this.each((function(){var t=$(this);!t.data("trigger")&&t.attr("aria-controls")&&new Garnish.DisclosureMenu(t)}))},datetime:function(){return this.each((function(){var t=$(this),e=t.find('input:not([name$="[timezone]"])'),i=function(){for(var i=!1,n=0;n<e.length;n++)if(e.eq(n).val()&&!e.eq(n).is(":disabled")){i=!0;break}if(i){if(!t.children(".clear-btn").length)var s=$("<button/>",{type:"button",class:"clear-btn",title:Craft.t("app","Clear"),"aria-label":Craft.t("app","Clear")}).appendTo(t).on("click",(function(){for(var t=0;t<e.length;t++)e.eq(t).val("").trigger("input").trigger("change");s.remove(),e.first().filter('[type="text"]').focus()}))}else t.children(".clear-btn").remove()};e.on("change",i),i()}))},datetimeinput:function(){return this.each((function(){var t=$(this),e=function(){""===t.val()?t.addClass("empty-value"):t.removeClass("empty-value")};t.on("input",e),e()}))}}),Garnish.NiceText.charsLeftHtml=function(t){return Craft.t("app",'<span class="visually-hidden">Characters left:</span> {chars, number}',{chars:t})},Garnish.$doc.ready((function(){Craft.initUiElements()}))},691:function(){function t(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var n,s,a=[],r=!0,o=!1;try{for(i=i.call(t);!(r=(n=i.next()).done)&&(a.push(n.value),!e||a.length!==e);r=!0);}catch(t){o=!0,s=t}finally{try{r||null==i.return||i.return()}finally{if(o)throw s}}return a}}(t,e)||i(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function e(t){return function(t){if(Array.isArray(t))return n(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||i(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){if(t){if("string"==typeof t)return n(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?n(t,e):void 0}}function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}Craft.CustomizeSourcesModal=Garnish.Modal.extend({elementIndex:null,$elementIndexSourcesContainer:null,$sidebar:null,$sidebarToggleBtn:null,$sourcesContainer:null,$sourcesHeader:null,$sourcesHeading:null,$sourceSettingsContainer:null,$sourceSettingsHeader:null,$addSourceMenu:null,addSourceMenu:null,$footer:null,$footerBtnContainer:null,$saveBtn:null,$cancelBtn:null,$loadingSpinner:null,sourceSort:null,sources:null,selectedSource:null,elementTypeName:null,baseSortOptions:null,availableTableAttributes:null,customFieldAttributes:null,conditionBuilderHtml:null,conditionBuilderJs:null,userGroups:null,init:function(t,e){var i=this;this.base(),this.setSettings(e,{resizable:!0}),this.elementIndex=t,this.$elementIndexSourcesContainer=this.elementIndex.$sidebar.children("nav").children("ul");var n=$('<form class="modal customize-sources-modal"/>').appendTo(Garnish.$bod);this.$sidebar=$('<div class="cs-sidebar block-types"/>').appendTo(n).attr({role:"navigation","aria-label":Craft.t("app","Source")}),this.$sourcesContainer=$('<div class="sources">').appendTo(this.$sidebar),this.$sourceSettingsContainer=$('<div class="source-settings">').appendTo(n),this.$footer=$('<div class="footer"/>').appendTo(n),this.$footerBtnContainer=$('<div class="buttons right"/>').appendTo(this.$footer),this.$cancelBtn=$("<button/>",{type:"button",class:"btn",text:Craft.t("app","Cancel")}).appendTo(this.$footerBtnContainer),this.$saveBtn=Craft.ui.createSubmitButton({class:"disabled",label:Craft.t("app","Save"),spinner:!0}).appendTo(this.$footerBtnContainer),this.$loadingSpinner=$('<div class="spinner"/>').appendTo(this.$sourceSettingsContainer),this.setContainer(n),this.show(),Craft.sendActionRequest("POST","element-index-settings/get-customize-sources-modal-data",{data:{elementType:this.elementIndex.elementType}}).then((function(t){i.$saveBtn.removeClass("disabled"),i.buildModal(t.data)})).finally((function(){i.$loadingSpinner.remove(),Garnish.setFocusWithin(i.$sidebar)})),this.addListener(this.$cancelBtn,"click","hide"),this.addListener(this.$saveBtn,"click","save"),this.addListener(this.$container,"submit","save")},buildModal:function(t){var i=this;this.baseSortOptions=t.baseSortOptions,this.defaultSortOptions=t.defaultSortOptions,this.availableTableAttributes=t.availableTableAttributes,this.customFieldAttributes=t.customFieldAttributes,this.elementTypeName=t.elementTypeName,this.conditionBuilderHtml=t.conditionBuilderHtml,this.conditionBuilderJs=t.conditionBuilderJs,this.sites=t.sites,this.userGroups=t.userGroups,t.headHtml&&Craft.appendHeadHtml(t.headHtml),t.bodyHtml&&Craft.appendBodyHtml(t.bodyHtml),this.sourceSort=new Garnish.DragSort({handle:".move",axis:"y"}),this.sources=[];for(var n=0;n<t.sources.length;n++)this.sources.push(this.addSource(t.sources[n]));this.selectedSource||void 0===this.sources[0]||this.sources[0].select();var s=$('<div class="buttons left" data-wrapper/>').appendTo(this.$footer),a=$("<button/>",{type:"button",class:"btn menubtn add icon","aria-label":Craft.t("app","Add…"),"aria-controls":"add-source-menu",title:Craft.t("app","Add…"),"data-disclosure-trigger":""}).appendTo(s);this.$addSourceMenu=$("<div/>",{id:"add-source-menu",class:"menu menu--disclosure"}).appendTo(s);var r=function(t){var e=i.addSource(t,!0);Garnish.scrollContainerToElement(i.$sidebar,e.$item),e.select(),i.addSourceMenu.hide()},o=$("<button/>",{type:"button",class:"menu-option",text:Craft.t("app","New heading")}).on("click",(function(){r({type:"heading"}),i.focusLabelInput()})),l=$("<button/>",{type:"button",class:"menu-option",text:Craft.t("app","New custom source"),"data-type":"custom"}).on("click",(function(){var t=i.baseSortOptions.slice(0);t.push.apply(t,e(i.defaultSortOptions)),r({type:"custom",key:"custom:".concat(Craft.uuid()),sortOptions:t,defaultSort:[t[0].attr,t[1].defaultDir],tableAttributes:[],availableTableAttributes:[]}),i.focusLabelInput()})),h=$("<ul/>").append($("<li/>").append(o)).appendTo(this.$addSourceMenu);t.conditionBuilderHtml&&$("<li/>").append(l).appendTo(h),Craft.useMobileStyles()&&this.buildSidebarToggleView(),this.addListener(Garnish.$win,"resize",this.updateSidebarView),this.addSourceMenu=new Garnish.DisclosureMenu(a)},focusLabelInput:function(){this.selectedSource.$labelInput.focus()},getSourceName:function(){return this.selectedSource?this.selectedSource.sourceData.label:this.sources[0].sourceData.label},updateSidebarView:function(){Craft.useMobileStyles()?this.$sidebarToggleBtn||this.buildSidebarToggleView():this.$sidebarToggleBtn&&this.resetView()},resetView:function(){this.$sourceSettingsHeader&&this.$sourceSettingsHeader.remove(),this.$sourcesHeader&&this.$sourcesHeader.remove(),this.$sidebarToggleBtn=null,this.$container.removeClass("sidebar-hidden")},updateHeading:function(){this.$sourcesHeading&&this.$sourcesHeading.text(this.getSourceName())},buildSidebarToggleView:function(){var t=this;this.$sourcesHeader=$('<div class="sources-header"/>').addClass("sidebar-header").prependTo(this.$sourcesContainer),this.$sidebarCloseBtn=Craft.ui.createButton({class:"nav-close close-btn"}).attr("aria-label",Craft.t("app","Close")).removeClass("btn").appendTo(this.$sourcesHeader),this.$sourcesHeading=$('<h1 class="main-heading"/>').text(this.getSourceName()),this.$sourceSettingsHeader=$('<div class="source-settings-header"/>').addClass("main-header").append(this.$sourcesHeading).prependTo(this.$sourceSettingsContainer),this.$sidebarToggleBtn=Craft.ui.createButton({toggle:!0,controls:"modal-sidebar",class:"nav-toggle"}).removeClass("btn").attr("aria-label",Craft.t("app","Show sidebar")).appendTo(this.$sourceSettingsHeader),this.closeSidebar(),this.addListener(this.$sidebarToggleBtn,"click",(function(){t.toggleSidebar()})),this.addListener(this.$sidebarCloseBtn,"click",(function(){t.toggleSidebar(),t.$sidebarToggleBtn.focus()}))},toggleSidebar:function(){this.sidebarIsOpen()?this.closeSidebar():this.openSidebar()},openSidebar:function(){var t=this;this.$container.removeClass("sidebar-hidden"),this.$sidebarToggleBtn.attr("aria-expanded","true"),this.$sidebar.find(":focusable").first().focus(),Garnish.uiLayerManager.addLayer(this.$sidebar),Garnish.uiLayerManager.registerShortcut(Garnish.ESC_KEY,(function(){t.closeSidebar(),Garnish.focusIsInside(t.$sidebar)&&t.$sidebarToggleBtn.focus()}))},closeSidebar:function(){this.$container.addClass("sidebar-hidden"),this.$sidebarToggleBtn&&this.$sidebarToggleBtn.attr("aria-expanded","false"),Garnish.uiLayerManager.currentLayer.$container.hasClass("cs-sidebar")&&Garnish.uiLayerManager.removeLayer()},sidebarIsOpen:function(){return"true"===this.$sidebarToggleBtn.attr("aria-expanded")},addSource:function(t,e){var i,n=$('<div class="customize-sources-item"/>').appendTo(this.$sourcesContainer),s=$('<div class="label customize-sources-item__btn"/>').attr({tabindex:"0",role:"button"}).appendTo(n),a=$('<input type="hidden"/>').appendTo(n);return $('<a class="move icon customize-sources-item__move" title="'.concat(Craft.t("app","Reorder"),'" role="button"></a>')).appendTo(n),"heading"===t.type?(n.addClass("heading"),a.attr("name","sourceOrder[][heading]"),(i=new Craft.CustomizeSourcesModal.Heading(this,n,s,a,t,e)).updateItemLabel(t.heading)):(a.attr("name","sourceOrder[][key]").val(t.key),(i="native"===t.type?new Craft.CustomizeSourcesModal.Source(this,n,s,a,t,e):new Craft.CustomizeSourcesModal.CustomSource(this,n,s,a,t,e)).updateItemLabel(t.label),t.key===this.elementIndex.rootSourceKey&&i.select()),this.sourceSort.addItems(n),i},save:function(t){var e=this;t&&t.preventDefault(),this.$saveBtn.hasClass("disabled")||this.$saveBtn.hasClass("loading")||(this.$saveBtn.addClass("loading"),Craft.sendActionRequest("POST","element-index-settings/save-customize-sources-modal-settings",{data:this.$container.serialize()+"&elementType=".concat(this.elementIndex.elementType)}).then((function(t){var i=t.data,n=null;e.selectedSource&&e.selectedSource.sourceData.key&&!i.disabledSourceKeys.includes(e.selectedSource.sourceData.key)?n=e.selectedSource.sourceData.key:e.elementIndex.sourceKey||(n=e.elementIndex.$visibleSources.first().data("key")),n&&e.elementIndex.selectSourceByKey(n),window.location.reload()})).catch((function(t){var e,i;Craft.cp.displayError(null==t||null===(e=t.response)||void 0===e||null===(i=e.data)||void 0===i?void 0:i.message)})).finally((function(){e.$saveBtn.removeClass("loading")})))},appendIndexSourceItem:function(t,e){if(e){var i=t.hasClass("heading");if(e.hasClass("heading")&&!i)t.appendTo(e.children("ul"));else{if(i){var n=e.parentsUntil(this.$elementIndexSourcesContainer,"li").last();n.length&&(e=n)}t.insertAfter(e)}}else t.prependTo(this.$elementIndexSourcesContainer)},destroy:function(){for(var t=0;t<this.sources.length;t++)this.sources[t].destroy();this.addSourceMenu&&(this.addSourceMenu.destroy(),this.$addSourceMenu.remove()),delete this.sources,this.base()}}),Craft.CustomizeSourcesModal.BaseSource=Garnish.Base.extend({modal:null,$item:null,$itemLabel:null,$itemInput:null,$settingsContainer:null,sourceData:null,isNew:null,init:function(t,e,i,n,s,a){this.modal=t,this.$item=e,this.$itemLabel=i,this.$itemInput=n,this.sourceData=s,this.isNew=a,this.$item.data("source",this),this.addListener(this.$itemLabel,"activate",this.select)},isHeading:function(){return!1},isNative:function(){return!1},isSelected:function(){return this.modal.selectedSource===this},select:function(){this.isSelected()||(this.modal.selectedSource&&this.modal.selectedSource.deselect(),this.$item.addClass("sel"),this.$itemLabel.attr({"aria-current":"true"}),this.modal.selectedSource=this,this.modal.updateHeading(),this.$settingsContainer?this.$settingsContainer.removeClass("hidden"):(this.$settingsContainer=$("<div/>").appendTo(this.modal.$sourceSettingsContainer),this.createSettings(this.$settingsContainer)),this.modal.$sourceSettingsContainer.scrollTop(0))},createSettings:function(){},getIndexSourceItem:function(){},deselect:function(){this.$item.removeClass("sel"),this.$itemLabel.attr({"aria-current":"false"}),this.modal.selectedSource=null,this.$settingsContainer.addClass("hidden")},updateItemLabel:function(t){t?this.$itemLabel.text(t):this.$itemLabel.html(" ")},destroy:function(){this.modal.sourceSort.removeItems(this.$item),this.modal.sources.splice($.inArray(this,this.modal.sources),1),this.isSelected()&&(this.deselect(),this.modal.sources.length&&this.modal.sources[0].select(),Garnish.setFocusWithin(this.modal.$sourceSettingsContainer)),this.$item.data("source",null),this.$item.remove(),this.$settingsContainer&&this.$settingsContainer.remove(),this.base()}}),Craft.CustomizeSourcesModal.Source=Craft.CustomizeSourcesModal.BaseSource.extend({$sortAttributeSelect:null,$sortDirectionPicker:null,$sortDirectionInput:null,sortDirectionListbox:null,isNative:function(){return!0},createSettings:function(t){Craft.ui.createLightswitchField({label:Craft.t("app","Enabled"),name:"sources[".concat(this.sourceData.key,"][enabled]"),on:!this.sourceData.disabled}).appendTo(t),this.createSortField(t),this.createTableAttributesField(t)},createSortField:function(t){var i=this,n=$('<div class="flex"/>'),s=this.sourceData.sortOptions.sort((function(t,e){return t.label===e.label?0:t.label<e.label?-1:1})).reduce((function(t,e){return"structure"===e.attr?t.structure.push(e):e.attr.startsWith("field:")?t.field.push(e):t.attribute.push(e),t}),{structure:[],attribute:[],field:[]});s.field.length&&s.field.unshift({optgroup:Craft.t("app","Fields")});var a=Craft.ui.createSelect({name:"sources[".concat(this.sourceData.key,"][defaultSort][0]"),options:[].concat(e(s.structure),e(s.attribute),e(s.field)).map((function(t){return t.optgroup?t:{label:Craft.escapeHtml(t.label),value:t.attr}})),value:this.sourceData.defaultSort[0]}).addClass("fullwidth").appendTo($("<div/>").appendTo(n));this.$sortAttributeSelect=a.children("select").attr("aria-label",Craft.t("app","Sort attribute")),this.$sortDirectionPicker=$("<section/>",{class:"btngroup btngroup--exclusive","aria-label":Craft.t("app","Sort direction")}).append($("<button/>",{type:"button",class:"btn",title:Craft.t("app","Sort ascending"),"aria-label":Craft.t("app","Sort ascending"),"aria-pressed":"false","data-icon":"asc","data-dir":"asc"})).append($("<button/>",{type:"button",class:"btn",title:Craft.t("app","Sort descending"),"aria-label":Craft.t("app","Sort descending"),"aria-pressed":"false","data-icon":"desc","data-dir":"desc"})).appendTo(n),this.$sortDirectionInput=$("<input/>",{type:"hidden",name:"sources[".concat(this.sourceData.key,"][defaultSort][1]")}).appendTo(n),this.sortDirectionListbox=new Craft.Listbox(this.$sortDirectionPicker,{onChange:function(t){i.$sortDirectionInput.val(t.data("dir"))}}),this.$sortAttributeSelect.on("change",(function(){i.handleSortAttributeChange()})),this.handleSortAttributeChange(!0),Craft.ui.createField(n,{label:Craft.t("app","Default Sort"),fieldset:!0}).appendTo(t).addClass("sort-field")},handleSortAttributeChange:function(t){var e=this.$sortAttributeSelect.val();if("structure"===e)this.sortDirectionListbox.select(0),this.sortDirectionListbox.disable(),this.$sortDirectionPicker.addClass("disabled");else{this.sortDirectionListbox.enable(),this.$sortDirectionPicker.removeClass("disabled");var i=t?this.sourceData.defaultSort[1]:this.sourceData.sortOptions.find((function(t){return t.attr===e})).defaultDir;this.sortDirectionListbox.select("asc"===i?0:1)}},createTableAttributesField:function(e){var i=this.availableTableAttributes().sort((function(t,e){return t[1]===e[1]?0:t[1]<e[1]?-1:1}));if(this.sourceData.tableAttributes.length||i.length){var n=$("<div/>"),s=[];$('<input type="hidden" name="sources['.concat(this.sourceData.key,'][tableAttributes][]" value=""/>')).appendTo(n);for(var a=0;a<this.sourceData.tableAttributes.length;a++){var r=t(this.sourceData.tableAttributes[a],2),o=r[0],l=r[1];n.append(this.createTableColumnOption(o,l,!0)),s.push(o)}for(var h=0;h<i.length;h++){var d=t(i[h],2),c=d[0],u=d[1];Craft.inArray(c,s)||n.append(this.createTableColumnOption(c,u,!1))}new Garnish.DragSort(n.children(),{handle:".move",axis:"y"}),Craft.ui.createField(n,{label:Craft.t("app","Default Table Columns"),instructions:Craft.t("app","Choose which table columns should be visible for this source by default.")}).appendTo(e)}},availableTableAttributes:function(){var t=this.modal.availableTableAttributes.slice(0);return t.push.apply(t,e(this.sourceData.availableTableAttributes)),t},createTableColumnOption:function(t,e,i){return $('<div class="customize-sources-table-column"/>').append('<div class="icon move"/>').append(Craft.ui.createCheckbox({label:Craft.escapeHtml(e),name:"sources[".concat(this.sourceData.key,"][tableAttributes][]"),value:t,checked:i}))},getIndexSourceItem:function(){var t=this.modal.elementIndex.getSourceByKey(this.sourceData.key);if(t)return t.closest("li")}}),Craft.CustomizeSourcesModal.CustomSource=Craft.CustomizeSourcesModal.Source.extend({$labelInput:null,createSettings:function(t){var e=this,i=Craft.ui.createTextField({label:Craft.t("app","Label"),name:"sources[".concat(this.sourceData.key,"][label]"),value:this.sourceData.label}).appendTo(t);this.$labelInput=i.find(".text");var n="condition".concat(Math.floor(1e6*Math.random())),s=function(t){return t.replace(/__ID__/g,n).replace(/__SOURCE_KEY__(?=-)/g,Craft.formatInputId(e.sourceData.key)).replace(/__SOURCE_KEY__/g,e.sourceData.key)},a=this.sourceData.conditionBuilderHtml||s(this.modal.conditionBuilderHtml),r=this.sourceData.conditionBuilderJs||s(this.modal.conditionBuilderJs);Craft.ui.createField($("<div/>").append(a),{id:"criteria",label:Craft.t("app","{type} Criteria",{type:this.modal.elementTypeName})}).appendTo(t),Craft.appendBodyHtml(r),this.createSortField(t),this.createTableAttributesField(t),Craft.sites.length>1&&Craft.ui.createCheckboxSelectField({label:Craft.t("app","Sites"),instructions:Craft.t("app","Choose which sites this source should be visible for."),name:"sources[".concat(this.sourceData.key,"][sites]"),options:Craft.sites.map((function(t){return{label:t.name,value:t.uid}})),values:this.sourceData.sites||"*",showAllOption:!0}).appendTo(t),this.modal.userGroups.length&&Craft.ui.createCheckboxSelectField({label:Craft.t("app","User Groups"),instructions:Craft.t("app","Choose which user groups should have access to this source."),name:"sources[".concat(this.sourceData.key,"][userGroups]"),options:this.modal.userGroups,values:this.sourceData.userGroups||"*",showAllOption:!0}).appendTo(t),t.append("<hr/>"),this.$deleteBtn=$('<a class="error delete"/>').attr({role:"button",tabindex:"0"}).text(Craft.t("app","Delete custom source")).appendTo(t),this.addListener(this.$labelInput,"input","handleLabelInputChange"),this.addListener(this.$deleteBtn,"activate","destroy")},availableTableAttributes:function(){var t=this.base();return this.isNew&&t.push.apply(t,e(this.modal.customFieldAttributes)),t},handleLabelInputChange:function(){this.updateItemLabel(this.$labelInput.val())},getIndexSourceItem:function(){var t,e=this.base();if(e?t=e.find(".label"):(t=$("<span/>",{class:"label"}),e=$("<li/>").append($("<a/>",{"data-key":this.sourceData.key}).append(t))),this.$labelInput){var i=this.$labelInput.val().trim();""===i&&(i=Craft.t("app","(blank)")),t.text(i)}return e}}),Craft.CustomizeSourcesModal.Heading=Craft.CustomizeSourcesModal.BaseSource.extend({$labelInput:null,$deleteBtn:null,isHeading:function(){return!0},createSettings:function(t){var e=Craft.ui.createTextField({label:Craft.t("app","Heading"),instructions:Craft.t("app","This can be left blank if you just want an unlabeled separator."),value:this.sourceData.heading||""}).appendTo(t);this.$labelInput=e.find(".text"),t.append("<hr/>"),this.$deleteBtn=$('<a class="error delete"/>').text(Craft.t("app","Delete heading")).attr({role:"button",tabindex:"0"}).appendTo(t),this.addListener(this.$labelInput,"input","handleLabelInputChange"),this.addListener(this.$deleteBtn,"activate","destroy")},handleLabelInputChange:function(){this.updateItemLabel(this.$labelInput.val())},updateItemLabel:function(t){this.$itemLabel.html((t?Craft.escapeHtml(t):"<em>".concat(Craft.t("app","(blank)"),"</em>"))+" "),this.$itemInput.val(t)},getIndexSourceItem:function(){var t=(this.$labelInput?this.$labelInput.val():null)||this.sourceData.heading||"";return $('<li class="heading"/>').append($("<span/>").text(t)).append("<ul/>")}})},1519:function(){Craft.DataTableSorter=Garnish.DragSort.extend({$table:null,init:function(t,e){this.$table=$(t);var i=this.$table.children("tbody").children(":not(.filler)");(e=$.extend({},Craft.DataTableSorter.defaults,e)).container=this.$table.children("tbody"),e.helper=this.getHelper.bind(this),e.caboose="<tr/>",e.axis=Garnish.Y_AXIS,e.magnetStrength=4,e.helperLagBase=1.5,this.base(i,e)},getHelper:function(t){var e=$('<div class="'+this.settings.helperClass+'"/>').appendTo(Garnish.$bod),i=$("<table/>").appendTo(e),n=$("<tbody/>").appendTo(i);t.appendTo(n),i.width(this.$table.width()),i.prop("className",this.$table.prop("className"));for(var s=this.$table.find("tr:first").children(),a=t.children(),r=0;r<a.length;r++)$(a[r]).width($(s[r]).width());return e}},{defaults:{handle:".move",helperClass:"datatablesorthelper"}})},501:function(){Craft.DeleteUserModal=Garnish.Modal.extend({id:null,userId:null,$deleteActionRadios:null,$deleteSubmitBtn:null,userSelect:null,_deleting:!1,init:function(t,e){var i=this;this.id=Math.floor(1e9*Math.random()),this.userId=t,e=$.extend(Craft.DeleteUserModal.defaults,e);var n,s=$('<form class="modal fitted deleteusermodal" method="post" accept-charset="UTF-8">'+Craft.getCsrfInput()+'<input type="hidden" name="action" value="users/delete-user"/>'+(Array.isArray(this.userId)?"":'<input type="hidden" name="userId" value="'+this.userId+'"/>')+(e.redirect?'<input type="hidden" name="redirect" value="'+e.redirect+'"/>':"")+"</form>").appendTo(Garnish.$bod),a=$('<div class="body"><div class="content-summary"><p>'+Craft.t("app","What do you want to do with their content?")+'</p><ul class="bullets"></ul></div><div class="options"><label><input type="radio" name="contentAction" value="transfer"/> '+Craft.t("app","Transfer it to:")+'</label><div id="transferselect'+this.id+'" class="elementselect"><div class="elements"></div><button type="button" class="btn add icon dashed">'+Craft.t("app","Choose a user")+'</button></div></div><div><label class="error"><input type="radio" name="contentAction" value="delete"/> '+Craft.t("app","Delete their content")+"</label></div></div>").appendTo(s),r=$('<div class="buttons right"/>').appendTo(a),o=$("<button/>",{type:"button",class:"btn",text:Craft.t("app","Cancel")}).appendTo(r);if(e.contentSummary.length)for(var l=0;l<e.contentSummary.length;l++)a.find("ul").append($("<li/>",{text:e.contentSummary[l]}));else a.find("ul").remove();if(this.$deleteActionRadios=a.find("input[type=radio]"),this.$deleteSubmitBtn=Craft.ui.createSubmitButton({class:"disabled",label:this._submitBtnLabel(!1),spinner:!0}).appendTo(r),Array.isArray(this.userId)){n=["and"];for(var h=0;h<this.userId.length;h++)n.push("not "+this.userId[h])}else n="not "+this.userId;this.userSelect=new Craft.BaseElementSelectInput({id:"transferselect"+this.id,name:"transferContentTo",elementType:"craft\\elements\\User",criteria:{id:n},limit:1,modalSettings:{closeOtherModals:!1},onSelectElements:function(){i.updateSizeAndPosition(),i.$deleteActionRadios.first().prop("checked")?i.validateDeleteInputs():i.$deleteActionRadios.first().trigger("click")},onRemoveElements:this.validateDeleteInputs.bind(this),selectable:!1,editable:!1}),this.addListener(o,"click","hide"),this.addListener(this.$deleteActionRadios,"change","validateDeleteInputs"),this.addListener(s,"submit","handleSubmit"),this.base(s,e)},_submitBtnLabel:function(t){var e=t?"Delete {num, plural, =1{user} other{users}} and content":"Delete {num, plural, =1{user} other{users}}";return Craft.t("app",e,{num:Array.isArray(this.userId)?this.userId.length:1})},validateDeleteInputs:function(){var t=!1;return this.$deleteActionRadios.eq(1).prop("checked")?(t=!0,this.$deleteSubmitBtn.find(".label").text(this._submitBtnLabel(!0))):(this.$deleteSubmitBtn.find(".label").text(this._submitBtnLabel(!1)),this.$deleteActionRadios.eq(0).prop("checked")&&(t=!!this.userSelect.totalSelected)),this.updateSizeAndPosition(),t?this.$deleteSubmitBtn.removeClass("disabled"):this.$deleteSubmitBtn.addClass("disabled"),t},handleSubmit:function(t){if(!this._deleting&&this.validateDeleteInputs()){this.$deleteSubmitBtn.addClass("loading"),this.disable(),this.userSelect.disable(),this._deleting=!0;try{!1===this.settings.onSubmit()&&t.preventDefault()}catch(e){throw t.preventDefault(),this.$deleteSubmitBtn.removeClass("loading"),e}}else t.preventDefault()},onFadeIn:function(){Garnish.isMobileBrowser(!0)||this.$deleteActionRadios.first().focus(),this.base()}},{defaults:{contentSummary:[],onSubmit:$.noop,redirect:null}})},2318:function(){Craft.DynamicGenerator=Craft.BaseInputGenerator.extend({callback:$.noop,init:function(t,e,i){this.callback=i,this.base(t,e)},generateTargetValue:function(t){return this.callback(t)}})},4755:function(){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}Craft.EditableTable=Garnish.Base.extend({initialized:!1,id:null,baseName:null,columns:null,sorter:null,biggestId:-1,$table:null,$tbody:null,$addRowBtn:null,$tableParent:null,$statusMessage:null,rowCount:0,hasMaxRows:!1,hasMinRows:!1,radioCheckboxes:null,init:function(t,e,i,n){var s=this;this.id=t,this.baseName=e,this.columns=i,this.setSettings(n,Craft.EditableTable.defaults),this.radioCheckboxes={},this.$table=$("#"+t),this.$tbody=this.$table.children("tbody"),this.$tableParent=this.$table.parent(),this.$statusMessage=this.$tableParent.find("[data-status-message]");var a=this.$tbody.children();this.rowCount=a.length,this.$table.data("editable-table")&&(console.warn("Double-instantiating an editable table on an element"),this.$table.data("editable-table").destroy()),this.$table.data("editable-table",this),this.sorter=new Craft.DataTableSorter(this.$table,{helperClass:"editabletablesorthelper",copyDraggeeInputValuesToHelper:!0,onSortChange:function(){s.updateAllRows()}});for(var r=0;r<a.length;r++){var o=a.eq(r),l=parseInt(o.attr("data-id").substring(this.settings.rowIdPrefix.length));l>this.biggestId&&(this.biggestId=l)}if(this.isVisible()?this.initialize():window.setTimeout(this.initializeIfVisible.bind(this),500),this.settings.minRows&&this.rowCount<this.settings.minRows)for(var h=this.rowCount;h<this.settings.minRows;h++)this.addRow()},isVisible:function(){return this.$table.parent().height()>0},initialize:function(){var t=this;if(this.initialized)return!1;this.initialized=!0,this.removeListener(Garnish.$win,"resize");var i=this.$table.parent(".input");if(i.length&&this.$table.width()>i.width()&&i.css("overflow-x","auto"),this.$addRowBtn=this.$table.next(".add"),this.updateAddRowButton(),this.addListener(this.$addRowBtn,"activate","addRow"),this.settings.lazyInitRows=this.settings.lazyInitRows&&!Object.entries(this.columns).some((function(t){var i=function(t,i){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var n,s,a=[],r=!0,o=!1;try{for(i=i.call(t);!(r=(n=i.next()).done)&&(a.push(n.value),!e||a.length!==e);r=!0);}catch(t){o=!0,s=t}finally{try{r||null==i.return||i.return()}finally{if(o)throw s}}return a}}(t,i)||function(t,i){if(t){if("string"==typeof t)return e(t,i);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e(t,i):void 0}}(t,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(t,2),n=(i[0],i[1]);return"checkbox"===n.type&&n.radioMode})),this.settings.lazyInitRows)this.addListener(this.$tbody,"keypress,keyup,change,focus,blur,click,mousedown,mouseup",(function(e){var i=$(e.target),n=i.closest("tr");if(n.length&&!n.data("editable-table-row")){var s=i.hasClass("editable-table-preview")?i.next():null;t.createRowObj(n),setTimeout((function(){s&&!s.is(":focus")&&s.focus()}),100)}}));else for(var n=this.$tbody.children(),s=0;s<n.length;s++)this.createRowObj(n.eq(s));return!0},initializeIfVisible:function(){this.removeListener(Garnish.$win,"resize"),this.isVisible()?this.initialize():this.addListener(Garnish.$win,"resize","initializeIfVisible")},updateAddRowButton:function(){this.canAddRow()?(this.$addRowBtn.css("opacity","1"),this.$addRowBtn.css("pointer-events","auto"),this.$addRowBtn.attr("aria-disabled","false")):(this.$addRowBtn.css("opacity","0.2"),this.$addRowBtn.css("pointer-events","none"),this.$addRowBtn.attr("aria-disabled","true"))},updateAllRows:function(){if(!this.settings.staticRows)for(var t=this.$table.find("> tbody > tr"),e=0;e<t.length;e++)this.updateRow(t.eq(e))},updateRow:function(t){if(!this.settings.staticRows){var e=t.find("button.delete");e.length&&(e.attr("aria-label",Craft.t("app","Delete row {index}",{index:t.index()+1})),this.canDeleteRow()?e.removeAttr("disabled").removeClass("disabled"):e.attr("disabled","disabled").addClass("disabled"))}},updateDeleteRowButton:function(t){this.updateRow(this.$table.find('tr[data-id="'.concat(t,'"]')))},updateStatusMessage:function(){var t,e=this;this.$statusMessage.empty(),t=this.canAddRow()?Craft.t("app","Row could not be deleted. Minimum number of rows reached."):Craft.t("app","Row could not be added. Maximum number of rows reached."),setTimeout((function(){e.$statusMessage.text(t)}),250)},canDeleteRow:function(){return!!this.settings.allowDelete&&this.rowCount>this.settings.minRows},deleteRow:function(t){this.canDeleteRow()?(this.sorter.removeItems(t.$tr),t.$tr.remove(),this.rowCount--,this.updateAllRows(),this.updateAddRowButton(),0===this.rowCount?(this.$table.addClass("hidden"),this.$addRowBtn.focus()):this.$tbody.find(":focusable").last().focus(),this.settings.onDeleteRow(t.$tr),t.destroy()):this.updateStatusMessage()},canAddRow:function(){return!!this.settings.allowAdd&&(!this.settings.maxRows||this.rowCount<this.settings.maxRows)},addRow:function(t,e){if(this.canAddRow()){var i=this.settings.rowIdPrefix+(this.biggestId+1),n=this.createRow(i,this.columns,this.baseName,$.extend({},this.settings.defaultValues));e?n.prependTo(this.$tbody):n.appendTo(this.$tbody);var s=this.createRowObj(n);return this.sorter.addItems(n),!1!==t&&n.find("input:visible,textarea:visible,select:visible").first().focus(),this.rowCount++,this.updateAllRows(),this.updateAddRowButton(),this.$table.removeClass("hidden"),this.settings.onAddRow(n),s}this.updateStatusMessage()},createRow:function(t,e,i,n){return Craft.EditableTable.createRow(t,e,i,n,this.settings.allowReorder,this.settings.allowDelete)},getRowObj:function(t){return t.data("editable-table-row")||this.createRowObj(t)},createRowObj:function(t){return new Craft.EditableTable.Row(this,t)},focusOnPrevRow:function(t,e,i){var n,s=t.prev("tr");if((n=s.length?this.getRowObj(s):this.addRow(!1,!0))&&n.$tds[e])if($(n.$tds[e]).hasClass("disabled"))s&&this.focusOnPrevRow(s,e,i);else{var a=$("textarea,input.text",n.$tds[e]);a.length&&($(i).trigger("blur"),a.focus())}},focusOnNextRow:function(t,e,i){var n,s=t.next("tr");if((n=s.length?this.getRowObj(s):this.addRow(!1))&&n.$tds[e])if($(n.$tds[e]).hasClass("disabled"))s&&this.focusOnNextRow(s,e,i);else{var a=$("textarea,input.text",n.$tds[e]);a.length&&($(i).trigger("blur"),a.focus())}},importData:function(t,e,i){for(var n=t.split(/\r?\n|\r/),s=0;s<n.length;s++){for(var a=n[s].split("\t"),r=0;r<a.length;r++){var o=a[r];e.$tds.eq(i+r).find("textarea,input[type!=hidden]").val(o).trigger("input")}var l=e.$tr.next("tr");e=l.length?this.getRowObj(l):this.addRow(!1)}},destroy:function(){this.$table.removeData("editable-table"),this.base()}},{textualColTypes:["autosuggest","color","date","email","multiline","number","singleline","template","time","url"],defaults:{rowIdPrefix:"",defaultValues:{},allowAdd:!1,allowReorder:!1,allowDelete:!1,minRows:null,maxRows:null,lazyInitRows:!0,onAddRow:$.noop,onDeleteRow:$.noop},createRow:function(e,i,n,s,a,r){var o=$("<tr/>",{"data-id":e});for(var l in i)if(i.hasOwnProperty(l)){var h,d=i[l],c=void 0!==s[l]?s[l]:"";if("heading"===d.type)h=$("<th/>",{scope:"row",class:d.class,html:c});else{var u=n+"["+e+"]["+l+"]";switch(h=$("<td/>",{class:"".concat(d.class," ").concat(d.type,"-cell"),width:d.width}),Craft.inArray(d.type,Craft.EditableTable.textualColTypes)&&h.addClass("textual"),d.code&&h.addClass("code"),d.type){case"checkbox":$('<div class="checkbox-wrapper"/>').append(Craft.ui.createCheckbox({name:u,value:d.value||"1",checked:!!c})).appendTo(h);break;case"color":Craft.ui.createColorInput({name:u,value:"object"!==t(c)?c:null,small:!0}).appendTo(h);break;case"date":Craft.ui.createDateInput({name:u,value:c}).appendTo(h);break;case"lightswitch":Craft.ui.createLightswitch({name:u,value:d.value||"1",on:!!c,small:!0}).appendTo(h);break;case"select":Craft.ui.createSelect({name:u,options:d.options,value:c||function(){for(var t in d.options)if(d.options.hasOwnProperty(t)&&d.options[t].default)return void 0!==d.options[t].value?d.options[t].value:t;return null}(),class:"small"}).appendTo(h);break;case"time":Craft.ui.createTimeInput({name:u,value:c}).appendTo(h);break;case"email":case"url":Craft.ui.createTextInput({name:u,value:"object"!==t(c)?c:null,type:d.type,placeholder:d.placeholder||null}).appendTo(h);break;default:$("<textarea/>",{name:u,rows:d.rows||1,val:"object"!==t(c)?c:null,placeholder:d.placeholder}).appendTo(h)}}h.appendTo(o)}return a&&$("<td/>",{class:"thin action"}).append($("<a/>",{class:"move icon",title:Craft.t("app","Reorder"),role:"button",type:"button"})).appendTo(o),r&&$("<td/>",{class:"thin action"}).append($("<button/>",{class:"delete icon",title:Craft.t("app","Delete"),type:"button"})).appendTo(o),o}}),Craft.EditableTable.Row=Garnish.Base.extend({table:null,id:null,niceTexts:null,$tr:null,$tds:null,tds:null,$textareas:null,$deleteBtn:null,init:function(t,e){this.table=t,this.$tr=$(e),this.$tds=this.$tr.children(),this.tds=[],this.id=this.$tr.attr("data-id"),this.$tr.data("editable-table-row",this);var i=parseInt(this.id.substring(this.table.settings.rowIdPrefix.length));i>this.table.biggestId&&(this.table.biggestId=i),this.$textareas=$(),this.niceTexts=[];var n,s,a,r,o={},l=0;for(n in this.table.columns)if(this.table.columns.hasOwnProperty(n)){if(s=this.table.columns[n],a=this.tds[n]=this.$tds[l],Craft.inArray(s.type,Craft.EditableTable.textualColTypes)){$(".editable-table-preview",a).remove();var h=$("textarea",a);this.$textareas=this.$textareas.add(h),this.addListener(h,"focus","onTextareaFocus"),this.addListener(h,"mousedown","ignoreNextTextareaFocus"),this.niceTexts.push(new Garnish.NiceText(h,{onHeightChange:this.onTextareaHeightChange.bind(this)})),this.addListener(h,"keypress",{tdIndex:l,type:s.type},"handleKeypress"),this.addListener(h,"input",{type:s.type},"validateValue"),h.trigger("input"),"multiline"!==s.type&&this.addListener(h,"paste",{tdIndex:l,type:s.type},"handlePaste"),o[n]=h}else"checkbox"===s.type&&(r=$('input[type="checkbox"]',a),s.radioMode&&(void 0===this.table.radioCheckboxes[n]&&(this.table.radioCheckboxes[n]=[]),this.table.radioCheckboxes[n].push(r[0]),this.addListener(r,"change",{colId:n},"onRadioCheckboxChange")),s.toggle&&this.addListener(r,"change",{colId:n},(function(t){this.applyToggleCheckbox(t.data.colId)})));$(a).hasClass("disabled")||this.addListener(a,"click",{td:a},(function(t){t.target===t.data.td&&$(t.data.td).find("textarea,input,select,.lightswitch").focus()})),l++}for(n in this.onTextareaHeightChange(),this.table.columns)this.table.columns.hasOwnProperty(n)&&"checkbox"===(s=this.table.columns[n]).type&&s.toggle&&this.applyToggleCheckbox(n);for(n in this.table.columns)this.table.columns.hasOwnProperty(n)&&(!(s=this.table.columns[n]).autopopulate||void 0===o[s.autopopulate]||o[n].val()||o[s.autopopulate].val()||new Craft.HandleGenerator(o[n],o[s.autopopulate],{allowNonAlphaStart:!0}));var d=this.$tr.children().last().find(".delete");this.addListener(d,"click","deleteRow");var c=this.$tr.find("input,textarea,select,.lightswitch");this.addListener(c,"focus",(function(t){$(t.currentTarget).closest("td:not(.disabled)").addClass("focus")})),this.addListener(c,"blur",(function(t){$(t.currentTarget).closest("td").removeClass("focus")}))},onTextareaFocus:function(t){this.onTextareaHeightChange();var e=$(t.currentTarget);e.data("ignoreNextFocus")?e.data("ignoreNextFocus",!1):window.setTimeout((function(){Craft.selectFullValue(e)}),0)},onRadioCheckboxChange:function(t){if(t.currentTarget.checked)for(var e=0;e<this.table.radioCheckboxes[t.data.colId].length;e++){var i=this.table.radioCheckboxes[t.data.colId][e];i.checked=i===t.currentTarget}},applyToggleCheckbox:function(t){for(var e,i,n=this.table.columns[t],s=$('input[type="checkbox"]',this.tds[t]).prop("checked"),a=0;a<n.toggle.length;a++)e=n.toggle[a],this.table.colum,(i="!"===e[0])&&(e=e.substring(1)),s&&!i||!s&&i?$(this.tds[e]).removeClass("disabled").find("textarea, input").prop("disabled",!1):$(this.tds[e]).addClass("disabled").find("textarea, input").prop("disabled",!0)},ignoreNextTextareaFocus:function(t){$.data(t.currentTarget,"ignoreNextFocus",!0)},handleKeypress:function(t){var e=t.keyCode?t.keyCode:t.charCode,i=Garnish.isCtrlKeyPressed(t);if(e===Garnish.RETURN_KEY&&("multiline"!==t.data.type||i))return t.preventDefault(),void(t.shiftKey?this.table.focusOnPrevRow(this.$tr,t.data.tdIndex,t.currentTarget):this.table.focusOnNextRow(this.$tr,t.data.tdIndex,t.currentTarget))},handlePaste:function(t){var e=Craft.trim(t.originalEvent.clipboardData.getData("Text")," \n\r");e.match(/[\t\r\n]/)&&(t.preventDefault(),this.table.importData(e,this,t.data.tdIndex))},validateValue:function(t){if("multiline"!==t.data.type)if("number"!==t.data.type){var e=t.currentTarget.value.replace(/[\r\n]/g,"");e!==t.currentTarget.value&&(t.currentTarget.value=e)}else Craft.filterNumberInputVal(t.currentTarget)},onTextareaHeightChange:function(){for(var t=-1,e=0;e<this.niceTexts.length;e++)this.niceTexts[e].height>t&&(t=this.niceTexts[e].height);this.$textareas.css("min-height",t);var i=this.$textareas.filter(":visible").first().parent().height();i>t&&this.$textareas.css("min-height",i)},deleteRow:function(){this.table.deleteRow(this)}},{numericKeyCodes:[9,8,37,38,39,40,45,91,46,190,48,49,50,51,52,53,54,55,56,57]})},8468:function(){Craft.ElementActionTrigger=Garnish.Base.extend({maxLevels:null,newChildUrl:null,$trigger:null,$selectedItems:null,triggerEnabled:!0,init:function(t){$.isPlainObject(t)||(t={}),void 0!==t.batch&&(t.bulk=t.batch,delete t.batch),Object.defineProperty(t,"batch",{get:function(){return this.bulk},set:function(t){this.bulk=t}}),this.setSettings(t,Craft.ElementActionTrigger.defaults),this.$trigger=$("#"+t.type.replace(/[\[\]\\]+/g,"-")+"-actiontrigger"),this.settings.activate&&(this.$trigger.data("custom-handler",!0),"FORM"===this.$trigger.prop("nodeName")?this.addListener(this.$trigger,"submit","handleTriggerActivation"):this.addListener(this.$trigger,"activate","handleTriggerActivation")),this.updateTrigger(),Craft.elementIndex.on("selectionChange",this.updateTrigger.bind(this))},updateTrigger:function(){0!==Craft.elementIndex.getSelectedElements().length&&(this.validateSelection()?this.enableTrigger():this.disableTrigger())},validateSelection:function(){return this.$selectedItems=Craft.elementIndex.getSelectedElements(),!(!this.settings.bulk&&this.$selectedItems.length>1)&&(!this.settings.requireId||!this.$selectedItems.is('[data-id=""]'))&&("function"!=typeof this.settings.validateSelection||this.settings.validateSelection(this.$selectedItems))},enableTrigger:function(){this.triggerEnabled||(this.$trigger.removeClass("disabled").removeAttr("aria-disabled"),this.triggerEnabled=!0)},disableTrigger:function(){this.triggerEnabled&&(this.$trigger.addClass("disabled").attr("aria-disabled","true"),this.triggerEnabled=!1)},handleTriggerActivation:function(){this.triggerEnabled&&this.settings.activate(this.$selectedItems)}},{defaults:{type:null,bulk:!0,requireId:!0,validateSelection:null,activate:null}})},5049:function(){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){var i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!i){if(Array.isArray(t)||(i=a(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var n=0,s=function(){};return{s:s,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,l=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return o=t.done,t},e:function(t){l=!0,r=t},f:function(){try{o||null==i.return||i.return()}finally{if(l)throw r}}}}function i(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function n(){"use strict";n=function(){return e};var e={},i=Object.prototype,s=i.hasOwnProperty,a=Object.defineProperty||function(t,e,i){t[e]=i.value},r="function"==typeof Symbol?Symbol:{},o=r.iterator||"@@iterator",l=r.asyncIterator||"@@asyncIterator",h=r.toStringTag||"@@toStringTag";function d(t,e,i){return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{d({},"")}catch(t){d=function(t,e,i){return t[e]=i}}function c(t,e,i,n){var s=e&&e.prototype instanceof f?e:f,r=Object.create(s.prototype),o=new x(n||[]);return a(r,"_invoke",{value:w(t,i,o)}),r}function u(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}e.wrap=c;var p={};function f(){}function g(){}function m(){}var v={};d(v,o,(function(){return this}));var b=Object.getPrototypeOf,$=b&&b(b(P([])));$&&$!==i&&s.call($,o)&&(v=$);var C=m.prototype=f.prototype=Object.create(v);function _(t){["next","throw","return"].forEach((function(e){d(t,e,(function(t){return this._invoke(e,t)}))}))}function y(e,i){function n(a,r,o,l){var h=u(e[a],e,r);if("throw"!==h.type){var d=h.arg,c=d.value;return c&&"object"==t(c)&&s.call(c,"__await")?i.resolve(c.__await).then((function(t){n("next",t,o,l)}),(function(t){n("throw",t,o,l)})):i.resolve(c).then((function(t){d.value=t,o(d)}),(function(t){return n("throw",t,o,l)}))}l(h.arg)}var r;a(this,"_invoke",{value:function(t,e){function s(){return new i((function(i,s){n(t,e,i,s)}))}return r=r?r.then(s,s):s()}})}function w(t,e,i){var n="suspendedStart";return function(s,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===s)throw a;return{value:void 0,done:!0}}for(i.method=s,i.arg=a;;){var r=i.delegate;if(r){var o=S(r,i);if(o){if(o===p)continue;return o}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if("suspendedStart"===n)throw n="completed",i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);n="executing";var l=u(t,e,i);if("normal"===l.type){if(n=i.done?"completed":"suspendedYield",l.arg===p)continue;return{value:l.arg,done:i.done}}"throw"===l.type&&(n="completed",i.method="throw",i.arg=l.arg)}}}function S(t,e){var i=t.iterator[e.method];if(void 0===i){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,S(t,e),"throw"===e.method))return p;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var n=u(i,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,p;var s=n.arg;return s?s.done?(e[t.resultName]=s.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):s:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function T(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function x(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(T,this),this.reset(!0)}function P(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,n=function e(){for(;++i<t.length;)if(s.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e};return n.next=n}}return{next:E}}function E(){return{value:void 0,done:!0}}return g.prototype=m,a(C,"constructor",{value:m,configurable:!0}),a(m,"constructor",{value:g,configurable:!0}),g.displayName=d(m,h,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,d(t,h,"GeneratorFunction")),t.prototype=Object.create(C),t},e.awrap=function(t){return{__await:t}},_(y.prototype),d(y.prototype,l,(function(){return this})),e.AsyncIterator=y,e.async=function(t,i,n,s,a){void 0===a&&(a=Promise);var r=new y(c(t,i,n,s),a);return e.isGeneratorFunction(i)?r:r.next().then((function(t){return t.done?t.value:r.next()}))},_(C),d(C,h,"Generator"),d(C,o,(function(){return this})),d(C,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),i=[];for(var n in e)i.push(n);return i.reverse(),function t(){for(;i.length;){var n=i.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=P,x.prototype={constructor:x,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(I),!t)for(var e in this)"t"===e.charAt(0)&&s.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(i,n){return r.type="throw",r.arg=t,e.next=i,n&&(e.method="next",e.arg=void 0),!!n}for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n],r=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var o=s.call(a,"catchLoc"),l=s.call(a,"finallyLoc");if(o&&l){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(o){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var n=this.tryEntries[i];if(n.tryLoc<=this.prev&&s.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var a=n;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var r=a?a.completion:{};return r.type=t,r.arg=e,a?(this.method="next",this.next=a.finallyLoc,p):this.complete(r)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),I(i),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var s=n.arg;I(i)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:P(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=void 0),p}},e}function s(t,e,i,n,s,a,r){try{var o=t[a](r),l=o.value}catch(t){return void i(t)}o.done?e(l):Promise.resolve(l).then(n,s)}function a(t,e){if(t){if("string"==typeof t)return r(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?r(t,e):void 0}}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var o,l;Craft.ElementEditor=Garnish.Base.extend({isFullPage:null,$container:null,$activityContainer:null,$tabContainer:null,$contentContainer:null,$sidebar:null,$revisionBtn:null,$revisionLabel:null,$spinner:null,$expandSiteStatusesBtn:null,$statusIcon:null,$previewBtn:null,$editMetaBtn:null,metaHud:null,$nameTextInput:null,$saveMetaBtn:null,$siteStatusPane:null,$globalLightswitch:null,$siteLightswitches:null,$additionalSiteField:null,siteIds:null,newSiteIds:null,enableAutosave:null,lastSerializedValue:null,formObserver:null,cancelToken:null,ignoreFailedRequest:!1,queue:null,submittingForm:!1,duplicatedElements:null,failed:!1,httpStatus:null,httpError:null,openingPreview:!1,preview:null,activatedPreviewToken:!1,previewTokenQueue:null,previewLinks:null,scrollY:null,hiddenTipsStorageKey:"Craft-"+Craft.systemUid+".TipField.hiddenTips",activityTooltips:null,get tipDismissBtn(){return this.$container.find(".tip-dismiss-btn")},get slideout(){return this.$container.data("slideout")},init:function(t,e){var i=this;this.$container=$(t),this.$container.data("elementEditor")&&(console.warn("Double-instantiating an element editor on an element."),this.$container.data("elementEditor").destroy()),this.$container.data("elementEditor",this),this.$container.attr("data-element-editor",""),this.setSettings(e,Craft.ElementEditor.defaults),this.isFullPage=[Craft.cp.$primaryForm[0],Craft.cp.$main[0]].includes(this.$container[0]),this.isFullPage?(this.$tabContainer=$("#tabs"),this.$contentContainer=$("#content"),this.$sidebar=$("#details .details")):(this.$tabContainer=this.slideout.$tabContainer,this.$contentContainer=this.slideout.$content,this.$sidebar=this.slideout.$sidebar),this.queue=this._createQueue(),this.previewTokenQueue=this._createQueue(),this.duplicatedElements={},this.enableAutosave=Craft.autosaveDrafts,this.previewLinks=[],this.siteIds=Object.keys(this.settings.siteStatuses).map((function(t){return parseInt(t)})),this.$revisionBtn=this.$container.find(".context-btn"),this.$revisionLabel=this.$container.find(".revision-label"),this.$previewBtn=this.$container.find(".preview-btn");var n,s,r=this.isFullPage?$("#page-title"):this.slideout.$toolbar;if(this.$spinner=$("<div/>",{class:"revision-spinner spinner hidden",title:Craft.t("app","Saving")}).appendTo(r),this.$statusIcon=$("<div/>",{class:"revision-status ".concat(this.isFullPage?"invisible":"hidden")}).appendTo(r),this.$statusMessage=$("<div/>",{class:"revision-status-message visually-hidden","aria-live":"polite"}).appendTo(r),this.$expandSiteStatusesBtn=$(".expand-status-btn"),this.settings.canEditMultipleSites&&this.addListener(this.$expandSiteStatusesBtn,"click","expandSiteStatuses"),this.settings.previewTargets.length&&this.isFullPage){this.settings.enablePreview&&this.addListener(this.$previewBtn,"click","openPreview");var o=this.$container.find(".preview-btn-container");if(1===this.settings.previewTargets.length){var l=(n=this.settings.previewTargets,s=1,function(t){if(Array.isArray(t))return t}(n)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var n,s,a=[],r=!0,o=!1;try{for(i=i.call(t);!(r=(n=i.next()).done)&&(a.push(n.value),!e||a.length!==e);r=!0);}catch(t){o=!0,s=t}finally{try{r||null==i.return||i.return()}finally{if(o)throw s}}return a}}(n,s)||a(n,s)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0];this.createPreviewLink(l).addClass("view-btn btn").attr("aria-label",Craft.t("app","View")).appendTo(o)}else this.createShareMenu(o)}if(this.settings.canSave){if("FORM"!==this.$container.prop("tagName"))throw"Element editors may only be used with forms.";this.isFullPage&&Craft.edition===Craft.Pro&&(this.$activityContainer=this.$container.find(".activity-container"),this._checkActivity()),this.$container.data("serializer",(function(){return i.serializeForm(!0)})),this.$container.data("initialSerializedValue",this.serializeForm(!0)),Garnish.requestAnimationFrame((function(){i.$container.data("initialSerializedValue",i.serializeForm(!0))})),this.isFullPage&&this.addListener(this.$container,"submit","handleSubmit"),this.settings.isProvisionalDraft?this.initForProvisionalDraft():this.settings.draftId&&!this.settings.isUnpublishedDraft?this.initForDraft():this.settings.canSaveCanonical||this.addListener(this.$container,"submit.saveShortcut",(function(t){t.saveShortcut&&(t.preventDefault(),i.createDraft(),i.removeListener(i.$container,"submit.saveShortcut"))})),this.listenForChanges(),this.addListener(this.$statusIcon,"click",(function(){i.showStatusHud(i.$statusIcon)})),this.handleDismissibleTips(),this.isFullPage&&Craft.messageReceiver&&Craft.broadcaster.addEventListener("message",(function(t){if("saveDraft"===t.data.event&&t.data.canonicalId===i.settings.canonicalId&&(t.data.draftId===i.settings.draftId||t.data.isProvisionalDraft&&!i.settings.draftId)||"saveElement"===t.data.event&&t.data.id===i.settings.canonicalId&&!i.settings.draftId)(i.settings.reloadOnBroadcastSave||t.data.draftId!==i.settings.draftId)&&(Craft.setUrl(Craft.getUrl(document.location.href,{scrollY:window.scrollY})),window.location.reload());else if("deleteDraft"===t.data.event&&t.data.canonicalId===i.settings.canonicalId&&t.data.draftId===i.settings.draftId){var e=new URL(window.location.href);e.searchParams.delete("draftId"),e.href!==document.location.href?window.location.href=e:(Craft.setUrl(Craft.getUrl(document.location.href,{scrollY:window.scrollY})),window.location.reload())}})),this.activityTooltips={},this.isFullPage&&Craft.ui.setFocusOnErrorSummary(this.$container)}},_createQueue:function(){var t=this,e=new Craft.Queue;return e.on("beforeRun",(function(){t.showSpinner()})),e.on("afterRun",(function(){t.hideSpinner()})),e},get namespace(){return this.isFullPage?null:this.slideout.namespace},namespaceInputName:function(t){return Craft.namespaceInputName(t,this.namespace)},namespaceId:function(t){return Craft.namespaceId(t,this.namespace)},get listeningForChanges(){return!!this.formObserver},get pauseLevel(){var t,e;return null!==(t=null===(e=this.formObserver)||void 0===e?void 0:e._pauseLevel)&&void 0!==t?t:0},listenForChanges:function(){var t=this;this.formObserver||(this.formObserver=new Craft.FormObserver(this.$container,(function(){t.checkForm()})))},stopListeningForChanges:function(){if(this.formObserver)return this.formObserver.destroy(),void(this.formObserver=null)},pause:function(){var t;null===(t=this.formObserver)||void 0===t||t.pause()},resume:function(){var t;null===(t=this.formObserver)||void 0===t||t.resume()},initForProvisionalDraft:function(){var t=this,e=this.$container.find(".discard-changes-btn");if(!e.length){var i,n,s;this.isFullPage?(i=$("#content").height(),n=Garnish.$win.scrollTop(),s=Craft.cp.$noticeContainer):s=this.$container.find(".so-notice");var a=$("<div/>",{class:"draft-notice"}).append($("<div/>",{class:"draft-icon","aria-hidden":"true","data-icon":"edit"})).append($("<p/>",{text:Craft.t("app","Showing your unsaved changes.")})).appendTo(s);if(e=$("<button/>",{type:"button",class:"discard-changes-btn btn",text:Craft.t("app","Discard")}).appendTo(a),this.isFullPage){var r=$("#content").height()-i;if(Garnish.$win.scrollTop(n+r),Garnish.$win.scrollTop()===n){Craft.cp.$contentContainer.css("pointer-events","none"),$("#content-header").css("min-height","auto");var o=s.height();s.css({height:o-r,overflow:"hidden"}).velocity({height:o},"fast",(function(){$("#content-header").css("min-height",""),s.css({height:"",overflow:""}),setTimeout((function(){Craft.cp.$contentContainer.css("pointer-events","")}),300)}))}}}this.addListener(e,"keypress,keyup,change,focus,blur,click,mousedown,mouseup",(function(t){t.stopPropagation()})),this.addListener(e,"click",(function(){confirm(Craft.t("app","Are you sure you want to discard your changes?"))&&t.queue.unshift((function(){return new Promise((function(e,i){t.isFullPage?Craft.submitForm(t.$container,{action:"elements/delete-draft",redirect:t.settings.hashedCpEditUrl,params:{draftId:t.settings.draftId,provisional:1}}):Craft.sendActionRequest("POST","elements/delete-draft",{data:{elementId:t.settings.canonicalId,draftId:t.settings.draftId,provisional:1}}).then((function(e){Craft.cp.displaySuccess(e.data.message),t.slideout.close()})).catch(i)}))}))}))},initForDraft:function(){var t=this;this.createEditMetaBtn(),this.settings.canSaveCanonical&&Garnish.uiLayerManager.registerShortcut({keyCode:Garnish.S_KEY,ctrl:!0,alt:!0},(function(){Craft.submitForm(t.$container,{action:"elements/apply-draft",redirect:t.settings.hashedCpEditUrl})}),0)},expandSiteStatuses:function(){var t=this;this.removeListener(this.$expandSiteStatusesBtn,"click"),this.$expandSiteStatusesBtn.velocity({opacity:0},"fast",(function(){t.$expandSiteStatusesBtn.remove()}));var e=this.$container.find(".enabled-for-site-".concat(this.settings.siteId,"-field"));if(this.$siteStatusPane=e.parent(),this.settings.revisionId)this._getOtherSupportedSites().forEach((function(e){return t._createSiteStatusField(e)}));else{e.addClass("nested");var i=Craft.ui.createLightswitchField({label:Craft.t("app","Enabled for all sites"),name:this.namespaceInputName("enabled")}).insertBefore(e);i.find("label").css("font-weight","bold"),this.$globalLightswitch=i.find(".lightswitch"),this.settings.revisionId||this._showField(i);var n=Object.values(this.settings.siteStatuses),s=n.includes(!0),a=n.includes(!1),r=s&&a?"-":s?"1":"",o=encodeURIComponent(this.namespaceInputName("enabledForSite[".concat(this.settings.siteId,"]")))+"="+(this.settings.enabledForSite?"1":"");this.$siteLightswitches=e.find(".lightswitch").on("change",this._updateGlobalStatus.bind(this)),this._getOtherSupportedSites().forEach((function(e){return t._createSiteStatusField(e)}));for(var l=encodeURIComponent(this.namespaceInputName("enabled"))+"=".concat(r),h=0;h<this.$siteLightswitches.length;h++){var d=this.$siteLightswitches.eq(h).data("lightswitch").$input;l+="&"+encodeURIComponent(d.attr("name"))+"="+d.val()}this.$container.data("initialSerializedValue",this.$container.data("initialSerializedValue").replace(o,l)),this.lastSerializedValue&&(this.lastSerializedValue=this.lastSerializedValue.replace(o,l)),this.settings.additionalSites&&this.settings.additionalSites.length&&this.isFullPage&&this._createAddlSiteField(),this.$globalLightswitch.focus(),this.$globalLightswitch.on("change",this._updateSiteStatuses.bind(this)),this._updateGlobalStatus()}},_getOtherSupportedSites:function(){var t=this;return Craft.sites.filter((function(e){return e.id!=t.settings.siteId&&t.siteIds.includes(e.id)}))},_showField:function(t){var e=t.height();t.css({overflow:"hidden","min-height":"auto"}).height(0).velocity({height:e},"fast",(function(){t.css({overflow:"",height:"","min-height":""})}))},_removeField:function(t){t.css({overflow:"hidden","min-height":"auto"}).velocity({height:0},"fast",(function(){t.remove()}))},_updateGlobalStatus:function(){var t=!0,e=!0;this.$siteLightswitches.each((function(){if($(this).data("lightswitch").on?e=!1:t=!1,!t&&!e)return!1})),t?this.$globalLightswitch.data("lightswitch").turnOn(!0):e?this.$globalLightswitch.data("lightswitch").turnOff(!0):this.$globalLightswitch.data("lightswitch").turnIndeterminate(!0)},_updateSiteStatuses:function(){var t=this.$globalLightswitch.data("lightswitch").on;this.$siteLightswitches.each((function(){t?$(this).data("lightswitch").turnOn(!0):$(this).data("lightswitch").turnOff(!0)}))},_createSiteStatusField:function(t,e){var i=Craft.ui.createLightswitchField({fieldClass:"enabled-for-site-".concat(t.id,"-field"),label:t.name,name:this.namespaceInputName("enabledForSite[".concat(t.id,"]")),on:void 0!==e?e:!this.settings.siteStatuses.hasOwnProperty(t.id)||this.settings.siteStatuses[t.id],disabled:!!this.settings.revisionId});if(this.$additionalSiteField?i.insertBefore(this.$additionalSiteField):i.appendTo(this.$siteStatusPane),!this.settings.revisionId){i.addClass("nested");var n=i.find(".lightswitch").on("change",this._updateGlobalStatus.bind(this));this.$siteLightswitches=this.$siteLightswitches.add(n)}return this._showField(i),i},_createAddlSiteField:function(){var t,e=this,i=Craft.sites.filter((function(t){return!e.siteIds.includes(t.id)&&e.settings.additionalSites.some((function(e){return e.siteId==t.id}))}));if(i.length){var n="add-site-label",s=$("<span/>",{text:Craft.t("app","Add a site..."),class:"visually-hidden",id:n}),o=Craft.ui.createSelect({options:[{label:Craft.t("app","Add a site…")}].concat((t=i.map((function(t){return{label:t.name,value:t.id}})),function(t){if(Array.isArray(t))return r(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||a(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())),labelledBy:n}).addClass("fullwidth");this.$additionalSiteField=Craft.ui.createField(o,{}).addClass("nested add").appendTo(this.$siteStatusPane),s.prependTo(this.$additionalSiteField);var l=o.find("select");l.on("change",(function(){var t=parseInt(l.val()),i=Craft.sites.find((function(e){return e.id===t}));if(i){var n=e.settings.additionalSites.find((function(t){return t.siteId==i.id}));e._createSiteStatusField(i,n.enabledByDefault),e._updateGlobalStatus(),l.val("").find('option[value="'.concat(t,'"]')).remove(),null===e.newSiteIds&&(e.newSiteIds=[]),e.siteIds.push(t),e.newSiteIds.push(t),1===l.find("option").length&&e._removeField(e.$additionalSiteField)}})),this._showField(this.$additionalSiteField)}},showStatusHud:function(t){var e;this.failed?(e='<p class="error"><strong>'.concat(this._saveFailMessage(),"</strong></p>"),this.httpError&&(e+='<p class="http-error code">'.concat(Craft.escapeHtml(this.httpError),"</p>")),400===this.httpStatus&&(e+='<button class="btn refresh-btn">'.concat(Craft.t("app","Refresh"),"</button>"))):e="<p>".concat(this._saveSuccessMessage(),"</p>");var i=new Garnish.HUD(t,e,{hudClass:"hud revision-status-hud",onHide:function(){i.destroy()}});i.$mainContainer.find(".refresh-btn").on("click",(function(){window.location.reload()}))},_saveSuccessMessage:function(){return this.settings.isProvisionalDraft||this.settings.isUnpublishedDraft?Craft.t("app","Your changes have been stored."):Craft.t("app","The draft has been saved.")},_saveFailMessage:function(){return this.settings.isProvisionalDraft||this.settings.isUnpublishedDraft?Craft.t("app","Your changes could not be stored."):Craft.t("app","The draft could not be saved.")},spinners:function(){return this.preview?this.$spinner.add(this.preview.$spinner):this.$spinner},showSpinner:function(){this.spinners().removeClass("hidden")},hideSpinner:function(){this.spinners().addClass("hidden")},statusIcons:function(){return this.preview?this.$statusIcon.add(this.preview.$statusIcon):this.$statusIcon},statusMessage:function(){return this.preview?this.$statusMessage.add(this.preview.$statusMessage):this.$statusMessage},createEditMetaBtn:function(){var t=this.$container.find(".context-btngroup");this.$editMetaBtn=$("<button/>",{type:"button",class:"btn edit icon","aria-expanded":"false","aria-label":Craft.t("app","Edit draft settings"),title:Craft.t("app","Edit draft settings")}).appendTo(t),t.find(".btngroup-btn-last").removeClass("btngroup-btn-last"),this.addListener(this.$editMetaBtn,"click","showMetaHud")},createPreviewLink:function(t,e){var i=this,n=$("<a/>",{href:this.getTokenizedPreviewUrl(t.url,null,!1),text:e||Craft.t("app","View"),target:"_blank",data:{targetUrl:t.url,targetLabel:t.label}});return this.addListener(n,"click",(function(){setTimeout((function(){i.activatePreviewToken()}),1)})),this.previewLinks.push(n),n},updatePreviewLinks:function(){var t=this;this.previewLinks.forEach((function(e){t.updatePreviewLinkHref(e),t.activatedPreviewToken&&t.removeListener(e,"click")}))},updatePreviewLinkHref:function(t){t.attr("href",this.getTokenizedPreviewUrl(t.data("targetUrl"),null,!1))},activatePreviewToken:function(){this.settings.isLive||(this.activatedPreviewToken=!0,this.updatePreviewLinks())},createShareMenu:function(t){var e=this,i=$("<button/>",{type:"button",class:"view-btn btn menubtn",text:Craft.t("app","View")}).appendTo(t),n=$("<div/>",{class:"menu"}).appendTo(t),s=$("<ul/>").appendTo(n);this.settings.previewTargets.forEach((function(t){$("<li/>").append(e.createPreviewLink(t,t.label)).appendTo(s)})),new Garnish.MenuBtn(i)},getPreviewTokenParams:function(){var t={elementType:this.settings.elementType,canonicalId:this.settings.canonicalId,siteId:this.settings.siteId,revisionId:this.settings.revisionId,previewToken:this.settings.previewToken};return this.settings.draftId&&!this.settings.isProvisionalDraft&&(t.draftId=this.settings.draftId),t},getPreviewToken:function(){var t=this;return this.previewTokenQueue.push((function(){return new Promise((function(e,i){t.activatedPreviewToken?e(t.settings.previewToken):Craft.sendActionRequest("POST","preview/create-token",{data:t.getPreviewTokenParams()}).then((function(){t.activatePreviewToken(),e(t.settings.previewToken)})).catch(i)}))}))},getTokenizedPreviewUrl:function(t,e){var i=this,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s={};if(!this.settings.previewParamValue||!e&&this.settings.isLive||(s[e||"x-craft-preview"]=this.settings.previewParamValue),this.settings.siteToken&&(s[Craft.siteToken]=this.settings.siteToken),this.settings.isLive){var a=Craft.getUrl(t,s);return n?new Promise((function(t){t(a)})):a}if(!this.settings.previewToken)throw"Missing preview token";s[Craft.tokenParam]=this.settings.previewToken;var r=Craft.getUrl(t,s);if(this.activatedPreviewToken)return n?new Promise((function(t){t(r)})):r;if(n)return new Promise((function(t,e){i.getPreviewToken().then((function(){t(r)})).catch(e)}));var o=this.getPreviewTokenParams();return o.redirect=r,Craft.getActionUrl("preview/create-token",o)},getPreview:function(){var t=this;return this.preview||(this.preview=new Craft.Preview(this),this.enableAutosave||(this.preview.on("open",(function(){t.enableAutosave=!0,t.checkForm()})),this.preview.on("close",(function(){t.enableAutosave=!1;var e=t.statusIcons();e.hasClass("checkmark-icon")&&e.addClass("hidden")}))),this.preview.on("beforeOpen",(function(){var e;null===(e=t.formObserver)||void 0===e||e.pause()})),this.preview.on("close",(function(){var e;null===(e=t.formObserver)||void 0===e||e.resume(),t.scrollY&&(window.scrollTo(0,t.scrollY),t.scrollY=null)}))),this.preview},openPreview:(o=n().mark((function t(){return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!Garnish.hasAttr(this.$previewBtn,"aria-disabled")){t.next=2;break}return t.abrupt("return");case 2:return this.$previewBtn.attr("aria-disabled",!0),this.$previewBtn.addClass("loading"),t.prev=4,t.next=7,this.checkForm();case 7:return this.openingPreview=!0,t.next=10,this.ensureIsDraftOrRevision(!0);case 10:this.scrollY=window.scrollY,this.getPreview().open();case 12:return t.prev=12,this.$previewBtn.removeAttr("aria-disabled"),this.$previewBtn.removeClass("loading"),this.openingPreview=!1,t.finish(12);case 17:case"end":return t.stop()}}),t,this,[[4,,12,17]])})),l=function(){var t=this,e=arguments;return new Promise((function(i,n){var a=o.apply(t,e);function r(t){s(a,i,n,r,l,"next",t)}function l(t){s(a,i,n,r,l,"throw",t)}r(void 0)}))},function(){return l.apply(this,arguments)}),ensureIsDraftOrRevision:function(t){var e=this;return new Promise((function(i,n){if(e.settings.draftId||e.settings.revisionId)i();else{if(t&&e.serializeForm(!0)===e.$container.data("initialSerializedValue"))return void i();e.createDraft().then(i).catch(n)}}))},serializeForm:function(t){var e=this.$container.serialize();if(this.isPreviewActive()&&(e=e.replace("__PREVIEW_FIELDS__=1",this.preview.$editor.serialize())),t&&!this.settings.isUnpublishedDraft){var i=encodeURIComponent(this.namespaceInputName("action")),n=encodeURIComponent(this.namespaceInputName("redirect"));e=(e=e.replace(new RegExp("&".concat(Craft.escapeRegex(i),"=[^&]*")),"")).replace(new RegExp("&".concat(Craft.escapeRegex(n),"=[^&]*")),"")}return e},checkForm:function(t){var e=this;return this.queue.push((function(){return new Promise((function(i,n){if(e.settings.revisionId)i();else if(void 0!==e.$container.data("initialSerializedValue")){var s=e.serializeForm(!0);t||s!==(e.lastSerializedValue||e.$container.data("initialSerializedValue"))?e.enableAutosave&&e.settings.canCreateDrafts?e.saveDraft(s).then(i).catch((function(t){console.warn("Couldn’t save draft:",t),n(t)})):e.updateFieldLayout(s).then(i).catch((function(t){console.warn("Couldn’t update field layout:",t),n(t)})):i()}else setTimeout((function(){e.checkForm(t).then(i).catch(n)}),500)}))}))},isPreviewActive:function(){return this.preview&&this.preview.isActive},createDraft:function(){var t=this;return this.queue.push((function(){return new Promise((function(e,i){t.saveDraft(t.serializeForm(!0)).then(e).catch(i)}))}))},saveDraft:function(t){var e=this;return new Promise((function(n,s){if(e.submittingForm)s("Form already being submitted.");else{e.lastSerializedValue=t,e.failed=!1,e.httpStatus=null,e.httpError=null,e.cancelToken=axios.CancelToken.source(),e.statusIcons().velocity("stop").css("opacity","").removeClass("hidden invisible checkmark-icon alert-icon fade-out").addClass("hidden"),e.statusMessage().empty(),e.$saveMetaBtn&&e.$saveMetaBtn.addClass("active");var a=[],r=e.prepareData(t,e.settings.isUnpublishedDraft?null:function(t,e){e.length&&a.push(decodeURIComponent(e[0].split("=")[0]))}),o=i({},e.namespaceInputName("visibleLayoutElements"),e.settings.visibleLayoutElements);!e.settings.isProvisionalDraft&&e.settings.draftId||(o[e.namespaceInputName("provisional")]=1);var l=e.$contentContainer.children("[data-layout-tab]:not(.hidden)").data("id");l&&(o[e.namespaceInputName("selectedTab")]=l),r+="&".concat($.param(o)),Craft.sendActionRequest("POST","elements/save-draft",{cancelToken:e.cancelToken.token,headers:e._saveHeaders,data:r}).then((function(i){e._afterSaveDraft(),e.settings.previewParamValue=i.data.previewParamValue,e._afterUpdateFieldLayout(t,l,i);var s=!e.settings.draftId;s&&(e.settings.isProvisionalDraft=!0,e.$revisionLabel.append($("<span/>",{text:" — ".concat(Craft.t("app","Edited"))}))),e.isFullPage&&(i.data.title&&e.$container.find(".screen-title").text(i.data.title),i.data.docTitle&&(document.title=i.data.docTitle)),e.settings.isProvisionalDraft||(e.$revisionLabel.text(i.data.draftName),e.settings.draftName=i.data.draftName);var r=e.$revisionBtn.data("menubtn")?e.$revisionBtn.data("menubtn").menu:null;for(var o in e.newSiteIds&&(r||(e.$revisionBtn.removeClass("disabled").addClass("menubtn"),new Garnish.MenuBtn(e.$revisionBtn),(r=e.$revisionBtn.data("menubtn").menu).$container.removeClass("hidden")),e.newSiteIds.forEach((function(t){var i=r.$options.filter("[data-site-id=".concat(t,"]")),n=e.settings.additionalSites.find((function(e){return e.siteId==t}));n&&void 0!==n.enabledByDefault&&!n.enabledByDefault||i.find(".status").removeClass("disabled").addClass("enabled"),i.parent().removeClass("hidden").closest(".site-group").removeClass("hidden")})),r.$container.find(".revision-hr").removeClass("hidden"),e.newSiteIds=null),e.settings.isProvisionalDraft?s&&(e.$container.find("input.action-input").attr("value","elements/apply-draft"),e.settings.elementId=i.data.elementId,e.settings.draftId=i.data.draftId,e.settings.isLive=!1,e.previewToken=null,e.initForProvisionalDraft()):r&&(r.$options.filter(".sel").find(".draft-name").text(i.data.draftName),r.$options.filter(".sel").find(".draft-meta").text(i.data.creator?Craft.t("app","Saved {timestamp} by {creator}",{timestamp:i.data.timestamp,creator:i.data.creator}):Craft.t("app","Saved {timestamp}",{timestamp:i.data.timestamp}))),i.data.previewTargets&&JSON.stringify(i.data.previewTargets)!==JSON.stringify(e.settings.previewTargets)&&e.updatePreviewTargets(i.data.previewTargets),s&&(e.updatePreviewLinks(),e.trigger("createProvisionalDraft")),e.$nameTextInput&&e.checkMetaValues(),i.data.duplicatedElements)o!=e.settings.canonicalId&&i.data.duplicatedElements.hasOwnProperty(o)&&(e.duplicatedElements[o]=i.data.duplicatedElements[o]);for(var h=i.data.modifiedAttributes.map((function(t){return t=e.namespaceInputName(t),['[name="'.concat(t,'"]'),'[name^="'.concat(t,'["]')]})).flat().concat(a.map((function(t){return'[name="'.concat(t,'"]')}))).join(","),d=e.$contentContainer.find(h).parents().filter(".flex-fields > .field:not(:has(> .status-badge))").add(e.$sidebar.find(h).closest(".field:not(:has(> .status-badge))")),c=0;c<d.length;c++)d.eq(c).prepend($("<div/>",{class:"status-badge modified",title:Craft.t("app","This field has been modified.")}).append($("<span/>",{class:"visually-hidden",html:Craft.t("app","This field has been modified.")})));e.settings.updatedTimestamp=i.data.updatedTimestamp,e.settings.canonicalUpdatedTimestamp=i.data.canonicalUpdatedTimestamp,e.afterUpdate(t),Craft.broadcaster&&Craft.broadcaster.postMessage({pageId:Craft.pageId,event:"saveDraft",canonicalId:e.settings.canonicalId,draftId:e.settings.draftId,isProvisionalDraft:e.settings.isProvisionalDraft}),n()})).catch((function(t){e._afterSaveDraft(),e.ignoreFailedRequest||(e.failed=!0,t&&t.response&&(e.httpStatus=t.response.status,e.httpError=t.response.data?t.response.data.message:null),e._showFailStatus(),s(t)),e.ignoreFailedRequest=!1}))}}))},_afterSaveDraft:function(){this.$saveMetaBtn&&this.$saveMetaBtn.removeClass("active")},_showFailStatus:function(){this.statusIcons().velocity("stop").css("opacity","").removeClass("hidden checkmark-icon").addClass("alert-icon"),this.setStatusMessage(this._saveFailMessage())},updateFieldLayout:function(t){var e=this;return new Promise((function(n,s){if(e.submittingForm)s("Form already being submitted.");else{e.lastSerializedValue=t,e.cancelToken=axios.CancelToken.source();var a=[],r=e.prepareData(t,e.settings.isUnpublishedDraft?null:function(t,e){e.length&&a.push(decodeURIComponent(e[0].split("=")[0]))}),o=i({},e.namespaceInputName("visibleLayoutElements"),e.settings.visibleLayoutElements);e.settings.isProvisionalDraft&&(o[e.namespaceInputName("provisional")]=1);var l=e.$contentContainer.children("[data-layout-tab]:not(.hidden)").data("id");l&&(o[e.namespaceInputName("selectedTab")]=l),r+="&".concat($.param(o)),Craft.sendActionRequest("POST","elements/update-field-layout",{cancelToken:e.cancelToken.token,headers:e._saveHeaders,data:r}).then((function(i){e._afterUpdateFieldLayout(t,l,i),n()})).catch((function(t){e._afterSaveDraft(),e.ignoreFailedRequest||(e.failed=!0,t&&t.response&&(e.httpStatus=t.response.status,e.httpError=t.response.data?t.response.data.message:null),e._showFailStatus(),s(t)),e.ignoreFailedRequest=!1}))}}))},prepareData:function(t,e){t=Craft.findDeltaData(this.$container.data("initialSerializedValue"),t,this.$container.data("delta-names"),e,this.$container.data("initial-delta-values"),this.$container.data("modified-delta-names")),t=this.swapDuplicatedElementIds(t);var i={};return this.settings.draftId&&(i[this.namespaceInputName("draftId")]=this.settings.draftId,this.settings.isProvisionalDraft&&(i[this.namespaceInputName("provisional")]=1)),null!==this.settings.draftName&&(i[this.namespaceInputName("draftName")]=this.settings.draftName),$.isEmptyObject(i)||(t+="&".concat($.param(i))),t},get _saveHeaders(){var t={"content-type":"application/x-www-form-urlencoded"};return this.namespace&&(t["X-Craft-Namespace"]=this.namespace),t},swapDuplicatedElementIds:function(t){var e=this,i=Object.keys(this.duplicatedElements).join("|");if(""===i)return t;var n=encodeURIComponent("["),s=encodeURIComponent("]"),a=this.namespaceInputName("fields");for(a=this.isFullPage?Craft.escapeRegex(a):encodeURIComponent(a);t!==(t=t.replace(new RegExp("(&".concat(a).concat(n,"[^=]+").concat(s).concat(n,")(").concat(i,")(").concat(s,")"),"g"),(function(t,i,n,s){return e._filterFieldInputName(i)?i+e.duplicatedElements[n]+s:t})).replace(new RegExp("&(".concat(a).concat(n,"[^=]+)=(").concat(i,")\\b"),"g"),(function(t,i,a){return!e._filterFieldInputName(i)||i.match(new RegExp("".concat(n,"(enabled|sortOrder|type|typeId)").concat(s,"$")))?t:"&".concat(i,"=").concat(e.duplicatedElements[a])}))););return t},_filterFieldInputName:function(t){var e=encodeURIComponent("["),i=encodeURIComponent("]"),n=t.match(new RegExp("(\\bfields|".concat(e,"fields").concat(i,")").concat(e,".+?").concat(i),"g"));if(!n)throw"Unexpected input name: ".concat(t);var s=n[n.length-1].match(new RegExp("(?:\\bfields|".concat(e,"fields").concat(i,")").concat(e,"(.+?)").concat(i)))[1];return Craft.fieldsWithoutContent.includes(s)},updatePreviewTargets:function(t){var e=this;t.forEach((function(t){var i=e.settings.previewTargets.find((function(e){return e.label===t.label}));i&&(i.url=t.url);var n=e.previewLinks.find((function(e){return e.data("targetLabel")===t.label}));n&&(n.data("targetUrl",t.url),e.updatePreviewLinkHref(n))}))},_afterUpdateFieldLayout:function(t,i,n){var s,a=this.serializeForm(!0)===t,r=this.$contentContainer.children("[data-layout-tab]:not(.hidden)").data("id"),o=$(),l={},h=!1,d=e(n.data.missingElements);try{for(d.s();!(s=d.n()).done;){var c=s.value,u=this.$contentContainer.children('[data-layout-tab="'.concat(c.uid,'"]'));u.length||(u=$("<div/>",{id:this.namespaceId(c.id),class:"flex-fields","data-id":c.id,"data-layout-tab":c.uid}),c.id!==i&&u.addClass("hidden"),u.appendTo(this.$contentContainer)),o=o.add(u);var p,f=e(c.elements);try{for(f.s();!(p=f.n()).done;){var g=p.value;if(!1!==g.html){if(l[c.uid]||(l[c.uid]=[]),l[c.uid].push(g.uid),"string"==typeof g.html){var m=u.children('[data-layout-element="'.concat(g.uid,'"]')),v=$(g.html);m.length?m.replaceWith(v):v.appendTo(u),Craft.initUiElements(v),h=!0}}else{var b=u.children('[data-layout-element="'.concat(g.uid,'"]'));if(!b.length||!Garnish.hasAttr(b,"data-layout-element-placeholder")){var C=$("<div/>",{class:"hidden","data-layout-element":g.uid,"data-layout-element-placeholder":""});b.length?b.replaceWith(C):C.appendTo(u),h=!0}}}}catch(t){f.e(t)}finally{f.f()}}}catch(t){d.e(t)}finally{d.f()}var _,y=this.$contentContainer.children("[data-layout-tab]").not(o).not('[data-layout-tab=""]');if(y.length&&(y.remove(),h=!0),o.filter(":not(.hidden)").length||o.first().removeClass("hidden"),this.settings.visibleLayoutElements=l,this.isFullPage?(Craft.cp.updateTabs(n.data.tabs),_=Craft.cp.tabManager):(this.slideout.updateTabs(n.data.tabs),_=this.slideout.tabManager),i&&r&&i!==r){var w=_.$tabs.filter('[data-id="'.concat(r,'"]'));w.length?_.selectTab(w):_.selectTab(_.$tabs.first())}Craft.appendHeadHtml(n.data.headHtml),Craft.appendBodyHtml(n.data.bodyHtml),h&&(n.data.initialDeltaValues&&Object.assign(this.$container.data("initial-delta-values"),n.data.initialDeltaValues),a&&(this.lastSerializedValue=this.serializeForm(!0))),this.handleDismissibleTips()},afterUpdate:function(t){this.$container.data("initialSerializedValue",t),this.$container.data("initial-delta-values",{});var e=this.statusIcons().velocity("stop").css("opacity","").removeClass("hidden").addClass("checkmark-icon");this.setStatusMessage(this._saveSuccessMessage()),Craft.autosaveDrafts||e.velocity("stop").velocity({opacity:0},{delay:2e3,complete:function(){e.addClass("hidden")}}),this.trigger("update")},setStatusMessage:function(t){this.statusIcons().attr("title",t),this.statusMessage().empty().append($("<span/>",{class:"visually-hidden",text:t}))},showMetaHud:function(){this.metaHud?this.metaHud.show():(this.createMetaHud(),this.onMetaHudShow()),Garnish.isMobileBrowser(!0)||this.$nameTextInput.focus()},createMetaHud:function(){var t=$("<div/>"),e=$('<div class="field"><div class="heading"><label for="draft-name">'+Craft.t("app","Draft Name")+"</label></div></div>").appendTo(t),i=$('<div class="input"/>').appendTo(e);this.$nameTextInput=$('<input type="text" class="text fullwidth" id="draft-name"/>').appendTo(i).val(this.settings.draftName);var n=$('<div class="hud-footer flex flex-center"/>').appendTo(t);$('<div class="flex-grow"></div>').appendTo(n),this.$saveMetaBtn=$("<button/>",{type:"submit",class:"btn submit disabled","aria-disabled":"true",text:Craft.t("app","Save")}).appendTo(n),this.metaHud=new Garnish.HUD(this.$editMetaBtn,t,{onSubmit:this.saveMeta.bind(this)}),this.addListener(this.$nameTextInput,"input","checkMetaValues"),this.metaHud.on("show",this.onMetaHudShow.bind(this)),this.metaHud.on("hide",this.onMetaHudHide.bind(this)),this.metaHud.on("escape",this.onMetaHudEscape.bind(this))},onMetaHudShow:function(){this.$editMetaBtn.addClass("active"),this.$editMetaBtn.attr("aria-expanded","true")},onMetaHudHide:function(){this.$editMetaBtn.removeClass("active"),this.$editMetaBtn.attr("aria-expanded","false"),Garnish.focusIsInside(this.metaHud.$body)&&this.$editMetaBtn.focus()},onMetaHudEscape:function(){this.$nameTextInput.val(this.settings.draftName)},checkMetaValues:function(){return this.$nameTextInput.val()&&this.$nameTextInput.val()!==this.settings.draftName?(this.$saveMetaBtn.removeClass("disabled"),this.$saveMetaBtn.removeAttr("aria-disabled"),!0):(this.$saveMetaBtn.addClass("disabled"),this.$saveMetaBtn.attr("aria-disabled","true"),!1)},shakeMetaHud:function(){Garnish.shake(this.metaHud.$hud)},saveMeta:function(){var t=this;return new Promise((function(e,i){if(!t.checkMetaValues())return t.shakeMetaHud(),void i();t.settings.draftName=t.$nameTextInput.val(),t.metaHud.hide(),t.checkForm(!0).then(e).catch(i)}))},handleSubmit:function(t){var e=this;if(t.preventDefault(),t.stopPropagation(),!this.submittingForm)if(!this.settings.draftId||this.settings.isUnpublishedDraft||this.settings.isProvisionalDraft||void 0!==t.autosave&&!t.autosave||!(t.saveShortcut||t.customTrigger&&"elements/save-draft"===t.customTrigger.data("action"))||!this.enableAutosave){this.submittingForm=!0,Craft.cp.$confirmUnloadForms=Craft.cp.$confirmUnloadForms.not(this.$container),this.cancelToken&&(this.ignoreFailedRequest=!0,this.cancelToken.cancel()),this.trigger("beforeSubmit");var i=this.prepareData(this.serializeForm(!1));if(this.isFullPage){this.stopListeningForChanges();var n=Craft.createForm(i);n.appendTo(Garnish.$bod),n.submit()}else this.slideout.showSubmitSpinner(),Craft.sendActionRequest("POST",null,{headers:this._saveHeaders,data:i}).then((function(t){e.slideout.handleSubmitResponse(t)})).catch((function(t){e.slideout.handleSubmitError(t)})).finally((function(){e.submittingForm=!1,e.slideout.hideSubmitSpinner()}))}else this.checkForm(!0)},handleDismissibleTips:function(){var t=this;this.addListener(this.tipDismissBtn,"click",(function(e){t.hideTip(e)}))},getHiddenTipsUids:function(){return Craft.getLocalStorage("dismissedTips",[])},setHiddenTipsUids:function(t){Craft.setLocalStorage("dismissedTips",t)},hideTip:function(t){var e=t.target;if(e){var i=$(e).closest(".readable");if(i.length){var n=i.data("layout-element");if(i.remove(),"undefined"!=typeof Storage){var s=this.getHiddenTipsUids();s.includes(n)||(s.push(n),this.setHiddenTipsUids(s))}}}},_checkActivity:function(){var t=this;Craft.remainingSessionTime?this.queue.push((function(){return new Promise((function(e,i){Craft.sendActionRequest("POST","elements/recent-activity",{params:{dontExtendSession:1},data:{elementType:t.settings.elementType,elementId:t.settings.canonicalId,draftId:t.settings.draftId,siteId:t.settings.siteId,provisional:t.settings.isProvisionalDraft}}).then((function(i){var n=i.data,s=null;if(t.activityTooltips&&(s=Object.values(t.activityTooltips).find((function(t){return t.$trigger[0]===document.activeElement}))),t.$activityContainer.html("").attr("role","region").attr("aria-label",Craft.t("app","Recent Activity")),n.activity.length){$("<h2/>",{class:"visually-hidden",text:Craft.t("app","Recent Activity")}).appendTo(t.$activityContainer);for(var a=$("<ul/>").appendTo(t.$activityContainer),r=0;r<n.activity.length;r++){var o=n.activity[r],l=$("<li/>").appendTo(a),h=$("<button/>",{type:"button",class:"activity-btn","aria-label":Craft.t("app","{name} active, more info",{name:o.userName}),"aria-expanded":"false"}).appendTo(l),d=$(o.userThumb).addClass("elementthumb").css("z-index",n.activity.length-r).appendTo(h);d.find("img,svg").attr("role","presentation"),Craft.cp.elementThumbLoader.load(l),d.find("title").remove(),void 0===t.activityTooltips[o.userId]?t.activityTooltips[o.userId]=new Craft.Tooltip(h,o.message):(t.activityTooltips[o.userId].$trigger=h,t.activityTooltips[o.userId].message=o.message,t.activityTooltips[o.userId]===s&&t.activityTooltips[o.userId].$trigger.focus())}}for(var c=function(){var e=p[u];n.activity.find((function(t){return t.userId==e}))||t.activityTooltips[e].hide()},u=0,p=Object.keys(t.activityTooltips);u<p.length;u++)c();var f=t.settings.updatedTimestamp&&t.settings.updatedTimestamp!==n.updatedTimestamp,g=t.settings.canonicalUpdatedTimestamp&&t.settings.canonicalUpdatedTimestamp!==n.canonicalUpdatedTimestamp;if(f||g){var m=Craft.ui.createButton({label:Craft.t("app","Reload"),spinner:!0});Craft.cp.displayNotice(Craft.t("app","This {type} has been updated.",{type:f&&t.settings.draftId&&!t.settings.isProvisionalDraft?Craft.t("app","draft"):Craft.elementTypeNames[t.settings.elementType]?Craft.elementTypeNames[t.settings.elementType][2]:Craft.t("app","element")}),{details:m}),m.on("click",(function(){window.location.reload()}))}t.settings.updatedTimestamp=n.updatedTimestamp,t.settings.canonicalUpdatedTimestamp=n.canonicalUpdatedTimestamp,setTimeout((function(){t._checkActivity()}),15e3),e()})).catch((function(n){var s;400===(null==n||null===(s=n.response)||void 0===s?void 0:s.status)?(Garnish.once(Craft.AuthManager,"login",(function(){t._checkActivity()})),e()):i(n)}))}))})):Garnish.once(Craft.AuthManager,"login",(function(){t._checkActivity()}))}},{defaults:{additionalSites:[],canCreateDrafts:!1,canEditMultipleSites:!1,canSave:!1,canSaveCanonical:!1,elementId:null,canonicalId:null,draftId:null,draftName:null,elementType:null,enablePreview:!1,enabled:!1,enabledForSite:!1,hashedCpEditUrl:null,isLive:!1,isProvisionalDraft:!1,isUnpublishedDraft:!1,previewTargets:[],previewToken:null,previewParamValue:null,revisionId:null,siteId:null,siteStatuses:null,siteToken:null,visibleLayoutElements:{},updatedTimestamp:null,canonicalUpdatedTimestamp:null,reloadOnBroadcastSave:!0}})},4211:function(){Craft.ElementEditorSlideout=Craft.CpScreenSlideout.extend({$element:null,init:function(t,e){var i=this;this.$element=$(t),e=Object.assign({},Craft.ElementEditorSlideout.defaults,e,{showHeader:!0}),this.base("elements/edit",e),this.on("load",(function(){var t=i.$container.data("elementEditor");t&&t.on("beforeSubmit",(function(){Object.keys(i.settings.saveParams).forEach((function(e){$("<input/>",{class:"hidden",name:t.namespaceInputName(e),value:i.settings.saveParams[e]}).appendTo(i.$container)}))}))})),this.on("submit",(function(t){if(Craft.broadcaster&&Craft.broadcaster.postMessage({event:"saveElement",id:t.response.data.element.id}),i.settings.onSaveElement){var e=Object.assign({},t.response.data,t.response.data.element);delete e.element,delete e.modelName,delete e.message,i.settings.onSaveElement(e)}Craft.Preview.refresh()}))},getParams:function(){var t={};return this.settings.elementType&&(t.elementType=this.settings.elementType),this.settings.elementId?t.elementId=this.settings.elementId:this.$element&&this.$element.data("id")&&(t.elementId=this.$element.data("id")),this.settings.draftId?t.draftId=this.settings.draftId:this.$element&&this.$element.data("draft-id")?t.draftId=this.$element.data("draft-id"):this.settings.revisionId?t.revisionId=this.settings.revisionId:this.$element&&this.$element.data("revision-id")&&(t.revisionId=this.$element.data("revision-id")),this.settings.siteId?t.siteId=this.settings.siteId:this.$element&&this.$element.data("site-id")&&(t.siteId=this.$element.data("site-id")),this.settings.prevalidate&&(t.prevalidate=1),t},handleSubmit:function(t){this.$container.data("elementEditor").handleSubmit(t)}},{defaults:{elementId:null,draftId:null,revisionId:null,elementType:null,siteId:null,prevalidate:!1,saveParams:{},onSaveElement:null,validators:[]}})},7998:function(){Craft.ElementFieldSettings=Garnish.Base.extend({allowMultipleSources:null,$maintainHierarchyField:null,$maintainHierarchyInput:null,$sourcesField:null,$sourceSelect:null,$branchLimitField:null,$maxRelationsField:null,$minRelationsField:null,init:function(t,e,i,n,s,a){this.allowMultipleSources=t,this.$maintainHierarchyField=$("#".concat(e)),this.$maintainHierarchyInput=this.$maintainHierarchyField.find('input[type="checkbox"]'),this.$sourcesField=$("#".concat(i)),this.allowMultipleSources||(this.$sourceSelect=this.$sourcesField.find("select")),this.$branchLimitField=$("#".concat(n)),this.$minRelationsField=$("#".concat(s)),this.$maxRelationsField=$("#".concat(a)),this.updateLimitFields(),this.addListener(this.$maintainHierarchyInput,"change","updateLimitFields"),this.allowMultipleSources?this.$sourcesField.find("[type=checkbox]").each(function(t,e){this.addListener($(e),"change","updateMaintainHierarchyField")}.bind(this)):this.addListener(this.$sourceSelect,"change","updateMaintainHierarchyField"),this.updateMaintainHierarchyField()},updateLimitFields:function(){!this.$maintainHierarchyField.hasClass("hidden")&&this.$maintainHierarchyInput.is(":checked")?(this.$minRelationsField.addClass("hidden"),this.$maxRelationsField.addClass("hidden"),this.$branchLimitField.removeClass("hidden")):(this.$branchLimitField.addClass("hidden"),this.$minRelationsField.removeClass("hidden"),this.$maxRelationsField.removeClass("hidden"))},updateMaintainHierarchyField:function(){var t;if(this.allowMultipleSources){var e=this.$sourcesField.find('[type="checkbox"]:checked');t=1===e.length&&e.data("structure-id")}else t=this.$sourceSelect.children("option:selected").data("structure-id");t?this.$maintainHierarchyField.removeClass("hidden"):this.$maintainHierarchyField.addClass("hidden"),this.updateLimitFields()}})},8895:function(){function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}Craft.ElementThumbLoader=Garnish.Base.extend({queue:null,workers:[],init:function(){this.queue=[];for(var t=0;t<3;t++)this.workers.push(new Craft.ElementThumbLoader.Worker(this))},load:function(t){for(var e=this,i=t.find(".elementthumb[data-sizes]"),n=function(t){var n=i.eq(t),s=n.scrollParent();if("FIELDSET"===s.prop("nodeName")&&(s=s.scrollParent()),s[0]===document.body&&(s=Garnish.$doc),e.isVisible(n,s))e.addToQueue(n[0]);else{var a="thumb"+Math.floor(1e6*Math.random());Craft.ElementThumbLoader.invisibleThumbs[a]=[e,n,s],s.on("scroll.".concat(a),{$thumb:n,$scrollParent:s,key:a},(function(t){e.isVisible(t.data.$thumb,t.data.$scrollParent)&&(delete Craft.ElementThumbLoader.invisibleThumbs[t.data.key],s.off("scroll.".concat(t.data.key)),e.addToQueue(t.data.$thumb[0]))}))}},s=0;s<i.length;s++)n(s)},addToQueue:function(t){this.queue.push(t);for(var e=0;e<this.workers.length;e++)this.workers[e].active||this.workers[e].loadNext()},isVisible:function(t,e){var i,n,s=t.offset().top;return e[0]===document?(i=e.scrollTop(),n=Garnish.$win.height()):(i=e.offset().top,n=e.height()),s>i&&s<i+n+1e3},destroy:function(){for(var t=0;t<this.workers.length;t++)this.workers[t].destroy();this.base()}},{invisibleThumbs:{},retryAll:function(){for(var e in Craft.ElementThumbLoader.invisibleThumbs){var i=(r=Craft.ElementThumbLoader.invisibleThumbs[e],o=3,function(t){if(Array.isArray(t))return t}(r)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var n,s,a=[],r=!0,o=!1;try{for(i=i.call(t);!(r=(n=i.next()).done)&&(a.push(n.value),!e||a.length!==e);r=!0);}catch(t){o=!0,s=t}finally{try{r||null==i.return||i.return()}finally{if(o)throw s}}return a}}(r,o)||function(e,i){if(e){if("string"==typeof e)return t(e,i);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,i):void 0}}(r,o)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),n=i[0],s=i[1],a=i[2];delete Craft.ElementThumbLoader.invisibleThumbs[e],a.off("scroll.".concat(e)),n.load(s.parent())}var r,o}}),Craft.ElementThumbLoader.Worker=Garnish.Base.extend({loader:null,active:!1,container:null,_interval:null,_timeout:null,init:function(t){this.loader=t},activate:function(){var t=this;this.active||(this.active=!0,this.clearInterval(),this._interval=setInterval((function(){t.loadNextIfRemoved()}),500))},deactivate:function(){this.active&&(this.active=!1,this.clearInterval(),this.clearTimeout())},clearInterval:function(t){function e(){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(){this._interval&&(clearInterval(this._interval),this._interval=null)})),clearTimeout:function(t){function e(){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(){this._timeout&&(clearTimeout(this._timeout),this._timeout=null)})),loadNext:function(){var t=this;if(this.clearTimeout(),this.container=this.loader.queue.shift(),void 0!==this.container){if(!this.loadNextIfRemoved()){var e=$(this.container);if(e.find("img").length)this.loadNext();else{this.activate(),this._timeout=setTimeout((function(){t.loadNext()}),3e4);var i=$("<img/>",{sizes:e.attr("data-sizes"),srcset:e.attr("data-srcset"),alt:e.attr("data-alt")||""});this.addListener(i,"load,abort,error","loadNext"),i.appendTo(e),picturefill({elements:[i[0]]})}}}else this.deactivate()},loadNextIfRemoved:function(){return!(!this.container||document.body.contains(this.container)||(this.loadNext(),0))}})},4233:function(){Craft.ElevatedSessionForm=Garnish.Base.extend({$form:null,inputs:null,init:function(t,e){if(this.$form=$(t),void 0!==e){this.inputs=[],e=$.makeArray(e);for(var i=0;i<e.length;i++)for(var n=$(e[i]),s=0;s<n.length;s++){var a=n.eq(s);this.inputs.push({input:a,val:Garnish.getInputPostVal(a)})}}this.addListener(this.$form,"submit","handleFormSubmit")},handleFormSubmit:function(t){if(Craft.elevatedSessionManager.fetchingTimeout)return t.preventDefault(),void t.stopImmediatePropagation();if(this.inputs){for(var e,i=!1,n=0;n<this.inputs.length;n++)if((e=this.inputs[n].input).data("passwordInput")&&(e=e.data("passwordInput").$currentInput),Garnish.getInputPostVal(e)!==this.inputs[n].val){i=!0;break}if(!i)return}t.preventDefault(),t.stopImmediatePropagation(),Craft.elevatedSessionManager.requireElevatedSession(this.submitForm.bind(this))},submitForm:function(){this.disable(),this.$form.trigger("submit"),this.enable()}})},9699:function(){Craft.ElevatedSessionManager=Garnish.Base.extend({fetchingTimeout:!1,passwordModal:null,$passwordInput:null,$submitBtn:null,$errorPara:null,callback:null,requireElevatedSession:function(t){var e=this;this.callback=t,this.fetchingTimeout=!0,Craft.sendActionRequest("POST","users/get-elevated-session-timeout").then((function(t){e.fetchingTimeout=!1,!1===t.data.timeout||t.data.timeout>=Craft.ElevatedSessionManager.minSafeElevatedSessionTimeout?e.callback():e.showPasswordModal()})).catch((function(){e.fetchingTimeout=!1}))},showPasswordModal:function(){var t=this;if(this.passwordModal)this.passwordModal.show();else{var e=$('<form id="elevatedsessionmodal" class="modal secure fitted"/>'),i=$('<div class="body"><p>'+Craft.t("app","Enter your password to continue.")+"</p></div>").appendTo(e),n=$('<div class="inputcontainer">').appendTo(i),s=$('<div class="flex"/>').appendTo(n),a=$('<div class="flex-grow"/>').appendTo(s),r=$("<td/>").appendTo(s),o=$('<div class="passwordwrapper"/>').appendTo(a);this.$passwordInput=$('<input type="password" class="text password fullwidth" placeholder="'+Craft.t("app","Password")+'" autocomplete="current-password"/>').appendTo(o),this.$submitBtn=Craft.ui.createSubmitButton({class:"disabled",label:Craft.t("app","Submit"),spinner:!0}).appendTo(r),this.$errorPara=$('<p class="error"/>').appendTo(i),this.passwordModal=new Garnish.Modal(e,{closeOtherModals:!1,onFadeIn:function(){setTimeout(t.focusPasswordInput.bind(t),100)},onFadeOut:function(){t.$passwordInput.val("")}}),new Craft.PasswordInput(this.$passwordInput,{onToggleInput:function(e){t.$passwordInput=e}}),this.addListener(this.$passwordInput,"input","validatePassword"),this.addListener(e,"submit","submitPassword")}},focusPasswordInput:function(){Garnish.isMobileBrowser(!0)||this.$passwordInput.focus()},validatePassword:function(){return this.$passwordInput.val().length>=6?(this.$submitBtn.removeClass("disabled"),!0):(this.$submitBtn.addClass("disabled"),!1)},submitPassword:function(t){var e=this;if(t&&t.preventDefault(),this.validatePassword()){this.$submitBtn.addClass("loading"),this.clearLoginError();var i={currentPassword:this.$passwordInput.val()};Craft.sendActionRequest("POST","users/start-elevated-session",{data:i}).then((function(t){e.$submitBtn.removeClass("loading"),e.passwordModal.hide(),e.callback()})).catch((function(t){var i=t.response;e.$submitBtn.removeClass("loading"),e.showPasswordError(i.data.message||Craft.t("app","Incorrect password.")),Garnish.shake(e.passwordModal.$container),e.focusPasswordInput()}))}},showPasswordError:function(t){null==t&&(t=Craft.t("app","A server error occurred.")),this.$errorPara.text(t),this.passwordModal.updateSizeAndPosition()},clearLoginError:function(){this.showPasswordError("")}},{minSafeElevatedSessionTimeout:5}),Craft.elevatedSessionManager=new Craft.ElevatedSessionManager},1402:function(){function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}Craft.EntryIndex=Craft.BaseElementIndex.extend({publishableSections:null,$newEntryBtnGroup:null,$newEntryBtn:null,init:function(t,e,i){this.publishableSections=[],this.on("selectSource",this.updateButton.bind(this)),this.on("selectSite",this.updateButton.bind(this)),this.base(t,e,i)},afterInit:function(){var t=this.$sources.toArray().map((function(t){return $(t).data("handle")})).filter((function(t){return!!t}));this.publishableSections=Craft.publishableSections.filter((function(e){return t.includes(e.handle)})),this.base()},getDefaultSourceKey:function(){if("index"===this.settings.context&&"undefined"!=typeof defaultSectionHandle){if("singles"===defaultSectionHandle)return"singles";for(var t=0;t<this.$sources.length;t++){var e=$(this.$sources[t]);if(e.data("handle")===defaultSectionHandle)return e.data("key")}}return this.base()},updateButton:function(){var e,i,n=this;if(this.$source){if("singles"===this.$source.data("key")?e="singles":(e=this.$source.data("handle"),i=this.$source.data("entry-type")),this.publishableSections.length&&function(){n.$newEntryBtnGroup&&n.$newEntryBtnGroup.remove();var s,a=n.publishableSections.find((function(t){return t.handle===e}));n.$newEntryBtnGroup=$('<div class="btngroup submit" data-wrapper/>');var r="new-entry-menu-"+Craft.randomString(10),o=n.publishableSections.filter((function(t){return t.sites.includes(n.siteId)}));if(a){var l="index"===n.settings.context?Craft.t("app","New {type}",{type:Craft.elementTypeNames["craft\\elements\\Entry"][2]}):Craft.t("app","New {section} entry",{section:a.name}),h="index"===n.settings.context?Craft.t("app","New entry in the {section} section",{section:a.name}):l,d="index"===n.settings.context?"link":null;n.$newEntryBtn=Craft.ui.createButton({label:l,ariaLabel:h,spinner:!0,role:d}).addClass("submit add icon").appendTo(n.$newEntryBtnGroup),n.addListener(n.$newEntryBtn,"click mousedown",(function(t){if("index"===n.settings.context&&("click"===t.type&&Garnish.isCtrlKeyPressed(t)||"mousedown"===t.type&&1===t.originalEvent.button)){var e={};i&&(e.type=i),window.open(Craft.getUrl("entries/".concat(a.handle,"/new"),e))}else"click"===t.type&&n._createEntry(a.id,i)})),o.length>1&&(s=$("<button/>",{type:"button",class:"btn submit menubtn btngroup-btn-last","aria-controls":r,"data-disclosure-trigger":"","aria-label":Craft.t("app","New entry, choose a section")}).appendTo(n.$newEntryBtnGroup))}else o.length>0&&(n.$newEntryBtn=s=Craft.ui.createButton({label:Craft.t("app","New {type}",{type:Craft.elementTypeNames["craft\\elements\\Entry"][2]}),ariaLabel:Craft.t("app","New entry, choose a section"),spinner:!0}).addClass("submit add icon menubtn btngroup-btn-last").attr("aria-controls",r).attr("data-disclosure-trigger","").appendTo(n.$newEntryBtnGroup));if(n.addButton(n.$newEntryBtnGroup),s){var c,u=$("<div/>",{id:r,class:"menu menu--disclosure"}).appendTo(n.$newEntryBtnGroup),p=$("<ul/>").appendTo(u),f=function(e,i){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,i){if(e){if("string"==typeof e)return t(e,i);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,i):void 0}}(e))||i&&e&&"number"==typeof e.length){n&&(e=n);var s=0,a=function(){};return{s:a,n:function(){return s>=e.length?{done:!0}:{done:!1,value:e[s++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var t=n.next();return o=t.done,t},e:function(t){l=!0,r=t},f:function(){try{o||null==n.return||n.return()}finally{if(l)throw r}}}}(n.publishableSections);try{var g=function(){var t=c.value,e="index"===n.settings.context?"link":"button";if("index"===n.settings.context&&t.sites.includes(n.siteId)||"index"!==n.settings.context&&t!==a&&t.sites.includes(n.siteId)){var i=$("<li/>").appendTo(p),r=$("<a/>",{role:"button"===e?"button":null,href:Craft.getUrl("entries/".concat(t.handle,"/new")),type:"button"===e?"button":null,text:Craft.t("app","New {section} entry",{section:t.name})}).appendTo(i);n.addListener(r,"activate",(function(){s.data("trigger").hide(),n._createEntry(t.id)})),"button"===e&&n.addListener(r,"keydown",(function(e){e.keyCode===Garnish.SPACE_KEY&&(e.preventDefault(),s.data("trigger").hide(),n._createEntry(t.id))}))}};for(f.s();!(c=f.n()).done;)g()}catch(t){f.e(t)}finally{f.f()}new Garnish.DisclosureMenu(s)}}(),"index"===this.settings.context){var s="entries";e&&(s+="/"+e),Craft.setPath(s)}}else this.$newEntryBtnGroup&&this.$newEntryBtnGroup.remove()},_createEntry:function(t,e){var i=this;if(this.$newEntryBtn.hasClass("loading"))console.warn("New entry creation already in progress.");else{var n=this.publishableSections.find((function(e){return e.id===t}));if(!n)throw"Invalid section ID: ".concat(t);this.$newEntryBtn.addClass("loading"),Craft.sendActionRequest("POST","entries/create",{data:{siteId:this.siteId,section:n.handle,type:e}}).then((function(t){var e=t.data;"index"===i.settings.context?document.location.href=Craft.getUrl(e.cpEditUrl,{fresh:1}):Craft.createElementEditor(i.elementType,{siteId:i.siteId,elementId:e.entry.id,draftId:e.entry.draftId,params:{fresh:1}}).on("submit",(function(){i.clearSearch(),i.setSelectedSortAttribute("dateCreated","desc"),i.selectElementAfterUpdate(e.entry.id),i.updateElements()}))})).finally((function(){i.$newEntryBtn.removeClass("loading")}))}}}),Craft.registerElementIndexClass("craft\\elements\\Entry",Craft.EntryIndex)},9871:function(){Craft.EnvVarGenerator=Craft.BaseInputGenerator.extend({generateTargetValue:function(t){var e=t.replace(/<(.*?)>/g,"");return e=(e=e.replace(/['"‘’“”\[\]\(\)\{\}:]/g,"")).toLowerCase(),e=(e=Craft.asciiString(e)).replace(/^[^a-z]+/,""),Craft.filterArray(e.split(/[^a-z0-9]+/)).join("_").toUpperCase()}})},8201:function(){Craft.FieldLayoutDesigner=Garnish.Base.extend({$container:null,$configInput:null,$tabContainer:null,$newTabBtn:null,$sidebar:null,$libraryToggle:null,$selectedLibrary:null,$fieldLibrary:null,$uiLibrary:null,$uiLibraryElements:null,$fieldSearch:null,$clearFieldSearchBtn:null,$fieldGroups:null,$fields:null,tabGrid:null,elementDrag:null,_config:null,init:function(t,e){var i=this;this.$container=$(t),this.setSettings(e,Craft.FieldLayoutDesigner.defaults),this.$configInput=this.$container.children("input[data-config-input]"),this._config=JSON.parse(this.$configInput.val()),this._config.tabs||(this._config.tabs=[]);var n=this.$container.children(".fld-workspace");this.$tabContainer=n.children(".fld-tabs"),this.$newTabBtn=n.children(".fld-new-tab-btn"),this.$sidebar=this.$container.children(".fld-sidebar"),this.$fieldLibrary=this.$selectedLibrary=this.$sidebar.children(".fld-field-library");var s=this.$fieldLibrary.children(".search");this.$fieldSearch=s.children("input"),this.$clearFieldSearchBtn=s.children(".clear"),this.$fieldGroups=this.$sidebar.find(".fld-field-group"),this.$fields=this.$fieldGroups.children(".fld-element"),this.$uiLibrary=this.$sidebar.children(".fld-ui-library"),this.$uiLibraryElements=this.$uiLibrary.children(),this.tabGrid=new Craft.Grid(this.$tabContainer,{itemSelector:".fld-tab",minColWidth:264,fillMode:"grid",snapToGrid:24});for(var a=this.$tabContainer.children(),r=0;r<a.length;r++)this.initTab($(a[r]));if(this.elementDrag=new Craft.FieldLayoutDesigner.ElementDrag(this),this.settings.customizableTabs&&(this.tabDrag=new Craft.FieldLayoutDesigner.TabDrag(this),this.addListener(this.$newTabBtn,"activate","addTab")),this.settings.customizableUi){var o=this.$sidebar.children(".btngroup");new Craft.Listbox(o,{onChange:function(t){i.$selectedLibrary.addClass("hidden"),i.$selectedLibrary=i["$".concat(t.data("library"),"Library")].removeClass("hidden")}})}this.addListener(this.$fieldSearch,"input",(function(){var t=i.$fieldSearch.val().toLowerCase().replace(/['"]/g,"");if(!t)return i.$fieldLibrary.find(".filtered").removeClass("filtered"),void i.$clearFieldSearchBtn.addClass("hidden");i.$clearFieldSearchBtn.removeClass("hidden");var e=i.$fields.filter('[data-keywords*="'.concat(t,'"]')).add(i.$fieldGroups.filter('[data-name*="'.concat(t,'"]')).children(".fld-element")).removeClass("filtered");i.$fields.not(e).addClass("filtered");for(var n=0;n<i.$fieldGroups.length;n++){var s=i.$fieldGroups.eq(n);s.find(".fld-element:not(.hidden):not(.filtered)").length?s.removeClass("filtered"):s.addClass("filtered")}})),this.addListener(this.$fieldSearch,"keydown",(function(t){switch(t.keyCode){case Garnish.ESC_KEY:i.$fieldSearch.val("").trigger("input");break;case Garnish.RETURN_KEY:t.preventDefault()}})),this.addListener(this.$clearFieldSearchBtn,"click",(function(){i.$fieldSearch.val("").trigger("input")}))},initTab:function(t){return new Craft.FieldLayoutDesigner.Tab(this,t)},removeFieldByHandle:function(t){this.$fields.filter('[data-attribute="'.concat(t,'"]:first')).removeClass("hidden").closest(".fld-field-group").removeClass("hidden")},addTab:function(){if(this.settings.customizableTabs){var t=Craft.escapeHtml(prompt(Craft.t("app","Give your tab a name.")));if(t){var e=$('\n<div class="fld-tab">\n <div class="tabs">\n <div class="tab sel draggable">\n <span>'.concat(t,'</span>\n <a class="settings icon" title="').concat(Craft.t("app","Settings"),'"></a>\n </div>\n </div>\n <div class="fld-tabcontent"></div>\n</div>\n')),i=this.$tabContainer.children(".fld-tab:last");i.length?e.insertAfter(i):e.prependTo(this.$tabContainer),this.tabGrid.addItems(e),this.tabDrag.addItems(e),this.initTab(e).updatePositionInConfig()}}},get config(){return this._config},set config(t){this._config=t,this.$configInput.val(JSON.stringify(t))},updateConfig:function(t){var e=t(this.config);!1!==e&&(this.config=e)}},{defaults:{customizableTabs:!0,customizableUi:!0},createSlideout:function createSlideout(contents,js){var $body=$("<div/>",{class:"fld-element-settings-body"});$("<div/>",{class:"fields",html:contents}).appendTo($body);var $footer=$("<div/>",{class:"fld-element-settings-footer"});$("<div/>",{class:"flex-grow"}).appendTo($footer);var $cancelBtn=Craft.ui.createButton({label:Craft.t("app","Close"),spinner:!0}).appendTo($footer);Craft.ui.createSubmitButton({class:"secondary",label:Craft.t("app","Apply"),spinner:!0}).appendTo($footer);var $contents=$body.add($footer),slideout=new Craft.Slideout($contents,{containerElement:"form",containerAttributes:{action:"",method:"post",novalidate:"",class:"fld-element-settings"}});return slideout.on("open",(function(){Garnish.requestAnimationFrame((function(){slideout.$container.find(".text:first").focus()}))})),$cancelBtn.on("click",(function(){slideout.close()})),js&&eval(js),Craft.initUiElements(slideout.$container),slideout}}),Craft.FieldLayoutDesigner.Tab=Garnish.Base.extend({designer:null,uid:null,$container:null,slideout:null,destroyed:!1,init:function(t,e){this.designer=t,this.$container=e,this.$container.data("fld-tab",this),this.uid=this.$container.data("uid"),this.uid||(this.uid=Craft.uuid(),this.config={uid:this.uid,name:this.$container.find(".tabs .tab span").text(),elements:[]},this.$container.data("settings-namespace",this.designer.$container.data("new-tab-settings-namespace").replace(/\bTAB_UID\b/g,this.uid)),this.$container.data("settings-html",this.designer.$container.data("new-tab-settings-html").replace(/\bTAB_UID\b/g,this.uid).replace(/\bTAB_NAME\b/g,this.config.name)),this.$container.data("settings-js",this.designer.$container.data("new-tab-settings-js").replace(/\bTAB_UID\b/g,this.uid))),this.designer.settings.customizableTabs&&(this.settingsNamespace=this.$container.data("settings-namespace"),this.createMenu());for(var i=this.$container.children(".fld-tabcontent").children(),n=0;n<i.length;n++)this.initElement($(i[n]))},createMenu:function(){var t=this,e=this.$container.find(".tabs .settings");$('<div class="menu" data-align="center"/>').insertAfter(e).append($("<ul/>").append($("<li/>").append($("<a/>",{"data-action":"settings",text:Craft.t("app","Settings")}))).append($("<li/>").append($("<a/>",{"data-action":"remove",text:Craft.t("app","Remove")})))).append($("<hr/>")).append($("<ul/>").append($("<li/>").append($("<a/>",{"data-action":"moveLeft",text:"ltr"===Craft.orientation?Craft.t("app","Move to the left"):Craft.t("app","Move to the right")}))).append($("<li/>").append($("<a/>",{"data-action":"moveRight",text:"ltr"===Craft.orientation?Craft.t("app","Move to the right"):Craft.t("app","Move to the left")}))));var i=new Garnish.MenuBtn(e,{onOptionSelect:this.onTabOptionSelect.bind(this)}).menu,n=i.$container;i.on("show",(function(){t.$container.prev(".fld-tab").length?n.find("[data-action=moveLeft]").parent().removeClass("hidden"):n.find("[data-action=moveLeft]").parent().addClass("hidden"),t.$container.next(".fld-tab").length?n.find("[data-action=moveRight]").parent().removeClass("hidden"):n.find("[data-action=moveRight]").parent().addClass("hidden"),t.$container.siblings(".fld-tab").length?n.find("[data-action=moveLeft]").closest("ul").prev("hr").removeClass("hidden"):n.find("[data-action=moveLeft]").closest("ul").prev("hr").addClass("hidden"),i.setPositionRelativeToAnchor()}))},onTabOptionSelect:function(t){if(this.designer.settings.customizableTabs)switch($(t).data("action")){case"settings":this.slideout?this.slideout.open():this.createSettings();break;case"remove":this.destroy();break;case"moveLeft":var e=this.$container.prev(".fld-tab");e.length&&(this.$container.insertBefore(e),this.updatePositionInConfig());break;case"moveRight":var i=this.$container.next(".fld-tab");i.length&&(this.$container.insertAfter(i),this.updatePositionInConfig())}},createSettings:function(){var t=this,e=this.$container.data("settings-html"),i=this.$container.data("settings-js");this.slideout=Craft.FieldLayoutDesigner.createSlideout(e,i),this.slideout.$container.on("submit",(function(e){e.preventDefault(),t.applySettings()}))},applySettings:function(){var t=this;if(this.slideout.$container.find('[name$="[name]"]').val()){var e=this.slideout.$container.find("button[type=submit]").addClass("loading"),i=$.extend({},this.config);delete i.elements,Craft.sendActionRequest("POST","fields/apply-layout-tab-settings",{data:{config:i,settingsNamespace:this.settingsNamespace,settings:this.slideout.$container.serialize()}}).then((function(e){t.updateConfig((function(t){return $.extend(e.data.config,{elements:t.elements})}));var i=t.$container.find(".tabs .tab span"),n=i.children(".fld-indicator");e.data.hasConditions?n.length||i.append($("<div/>",{class:"fld-indicator",title:Craft.t("app","This tab is conditional"),"aria-label":Craft.t("app","This tab is conditional"),"data-icon":"condition",role:"img"})):n.length&&n.remove(),t.slideout.close()})).catch((function(t){Craft.cp.displayError(),console.error(t)})).finally((function(){e.removeClass("loading"),t.slideout.close()}))}else Craft.cp.displayError(Craft.t("app","You must specify a tab name."))},initElement:function(t){return new Craft.FieldLayoutDesigner.Element(this,t)},get index(){var t=this;return this.designer.config.tabs.findIndex((function(e){return e.uid===t.uid}))},get config(){var t=this;if(!this.uid)throw"Tab is missing its UID";var e=this.designer.config.tabs.find((function(e){return e.uid===t.uid}));return e||(e={uid:this.uid,elements:[]},this.config=e),e},set config(t){if(!this.destroyed){t.name&&t.name!==this.config.name&&this.$container.find(".tabs .tab span").text(t.name);var e=this.designer.config,i=this.index;if(-1!==i)e.tabs[i]=t;else{var n=$.inArray(this.$container[0],this.$container.parent().children(".fld-tab"));e.tabs.splice(n,0,t)}this.designer.config=e}},updateConfig:function(t){if(!this.destroyed){var e=t(this.config);!1!==e&&(this.config=e)}},updatePositionInConfig:function(){var t=this;this.destroyed||this.designer.updateConfig((function(e){var i=t.config,n=t.index,s=$.inArray(t.$container[0],t.$container.parent().children(".fld-tab"));return-1!==n&&e.tabs.splice(n,1),e.tabs.splice(s,0,i),e}))},destroy:function(){var t=this;if(!this.destroyed){this.destroyed=!0,this.designer.updateConfig((function(e){var i=t.index;return-1!==i&&(e.tabs.splice(i,1),e)}));for(var e=this.$container.find(".fld-element"),i=0;i<e.length;i++)e.eq(i).data("fld-element").destroy();this.designer.tabGrid.removeItems(this.$container),this.designer.tabDrag.removeItems(this.$container),this.$container.remove(),this.base()}}}),Craft.FieldLayoutDesigner.Element=Garnish.Base.extend({tab:null,$container:null,$settingsContainer:null,$editBtn:null,uid:null,isField:!1,attribute:null,requirable:!1,hasCustomWidth:!1,hasSettings:!1,settingsNamespace:null,slideout:null,init:function(t,e){var i=this;this.tab=t,this.$container=e,this.$container.data("fld-element",this),this.uid=this.$container.data("uid"),this.uid||(this.uid=Craft.uuid(),this.config=$.extend(this.$container.data("config"),{uid:this.uid})),this.isField=this.$container.hasClass("fld-field"),this.requirable=this.isField&&Garnish.hasAttr(this.$container,"data-requirable"),this.isField&&(this.attribute=this.$container.data("attribute")),this.settingsNamespace=this.$container.data("settings-namespace").replace(/\bELEMENT_UID\b/g,this.uid);var n=(this.$container.data("settings-html")||"").replace(/\bELEMENT_UID\b/g,this.uid),s=this.requirable&&this.$container.hasClass("fld-required");if(this.hasCustomWidth=this.tab.designer.settings.customizableUi&&Garnish.hasAttr(this.$container,"data-has-custom-width"),this.hasSettings=n||this.requirable,this.hasSettings){this.$settingsContainer=$("<div/>",{class:"hidden"}),this.$editBtn=$("<a/>",{role:"button",tabindex:0,class:"settings icon",title:Craft.t("app","Edit")});var a=function(){i.slideout?i.slideout.open():i.createSettings(n,s)};this.$editBtn.on("click",a),this.$container.on("dblclick",a)}this.initUi(),this.$container.attr("data-keywords",null),this.$container.attr("data-settings-html",null)},initUi:function(){var t=this;this.hasCustomWidth&&new Craft.SlidePicker(this.config.width||100,{min:25,max:100,step:25,valueLabel:function(t){return Craft.t("app","{pct} width",{pct:"".concat(t,"%")})},onChange:function(e){t.updateConfig((function(t){return t.width=e,t}))}}).$container.appendTo(this.$container),this.hasSettings&&this.$editBtn.appendTo(this.$container)},createSettings:function(t,e){var i=this,n=(this.$container.data("settings-js")||"").replace(/\bELEMENT_UID\b/g,this.uid);if(this.slideout=Craft.FieldLayoutDesigner.createSlideout(t,n),this.slideout.$container.on("submit",(function(t){t.preventDefault(),i.applySettings()})),this.requirable){var s=this.slideout.$container.find(".fields:first");Craft.ui.createLightswitchField({label:Craft.t("app","Required"),name:"".concat(this.settingsNamespace,"[required]"),on:e}).prependTo(s)}this.trigger("createSettings")},applySettings:function(){var t=this,e=this.slideout.$container.find("button[type=submit]").addClass("loading");Craft.sendActionRequest("POST","fields/apply-layout-element-settings",{data:{config:this.config,settingsNamespace:this.settingsNamespace,settings:this.slideout.$container.serialize()}}).then((function(e){t.config=e.data.config,t.$editBtn.detach(),t.$container.html($(e.data.selectorHtml).html()),t.initUi()})).catch((function(t){Craft.cp.displayError(),console.error(t)})).finally((function(){e.removeClass("loading"),t.updateRequiredClass(),t.slideout.close()}))},updateRequiredClass:function(){this.requirable&&(this.config.required?this.$container.addClass("fld-required"):this.$container.removeClass("fld-required"))},get index(){var t=this,e=this.tab.config;return void 0===e?-1:e.elements.findIndex((function(e){return e.uid===t.uid}))},get config(){var t=this;if(!this.uid)throw"Tab is missing its UID";var e=this.tab.config.elements.find((function(e){return e.uid===t.uid}));return e||(e={uid:this.uid},this.config=e),e},set config(t){var e=this.tab.config,i=this.index;if(-1!==i)e.elements[i]=t;else{var n=$.inArray(this.$container[0],this.$container.parent().children(".fld-element"));e.elements.splice(n,0,t)}this.tab.config=e},updateConfig:function(t){var e=t(this.config);!1!==e&&(this.config=e)},updatePositionInConfig:function(){var t=this;this.tab.updateConfig((function(e){var i=t.config,n=t.index,s=$.inArray(t.$container[0],t.$container.parent().children(".fld-element"));return-1!==n&&e.elements.splice(n,1),e.elements.splice(s,0,i),e}))},destroy:function(){var t=this;this.tab.updateConfig((function(e){var i=t.index;return-1!==i&&(e.elements.splice(i,1),e)})),this.tab.designer.elementDrag.removeItems(this.$container),this.$container.remove(),this.isField&&this.tab.designer.removeFieldByHandle(this.attribute),this.base()}}),Craft.FieldLayoutDesigner.BaseDrag=Garnish.Drag.extend({designer:null,$insertion:null,showingInsertion:!1,$caboose:null,init:function(t,e){this.designer=t,this.base(this.findItems(),e)},onDragStart:function(){this.base(),this.$insertion=this.createInsertion(),this.$caboose=this.createCaboose(),this.$items=$().add(this.$items.add(this.$caboose)),Garnish.$bod.addClass("dragging")},removeCaboose:function(){this.$items=this.$items.not(this.$caboose),this.$caboose.remove()},swapDraggeeWithInsertion:function(){this.$insertion.insertBefore(this.$draggee),this.$draggee.detach(),this.$items=$().add(this.$items.not(this.$draggee).add(this.$insertion)),this.showingInsertion=!0},swapInsertionWithDraggee:function(){this.$insertion.replaceWith(this.$draggee),this.$items=$().add(this.$items.not(this.$insertion).add(this.$draggee)),this.showingInsertion=!1},setMidpoints:function(){for(var t=0;t<this.$items.length;t++){var e=$(this.$items[t]),i=e.offset();e.hasClass("unused")||e.data("midpoint",{left:i.left+e.outerWidth()/2,top:i.top+e.outerHeight()/2})}},getClosestItem:function(){for(this.getClosestItem._closestItem=null,this.getClosestItem._closestItemMouseDiff=null,this.getClosestItem._i=0;this.getClosestItem._i<this.$items.length;this.getClosestItem._i++)this.getClosestItem._$item=$(this.$items[this.getClosestItem._i]),this.getClosestItem._midpoint=this.getClosestItem._$item.data("midpoint"),this.getClosestItem._midpoint&&(this.getClosestItem._mouseDiff=Garnish.getDist(this.getClosestItem._midpoint.left,this.getClosestItem._midpoint.top,this.mouseX,this.mouseY),(null===this.getClosestItem._closestItem||this.getClosestItem._mouseDiff<this.getClosestItem._closestItemMouseDiff)&&(this.getClosestItem._closestItem=this.getClosestItem._$item[0],this.getClosestItem._closestItemMouseDiff=this.getClosestItem._mouseDiff));return this.getClosestItem._closestItem},checkForNewClosestItem:function(){this.checkForNewClosestItem._closestItem=this.getClosestItem(),this.checkForNewClosestItem._closestItem!==this.$insertion[0]&&(this.showingInsertion&&$.inArray(this.$insertion[0],this.$items)<$.inArray(this.checkForNewClosestItem._closestItem,this.$items)&&-1===$.inArray(this.checkForNewClosestItem._closestItem,this.$caboose)?this.$insertion.insertAfter(this.checkForNewClosestItem._closestItem):this.$insertion.insertBefore(this.checkForNewClosestItem._closestItem),this.$items=$().add(this.$items.add(this.$insertion)),this.showingInsertion=!0,this.designer.tabGrid.refreshCols(!0),this.setMidpoints())},onDragStop:function(){var t=this;this.showingInsertion&&this.swapInsertionWithDraggee(),this.removeCaboose(),this.designer.tabGrid.refreshCols(!0);var e=this.$draggee.offset();!e||0===e.top&&0===e.left?(this.$draggee.css({display:this.draggeeDisplay,visibility:"visible",opacity:0}).velocity({opacity:1},Garnish.FX_DURATION),this.helpers[0].velocity({opacity:0},Garnish.FX_DURATION,(function(){t._showDraggee()}))):this.returnHelpersToDraggees(),this.base(),Garnish.$bod.removeClass("dragging")}}),Craft.FieldLayoutDesigner.TabDrag=Craft.FieldLayoutDesigner.BaseDrag.extend({init:function(t){this.base(t,{handle:".tab"})},findItems:function(){return this.designer.$tabContainer.find("> div.fld-tab")},onDragStart:function(){this.base(),this.swapDraggeeWithInsertion(),this.setMidpoints()},swapDraggeeWithInsertion:function(){this.base(),this.designer.tabGrid.removeItems(this.$draggee),this.designer.tabGrid.addItems(this.$insertion)},swapInsertionWithDraggee:function(){this.base(),this.designer.tabGrid.removeItems(this.$insertion),this.designer.tabGrid.addItems(this.$draggee)},onDrag:function(){this.checkForNewClosestItem(),this.base()},onDragStop:function(){this.base(),this.$draggee.css({display:this.draggeeDisplay,visibility:"hidden"}),this.$draggee.data("fld-tab").updatePositionInConfig()},createCaboose:function(){var t=$('<div class="fld-tab fld-tab-caboose"/>').appendTo(this.designer.$tabContainer);return this.designer.tabGrid.addItems(t),t},removeCaboose:function(){this.base(),this.designer.tabGrid.removeItems(this.$caboose)},createInsertion:function(){var t=this.$draggee.find(".tab");return $('\n<div class="fld-tab fld-insertion" style="height: '.concat(this.$draggee.height(),'px;">\n <div class="tabs"><div class="tab sel draggable" style="width: ').concat(t.outerWidth(),"px; height: ").concat(t.outerHeight()+2,'px;"></div></div>\n <div class="fld-tabcontent" style="height: ').concat(this.$draggee.find(".fld-tabcontent").height()-2,'px;"></div>\n</div>\n'))}}),Craft.FieldLayoutDesigner.ElementDrag=Craft.FieldLayoutDesigner.BaseDrag.extend({draggingLibraryElement:!1,draggingField:!1,originalTab:null,onDragStart:function(){this.base(),this.draggingLibraryElement=this.$draggee.hasClass("unused"),this.draggingField=this.$draggee.hasClass("fld-field"),this.draggingLibraryElement&&!this.draggingField&&this.$draggee.css({display:this.draggeeDisplay,visibility:"visible"}),this.draggingLibraryElement?this.originalTab=null:(this.originalTab=this.$draggee.closest(".fld-tab").data("fld-tab"),this.swapDraggeeWithInsertion()),this.setMidpoints()},onDrag:function(){this.isDraggeeMandatory()||this.isHoveringOverTab()?this.checkForNewClosestItem():this.showingInsertion&&(this.$insertion.remove(),this.$items=$().add(this.$items.not(this.$insertion)),this.showingInsertion=!1,this.designer.tabGrid.refreshCols(!0),this.setMidpoints()),this.base()},isDraggeeMandatory:function(){return Garnish.hasAttr(this.$draggee,"data-mandatory")},isHoveringOverTab:function(){for(var t=0;t<this.designer.tabGrid.$items.length;t++)if(Garnish.hitTest(this.mouseX,this.mouseY,this.designer.tabGrid.$items.eq(t)))return!0;return!1},findItems:function(){return this.designer.$tabContainer.find(".fld-element").add(this.designer.$sidebar.find(".fld-element"))},createCaboose:function(){for(var t=$(),e=this.designer.$tabContainer.find("> .fld-tab > .fld-tabcontent"),i=0;i<e.length;i++)t=t.add($("<div/>").appendTo(e[i]));return t},createInsertion:function(){return $('<div class="fld-element fld-insertion" style="height: '.concat(this.$draggee.outerHeight(),'px;"/>'))},onDragStop:function(){var t=this.showingInsertion;if(t){if(this.draggingLibraryElement){var e=this.$draggee.clone().removeClass("unused");this.draggingField&&(this.$draggee.css({visibility:"inherit",display:"field"}).addClass("hidden"),0===this.$draggee.siblings(".fld-field:not(.hidden)").length&&this.$draggee.closest(".fld-field-group").addClass("hidden")),this.$draggee=e,this.addItems(e)}}else if(!this.draggingLibraryElement){var i=this.draggingField?this.designer.$fields.filter('[data-attribute="'.concat(this.$draggee.data("attribute"),'"]:first')):this.designer.$uiLibraryElements.filter('[data-type="'.concat(this.$draggee.data("type"),'"]:first'));this.draggingField&&(i.removeClass("hidden"),i.closest(".fld-field-group").removeClass("hidden")),this.$draggee.data("fld-element").destroy(),this.$draggee=i}if(this.base(),this.$draggee.css({display:this.draggeeDisplay,visibility:this.draggingField||t?"hidden":"visible"}),t){var n,s=this.$draggee.closest(".fld-tab").data("fld-tab");if(this.draggingLibraryElement)n=s.initElement(this.$draggee);else if(n=this.$draggee.data("fld-element"),s!==this.originalTab){var a=n.config;this.originalTab.updateConfig((function(t){var e=n.index;return-1!==e&&(t.elements.splice(e,1),t)})),this.$draggee.data("fld-element").tab=s,n.config=a}n.updatePositionInConfig()}}})},3347:function(){Craft.FieldToggle=Garnish.Base.extend({$toggle:null,targetPrefix:null,targetSelector:null,reverseTargetSelector:null,_$target:null,_$reverseTarget:null,type:null,init:function(t){switch(this.$toggle=$(t),this.$toggle.data("fieldtoggle")&&(console.warn("Double-instantiating a field toggle on an element"),this.$toggle.data("fieldtoggle").destroy()),this.$toggle.data("fieldtoggle",this),this.type=this.getType(),"select"===this.type||"fieldset"===this.type?this.targetPrefix=this.$toggle.attr("data-target-prefix")||"":(this.targetSelector=this.normalizeTargetSelector(this.$toggle.data("target")),this.reverseTargetSelector=this.normalizeTargetSelector(this.$toggle.data("reverse-target"))),this.findTargets(),this.type){case"link":this.addListener(this.$toggle,"click","onToggleChange");break;case"fieldset":this.addListener(this.$toggle.find("input"),"change","onToggleChange");break;default:this.addListener(this.$toggle,"change","onToggleChange"),this.onToggleChange()}},normalizeTargetSelector:function(t){return t&&!t.match(/^[#\.]/)&&(t="#"+t),t},getType:function(){var t=this.$toggle.prop("nodeName");if("INPUT"===t&&"checkbox"===this.$toggle.attr("type")||"checkbox"===this.$toggle.attr("role")||"switch"===this.$toggle.attr("role"))return"checkbox";switch(t){case"SELECT":return Garnish.hasAttr(this.$toggle,"data-boolean-menu")?"booleanMenu":"select";case"A":return"link";default:return"fieldset"}},findTargets:function(){"select"===this.type||"fieldset"===this.type?this._$target=$(this.normalizeTargetSelector(this.targetPrefix+this.getToggleVal())):(this.targetSelector&&(this._$target=$(this.targetSelector)),this.reverseTargetSelector&&(this._$reverseTarget=$(this.reverseTargetSelector)))},getToggleVal:function(){switch(this.type){case"checkbox":return void 0!==this.$toggle.prop("checked")?this.$toggle.prop("checked"):"true"===this.$toggle.attr("aria-checked");case"booleanMenu":var t=this.$toggle.data("boolean");if(void 0!==t)return t;var e=this.$toggle.val();return e&&"0"!==e;default:var i;return null==(i="fieldset"===this.type?this.$toggle.find("input:checked:first").val():Garnish.getInputPostVal(this.$toggle))?null:i.replace(/[^\w]+/g,"-")}},onToggleChange:function(){"select"===this.type||"fieldset"===this.type?(this.hideTarget(this._$target),this.findTargets(),this.showTarget(this._$target)):(this.findTargets(),"link"===this.type?this.onToggleChange._show=this.$toggle.hasClass("collapsed")||!this.$toggle.hasClass("expanded"):this.onToggleChange._show=!!this.getToggleVal(),this.onToggleChange._show?(this.showTarget(this._$target),this.hideTarget(this._$reverseTarget)):(this.hideTarget(this._$target),this.showTarget(this._$reverseTarget)),delete this.onToggleChange._show)},showTarget:function(t){var e=this;if(t&&t.length){if(this.showTarget._currentHeight=t.height(),t.removeClass("hidden"),"select"!==this.type&&"fieldset"!==this.type){"link"===this.type&&(this.$toggle.removeClass("collapsed"),this.$toggle.addClass("expanded"));for(var i=0;i<t.length;i++)!function(t){"SPAN"!==t.prop("nodeName")&&(t.height("auto"),e.showTarget._targetHeight=t.height(),t.css({height:e.showTarget._currentHeight,overflow:"hidden"}),t.velocity("stop"),t.velocity({height:e.showTarget._targetHeight},"fast",(function(){t.css({height:"",overflow:""})})))}(t.eq(i));delete this.showTarget._targetHeight}delete this.showTarget._currentHeight,Garnish.$win.trigger("resize")}},hideTarget:function(t){if(t&&t.length)if("select"===this.type||"fieldset"===this.type)t.addClass("hidden");else{"link"===this.type&&(this.$toggle.removeClass("expanded"),this.$toggle.addClass("collapsed"));for(var e=0;e<t.length;e++)!function(t){t.hasClass("hidden")||("SPAN"===t.prop("nodeName")?t.addClass("hidden"):(t.css("overflow","hidden"),t.velocity("stop"),t.velocity({height:0},"fast",(function(){t.addClass("hidden")}))))}(t.eq(e))}},destroy:function(){this.$toggle.removeData("fieldtoggle"),this.base()}})},7606:function(){function t(t,i){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,i){if(t){if("string"==typeof t)return e(t,i);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e(t,i):void 0}}(t))||i&&t&&"number"==typeof t.length){n&&(t=n);var s=0,a=function(){};return{s:a,n:function(){return s>=t.length?{done:!0}:{done:!1,value:t[s++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return o=t.done,t},e:function(t){l=!0,r=t},f:function(){try{o||null==n.return||n.return()}finally{if(l)throw r}}}}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}Craft.FormObserver=Garnish.Base.extend({$container:null,_callback:null,_pauseLevel:0,_timeout:null,_recentKeypress:!1,_formData:null,_mutationObserver:null,_selectizeInputs:null,get isActive(){return 0===this._pauseLevel},init:function(e,i){var n=this;this.$container=$(e),this._callback=i,this._serialize(),this.addListener(this.$container,"change,input,keypress,keyup",(function(t){n.isActive&&(["keypress","keyup"].includes(t.type)&&(n._recentKeypress=!0),n._checkFormAfterDelay())})),this._mutationObserver=new MutationObserver((function(e){var i,s=t(e);try{for(s.s();!(i=s.n()).done;){var a=i.value;n.isActive&&n._formChanged(a)&&n._checkFormAfterDelay();var r,o=t(a.addedNodes);try{for(o.s();!(r=o.n()).done;){var l=r.value;l instanceof Element&&n._initSelectizeInputs(l)}}catch(t){o.e(t)}finally{o.f()}"class"===a.attributeName&&a.target instanceof Element&&a.target.classList.contains("selectized")&&n._initSelectizeInput(a.target)}}catch(t){s.e(t)}finally{s.f()}})),this._mutationObserver.observe(this.$container[0],{childList:!0,subtree:!0,characterData:!0,attributeFilter:["name","value","disabled","class"]}),this._initSelectizeInputs(this.$container[0])},_formChanged:function(t){switch(t.type){case"childList":return"TEXTAREA"===t.target.nodeName&&t.target.hasAttribute("name")||this._hasNamedNodes(t.addedNodes)||this._hasNamedNodes(t.removedNodes);case"attributes":switch(t.attributeName){case"name":return!t.target.disabled;case"value":return t.target.hasAttribute("name")&&!t.target.disabled;case"disabled":return t.target.hasAttribute("name")}case"characterData":return t.target.parentNode instanceof Element&&t.target.parentNode.hasAttribute("name");default:return!1}},_initSelectizeInputs:function(e){if(e.classList.contains("selectized"))this._initSelectizeInput(e);else{var i,n=t(e.querySelectorAll(".selectized"));try{for(n.s();!(i=n.n()).done;){var s=i.value;this._initSelectizeInput(s)}}catch(t){n.e(t)}finally{n.f()}}},_initSelectizeInput:function(t){var e=this;this.removeAllListeners(t),this.addListener(t,"selectizedropdownopen",(function(){e.pause()})),this.addListener(t,"selectizedropdownclose",(function(){setTimeout((function(){e.resume()}),100)}))},_hasNamedNodes:function(e){var i,n=t(e);try{for(n.s();!(i=n.n()).done;){var s=i.value;if(s instanceof Element&&(s.hasAttribute("name")||s.querySelectorAll("[name]").length))return!0}}catch(t){n.e(t)}finally{n.f()}return!1},_checkFormAfterDelay:function(){var t=this;clearTimeout(this._timeout),this._timeout=setTimeout((function(){t.checkForm()}),this._recentKeypress?1e3:100)},checkForm:function(){clearTimeout(this._timeout),this._recentKeypress=!1,this._formData!==this._serialize()&&this._callback(this._formData)},_serialize:function(){return"FORM"===this.$container[0].nodeName?this._formData=this.$container.serialize():this._formData=$("<form/>").append(this.$container.clone()).serialize(),this._formData},pause:function(){this._pauseLevel++},resume:function(){if(0===this._pauseLevel)throw"Craft.FormObserver::resume() should only be called after pause().";this._pauseLevel--,this.isActive&&this.checkForm()},destroy:function(){this._mutationObserver.disconnect(),delete this._mutationObserver,this.base()}})},9478:function(){Craft.Grid=Garnish.Base.extend({$container:null,$items:null,items:null,totalCols:null,colGutterDrop:null,colPctWidth:null,possibleItemColspans:null,possibleItemPositionsByColspan:null,itemPositions:null,itemColspansByPosition:null,layouts:null,layout:null,itemHeights:null,leftPadding:null,_refreshingCols:!1,_refreshColsAfterRefresh:!1,_forceRefreshColsAfterRefresh:!1,init:function(t,e){var i=this;this.$container=$(t),this.$container.data("grid")&&(console.warn("Double-instantiating a grid on an element"),this.$container.data("grid").destroy()),this.$container.data("grid",this),this.setSettings(e,Craft.Grid.defaults),this.handleContainerHeightProxy=function(){i.refreshCols(!1,!0)},this.$items=this.$container.children(this.settings.itemSelector),this.setItems(),this.refreshCols(!0,!1),Garnish.$doc.ready((function(){i.refreshCols(!1,!1)}))},addItems:function(t){this.$items=$().add(this.$items.add(t)),this.setItems(),this.refreshCols(!0,!0)},removeItems:function(t){this.$items=$().add(this.$items.not(t)),this.setItems(),this.refreshCols(!0,!0)},resetItemOrder:function(){this.$items=$().add(this.$items),this.setItems(),this.refreshCols(!0,!0)},setItems:function(){for(this.setItems._={},this.items=[],this.setItems._.i=0;this.setItems._.i<this.$items.length;this.setItems._.i++)this.items.push($(this.$items[this.setItems._.i]));delete this.setItems._},refreshCols:function(t){var e=this;if(this._refreshingCols)return this._refreshColsAfterRefresh=!0,void(t&&(this._forceRefreshColsAfterRefresh=!0));this._refreshingCols=!0,this.items.length?(this.refreshCols._={},this.refreshCols._.oldHeight=this.$container[0].style.height,this.$container[0].style.height=1,this.refreshCols._.scrollHeight=this.$container[0].scrollHeight,this.$container[0].style.height=this.refreshCols._.oldHeight,0!==this.refreshCols._.scrollHeight?(this.settings.cols?this.refreshCols._.totalCols=this.settings.cols:(this.refreshCols._.totalCols=Math.floor(this.$container.width()/this.settings.minColWidth),null!==this.totalCols&&this.refreshCols._.totalCols>this.totalCols&&(this.refreshCols._.totalCols=Math.floor((this.$container.width()-20)/this.settings.minColWidth)),this.settings.maxCols&&this.refreshCols._.totalCols>this.settings.maxCols&&(this.refreshCols._.totalCols=this.settings.maxCols)),0===this.refreshCols._.totalCols&&(this.refreshCols._.totalCols=1),!0===t||this.totalCols!==this.refreshCols._.totalCols?(this.totalCols=this.refreshCols._.totalCols,this.colGutterDrop=this.settings.gutter*(this.totalCols-1)/this.totalCols,Garnish.muteResizeEvents((function(){if("grid"===e.settings.fillMode)for(e.refreshCols._.itemIndex=0;e.refreshCols._.itemIndex<e.items.length;){for(e.refreshCols._.tallestItemHeight=-1,e.refreshCols._.colIndex=0,e.refreshCols._.i=e.refreshCols._.itemIndex;e.refreshCols._.i<e.refreshCols._.itemIndex+e.totalCols&&e.refreshCols._.i<e.items.length;e.refreshCols._.i++)e.refreshCols._.itemHeight=e.items[e.refreshCols._.i].height("auto").height(),e.refreshCols._.itemHeight>e.refreshCols._.tallestItemHeight&&(e.refreshCols._.tallestItemHeight=e.refreshCols._.itemHeight),e.refreshCols._.colIndex++;for(e.settings.snapToGrid&&(e.refreshCols._.remainder=e.refreshCols._.tallestItemHeight%e.settings.snapToGrid,e.refreshCols._.remainder&&(e.refreshCols._.tallestItemHeight+=e.settings.snapToGrid-e.refreshCols._.remainder)),e.refreshCols._.i=e.refreshCols._.itemIndex;e.refreshCols._.i<e.refreshCols._.itemIndex+e.totalCols&&e.refreshCols._.i<e.items.length;e.refreshCols._.i++)e.items[e.refreshCols._.i].height(e.refreshCols._.tallestItemHeight);e.refreshCols._.itemIndex+=e.totalCols}else if(e.removeListener(e.$items,"resize"),1===e.totalCols)e.$container.height("auto"),e.$items.show().css({position:"relative",width:"auto",top:0}).css(Craft.left,0);else{for(e.$items.css("position","absolute"),e.colPctWidth=100/e.totalCols,e.layouts=[],e.itemPositions=[],e.itemColspansByPosition=[],e.possibleItemColspans=[],e.possibleItemPositionsByColspan=[],e.itemHeightsByColspan=[],e.refreshCols._.item=0;e.refreshCols._.item<e.items.length;e.refreshCols._.item++)for(e.possibleItemColspans[e.refreshCols._.item]=[],e.possibleItemPositionsByColspan[e.refreshCols._.item]={},e.itemHeightsByColspan[e.refreshCols._.item]={},e.refreshCols._.$item=e.items[e.refreshCols._.item].show(),e.refreshCols._.positionRight="right"===e.refreshCols._.$item.data("position"),e.refreshCols._.positionLeft="left"===e.refreshCols._.$item.data("position"),e.refreshCols._.minColspan=e.refreshCols._.$item.data("colspan")?e.refreshCols._.$item.data("colspan"):e.refreshCols._.$item.data("min-colspan")?e.refreshCols._.$item.data("min-colspan"):1,e.refreshCols._.maxColspan=e.refreshCols._.$item.data("colspan")?e.refreshCols._.$item.data("colspan"):e.refreshCols._.$item.data("max-colspan")?e.refreshCols._.$item.data("max-colspan"):e.totalCols,e.refreshCols._.minColspan>e.totalCols&&(e.refreshCols._.minColspan=e.totalCols),e.refreshCols._.maxColspan>e.totalCols&&(e.refreshCols._.maxColspan=e.totalCols),e.refreshCols._.colspan=e.refreshCols._.minColspan;e.refreshCols._.colspan<=e.refreshCols._.maxColspan;e.refreshCols._.colspan++)for(e.refreshCols._.$item.css("width",e.getItemWidthCss(e.refreshCols._.colspan)),e.itemHeightsByColspan[e.refreshCols._.item][e.refreshCols._.colspan]=e.refreshCols._.$item.outerHeight(),e.possibleItemColspans[e.refreshCols._.item].push(e.refreshCols._.colspan),e.possibleItemPositionsByColspan[e.refreshCols._.item][e.refreshCols._.colspan]=[],e.refreshCols._.positionLeft?(e.refreshCols._.minPosition=0,e.refreshCols._.maxPosition=0):e.refreshCols._.positionRight?(e.refreshCols._.minPosition=e.totalCols-e.refreshCols._.colspan,e.refreshCols._.maxPosition=e.refreshCols._.minPosition):(e.refreshCols._.minPosition=0,e.refreshCols._.maxPosition=e.totalCols-e.refreshCols._.colspan),e.refreshCols._.position=e.refreshCols._.minPosition;e.refreshCols._.position<=e.refreshCols._.maxPosition;e.refreshCols._.position++)e.possibleItemPositionsByColspan[e.refreshCols._.item][e.refreshCols._.colspan].push(e.refreshCols._.position);for(e.refreshCols._.colHeights=[],e.refreshCols._.i=0;e.refreshCols._.i<e.totalCols;e.refreshCols._.i++)e.refreshCols._.colHeights.push(0);for(e.createLayouts(0,[],[],e.refreshCols._.colHeights,0),e.refreshCols._.layoutTotalCols=[],e.refreshCols._.i=0;e.refreshCols._.i<e.layouts.length;e.refreshCols._.i++)for(e.refreshCols._.layoutTotalCols[e.refreshCols._.i]=0,e.refreshCols._.j=0;e.refreshCols._.j<e.totalCols;e.refreshCols._.j++)e.layouts[e.refreshCols._.i].colHeights[e.refreshCols._.j]&&e.refreshCols._.layoutTotalCols[e.refreshCols._.i]++;for(e.refreshCols._.highestTotalCols=Math.max.apply(null,e.refreshCols._.layoutTotalCols),e.refreshCols._.i=e.layouts.length-1;e.refreshCols._.i>=0;e.refreshCols._.i--)e.refreshCols._.layoutTotalCols[e.refreshCols._.i]!==e.refreshCols._.highestTotalCols&&e.layouts.splice(e.refreshCols._.i,1);for(e.refreshCols._.layoutHeights=[],e.refreshCols._.i=0;e.refreshCols._.i<e.layouts.length;e.refreshCols._.i++)e.refreshCols._.layoutHeights.push(Math.max.apply(null,e.layouts[e.refreshCols._.i].colHeights));for(e.refreshCols._.shortestHeight=Math.min.apply(null,e.refreshCols._.layoutHeights),e.refreshCols._.shortestLayouts=[],e.refreshCols._.emptySpaces=[],e.refreshCols._.i=0;e.refreshCols._.i<e.refreshCols._.layoutHeights.length;e.refreshCols._.i++)if(e.refreshCols._.layoutHeights[e.refreshCols._.i]===e.refreshCols._.shortestHeight){for(e.refreshCols._.shortestLayouts.push(e.layouts[e.refreshCols._.i]),e.refreshCols._.emptySpace=e.layouts[e.refreshCols._.i].emptySpace,e.refreshCols._.j=0;e.refreshCols._.j<e.totalCols;e.refreshCols._.j++)e.refreshCols._.emptySpace+=e.refreshCols._.shortestHeight-e.layouts[e.refreshCols._.i].colHeights[e.refreshCols._.j];e.refreshCols._.emptySpaces.push(e.refreshCols._.emptySpace)}for(e.layout=e.refreshCols._.shortestLayouts[$.inArray(Math.min.apply(null,e.refreshCols._.emptySpaces),e.refreshCols._.emptySpaces)],e.refreshCols._.i=0;e.refreshCols._.i<e.items.length;e.refreshCols._.i++)e.refreshCols._.css={width:e.getItemWidthCss(e.layout.colspans[e.refreshCols._.i])},e.refreshCols._.css[Craft.left]=e.getItemLeftPosCss(e.layout.positions[e.refreshCols._.i]),e.items[e.refreshCols._.i].css(e.refreshCols._.css);e.isSimpleLayout()?(e.$container.height("auto"),e.$items.css({position:"relative",top:0,"margin-bottom":e.settings.gutter+"px"})):(e.$items.css("position","absolute"),e.positionItems(),e.addListener(e.$items,"resize","onItemResize"))}e.completeRefreshCols()})),this.onRefreshCols()):this.completeRefreshCols()):this.completeRefreshCols()):this.completeRefreshCols()},completeRefreshCols:function(){var t=this;if(void 0!==this.refreshCols._&&delete this.refreshCols._,this._refreshingCols=!1,this._refreshColsAfterRefresh){var e=this._forceRefreshColsAfterRefresh;this._refreshColsAfterRefresh=!1,this._forceRefreshColsAfterRefresh=!1,Garnish.requestAnimationFrame((function(){t.refreshCols(e)}))}},getItemWidth:function(t){return this.colPctWidth*t},getItemWidthCss:function(t){return"calc("+this.getItemWidth(t)+"% - "+this.colGutterDrop+"px)"},getItemWidthInPx:function(t){return this.getItemWidth(t)/100*this.$container.width()-this.colGutterDrop},getItemLeftPosCss:function(t){return"calc(("+this.getItemWidth(1)+"% + "+(this.settings.gutter-this.colGutterDrop)+"px) * "+t+")"},getItemLeftPosInPx:function(t){return(this.getItemWidth(1)/100*this.$container.width()+(this.settings.gutter-this.colGutterDrop))*t},createLayouts:function(t,e,i,n,s){new Craft.Grid.LayoutGenerator(this).createLayouts(t,e,i,n,s)},isSimpleLayout:function(){for(this.isSimpleLayout._={},this.isSimpleLayout._.i=0;this.isSimpleLayout._.i<this.layout.positions.length;this.isSimpleLayout._.i++)if(0!==this.layout.positions[this.isSimpleLayout._.i])return delete this.isSimpleLayout._,!1;return delete this.isSimpleLayout._,!0},positionItems:function(){for(this.positionItems._={},this.positionItems._.colHeights=[],this.positionItems._.i=0;this.positionItems._.i<this.totalCols;this.positionItems._.i++)this.positionItems._.colHeights.push(0);for(this.positionItems._.i=0;this.positionItems._.i<this.items.length;this.positionItems._.i++){for(this.positionItems._.endingCol=this.layout.positions[this.positionItems._.i]+this.layout.colspans[this.positionItems._.i]-1,this.positionItems._.affectedColHeights=[],this.positionItems._.col=this.layout.positions[this.positionItems._.i];this.positionItems._.col<=this.positionItems._.endingCol;this.positionItems._.col++)this.positionItems._.affectedColHeights.push(this.positionItems._.colHeights[this.positionItems._.col]);for(this.positionItems._.top=Math.max.apply(null,this.positionItems._.affectedColHeights),this.positionItems._.top>0&&(this.positionItems._.top+=this.settings.gutter),this.items[this.positionItems._.i].css("top",this.positionItems._.top),this.positionItems._.col=this.layout.positions[this.positionItems._.i];this.positionItems._.col<=this.positionItems._.endingCol;this.positionItems._.col++)this.positionItems._.colHeights[this.positionItems._.col]=this.positionItems._.top+this.itemHeightsByColspan[this.positionItems._.i][this.layout.colspans[this.positionItems._.i]]}this.$container.height(Math.max.apply(null,this.positionItems._.colHeights)),delete this.positionItems._},onItemResize:function(t){this.onItemResize._={},t.stopPropagation(),this.onItemResize._.item=$.inArray(t.currentTarget,this.$items),-1!==this.onItemResize._.item&&(this.onItemResize._.newHeight=this.items[this.onItemResize._.item].outerHeight(),this.onItemResize._.newHeight!==this.itemHeightsByColspan[this.onItemResize._.item][this.layout.colspans[this.onItemResize._.item]]&&(this.itemHeightsByColspan[this.onItemResize._.item][this.layout.colspans[this.onItemResize._.item]]=this.onItemResize._.newHeight,this.positionItems(!1))),delete this.onItemResize._},onRefreshCols:function(){this.trigger("refreshCols"),this.settings.onRefreshCols()},destroy:function(){this.$container.removeData("grid"),this.base()}},{defaults:{itemSelector:".item",cols:null,maxCols:null,minColWidth:320,gutter:14,fillMode:"top",colClass:"col",snapToGrid:null,onRefreshCols:$.noop}}),Craft.Grid.LayoutGenerator=Garnish.Base.extend({grid:null,_:null,init:function(t){this.grid=t},createLayouts:function(t,e,i,n,s){for(this._={},this._.c=0;this._.c<this.grid.possibleItemColspans[t].length;this._.c++){for(this._.colspan=this.grid.possibleItemColspans[t][this._.c],this._.tallestColHeightsByPosition=[],this._.p=0;this._.p<this.grid.possibleItemPositionsByColspan[t][this._.colspan].length;this._.p++){for(this._.position=this.grid.possibleItemPositionsByColspan[t][this._.colspan][this._.p],this._.colHeightsForPosition=[],this._.endingCol=this._.position+this._.colspan-1,this._.col=this._.position;this._.col<=this._.endingCol;this._.col++)this._.colHeightsForPosition.push(n[this._.col]);this._.tallestColHeightsByPosition[this._.p]=Math.max.apply(null,this._.colHeightsForPosition)}for(this._.p=$.inArray(Math.min.apply(null,this._.tallestColHeightsByPosition),this._.tallestColHeightsByPosition),this._.position=this.grid.possibleItemPositionsByColspan[t][this._.colspan][this._.p],this._.positions=e.slice(0),this._.colspans=i.slice(0),this._.colHeights=n.slice(0),this._.emptySpace=s,this._.positions.push(this._.position),this._.colspans.push(this._.colspan),this._.tallestColHeight=this._.tallestColHeightsByPosition[this._.p],this._.endingCol=this._.position+this._.colspan-1,this._.col=this._.position;this._.col<=this._.endingCol;this._.col++)this._.emptySpace+=this._.tallestColHeight-this._.colHeights[this._.col],this._.colHeights[this._.col]=this._.tallestColHeight+this.grid.itemHeightsByColspan[t][this._.colspan];t===this.grid.items.length-1?this.grid.layouts.push({positions:this._.positions,colspans:this._.colspans,colHeights:this._.colHeights,emptySpace:this._.emptySpace}):this.grid.createLayouts(t+1,this._.positions,this._.colspans,this._.colHeights,this._.emptySpace)}delete this._}})},2387:function(){Craft.HandleGenerator=Craft.BaseInputGenerator.extend({generateTargetValue:function(t){var e=t.replace(/<(.*?)>/g,"");e=(e=e.replace(/['"‘’“”\[\]\(\)\{\}:]/g,"")).toLowerCase(),e=Craft.asciiString(e),this.settings.allowNonAlphaStart||(e=e.replace(/^[^a-z]+/,""));var i=Craft.filterArray(e.split(/[^a-z0-9]+/));if(e="","snake"===Craft.handleCasing)return i.join("_");for(var n=0;n<i.length;n++)"pascal"!==Craft.handleCasing&&0===n?e+=i[n]:e+=i[n].charAt(0).toUpperCase()+i[n].substring(1);return e}})},7966:function(){Craft.ImageUpload=Garnish.Base.extend({$container:null,progressBar:null,uploader:null,init:function(t){this.setSettings(t,Craft.ImageUpload.defaults),this.initImageUpload()},initImageUpload:function(){this.$container=$(this.settings.containerSelector),this.progressBar=new Craft.ProgressBar($('<div class="progress-shade"></div>').appendTo(this.$container));var t={url:Craft.getActionUrl(this.settings.uploadAction),formData:this.settings.postParameters,fileInput:this.$container.find(this.settings.fileInputSelector),paramName:this.settings.uploadParamName};void 0!==Craft.csrfTokenName&&void 0!==Craft.csrfTokenValue&&(t.formData[Craft.csrfTokenName]=Craft.csrfTokenValue),t.events={},t.events.fileuploadstart=this._onUploadStart.bind(this),t.events.fileuploadprogressall=this._onUploadProgress.bind(this),t.events.fileuploaddone=this._onUploadComplete.bind(this),t.events.fileuploadfail=this._onUploadFailure.bind(this),this.uploader=Craft.createUploader(null,this.$container,t),this.initButtons()},initButtons:function(){var t=this;this.$container.find(this.settings.uploadButtonSelector).on("click",(function(e){t.$container.find(t.settings.fileInputSelector).trigger("click")})),this.$container.find(this.settings.deleteButtonSelector).on("click",(function(e){confirm(Craft.t("app","Are you sure you want to delete this image?"))&&($(e.currentTarget).parent().append('<div class="blocking-modal"></div>'),Craft.sendActionRequest("POST",t.settings.deleteAction,{data:t.settings.postParameters}).then((function(e){var i=e.data;t.refreshImage(i)})))}))},refreshImage:function(t){$(this.settings.containerSelector).replaceWith(t.html),this.settings.onAfterRefreshImage(t),this.initImageUpload()},_onUploadStart:function(t){this.progressBar.$progressBar.css({top:Math.round(this.$container.outerHeight()/2)-6}),this.$container.addClass("uploading"),this.progressBar.resetProgressBar(),this.progressBar.showProgressBar()},_onUploadProgress:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=parseInt(e.loaded/e.total*100,10);this.progressBar.setProgressPercentage(i)},_onUploadComplete:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;e.result.error?Craft.cp.displayError(e.result.error):($(e.result.html),this.refreshImage(e.result)),this.uploader.isLastUpload()&&(this.progressBar.hideProgressBar(),this.$container.removeClass("uploading"))},_onUploadFailure:function(t){var e,i,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=n.response(),a=(null==s||null===(e=s.jqXHR)||void 0===e?void 0:e.responseJSON)||{},r=a.message,o=a.filename;o=o||(null==n||null===(i=n.files)||void 0===i?void 0:i[0].name),r||(r=o?Craft.t("app","Upload failed for “{filename}”.",{filename:o}):Craft.t("app","Upload failed.")),Craft.cp.displayError(r),this.progressBar.hideProgressBar(),this.$container.removeClass("uploading")}},{defaults:{postParameters:{},uploadAction:"",deleteAction:"",fileInputSelector:"",onAfterRefreshImage:$.noop,containerSelector:null,uploadButtonSelector:null,deleteButtonSelector:null,uploadParamName:"files"}})},657:function(){Craft.InfoIcon=Garnish.Base.extend({$container:null,$icon:null,$liveRegion:null,content:null,hud:null,init:function(t){var e=this;if(this.$icon=$(t),this.$liveRegion=$("<span/>",{role:"status",class:"visually-hidden"}),this.$icon.data("infoicon")?(console.warn("Double-instantiating an info icon on an element"),this.content=this.$icon.data("infoicon").content,this.$icon.data("infoicon").destroy()):(this.content=this.$icon.html(),this.$icon.html("").attr({tabindex:0,role:"button",type:"button","aria-label":Craft.t("app","More info")}).wrap($("<span/>",{class:"infoicon-container"})),this.$container=this.$icon.parent(),this.$container.append(this.$liveRegion)),this.$icon.data("infoicon",this),this.$icon[0].previousSibling&&this.$icon[0].previousSibling.nodeType===Node.TEXT_NODE&&!this.$icon.parent().hasClass("nowrap")){var i=this.$icon[0].previousSibling.nodeValue.match(/[^\s\-]+\s*$/);i&&(this.$icon[0].previousSibling.nodeValue=this.$icon[0].previousSibling.nodeValue.substring(0,i.index),$("<span/>",{class:"nowrap",html:i[0].replace(/\s+$/,"")+" "}).insertAfter(this.$icon[0].previousSibling).append(this.$icon))}this.addListener(this.$icon,"click",(function(t){t.preventDefault(),t.stopPropagation(),e.showHud()})),this.addListener(this.$icon,"keydown",(function(t){e.hud&&e.hud.showing||![Garnish.SPACE_KEY,Garnish.RETURN_KEY].includes(t.keyCode)||(t.preventDefault(),t.stopPropagation(),e.showHud())}))},showHud:function(t){var e=this;this.hud?this.hud.show():(this.hud=new Garnish.HUD(this.$icon,this.content,{hudClass:"hud info-hud",closeOtherHUDs:!1,onShow:function(){Garnish.uiLayerManager.registerShortcut(Garnish.SPACE_KEY,(function(){e.hud.hide()})),e.$liveRegion.html(""),setTimeout((function(){e.$liveRegion.html(e.content)}),200)},onHide:function(){e.$liveRegion.html("")}}),Craft.initUiElements(this.hud.$body))},destroy:function(){this.$icon.removeData("infoicon"),this.base()}})},4487:function(){Craft.LightSwitch=Garnish.Base.extend({settings:null,$outerContainer:null,$innerContainer:null,$input:null,small:!1,on:!1,indeterminate:!1,dragger:null,dragStartMargin:null,init:function(t,e){if(this.$outerContainer=$(t),this.$outerContainer.data("lightswitch")&&(console.warn("Double-instantiating a lightswitch on an element"),this.$outerContainer.data("lightswitch").destroy()),this.$outerContainer.data("lightswitch",this),this.small=this.$outerContainer.hasClass("small"),this.setSettings(e,Craft.LightSwitch.defaults),this.$innerContainer=this.$outerContainer.find(".lightswitch-container:first"),this.$input=this.$outerContainer.find("input:first"),!this.$input.prop("disabled")){this.on=this.$outerContainer.hasClass("on"),this.indeterminate=this.$outerContainer.hasClass("indeterminate"),this.addListener(this.$outerContainer,"mousedown","_onMouseDown"),this.addListener(this.$outerContainer,"keydown","_onKeyDown"),this.dragger=new Garnish.BaseDrag(this.$outerContainer,{axis:Garnish.X_AXIS,ignoreHandleSelector:null,onDragStart:this._onDragStart.bind(this),onDrag:this._onDrag.bind(this),onDragStop:this._onDragStop.bind(this)});var i=this.$outerContainer.parent(".lightswitch-inner-container");i.length&&(this.addListener(i.children('span[data-toggle="off"]'),"click",this.turnOff),this.addListener(i.children('span[data-toggle="on"]'),"click",this.turnOn))}},turnOn:function(t){var e=!this.on;if(this.on=!0,this.indeterminate=!1,this.$outerContainer.addClass("dragging"),Garnish.prefersReducedMotion())this.$innerContainer.css("margin-"+Craft.left,0);else{var i={};i["margin-"+Craft.left]=0,this.$innerContainer.velocity("stop").velocity(i,Craft.LightSwitch.animationDuration,this._onSettle.bind(this))}this.$input.val(this.settings.value),this.$outerContainer.addClass("on"),this.$outerContainer.removeClass("indeterminate"),this.$outerContainer.attr("aria-checked","true"),e&&!0!==t&&this.onChange()},turnOff:function(t){var e=this.on||this.indeterminate;if(this.on=!1,this.indeterminate=!1,this.$outerContainer.addClass("dragging"),Garnish.prefersReducedMotion())this.$innerContainer.css("margin-"+Craft.left,this._getOffMargin());else{var i={};i["margin-"+Craft.left]=this._getOffMargin(),this.$innerContainer.velocity("stop").velocity(i,Craft.LightSwitch.animationDuration,this._onSettle.bind(this))}this.$input.val(""),this.$outerContainer.removeClass("on"),this.$outerContainer.removeClass("indeterminate"),this.$outerContainer.attr("aria-checked","false"),e&&!0!==t&&this.onChange()},turnIndeterminate:function(t){var e=!this.indeterminate;this.on=!1,this.indeterminate=!0,this.$outerContainer.addClass("dragging");var i={};i["margin-"+Craft.left]=this._getOffMargin()/2,this.$innerContainer.velocity("stop").velocity(i,Craft.LightSwitch.animationDuration,this._onSettle.bind(this)),this.$input.val(this.settings.indeterminateValue),this.$outerContainer.removeClass("on"),this.$outerContainer.addClass("indeterminate"),this.$outerContainer.attr("aria-checked","mixed"),e&&!0!==t&&this.onChange()},toggle:function(){this.indeterminate||!this.on?this.turnOn():this.turnOff()},onChange:function(){this.trigger("change"),this.settings.onChange(this.on),this.$outerContainer.trigger("change")},_onMouseDown:function(){this.addListener(Garnish.$doc,"mouseup","_onMouseUp")},_onMouseUp:function(){this.removeListener(Garnish.$doc,"mouseup"),this.dragger.dragging||this.toggle()},_onKeyDown:function(t){switch(t.keyCode){case Garnish.SPACE_KEY:this.toggle(),t.preventDefault();break;case Garnish.RIGHT_KEY:"ltr"===Craft.orientation?this.turnOn():this.turnOff(),t.preventDefault();break;case Garnish.LEFT_KEY:"ltr"===Craft.orientation?this.turnOff():this.turnOn(),t.preventDefault()}},_getMargin:function(){return parseInt(this.$innerContainer.css("margin-"+Craft.left))},_onDragStart:function(){this.$outerContainer.addClass("dragging"),this.dragStartMargin=this._getMargin()},_onDrag:function(){var t;(t="ltr"===Craft.orientation?this.dragStartMargin+this.dragger.mouseDistX:this.dragStartMargin-this.dragger.mouseDistX)<this._getOffMargin()?t=this._getOffMargin():t>0&&(t=0),this.$innerContainer.css("margin-"+Craft.left,t)},_onDragStop:function(){this._getMargin()>this._getOffMargin()/2?this.turnOn():this.turnOff()},_onSettle:function(){this.$outerContainer.removeClass("dragging")},destroy:function(){this.$outerContainer.removeData("lightswitch"),this.base(),this.dragger.destroy()},_getOffMargin:function(){return this.small?-10:-12}},{animationDuration:100,defaults:{value:"1",indeterminateValue:"-",onChange:$.noop}})},6966:function(){Craft.Listbox=Garnish.Base.extend({$container:null,$options:null,$selectedOption:null,selectedOptionIndex:null,init:function(t,e){var i=this;this.$container=$(t),this.setSettings(e,Craft.Listbox.defaults),this.$container.data("listbox")&&(console.warn("Double-instantiating a listbox on an element"),this.$container.data("listbox").destroy()),this.$container.data("listbox",this),this.$options=this.$container.find("button,[role=option]"),this.$selectedOption=this.$options.filter("[aria-pressed=true],[aria-selected=true]").removeAttr("aria-selected").attr("aria-pressed","true"),this.$selectedOption.length?this.selectedOptionIndex=this.$options.index(this.$selectedOption):this.$selectedOption=null,this.addListener(this.$options,"click",(function(t){i.select(i.$options.index($(t.currentTarget))),t.preventDefault()}))},select:function(t){t<0||t>=this.$options.length||t===this.selectedOptionIndex||(this.$selectedOption&&this.$selectedOption.removeClass(this.settings.selectedClass).attr("aria-pressed","false"),this.$selectedOption=this.$options.eq(t).addClass(this.settings.selectedClass).attr("aria-pressed","true"),this.selectedOptionIndex=t,this.settings.onChange(this.$selectedOption,t),this.trigger("change",{$selectedOption:this.$selectedOption,selectedOptionIndex:t}))},disable:function(){this.base(),this.$container.attr("aria-disabled","true")},enable:function(){this.base(),this.$container.removeAttr("aria-disabled")},destroy:function(){this.$container.removeData("listbox"),this.base()}},{defaults:{selectedClass:"active",focusClass:"focus",onChange:$.noop}})},5080:function(){function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}Craft.LivePreview=Garnish.Base.extend({$extraFields:null,$trigger:null,$shade:null,$editorContainer:null,$editor:null,$dragHandle:null,$previewContainer:null,$iframeContainer:null,$iframe:null,$fieldPlaceholder:null,previewUrl:null,token:null,basePostData:null,inPreviewMode:!1,fields:null,lastPostData:null,updateIframeInterval:null,loading:!1,checkAgain:!1,dragger:null,dragStartEditorWidth:null,_slideInOnIframeLoad:!1,_scrollX:null,_scrollY:null,_editorWidth:null,_editorWidthInPx:null,init:function(t){var e=this;this.setSettings(t,Craft.LivePreview.defaults),this.settings.previewUrl?this.previewUrl=this.settings.previewUrl:this.previewUrl=Craft.baseSiteUrl.replace(/\/+$/,"")+"/","https:"===document.location.protocol&&(this.previewUrl=this.previewUrl.replace(/^http:/,"https:")),this.basePostData=$.extend({},this.settings.previewParams),this.$extraFields=$(this.settings.extraFields),this.$trigger=$(this.settings.trigger),this.$fieldPlaceholder=$("<div/>"),this.editorWidth=Craft.getLocalStorage("LivePreview.editorWidth",Craft.LivePreview.defaultEditorWidth),this.addListener(this.$trigger,"activate","toggle"),Craft.cp.on("beforeSaveShortcut",(function(){e.inPreviewMode&&e.moveFieldsBack()})),Craft.Preview.instances.push(this)},get editorWidth(){return this._editorWidth},get editorWidthInPx(){return this._editorWidthInPx},set editorWidth(t){var e;t>=1?(e=t,t/=Garnish.$win.width()):e=Math.round(t*Garnish.$win.width()),e<Craft.LivePreview.minEditorWidthInPx&&(t=(e=Craft.LivePreview.minEditorWidthInPx)/Garnish.$win.width()),this._editorWidth=t,this._editorWidthInPx=e},toggle:function(){this.inPreviewMode?this.exit():this.enter()},enter:function(){var t=this;if(!this.inPreviewMode)if(this.token){if(this.trigger("beforeEnter"),this.trigger("beforeOpen"),$(document.activeElement).trigger("blur"),!this.$editor){this.$shade=$("<div/>",{class:"modal-shade dark"}).appendTo(Garnish.$bod),this.$previewContainer=$("<div/>",{class:"lp-preview-container"}).appendTo(Garnish.$bod),this.$iframeContainer=$("<div/>",{class:"lp-iframe-container"}).appendTo(this.$previewContainer),this.$editorContainer=$("<div/>",{class:"lp-editor-container"}).appendTo(Garnish.$bod);var e=$("<header/>",{class:"flex"}).appendTo(this.$editorContainer);this.$editor=$("<form/>",{class:"lp-editor"}).appendTo(this.$editorContainer),this.$dragHandle=$("<div/>",{class:"lp-draghandle"}).appendTo(this.$editorContainer);var i=$("<button/>",{type:"button",class:"btn",text:Craft.t("app","Close Preview")}).appendTo(e);$("<div/>",{class:"flex-grow"}).appendTo(e);var n=$("<button/>",{type:"button",class:"btn submit",text:Craft.t("app","Save")}).appendTo(e);this.dragger=new Garnish.BaseDrag(this.$dragHandle,{axis:Garnish.X_AXIS,onDragStart:this._onDragStart.bind(this),onDrag:this._onDrag.bind(this),onDragStop:this._onDragStop.bind(this)}),this.addListener(i,"click","exit"),this.addListener(n,"click","save")}this.handleWindowResize(),this.addListener(Garnish.$win,"resize","handleWindowResize"),this.$editorContainer.css(Craft.left,-this.editorWidthInPx+"px"),this.$previewContainer.css(Craft.right,-this.getIframeWidth()),this.fields=[];for(var s=$(this.settings.fields),a=0;a<s.length;a++){var r=$(s[a]),o=this._getClone(r);this.$fieldPlaceholder.insertAfter(r),r.detach(),this.$fieldPlaceholder.replaceWith(o),r.appendTo(this.$editor),this.fields.push({$field:r,$clone:o})}this.updateIframe()?this._slideInOnIframeLoad=!0:this.slideIn(),Craft.ElementThumbLoader.retryAll(),Garnish.uiLayerManager.addLayer(this.$sidebar),Garnish.uiLayerManager.registerShortcut(Garnish.ESC_KEY,(function(){t.exit()})),this.inPreviewMode=!0,this.trigger("enter"),this.trigger("open")}else this.createToken()},createToken:function(){var t=this,e={previewAction:this.settings.previewAction};Craft.sendActionRequest("POST","live-preview/create-token",{data:e}).then((function(e){t.token=e.data.token,t.enter()}))},save:function(){Craft.cp.submitPrimaryForm()},handleWindowResize:function(){this.editorWidth=this.editorWidth,this.updateWidths()},slideIn:function(){var t=this;$("html").addClass("noscroll"),this.$shade.velocity("fadeIn"),this.$editorContainer.show().velocity("stop").animateLeft(0,"slow",(function(){t.trigger("slideIn"),Garnish.$win.trigger("resize")})),this.$previewContainer.show().velocity("stop").animateRight(0,"slow",(function(){t.updateIframeInterval=setInterval(t.updateIframe.bind(t),1e3)}))},exit:function(){var t=this;this.inPreviewMode&&(this.trigger("beforeExit"),this.trigger("beforeClose"),$("html").removeClass("noscroll"),this.removeListener(Garnish.$win,"resize"),Garnish.uiLayerManager.removeLayer(),this.updateIframeInterval&&clearInterval(this.updateIframeInterval),this.moveFieldsBack(),this.$shade.delay(200).velocity("fadeOut"),this.$editorContainer.velocity("stop").animateLeft(-this.editorWidthInPx,"slow",(function(){for(var e=0;e<t.fields.length;e++)t.fields[e].$newClone.remove();t.$editorContainer.hide(),t.trigger("slideOut")})),this.$previewContainer.velocity("stop").animateRight(-this.getIframeWidth(),"slow",(function(){t.$previewContainer.hide()})),Craft.ElementThumbLoader.retryAll(),this.inPreviewMode=!1,this.trigger("exit"),this.trigger("close"))},moveFieldsBack:function(){for(var t=0;t<this.fields.length;t++){var e=this.fields[t];e.$newClone=this._getClone(e.$field),this.$fieldPlaceholder.insertAfter(e.$field),e.$field.detach(),this.$fieldPlaceholder.replaceWith(e.$newClone),e.$clone.replaceWith(e.$field)}Garnish.$win.trigger("resize")},getIframeWidth:function(){return Garnish.$win.width()-this.editorWidthInPx},updateWidths:function(){this.$editorContainer.css("width",this.editorWidthInPx+"px"),this.$previewContainer.width(this.getIframeWidth())},updateIframe:function(t){if(t&&(this.lastPostData=null),!this.inPreviewMode)return!1;if(this.loading)return this.checkAgain=!0,!1;var e=$.extend(Garnish.getPostData(this.$editor),Garnish.getPostData(this.$extraFields));if(this.lastPostData&&Craft.compare(e,this.lastPostData,!1))return!1;this.lastPostData=e,this.loading=!0;var i=this.$iframe?$(this.$iframe[0].contentWindow.document):null;return this._scrollX=i?i.scrollLeft():0,this._scrollY=i?i.scrollTop():0,$.ajax({url:this.previewUrl+(-1!==this.previewUrl.indexOf("?")?"&":"?")+Craft.tokenParam+"="+this.token,method:"POST",data:$.extend({},e,this.basePostData),headers:{"X-Craft-Token":this.token},xhrFields:{withCredentials:!0},crossDomain:!0,success:this.handleSuccess.bind(this),error:this.handleError.bind(this)}),!0},forceUpdateIframe:function(){return this.updateIframe(!0)},handleSuccess:function(t){var e=this,i=t+'<script type="text/javascript">window.scrollTo('+this._scrollX+", "+this._scrollY+");<\/script>",n=$('<iframe class="lp-preview" frameborder="0"/>');this.$iframe?n.insertBefore(this.$iframe):n.appendTo(this.$iframeContainer),this.addListener(n,"load",(function(){this.$iframe&&this.$iframe.remove(),this.$iframe=n,this._slideInOnIframeLoad&&(this.slideIn(),this._slideInOnIframeLoad=!1),this.removeListener(n,"load")})),Garnish.requestAnimationFrame((function(){n[0].contentWindow.document.open(),n[0].contentWindow.document.write(i),n[0].contentWindow.document.close(),e.onResponse()}))},handleError:function(){this.onResponse()},onResponse:function(){this.loading=!1,this.checkAgain&&(this.checkAgain=!1,this.updateIframe())},_getClone:function(t){var e=t.clone();return Garnish.copyInputValues(t,e),e.attr("id",""),e.find("[id]").attr("id",""),e},_onDragStart:function(){this.dragStartEditorWidth=this.editorWidthInPx,this.$previewContainer.addClass("dragging")},_onDrag:function(){"ltr"===Craft.orientation?this.editorWidth=this.dragStartEditorWidth+this.dragger.mouseDistX:this.editorWidth=this.dragStartEditorWidth-this.dragger.mouseDistX,this.updateWidths(),this.trigger("drag")},_onDragStop:function(){this.$previewContainer.removeClass("dragging"),Craft.setLocalStorage("LivePreview.editorWidth",this.editorWidth)},destroy:function(){var t=this;Craft.Preview.instances=Craft.Preview.instances.filter((function(e){return e!==t})),this.base()}},{defaultEditorWidth:.33,minEditorWidthInPx:320,instances:[],defaults:{trigger:".livepreviewbtn",fields:null,extraFields:null,previewUrl:null,previewAction:null,previewParams:{}},getActive:function(){var e,i=function(e,i){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,i){if(e){if("string"==typeof e)return t(e,i);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,i):void 0}}(e))||i&&e&&"number"==typeof e.length){n&&(e=n);var s=0,a=function(){};return{s:a,n:function(){return s>=e.length?{done:!0}:{done:!1,value:e[s++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var t=n.next();return o=t.done,t},e:function(t){l=!0,r=t},f:function(){try{o||null==n.return||n.return()}finally{if(l)throw r}}}}(Craft.LivePreview.instances);try{for(i.s();!(e=i.n()).done;){var n=e.value;if(n.inPreviewMode)return n}}catch(t){i.e(t)}finally{i.f()}}}),Craft.LivePreview.init=function(t){Craft.livePreview=new Craft.LivePreview(t)}},7439:function(){Craft.PasswordInput=Garnish.Base.extend({$passwordWrapper:null,$passwordInput:null,$textInput:null,$currentInput:null,$showPasswordToggle:null,showingPassword:null,init:function(t,e){this.$passwordInput=$(t),this.$passwordWrapper=this.$passwordInput.parent(".passwordwrapper"),this.settings=$.extend({},Craft.PasswordInput.defaults,e),this.$passwordInput.data("passwordInput")&&(console.warn("Double-instantiating a password input on an element"),this.$passwordInput.data("passwordInput").destroy()),this.$passwordInput.data("passwordInput",this),this.$showPasswordToggle=$('<button type="button" class="invisible" />'),this.$showPasswordToggle.addClass("password-toggle"),this.$showPasswordToggle.insertAfter(this.$passwordInput),this.initInputFocusEvents(this.$passwordInput),this.addListener(this.$showPasswordToggle,"click","onClick"),this.hidePassword(),this.addListener(this.$passwordWrapper.closest("form"),"submit","hidePassword")},setCurrentInput:function(t){this.$currentInput&&(t.insertAfter(this.$currentInput),this.$currentInput.detach(),t.focus(),t.val(this.$currentInput.val())),this.$currentInput=t,this.addListener(this.$currentInput,"keypress,keyup,change,blur","onInputChange")},updateToggleLabel:function(t){this.$showPasswordToggle.text(t)},initInputFocusEvents:function(t){this.addListener(t,"focus",(function(){this.$passwordWrapper.addClass("focus")})),this.addListener(t,"blur",(function(){this.$passwordWrapper.removeClass("focus")}))},showPassword:function(){this.showingPassword||(this.$textInput||(this.$textInput=this.$passwordInput.clone(!0),this.$textInput.attr({type:"text",autocapitalize:"off"}),this.initInputFocusEvents(this.$textInput)),this.setCurrentInput(this.$textInput),this.updateToggleLabel(Craft.t("app","Hide")),this.showingPassword=!0)},hidePassword:function(){!1!==this.showingPassword&&(this.setCurrentInput(this.$passwordInput),this.updateToggleLabel(Craft.t("app","Show")),this.showingPassword=!1)},togglePassword:function(){this.showingPassword?this.hidePassword():this.showPassword(),this.settings.onToggleInput(this.$currentInput)},onInputChange:function(){this.$currentInput.val()?this.$showPasswordToggle.removeClass("invisible"):this.$showPasswordToggle.addClass("invisible")},onClick:function(t){if(this.$currentInput[0].setSelectionRange){var e=this.$currentInput[0].selectionStart,i=this.$currentInput[0].selectionEnd;this.togglePassword(),this.$currentInput[0].setSelectionRange(e,i)}else this.togglePassword()},destroy:function(){this.$passwordInput.removeData("passwordInput"),this.base()}},{defaults:{onToggleInput:$.noop}})},5328:function(){function t(t,i){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,i){if(t){if("string"==typeof t)return e(t,i);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e(t,i):void 0}}(t))||i&&t&&"number"==typeof t.length){n&&(t=n);var s=0,a=function(){};return{s:a,n:function(){return s>=t.length?{done:!0}:{done:!1,value:t[s++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return o=t.done,t},e:function(t){l=!0,r=t},f:function(){try{o||null==n.return||n.return()}finally{if(l)throw r}}}}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function i(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function n(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?i(Object(n),!0).forEach((function(e){s(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function s(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}Craft.Preview=Garnish.Base.extend({elementEditor:null,formObserver:null,$shade:null,$editorContainer:null,$editor:null,$spinner:null,$statusIcon:null,$dragHandle:null,$previewWrapper:null,$previewContainer:null,$previewSkipLink:null,$bumperLink:null,$notifier:null,$iframeContainer:null,$previewHeader:null,$targetBtn:null,$targetMenu:null,$deviceTypeContainer:null,$orientationBtn:null,$refreshBtn:null,$deviceMask:null,$devicePreviewContainer:null,$iframe:null,iframeLoaded:!1,$tempInput:null,$fieldPlaceholder:null,isActive:!1,isVisible:!1,activeTarget:0,animationDuration:"slow",currentDeviceType:"desktop",deviceOrientation:null,deviceWidth:"",deviceHeight:"",deviceMaskDimensions:{phone:{width:375,height:753},tablet:{width:768,height:1110}},draftId:null,url:null,fields:null,iframeHeight:null,scrollTop:null,scrollLeft:null,dragger:null,dragStartEditorWidth:null,_updateIframeProxy:null,_editorWidth:null,_editorWidthInPx:null,init:function(t){this.elementEditor=t,this._updateIframeProxy=this.updateIframe.bind(this),this.$tempInput=$("<input/>",{type:"hidden",name:"__PREVIEW_FIELDS__",value:"1"}),this.$fieldPlaceholder=$("<div/>"),this.editorWidth=Craft.getLocalStorage("LivePreview.editorWidth",Craft.Preview.defaultEditorWidth),Craft.Preview.instances.push(this)},get editorWidth(){return this._editorWidth},get editorWidthInPx(){return this._editorWidthInPx},set editorWidth(t){var e;t>=1?(e=t,t/=Garnish.$win.width()):e=Math.round(t*Garnish.$win.width()),e<Craft.Preview.minEditorWidthInPx&&(t=(e=Craft.Preview.minEditorWidthInPx)/Garnish.$win.width()),this._editorWidth=t,this._editorWidthInPx=e},open:function(){var t=this;if(!this.isActive){if(this.isActive=!0,this.trigger("beforeOpen"),$(document.activeElement).trigger("blur"),!this.$editor){var e=Craft.t("app","Skip to {title}",{title:Craft.t("app","Top of preview")});this.$shade=$("<div/>",{class:"modal-shade dark"}).appendTo(Garnish.$bod),this.$previewWrapper=$("<div/>",{role:"dialog","aria-modal":"true","aria-labelledby":"lp-preview-heading"}).appendTo(Garnish.$bod),this.$modalLabel=$("<h2/>",{id:"lp-preview-heading",class:"visually-hidden",html:Craft.t("app","Preview")}).appendTo(this.$previewWrapper),this.$editorContainer=$("<div/>",{class:"lp-editor-container"}).appendTo(this.$previewWrapper),this.$previewContainer=$("<div/>",{class:"lp-preview-container",id:"lp-preview-container"}).appendTo(this.$previewWrapper),this.$notifier=$("<span/>",{class:"visually-hidden","aria-live":"assertive"}).appendTo(this.$previewContainer);var i=$("<header/>",{class:"flex"}).appendTo(this.$editorContainer);this.$editor=$("<form/>",{class:"lp-editor"}).appendTo(this.$editorContainer),this.$dragHandle=$("<div/>",{class:"lp-draghandle"}).appendTo(this.$editorContainer);var n=$("<button/>",{type:"button",class:"btn",text:Craft.t("app","Close Preview")}).appendTo(i);if($("<div/>",{class:"flex-grow"}).appendTo(i),this.$spinner=$("<div/>",{class:"spinner hidden",title:Craft.t("app","Saving")}).appendTo(i),this.$statusIcon=$("<div/>",{class:"invisible"}).appendTo(i),this.$statusMessage=$("<span/>",{class:"visually-hidden","aria-live":"polite"}).appendTo(i),this.$previewSkipLink=$("<a/>",{class:"skip-link btn",href:"#lp-preview-container",html:e}).appendTo(i),Craft.Pro){if(this.$previewHeader=$("<header/>",{class:"lp-preview-header"}).appendTo(this.$previewContainer),this.elementEditor.settings.previewTargets.length>1){this.$targetBtn=$("<button/>",{type:"button",class:"btn menubtn",text:this.elementEditor.settings.previewTargets[0].label}).appendTo(this.$previewHeader),this.$targetMenu=$("<div/>",{class:"menu lp-target-menu"}).insertAfter(this.$targetBtn);for(var s,a=$("<ul/>",{class:"padded"}).appendTo(this.$targetMenu),r=0;r<this.elementEditor.settings.previewTargets.length;r++)s=$("<li/>").appendTo(a),$("<a/>",{data:{target:r},text:this.elementEditor.settings.previewTargets[r].label,class:0===r?"sel":null}).appendTo(s);new Garnish.MenuBtn(this.$targetBtn,{onOptionSelect:function(e){t.switchTarget($(e).data("target"))}}),$('<div class="flex-grow"/>').appendTo(this.$previewHeader)}this._buildDeviceTypeFieldset(),$('<div class="flex-grow"/>').appendTo(this.$previewHeader);var o=$('<div class="buttons"/>').appendTo(this.$previewHeader);this.$orientationBtn=$("<button/>",{type:"button",class:"btn disabled","data-icon":"rotate","aria-disabled":"true",text:Craft.t("app","Rotate"),"aria-label":Craft.t("app","Rotate")}).appendTo(o),this.addListener(this.$orientationBtn,"click","switchOrientation"),this.$refreshBtn=$("<button/>",{type:"button",class:"btn",text:Craft.t("app","Refresh"),"data-icon":"refresh"}).appendTo(o),this.addListener(this.$refreshBtn,"click",(function(){t.updateIframe(!1,!0)})),this.deviceOrientation=Craft.getLocalStorage("LivePreview.orientation")}this.$iframeContainer=$("<div/>",{class:"lp-iframe-container"}).appendTo(this.$previewContainer),this.$devicePreviewContainer=$("<div/>",{class:"lp-device-preview-container"}).appendTo(this.$iframeContainer),this.$deviceMask=$("<div/>",{class:"lp-device-mask"}).appendTo(this.$iframeContainer),this.$bumperLink=$("<a/>",{class:"skip-link btn lp-preview-container__bumper-link",html:e,href:"#lp-preview-container"}),this.$bumperLink.appendTo(this.$previewContainer),this.dragger=new Garnish.BaseDrag(this.$dragHandle,{axis:Garnish.X_AXIS,onDragStart:this._onDragStart.bind(this),onDrag:this._onDrag.bind(this),onDragStop:this._onDragStop.bind(this)}),this.addListener(n,"click","close"),this.addListener(this.$statusIcon,"click",(function(){t.elementEditor.showStatusHud(t.$statusIcon)}))}this.handleWindowResize(),this.addListener(Garnish.$win,"resize","handleWindowResize"),this.$editorContainer.css(Craft.left,-this.editorWidthInPx+"px"),this.$previewContainer.css(Craft.right,-this.getIframeWidth()),this.fields=[];var l=$("#content .field").not($("#content .field .field"));if(l.length){this.$tempInput.insertBefore(l.get(0));for(var h=0;h<l.length;h++){var d=$(l[h]),c=this._getClone(d);this.$fieldPlaceholder.insertAfter(d),d.detach(),this.$fieldPlaceholder.replaceWith(c),d.appendTo(this.$editor),this.fields.push({$field:d,$clone:c})}}this.updateIframe(),this.formObserver=new Craft.FormObserver(this.$editor,(function(){t.elementEditor.checkForm()})),this.elementEditor.on("update",this._updateIframeProxy),Craft.ElementThumbLoader.retryAll(),this.trigger("open")}},_getDeviceTypeTranslation:function(t){var e;switch(t){case"phone":e=Craft.t("app","Mobile");break;case"tablet":e=Craft.t("app","Tablet");break;default:e=Craft.t("app","Desktop")}return e},_getDeviceOrientationTranslation:function(t){return"portrait"===t?Craft.t("app","Portrait"):Craft.t("app","Landscape")},_buildDeviceTypeFieldset:function(){var t=this;this.$deviceTypeContainer=$("<section/>",{class:"btngroup lp-device-type","aria-label":Craft.t("app","Device type")}).appendTo(this.$previewHeader),$("<button/>",{type:"button",class:"btn lp-device-type-btn--desktop active",title:Craft.t("app","Desktop"),"aria-label":Craft.t("app","Desktop"),"aria-pressed":"true",data:{width:"",height:"",deviceType:"desktop"}}).appendTo(this.$deviceTypeContainer),$("<button/>",{type:"button",class:"btn lp-device-type-btn--tablet",title:Craft.t("app","Tablet"),"aria-label":Craft.t("app","Tablet"),"aria-pressed":"false",data:{width:768,height:1024,deviceType:"tablet"}}).appendTo(this.$deviceTypeContainer),$("<button/>",{type:"button",class:"btn lp-device-type-btn--phone",title:Craft.t("app","Mobile"),"aria-label":Craft.t("app","Mobile"),"aria-pressed":"false",data:{width:375,height:667,deviceType:"phone"}}).appendTo(this.$deviceTypeContainer),this.deviceBtnGroup=new Craft.Listbox(this.$deviceTypeContainer,{onChange:function(e){t.switchDeviceType(e)}})},_activeTarget:function(){return this.elementEditor.settings.previewTargets[this.activeTarget]},_autoRefresh:function(){var t=this._activeTarget();return void 0===a(t.refresh)||!!t.refresh},switchTarget:function(t){this.activeTarget=t,this.$targetBtn.text(this.elementEditor.settings.previewTargets[t].label),this.$targetMenu.find("a.sel").removeClass("sel"),this.$targetMenu.find("a").eq(t).addClass("sel"),this.updateIframe(!0),this.trigger("switchTarget",{previewTarget:this.elementEditor.settings.previewTargets[t]})},handleWindowResize:function(){this.editorWidth=this.editorWidth,this.updateWidths()},slideIn:function(){var t=this;this.isActive&&!this.isVisible&&($("html").addClass("noscroll"),this.$shade.velocity("fadeIn"),this.$editorContainer.show().velocity("stop").animateLeft(0,Garnish.getUserPreferredAnimationDuration(this.animationDuration),(function(){t.trigger("slideIn"),Garnish.$win.trigger("resize")})),this.$previewContainer.show().velocity("stop").animateRight(0,Garnish.getUserPreferredAnimationDuration(this.animationDuration)),this.isVisible=!0,Garnish.uiLayerManager.addLayer(this.$previewWrapper),Garnish.hideModalBackgroundLayers(),Craft.setFocusWithin(this.$previewWrapper),Craft.trapFocusWithin(this.$previewWrapper),Garnish.uiLayerManager.registerShortcut(Garnish.ESC_KEY,(function(){t.close()})))},close:function(){var t=this;this.isActive&&this.isVisible&&(this.trigger("beforeClose"),$("html").removeClass("noscroll"),this.removeListener(Garnish.$win,"resize"),Garnish.uiLayerManager.removeLayer(),Garnish.resetModalBackgroundLayerVisibility(),this.$tempInput.detach(),this.moveFieldsBack(),Garnish.prefersReducedMotion()?this.$shade.velocity("fadeOut"):this.$shade.delay(200).velocity("fadeOut"),this.$editorContainer.velocity("stop").animateLeft(-this.editorWidthInPx,Garnish.getUserPreferredAnimationDuration(this.animationDuration),(function(){for(var e=0;e<t.fields.length;e++)t.fields[e].$newClone.remove();t.$editorContainer.hide(),t.trigger("slideOut")})),this.$previewContainer.velocity("stop").animateRight(-this.getIframeWidth(),Garnish.getUserPreferredAnimationDuration(this.animationDuration),(function(){t.$iframeContainer.removeClass("lp-iframe-container--rotating"),t.$previewContainer.hide()})),this.formObserver.destroy(),this.formObserver=null,this.elementEditor.off("update",this._updateIframeProxy),Craft.ElementThumbLoader.retryAll(),this.elementEditor.$previewBtn&&this.elementEditor.$previewBtn.focus(),this.isActive=!1,this.isVisible=!1,this.trigger("close"))},moveFieldsBack:function(){for(var t=0;t<this.fields.length;t++){var e=this.fields[t];e.$newClone=this._getClone(e.$field),this.$fieldPlaceholder.insertAfter(e.$field),e.$field.detach(),this.$fieldPlaceholder.replaceWith(e.$newClone),e.$clone.replaceWith(e.$field)}Garnish.$win.trigger("resize"),Garnish.$doc.trigger("scroll")},getIframeWidth:function(){return Garnish.$win.width()-this.editorWidthInPx},updateWidths:function(){this.$editorContainer.css("width",this.editorWidthInPx+"px"),this.$previewContainer.width(this.getIframeWidth()),this._devicePreviewIsActive()&&this.updateDevicePreview()},_useIframeResizer:function(){return!1!==Craft.previewIframeResizerOptions},updateIframe:function(t,e){var i=this;if(!this.isActive)return!1;t=!0===t,this.draftId===(this.draftId=this.elementEditor.settings.draftId)&&this.$iframe||(e=!0);var n=this._activeTarget();void 0===e&&(e=t||this._autoRefresh()),this.trigger("beforeUpdateIframe",{previewTarget:n,resetScroll:t,refresh:e}),e?this.elementEditor.getTokenizedPreviewUrl(n.url,"x-craft-live-preview").then((function(e){var n;t?(i.scrollTop=null,i.scrollLeft=null):i.iframeLoaded&&i.$iframe&&(i._useIframeResizer()?(i.iframeHeight=i.$iframe.height(),i.scrollTop=i.$iframeContainer.scrollTop(),i.scrollLeft=i.$iframeContainer.scrollLeft()):(n=Craft.isSameHost(e))&&i.$iframe[0].contentWindow&&(i.scrollTop=$(i.$iframe[0].contentWindow.document).scrollTop(),i.scrollLeft=$(i.$iframe[0].contentWindow.document).scrollLeft())),i.iframeLoaded=!1;var s=$("<iframe/>",{class:"lp-preview",frameborder:0,src:e,title:Craft.t("app","Preview")});i.$iframe?i.$iframe.replaceWith(s):s.appendTo(i.$devicePreviewContainer),i._useIframeResizer()?(t||null===i.iframeHeight||(s.height(i.iframeHeight),i.$iframeContainer.scrollTop(i.scrollTop),i.$iframeContainer.scrollLeft(i.scrollLeft)),iFrameResize($.extend({checkOrigin:!1,scrolling:!0,onInit:function(t){i.iframeLoaded=!0,i.iframeHeight=null,i.scrollTop=null,i.scrollLeft=null,t.scrolling="no"}},Craft.previewIframeResizerOptions||{}),s[0])):s.on("load",(function(){i.iframeLoaded=!0,!t&&n&&s[0].contentWindow.scrollTo(i.scrollLeft||0,i.scrollTop||0)})),i.url=e,i.$iframe=s,i._devicePreviewIsActive()&&i.updateDevicePreview(),i.trigger("afterUpdateIframe",{previewTarget:i.elementEditor.settings.previewTargets[i.activeTarget],$iframe:i.$iframe}),i.slideIn()})):this.slideIn()},_devicePreviewIsActive:function(){return"desktop"!==this.currentDeviceType},_updateNotifier:function(){var t=this;this.$notifier.html="";var e="desktop"===this.currentDeviceType?"Previewing {type} device":"Previewing {type} device in {orientation}",i={type:this._getDeviceTypeTranslation(this.currentDeviceType)};"desktop"!==this.currentDeviceType&&(i=n(n({},i),{orientation:this._getDeviceOrientationTranslation(this.deviceOrientation)}));var s=Craft.t("app",e,i);setTimeout((function(){t.$notifier.text(s)}),200)},switchDeviceType:function(t){this.$iframeContainer.removeClass("lp-iframe-container--rotating");var e=t.data("deviceType");if(e===this.currentDeviceType)return!1;this.currentDeviceType=e,this.deviceWidth=t.data("width"),this.deviceHeight=t.data("height"),"desktop"===this.currentDeviceType?(this.$orientationBtn.addClass("disabled").attr("aria-disabled","true"),this.$iframeContainer.removeClass("lp-iframe-container--has-device-preview")):(this.$orientationBtn.removeClass("disabled").removeAttr("aria-disabled"),this.$iframeContainer.addClass("lp-iframe-container--has-device-preview")),"tablet"===this.currentDeviceType?this.$iframeContainer.addClass("lp-iframe-container--tablet"):this.$iframeContainer.removeClass("lp-iframe-container--tablet"),this._updateNotifier(),"desktop"!==this.currentDeviceType&&this.updateDevicePreview()},switchOrientation:function(){var t=this;if(!this._devicePreviewIsActive())return!1;this.deviceOrientation&&"portrait"!==this.deviceOrientation?this.deviceOrientation="portrait":this.deviceOrientation="landscape",Craft.setLocalStorage("LivePreview.orientation",this.deviceOrientation),this.$iframeContainer.addClass("lp-iframe-container--rotating"),this.updateDevicePreview(),this._updateNotifier(),setTimeout((function(){t.$iframeContainer.removeClass("lp-iframe-container--rotating")}),300)},updateDevicePreview:function(){var t=1,e=1,i=1,n=this.$previewContainer.height()-50-48,s=this.$previewContainer.width()-48,a=this.deviceMaskDimensions[this.currentDeviceType].height,r=this.deviceMaskDimensions[this.currentDeviceType].width;"landscape"===this.deviceOrientation?(s<a&&(t=s/a),n<r&&(e=n/r)):(n<a&&(t=n/a),s<r&&(e=s/r)),i=t,e<t&&(i=e);var o=-100/i/2,l="landscape"===this.deviceOrientation?"-90deg":"0deg";this.$deviceMask.css({width:this.deviceMaskDimensions[this.currentDeviceType].width+"px",height:this.deviceMaskDimensions[this.currentDeviceType].height+"px",transform:"scale("+i+") translate("+o+"%, "+o+"%) rotate("+l+")"}),"landscape"===this.deviceOrientation?this.$devicePreviewContainer.css({width:this.deviceHeight+"px",height:this.deviceWidth+"px",transform:"scale("+i+") translate("+o+"%, "+o+"%)",marginTop:0,marginLeft:"-"+12*i+"px"}):this.$devicePreviewContainer.css({width:this.deviceWidth+"px",height:this.deviceHeight+"px",transform:"scale("+i+") translate("+o+"%, "+o+"%)",marginTop:"-"+12*i+"px",marginLeft:0})},_getClone:function(t){var e=t.clone();return Garnish.copyInputValues(t,e),e.attr("id",""),e.find("[id]").attr("id",""),e.find("[name]").prop("disabled",!0),e},_onDragStart:function(){this.dragStartEditorWidth=this.editorWidthInPx,this.$previewContainer.addClass("dragging")},_onDrag:function(){"ltr"===Craft.orientation?this.editorWidth=this.dragStartEditorWidth+this.dragger.mouseDistX:this.editorWidth=this.dragStartEditorWidth-this.dragger.mouseDistX,this.updateWidths(),this.trigger("drag")},_onDragStop:function(){this.$previewContainer.removeClass("dragging"),Craft.setLocalStorage("LivePreview.editorWidth",this.editorWidth)},destroy:function(){var t=this;Craft.Preview.instances=Craft.Preview.instances.filter((function(e){return e!==t})),this.base()}},{defaultEditorWidth:.33,minEditorWidthInPx:320,instances:[],refresh:function(){var e,i=t(Craft.Preview.instances);try{for(i.s();!(e=i.n()).done;)e.value.updateIframe()}catch(t){i.e(t)}finally{i.f()}var n,s=t(Craft.LivePreview.instances);try{for(s.s();!(n=s.n()).done;)n.value.forceUpdateIframe()}catch(t){s.e(t)}finally{s.f()}},getActive:function(){var e,i=t(Craft.Preview.instances);try{for(i.s();!(e=i.n()).done;){var n=e.value;if(n.isActive)return n}}catch(t){i.e(t)}finally{i.f()}}})},6419:function(){Craft.PreviewFileModal=Garnish.Modal.extend({assetId:null,$spinner:null,$triggerElement:null,$bumperButtonStart:null,$bumperButtonEnd:null,elementSelect:null,type:null,loaded:null,requestId:0,init:function(t,e,i){var n=this;i=$.extend(this.defaultSettings,i),this.$triggerElement=Garnish.getFocusedElement(),Craft.PreviewFileModal.openInstance&&Craft.PreviewFileModal.openInstance.quickHide(),Craft.PreviewFileModal.openInstance=this,this.elementSelect=e,this.$container=$('<div class="modal previewmodal loading"/>').appendTo(Garnish.$bod),this.base(this.$container,$.extend({resizable:!0},i)),this.$container.velocity("stop"),this.$container.show().css("opacity",1),this.$shade.velocity("stop"),this.$shade.show().css("opacity",1),Garnish.setFocusWithin(this.$container),this.$bumperButtonStart=Craft.ui.createButton({html:Craft.t("app","Close Preview"),class:"skip-link"}),this.addListener(this.$bumperButtonStart,"click",(function(){n.hide()})),this.$bumperButtonEnd=this.$bumperButtonStart.clone(!0),this.loadAsset(t,i.startingWidth,i.startingHeight),this.addListener(this.$container,"keydown",(function(t){switch(t.keyCode){case Garnish.LEFT_KEY:case Garnish.UP_KEY:t.preventDefault(),n.previewPreviousAsset();break;case Garnish.RIGHT_KEY:case Garnish.DOWN_KEY:t.preventDefault(),n.previewNextAsset();break;case Garnish.SPACE_KEY:t.preventDefault(),t.shiftKey&&n.hide()}}))},getSelectItem:function(){var t,e=null===(t=this.elementSelect)||void 0===t?void 0:t.$items.filter("[data-id=".concat(this.assetId,"]"));return null!=e&&e.length?e:null},previewPreviousAsset:function(){var t=this.getSelectItem();if(t){var e=this.elementSelect.getItemIndex(t),i=this.elementSelect.getPreviousItem(e);null!=i&&i.length&&Craft.PreviewFileModal.showForAsset(i,this.elementSelect)&&(this.elementSelect.deselectAll(),this.elementSelect.selectItem(i,!1,!1))}},previewNextAsset:function(){var t=this.getSelectItem();if(t){var e=this.elementSelect.getItemIndex(t),i=this.elementSelect.getNextItem(e);null!=i&&i.length&&Craft.PreviewFileModal.showForAsset(i,this.elementSelect)&&(this.elementSelect.deselectAll(),this.elementSelect.selectItem(i,!1,!1))}},onFadeOut:function(){this.base();var t=this.getSelectItem();t?this.elementSelect.focusItem(t):this.$triggerElement&&this.$triggerElement.length&&this.$triggerElement.focus(),this.destroy()},_addBumperButtons:function(){this.$container.prepend(this.$bumperButtonStart).append(this.$bumperButtonEnd)},_addModalName:function(){var t="preview-heading";$("<h1/>",{class:"visually-hidden",id:t,text:Craft.t("app","Preview file")}).prependTo(this.$container),this.$container.attr("aria-labelledby",t)},selfDestruct:function(){return this.quickHide(),!0},destroy:function(){var t;this.base(),Craft.PreviewFileModal.openInstance===this&&(Craft.PreviewFileModal.openInstance=null,null===(t=Craft.focalPoint)||void 0===t||t.destruct(),Craft.focalPoint=null)},loadAsset:function(t,e,i){var n=this;this.assetId=t,this.$container.empty(),this.loaded=!1,this.desiredHeight=null,this.desiredWidth=null;var s=.66*Garnish.$win.height(),a=Math.min(s/3*4,Garnish.$win.width()-2*this.settings.minGutter);if(s=a/4*3,e&&i){var r=e/i;a=Math.min(e,Garnish.$win.width()-2*this.settings.minGutter),(a=(s=Math.min(a/r,Garnish.$win.height()-2*this.settings.minGutter))*r)>Math.min(e,Garnish.$win.width()-2*this.settings.minGutter)&&(s=(a=Math.min(e,Garnish.$win.width()-2*this.settings.minGutter))/r)}this._resizeContainer(a,s),this.$spinner=$('<div class="spinner centeralign"></div>').appendTo(this.$container);var o=this.$container.height()/2-this.$spinner.height()/2+"px",l=this.$container.width()/2-this.$spinner.width()/2+"px";this.$spinner.css({left:l,top:o,position:"absolute"}),this.requestId++;var h={assetId:t,requestId:this.requestId},d=function(){n.$container.removeClass("loading"),n.$spinner.remove(),n.loaded=!0};Craft.sendActionRequest("POST","assets/preview-file",{data:h}).then((function(t){if(d(),t.data.requestId==n.requestId){if(!t.data.previewHtml)return n.$container.addClass("zilch"),n.$container.append($("<p/>",{text:Craft.t("app","No preview available.")})),void n._addBumperButtons();n.$container.removeClass("zilch"),n.$container.attr("data-asset-id",n.assetId),n.$container.append(t.data.previewHtml),n._addBumperButtons(),n._addModalName(),Craft.appendHeadHtml(t.data.headHtml),Craft.appendBodyHtml(t.data.bodyHtml)}})).catch((function(t){var e=t.response;d(),Craft.cp.displayError(e.data.message),n.hide()}))},_resizeContainer:function(t,e){this.$container.css({width:t,"min-width":t,"max-width":t,height:e,"min-height":e,"max-height":e,top:(Garnish.$win.height()-e)/2,left:(Garnish.$win.width()-t)/2})}},{openInstance:null,defaultSettings:{startingWidth:null,startingHeight:null},resizePreviewImage:function(){var t=Craft.PreviewFileModal.openInstance;if(t){var e=.66*Garnish.$win.height(),i=Math.min(e/3*4,Garnish.$win.width()-2*t.settings.minGutter);e=i/4*3;var n,s=t.$container.find("img");if(s.css({width:i,height:e}),t.loaded&&s.length){var a=s.data("maxwidth"),r=s.data("maxheight");n=a/r;var o=t.desiredWidth?t.desiredWidth:t.getWidth(),l=t.desiredHeight?t.desiredHeight:t.getHeight(),h=Math.min(o,a),d=Math.round(Math.min(r,h/n));d>l&&(d=l),h=Math.round(d*n),s.css({width:h,height:d}),t._resizeContainer(h,d),t.desiredWidth=h,t.desiredHeight=d}t.base(),t.loaded&&s.length&&(i=Math.round(Math.min(Math.max(s.height()*n),Garnish.$win.width()-2*t.settings.minGutter)),e=Math.round(Math.min(Math.max(i/n),Garnish.$win.height()-2*t.settings.minGutter)),(i=Math.round(e*n))>Math.min(i,Garnish.$win.width()-2*t.settings.minGutter)&&(e=(i=Math.min(i,Garnish.$win.width()-2*t.settings.minGutter))/n),t._resizeContainer(i,e),s.css({width:i,height:e}),window.imageFocalPoint&&window.imageFocalPoint.renderFocal())}},showForAsset:function(t,e){if(t.hasClass("element")||(t=t.find(".element:first")),!t.hasClass("element")||Garnish.hasAttr(t,"data-folder-id"))return!1;var i={};return t.data("image-width")&&(i.startingWidth=t.data("image-width"),i.startingHeight=t.data("image-height")),new Craft.PreviewFileModal(t.data("id"),e,i),!0}})},872:function(){Craft.ProgressBar=Garnish.Base.extend({$progressBar:null,$innerProgressBar:null,$progressBarStatus:null,_itemCount:0,_processedItemCount:0,_displaySteps:!1,init:function(t,e){e&&(this._displaySteps=!0),this.$progressBar=$('<div class="progressbar pending hidden"/>').appendTo(t),this.$innerProgressBar=$('<div class="progressbar-inner"/>').appendTo(this.$progressBar),this.$progressBarStatus=$('<div class="progressbar-status hidden" />').insertAfter(this.$progressBar),this.resetProgressBar()},resetProgressBar:function(){this.setProgressPercentage(100),this.$progressBar.addClass("pending"),this.setItemCount(1),this.setProcessedItemCount(0),this.$progressBarStatus.html(""),this._displaySteps&&this.$progressBar.addClass("has-status")},hideProgressBar:function(){this.$progressBar.addClass("hidden"),this.$progressBarStatus.addClass("hidden")},showProgressBar:function(){this.$progressBar.removeClass("hidden"),this.$progressBarStatus.removeClass("hidden")},setItemCount:function(t){this._itemCount=t},incrementItemCount:function(t){this._itemCount+=t},setProcessedItemCount:function(t){this._processedItemCount=t},incrementProcessedItemCount:function(t){this._processedItemCount+=t},updateProgressBar:function(){this._itemCount=Math.max(this._itemCount,1);var t=Math.min(100,Math.round(100*this._processedItemCount/this._itemCount));this.setProgressPercentage(t),this._displaySteps&&this.$progressBarStatus.html(this._processedItemCount+" / "+this._itemCount)},setProgressPercentage:function(t,e){0===t?this.$progressBar.addClass("pending"):(this.$progressBar.removeClass("pending"),e?this.$innerProgressBar.velocity("stop").velocity({width:t+"%"},"fast"):this.$innerProgressBar.velocity("stop").width(t+"%"))}})},1396:function(){Craft.PromptHandler=Garnish.Base.extend({modal:null,$modalContainerDiv:null,$prompt:null,$promptApplyToRemainingContainer:null,$promptApplyToRemainingCheckbox:null,$promptApplyToRemainingLabel:null,$pomptChoices:null,_prompts:[],_promptBatchCallback:$.noop,_promptBatchReturnData:[],_promptBatchNum:0,resetPrompts:function(){this._prompts=[],this._promptBatchCallback=$.noop,this._promptBatchReturnData=[],this._promptBatchNum=0},addPrompt:function(t){this._prompts.push(t)},getPromptCount:function(){return this._prompts.length},showBatchPrompts:function(t){this._promptBatchCallback=t,this._promptBatchReturnData=[],this._promptBatchNum=0,this._showNextPromptInBatch()},_showNextPromptInBatch:function(){var t=this._prompts[this._promptBatchNum].prompt,e=this._prompts.length-(this._promptBatchNum+1);this._showPrompt(t.message,t.choices,this._handleBatchPromptSelection.bind(this),e,t.modalSettings)},_handleBatchPromptSelection:function(t,e){var i=this._prompts[this._promptBatchNum],n=this._prompts.length-(this._promptBatchNum+1),s=$.extend(i,{choice:t});this._promptBatchReturnData.push(s),n?(this._promptBatchNum++,e?this._handleBatchPromptSelection(t,!0):this._showNextPromptInBatch()):"function"==typeof this._promptBatchCallback&&this._promptBatchCallback(this._promptBatchReturnData)},_showPrompt:function(t,e,i,n,s){this._promptCallback=i,null===this.modal&&(this.modal=new Garnish.Modal(Object.assign({closeOtherModals:!1},s))),null===this.$modalContainerDiv&&(this.$modalContainerDiv=$('<div class="modal fitted prompt-modal"></div>').addClass().appendTo(Garnish.$bod)),this.$prompt=$('<div class="body"></div>').appendTo(this.$modalContainerDiv.empty()),this.$promptMessage=$('<p class="prompt-msg"/>').appendTo(this.$prompt),this.$promptChoices=$('<div class="options"></div>').appendTo(this.$prompt),this.$promptApplyToRemainingContainer=$('<label class="assets-applytoremaining"/>').appendTo(this.$prompt).hide(),this.$promptApplyToRemainingCheckbox=$('<input type="checkbox"/>').appendTo(this.$promptApplyToRemainingContainer),this.$promptApplyToRemainingLabel=$("<span/>").appendTo(this.$promptApplyToRemainingContainer),this.$promptButtons=$('<div class="buttons right"/>').appendTo(this.$prompt),this.modal.setContainer(this.$modalContainerDiv),this.$promptMessage.html(t);for(var a=$("<button/>",{type:"button",class:"btn",text:Craft.t("app","Cancel")}).appendTo(this.$promptButtons),r=$("<button/>",{type:"submit",class:"btn submit disabled",text:Craft.t("app","OK")}).appendTo(this.$promptButtons),o=0;o<e.length;o++){var l=$('<div><label><input type="radio" name="promptAction" value="'+e[o].value+'"/> '+e[o].title+"</label></div>").appendTo(this.$promptChoices).find("input");this.addListener(l,"click",(function(){r.removeClass("disabled")}))}this.addListener(r,"activate",(function(t){var e=$(t.currentTarget).parents(".modal").find("input[name=promptAction]:checked").val(),i=this.$promptApplyToRemainingCheckbox.prop("checked");this._selectPromptChoice(e,i)})),this.addListener(a,"activate",(function(){var t=this.$promptApplyToRemainingCheckbox.prop("checked");this._selectPromptChoice("cancel",t)})),n&&(this.$promptApplyToRemainingContainer.show(),this.$promptApplyToRemainingLabel.html(" "+Craft.t("app","Apply this to the {number} remaining conflicts?",{number:n}))),this.modal.show(),this.modal.removeListener(Garnish.Modal.$shade,"click"),this.addListener(Garnish.Modal.$shade,"click","_cancelPrompt")},_selectPromptChoice:function(t,e){var i=this;this.$prompt.fadeOut("fast",(function(){i.modal.hide(),i._promptCallback(t,e)}))},_cancelPrompt:function(){this._selectPromptChoice("cancel",!0)}})},8960:function(){Craft.Queue=Garnish.Base.extend({running:!1,paused:!1,pausedForVisibility:!1,jobs:null,get length(){return this.jobs.length},get isPaused(){return this.paused||this.pausedForVisibility},init:function(){var t=this;this.jobs=[],Garnish.$doc.on("visibilitychange",(function(){t.pausedForVisibility&&Craft.isVisible()&&(t.pausedForVisibility=!1,t._resume())}))},push:function(t){return this._add(t,"push")},unshift:function(t){return this._add(t,"unshift")},pause:function(){this.paused||(this.paused=!0,this.pausedForVisibility||this.trigger("pause"))},resume:function(){this.paused&&(this.paused=!1,this._resume())},_add:function(t,e){var i=this;return new Promise((function(n,s){i.jobs[e]((function(){return new Promise((function(e,i){t().then((function(t){n(t),e()})).catch((function(t){s(t),i()}))}))})),i.running||(i.trigger("beforeRun"),i.running=!0,i._exec())}))},clear:function(){this.jobs.length=0},_exec:function(){var t=this;if(!this.jobs.length)return this.running=!1,void this.trigger("afterRun");this.pausedForVisibility||Craft.isVisible()||(this.pausedForVisibility=!0,this.paused||this.trigger("pause")),this.paused||this.pausedForVisibility||(this.trigger("beforeExec"),this.jobs.shift()().finally((function(){t.trigger("afterExec"),t._exec()})))},_resume:function(){this.isPaused||(this.trigger("resume"),this._exec())}}),Craft.queue=new Craft.Queue},4070:function(){!function(t){Craft.SlidePicker=Garnish.Base.extend({min:null,max:null,totalSteps:null,value:null,label:null,describedBy:null,$container:null,$buttons:null,init:function(e,i){var n=this;this.setSettings(i,Craft.SlidePicker.defaults),this.$container=t("<div/>",{class:"slide-picker",role:"slider",tabindex:0}),this.refresh(),this.setValue(e,!1),this.addListener(this.$container,"keydown",(function(t){switch(t.keyCode){case Garnish.UP_KEY:n.setValue(n.value+n.settings.step),t.preventDefault();break;case Garnish.DOWN_KEY:n.setValue(n.value-n.settings.step),t.preventDefault();break;case Garnish.RIGHT_KEY:"ltr"===Craft.orientation?n.setValue(n.value+n.settings.step):n.setValue(n.value-n.settings.step),t.preventDefault();break;case Garnish.LEFT_KEY:"ltr"===Craft.orientation?n.setValue(n.value-n.settings.step):n.setValue(n.value+n.settings.step),t.preventDefault();break;case Garnish.HOME_KEY:n.setValue(n.min),t.preventDefault();break;case Garnish.END_KEY:n.setValue(n.max),t.preventDefault()}}))},refresh:function(){var e=this;if(this.min=this._min(),this.max=this._max(),this.totalSteps=(this.max-this.min)/this.settings.step,this.label=this.settings.label,this.describedBy=this.settings.describedBy,!Number.isInteger(this.totalSteps))throw"Invalid SlidePicker config";this.$buttons&&this.$buttons.remove(),this.$container.attr("aria-valuemin",this.min),this.$container.attr("aria-valuemax",this.max),this.label&&this.$container.attr("aria-label",this.label),this.describedBy&&this.$container.attr("aria-describedby",this.describedBy),this.$buttons=t();for(var i=this.min;i<=this.max;i+=this.settings.step)this.$buttons=this.$buttons.add(t("<a/>",{title:this.settings.valueLabel(i),data:{value:i}}));if(this.$buttons.appendTo(this.$container),null!==this.value){var n=this.value;this.value=null,this.setValue(n,!1)}this.addListener(this.$buttons,"mouseover",(function(i){e.$buttons.removeClass("active-hover last-active-hover"),t(i.currentTarget).addClass("active-hover last-active-hover").prevAll().addClass("active-hover")})),this.addListener(this.$buttons,"mouseout",(function(){e.$buttons.removeClass("active-hover")})),this.addListener(this.$buttons,"click",(function(i){e.setValue(t.data(i.currentTarget,"value")),i.stopPropagation(),e.$container.focus()}))},setValue:function(t,e){if(t=Math.max(Math.min(t,this.max),this.min),this.value!==(this.value=t)){this.$container.attr({"aria-valuenow":this.value,"aria-valuetext":this.settings.valueLabel(this.value)}),this.$buttons.removeClass("last-active active");var i=this.$buttons.eq((this.value-this.min)/this.settings.step);i.add(i.prevAll()).addClass("active"),i.addClass("last-active"),!1!==e&&this.settings.onChange(t)}},_min:function(){return"function"==typeof this.settings.min?this.settings.min():this.settings.min},_max:function(){return"function"==typeof this.settings.max?this.settings.max():this.settings.max}},{defaults:{min:0,max:100,step:10,valueLabel:null,onChange:t.noop}})}(jQuery)},5763:function(){Craft.SlideRuleInput=Garnish.Base.extend({$container:null,$options:null,$selectedOption:null,$input:null,value:null,startPositionX:null,init:function(t,e){var i=this;this.setSettings(e,Craft.SlideRuleInput.defaultSettings),this.value=0,this.graduationsMin=-70,this.graduationsMax=70,this.slideMin=-45,this.slideMax=45,this.$container=$("#"+t),this.$overlay=$('<div class="overlay"></div>').appendTo(this.$container),this.$cursor=$('<div class="cursor"></div>').appendTo(this.$container),this.$graduations=$('<div class="graduations"></div>').appendTo(this.$container),this.$graduationsUl=$("<ul></ul>").appendTo(this.$graduations),this.$container.attr({role:"slider",tabindex:"0","aria-valuemin":this.slideMin,"aria-valuemax":this.slideMax,"aria-valuenow":"0","aria-valuetext":Craft.t("app","{num, number} {num, plural, =1{degree} other{degrees}}",{num:0})});for(var n=this.graduationsMin;n<=this.graduationsMax;n++){var s=$('<li class="graduation" data-graduation="'+n+'"><div class="label">'+n+"</div></li>").appendTo(this.$graduationsUl);n%5==0&&s.addClass("main-graduation"),0===n&&s.addClass("selected")}this.$options=this.$container.find(".graduation"),this.addListener(this.$container,"resize",this._handleResize.bind(this)),this.addListener(this.$container,"tapstart",this._handleTapStart.bind(this)),this.addListener(Garnish.$bod,"tapmove",this._handleTapMove.bind(this)),this.addListener(Garnish.$bod,"tapend",this._handleTapEnd.bind(this)),this.addListener(this.$container,"keydown",this._handleKeypress.bind(this)),setTimeout((function(){i.graduationsCalculatedWidth=10*(i.$options.length-1),i.$graduationsUl.css("left",-i.graduationsCalculatedWidth/2+i.$container.width()/2)}),50)},_handleResize:function(){var t=this.valueToPosition(this.value);this.$graduationsUl.css("left",t)},_handleKeypress:function(t){var e=parseInt(this.$container.attr("aria-valuenow"),10);switch(t.keyCode){case Garnish.UP_KEY:case Garnish.RIGHT_KEY:this.setValue(e+1);break;case Garnish.DOWN_KEY:case Garnish.LEFT_KEY:this.setValue(e-1);break;case Garnish.PAGE_UP_KEY:this.setValue(e+10);break;case Garnish.PAGE_DOWN_KEY:this.setValue(e-10);break;case Garnish.HOME_KEY:this.setValue(this.slideMin);break;case Garnish.END_KEY:this.setValue(this.slideMax)}this.onChange()},_handleTapStart:function(t,e){t.preventDefault(),this.startPositionX=e.position.x,this.startLeft=this.$graduationsUl.position().left,this.dragging=!0,this.onStart()},_handleTapMove:function(t,e){if(this.dragging){t.preventDefault();var i=this.startPositionX-e.position.x,n=this.startLeft-i,s=this.positionToValue(n);this.setValue(s),this.onChange()}},setValue:function(t){var e=this.valueToPosition(t);t<this.slideMin?(t=this.slideMin,e=this.valueToPosition(t)):t>this.slideMax&&(t=this.slideMax,e=this.valueToPosition(t)),this.$graduationsUl.css("left",e),t>=this.slideMin&&t<=this.slideMax&&(this.$options.removeClass("selected"),$.each(this.$options,(function(e,i){$(i).data("graduation")>0&&$(i).data("graduation")<=t&&$(i).addClass("selected"),$(i).data("graduation")<0&&$(i).data("graduation")>=t&&$(i).addClass("selected"),0==$(i).data("graduation")&&$(i).addClass("selected")}))),this.$container.attr({"aria-valuenow":t,"aria-valuetext":Craft.t("app","{num, number} {num, plural, =1{degree} other{degrees}}",{num:parseInt(t,10)})}),this.value=t},_handleTapEnd:function(t){this.dragging&&(t.preventDefault(),this.dragging=!1,this.onEnd())},positionToValue:function(t){var e=-1*this.graduationsMin,i=-1*(this.graduationsMin-this.graduationsMax);return(this.$graduations.width()/2+-1*t)/this.graduationsCalculatedWidth*i-e},valueToPosition:function(t){var e=-1*this.graduationsMin,i=-1*(this.graduationsMin-this.graduationsMax);return-((t+e)*this.graduationsCalculatedWidth/i-this.$graduations.width()/2)},onStart:function(){"function"==typeof this.settings.onChange&&this.settings.onStart(this)},onChange:function(){"function"==typeof this.settings.onChange&&this.settings.onChange(this)},onEnd:function(){"function"==typeof this.settings.onChange&&this.settings.onEnd(this)},defaultSettings:{onStart:$.noop,onChange:$.noop,onEnd:$.noop}})},5759:function(){!function(t){Craft.Slideout=Garnish.Base.extend({$outerContainer:null,$container:null,$shade:null,isOpen:!1,useMobileStyles:null,init:function(e,i){this.setSettings(i,Craft.Slideout.defaults),this.$outerContainer=t("<div/>",{class:"slideout-container hidden"}),this.$container=t("<".concat(this.settings.containerElement,"/>"),this.settings.containerAttributes).attr("data-slideout","").addClass("slideout").append(e).data("slideout",this).appendTo(this.$outerContainer),Garnish.addModalAttributes(this.$outerContainer),Craft.trapFocusWithin(this.$container),this.settings.autoOpen&&this.open()},open:function(){var e=this;if(!this.isOpen){this.setTriggerElement(document.activeElement),this._cancelTransitionListeners();var i=Craft.Preview.getActive()||Craft.LivePreview.getActive();if(this.useMobileStyles=i||Craft.useMobileStyles(),this.$outerContainer.removeClass("so-mobile so-lp"),this.$container.removeClass("so-mobile so-lp"),i?(this.$outerContainer.addClass("so-lp"),this.$container.addClass("so-lp")):this.useMobileStyles&&this.$container.addClass("so-mobile"),i||!this.useMobileStyles?(this.$shade||(this.$shade=t('<div class="slideout-shade"/>'),this.settings.closeOnShadeClick&&this.addListener(this.$shade,"click",(function(t){t.stopPropagation(),e.close()}))),this.$shade.appendTo(Garnish.$bod).show()):this.$shade&&(this.$shade.remove(),delete this.$shade),this.$outerContainer.appendTo(Garnish.$bod).removeClass("hidden"),i){this.updateWidthsForPreviewPane(i);var n=function(){e.isOpen&&e.updateWidthsForPreviewPane(i)};i.on("drag",n),i.on("beforeClose",(function(){i.off("drag",n)}))}this.useMobileStyles?this.$container.css("top","100vh").css(Garnish.ltr?"left":"right",""):this.$container.css("top","").css(Garnish.ltr?"left":"right","100vw"),this.$container.one("transitionend.slideout",(function(){Craft.setFocusWithin(e.$container)})),this.$shade&&(this.$shade[0].offsetWidth,this.$shade.addClass("so-visible")),this.$container[0].offsetWidth,Craft.Slideout.addPanel(this),this.enable(),Garnish.uiLayerManager.addLayer(this.$outerContainer),Garnish.hideModalBackgroundLayers(),this.settings.closeOnEsc&&Garnish.uiLayerManager.registerShortcut(Garnish.ESC_KEY,(function(){e.close()})),this.isOpen=!0,this.trigger("open")}},updateWidthsForPreviewPane:function(t){var e=t.$editorContainer.width()-1;this.$shade&&this.$shade.width(e),this.$outerContainer.css("width","calc(".concat(e,"px - var(--m) * 2)"))},setTriggerElement:function(t){this.settings.triggerElement=t},close:function(){var t=this;this.isOpen&&(this.trigger("beforeClose"),this.disable(),this.isOpen=!1,this._cancelTransitionListeners(),this.$shade&&this.$shade.removeClass("so-visible").one("transitionend.slideout",(function(){t.$shade.hide()})),Craft.Slideout.removePanel(this),Garnish.uiLayerManager.removeLayer(),Garnish.resetModalBackgroundLayerVisibility(),this.$container.one("transitionend.slideout",(function(){t.$outerContainer.addClass("hidden"),t.trigger("close")})),this.settings.triggerElement&&this.settings.triggerElement.focus())},_cancelTransitionListeners:function(){this.$shade&&this.$shade.off("transitionend.slideout"),this.$container.off("transitionend.slideout")},destroy:function(){this.$shade&&(this.$shade.remove(),this.$shade=null),this.$outerContainer.remove(),this.$outerContainer=null,this.$container=null,this.base()}},{defaults:{containerElement:"div",containerAttributes:{},autoOpen:!0,closeOnEsc:!0,closeOnShadeClick:!0,triggerElement:null},openPanels:[],addPanel:function(t){Craft.Slideout.openPanels.unshift(t),t.useMobileStyles?t.$container.css("top",0):Craft.Slideout.updateStyles()},removePanel:function(t){Craft.Slideout.openPanels=Craft.Slideout.openPanels.filter((function(e){return e!==t})),t.useMobileStyles?t.$container.css("top","100vh"):(t.$container.css(Garnish.ltr?"left":"right","100vw"),Craft.Slideout.updateStyles())},updateStyles:function(){var t=Craft.Slideout.openPanels.length;Craft.Slideout.openPanels.forEach((function(e,i){e.$container.css(Garnish.ltr?"left":"right","".concat((t-i)/t*50,"vw"))})),0!==t?Garnish.$bod.addClass("no-scroll"):Garnish.$bod.removeClass("no-scroll")}})}(jQuery)},5185:function(){Craft.SlugGenerator=Craft.BaseInputGenerator.extend({generateTargetValue:function(t){t=(t=t.replace(/<(.*?)>/g,"")).replace(/['"‘’“”\[\]\(\)\{\}:]/g,""),Craft.limitAutoSlugsToAscii&&(t=Craft.asciiString(t,this.settings.charMap)),Craft.allowUppercaseInSlug||(t=t.toLowerCase());var e=Craft.filterArray(XRegExp.matchChain(t,[XRegExp("[\\p{L}\\p{N}\\p{M}]+")]));return e.length?e.join(Craft.slugWordSeparator):""}})},8030:function(){Craft.Structure=Garnish.Base.extend({id:null,$container:null,state:null,structureDrag:null,init:function(t,e,i){this.id=t,this.$container=$(e),this.setSettings(i,Craft.Structure.defaults),this.$container.data("structure")&&(console.warn("Double-instantiating a structure on an element"),this.$container.data("structure").destroy()),this.$container.data("structure",this),this.state={},this.settings.storageKey&&$.extend(this.state,Craft.getLocalStorage(this.settings.storageKey,{})),void 0===this.state.collapsedElementIds&&(this.state.collapsedElementIds=[]);for(var n=this.$container.find("ul").prev(".row"),s=0;s<n.length;s++){var a=$(n[s]),r=a.parent(),o=$('<div class="toggle" title="'+Craft.t("app","Show/hide children")+'"/>').prependTo(a);-1!==$.inArray(a.children(".element").data("id"),this.state.collapsedElementIds)&&r.addClass("collapsed"),this.initToggle(o)}this.settings.sortable&&(this.structureDrag=new Craft.StructureDrag(this,this.settings.maxLevels)),this.settings.newChildUrl&&this.initNewChildMenus(this.$container.find(".add"))},initToggle:function(t){var e=this;t.on("click",(function(t){var i=$(t.currentTarget).closest("li"),n=i.children(".row").find(".element:first").data("id"),s=$.inArray(n,e.state.collapsedElementIds);i.hasClass("collapsed")?(i.removeClass("collapsed"),-1!==s&&e.state.collapsedElementIds.splice(s,1)):(i.addClass("collapsed"),-1===s&&e.state.collapsedElementIds.push(n)),e.settings.storageKey&&Craft.setLocalStorage(e.settings.storageKey,e.state)}))},initNewChildMenus:function(t){this.addListener(t,"click","onNewChildMenuClick")},onNewChildMenuClick:function(t){var e=$(t.currentTarget);if(!e.data("menubtn")){var i=e.parent().children(".element").data("id"),n=Craft.getUrl(this.settings.newChildUrl,"parentId="+i);$('<div class="menu"><ul><li><a href="'+n+'">'+Craft.t("app","New child")+"</a></li></ul></div>").insertAfter(e),new Garnish.MenuBtn(e).showMenu()}},getIndent:function(t){return Craft.Structure.baseIndent+(t-1)*Craft.Structure.nestedIndent},addElement:function(t){var e=$('<li data-level="1"/>').appendTo(this.$container),i=$('<div class="row" style="margin-'+Craft.left+": -"+Craft.Structure.baseIndent+"px; padding-"+Craft.left+": "+Craft.Structure.baseIndent+'px;">').appendTo(e);if(i.append(t),this.settings.sortable&&(i.append('<a class="move icon" title="'+Craft.t("app","Move")+'"></a>'),this.structureDrag.addItems(e)),this.settings.newChildUrl){var n=$('<a class="add icon" title="'+Craft.t("app","New child")+'"></a>').appendTo(i);this.initNewChildMenus(n)}i.css("margin-bottom",-30),i.velocity({"margin-bottom":0},"fast")},removeElement:function(t){var e,i=this,n=t.parent().parent();this.settings.sortable&&this.structureDrag.removeItems(n),n.siblings().length||(e=n.parent()),n.css("visibility","hidden").velocity({marginBottom:-n.height()},"fast",(function(){n.remove(),void 0!==e&&i._removeUl(e)}))},_removeUl:function(t){t.siblings(".row").children(".toggle").remove(),t.remove()},destroy:function(){this.$container.removeData("structure"),this.base()}},{baseIndent:8,nestedIndent:35,defaults:{storageKey:null,sortable:!1,newChildUrl:null,maxLevels:null}})},3096:function(){Craft.StructureDrag=Garnish.Drag.extend({structure:null,maxLevels:null,draggeeLevel:null,$helperLi:null,$targets:null,draggeeHeight:null,init:function(t,e){this.structure=t,this.maxLevels=e,this.$insertion=$('<li class="draginsertion"/>');var i=this.structure.$container.find("li");this.base(i,{handle:".element:first, .move:first",helper:this.getHelper.bind(this)})},getHelper:function(t){this.$helperLi=t;var e=$('<ul class="structure draghelper"/>').append(t);return t.css("padding-"+Craft.left,this.$draggee.css("padding-"+Craft.left)),t.find(".move").removeAttr("title"),e},onDragStart:function(){var t=this;this.$targets=$(),this.findTargets(this.structure.$container),this.draggeeLevel=0;var e=this.$draggee;do{this.draggeeLevel++,e=e.find("> ul > li")}while(e.length);this.draggeeHeight=this.$draggee.height(),this.$draggee.velocity({height:0},"fast",(function(){t.$draggee.addClass("hidden")})),this.base(),this.addListener(Garnish.$doc,"keydown",(function(t){t.keyCode===Garnish.ESC_KEY&&this.cancelDrag()}))},findTargets:function(t){for(var e=t.children().not(this.$draggee),i=0;i<e.length;i++){var n=$(e[i]);this.$targets=this.$targets.add(n.children(".row")),n.hasClass("collapsed")||this.findTargets(n.children("ul"))}},onDrag:function(){for(this._.$closestTarget&&(this._.$closestTarget.removeClass("draghover"),this.$insertion.remove()),this._.$closestTarget=null,this._.closestTargetPos=null,this._.closestTargetYDiff=null,this._.closestTargetOffset=null,this._.closestTargetHeight=null,this._.i=0;this._.i<this.$targets.length&&(this._.$target=$(this.$targets[this._.i]),this._.targetOffset=this._.$target.offset(),this._.targetHeight=this._.$target.outerHeight(),this._.targetYMidpoint=this._.targetOffset.top+this._.targetHeight/2,this._.targetYDiff=Math.abs(this.mouseY-this._.targetYMidpoint),0===this._.i||this.mouseY>=this._.targetOffset.top+5&&this._.targetYDiff<this._.closestTargetYDiff);this._.i++)this._.$closestTarget=this._.$target,this._.closestTargetPos=this._.i,this._.closestTargetYDiff=this._.targetYDiff,this._.closestTargetOffset=this._.targetOffset,this._.closestTargetHeight=this._.targetHeight;if(this._.$closestTarget)if(0===this._.closestTargetPos&&this.mouseY<this._.closestTargetOffset.top+5)this.$insertion.prependTo(this.structure.$container);else if(this._.$closestTargetLi=this._.$closestTarget.parent(),this._.closestTargetLevel=this._.$closestTargetLi.data("level"),this._.closestTargetPos<this.$targets.length-1?(this._.$nextTargetLi=$(this.$targets[this._.closestTargetPos+1]).parent(),this._.nextTargetLevel=this._.$nextTargetLi.data("level")):(this._.$nextTargetLi=null,this._.nextTargetLevel=null),this._.hoveringBetweenRows=this.mouseY>=this._.closestTargetOffset.top+this._.closestTargetHeight-5,this._.$nextTargetLi&&this._.nextTargetLevel==this._.closestTargetLevel)this._.hoveringBetweenRows?(!this.maxLevels||this.maxLevels>=this._.closestTargetLevel+this.draggeeLevel-1)&&this.$insertion.insertAfter(this._.$closestTargetLi):(!this.maxLevels||this.maxLevels>=this._.closestTargetLevel+this.draggeeLevel)&&this._.$closestTarget.addClass("draghover");else if(this._.$nextTargetLi&&this._.nextTargetLevel>this._.closestTargetLevel)(!this.maxLevels||this.maxLevels>=this._.nextTargetLevel+this.draggeeLevel-1)&&(this._.hoveringBetweenRows?this.$insertion.insertBefore(this._.$nextTargetLi):(this._.$closestTarget.addClass("draghover"),this.$insertion.appendTo(this._.$closestTargetLi.children("ul"))));else if(this._.hoveringBetweenRows){for(this._.draggeeX=this.mouseX-this.targetItemMouseDiffX,"rtl"===Craft.orientation&&(this._.draggeeX+=this.$helperLi.width()),this._.$parentLis=this._.$closestTarget.parentsUntil(this.structure.$container,"li"),this._.$closestParentLi=null,this._.closestParentLiXDiff=null,this._.closestParentLevel=null,this._.i=0;this._.i<this._.$parentLis.length;this._.i++)this._.$parentLi=$(this._.$parentLis[this._.i]),this._.parentLiX=this._.$parentLi.offset().left,"rtl"===Craft.orientation&&(this._.parentLiX+=this._.$parentLi.width()),this._.parentLiXDiff=Math.abs(this._.parentLiX-this._.draggeeX),this._.parentLevel=this._.$parentLi.data("level"),(!this.maxLevels||this.maxLevels>=this._.parentLevel+this.draggeeLevel-1)&&(!this._.$closestParentLi||this._.parentLiXDiff<this._.closestParentLiXDiff&&(!this._.$nextTargetLi||this._.parentLevel>=this._.nextTargetLevel))&&(this._.$closestParentLi=this._.$parentLi,this._.closestParentLiXDiff=this._.parentLiXDiff,this._.closestParentLevel=this._.parentLevel);this._.$closestParentLi&&this.$insertion.insertAfter(this._.$closestParentLi)}else(!this.maxLevels||this.maxLevels>=this._.closestTargetLevel+this.draggeeLevel)&&this._.$closestTarget.addClass("draghover")},cancelDrag:function(){this.$insertion.remove(),this._.$closestTarget&&this._.$closestTarget.removeClass("draghover"),this.onMouseUp()},onDragStop:function(){var t=this;if(this._.$closestTarget&&(this.$insertion.parent().length||this._.$closestTarget.hasClass("draghover"))){var e,i;if(this.$draggee.siblings().length||(e=this.$draggee.parent()),this.$insertion.parent().length){var n=this.$insertion.next().add(this.$insertion.prev());-1===$.inArray(this.$draggee[0],n)?(this.$insertion.replaceWith(this.$draggee),i=!0):(this.$insertion.remove(),i=!1)}else{var s=this._.$closestTargetLi.children("ul");if(e&&s.length&&s[0]===e[0])i=!1;else{if(s.length)this._.$closestTargetLi.hasClass("collapsed")&&this._.$closestTarget.children(".toggle").trigger("click");else{var a=$('<div class="toggle" title="'+Craft.t("app","Show/hide children")+'"/>').prependTo(this._.$closestTarget);this.structure.initToggle(a),s=$("<ul>").appendTo(this._.$closestTargetLi)}this.$draggee.appendTo(s),i=!0}}if(this._.$closestTarget.removeClass("draghover"),i){e&&this.structure._removeUl(e);var r,o=this.$draggee.parentsUntil(this.structure.$container,"li").length+1;o!=this.$draggee.data("level")&&(1==this.$draggee.data("level")?((r={})["padding-"+Craft.left]=38,this.$helperLi.velocity(r,"fast")):1==o&&((r={})["padding-"+Craft.left]=Craft.Structure.baseIndent,this.$helperLi.velocity(r,"fast")),this.setLevel(this.$draggee,o));var l=this.$draggee.children(".row").children(".element"),h={structureId:this.structure.id,elementId:l.data("id"),siteId:l.data("site-id"),prevId:this.$draggee.prev().children(".row").children(".element").data("id"),parentId:this.$draggee.parent("ul").parent("li").children(".row").children(".element").data("id")};Craft.sendActionRequest("POST","structures/move-element",{data:h}).then((function(t){Craft.cp.displaySuccess(Craft.t("app","New order saved."))}))}}this.$draggee.velocity("stop").removeClass("hidden").velocity({height:this.draggeeHeight},"fast",(function(){t.$draggee.css("height","auto")})),this.returnHelpersToDraggees(),this.base()},setLevel:function(t,e){t.data("level",e);var i=this.structure.getIndent(e),n={};n["margin-"+Craft.left]="-"+i+"px",n["padding-"+Craft.left]=i+"px",this.$draggee.children(".row").css(n);for(var s=t.children("ul").children(),a=0;a<s.length;a++)this.setLevel($(s[a]),e+1)}})},3331:function(){Craft.StructureTableSorter=Garnish.DragSort.extend({tableView:null,structureId:null,maxLevels:null,_basePadding:null,_helperMargin:null,_$firstRowCells:null,_$titleHelperCell:null,_titleHelperCellOuterWidth:null,_ancestors:null,_updateAncestorsFrame:null,_draggeeLevel:null,_draggeeLevelDelta:null,draggingLastElements:null,_loadingDraggeeLevelDelta:!1,_targetLevel:null,_targetLevelBounds:null,_positionChanged:null,init:function(t,e,i){this.tableView=t,this.structureId=this.tableView.$table.data("structure-id"),this.maxLevels=parseInt(this.tableView.$table.attr("data-max-levels")),this._basePadding=14+(this.tableView.elementIndex.actions?34:24),this._helperMargin=this.tableView.elementIndex.actions?54:0,i=$.extend({},Craft.StructureTableSorter.defaults,i,{handle:".move",collapseDraggees:!0,singleHelper:!0,helperSpacingY:2,magnetStrength:4,helper:this.getHelper.bind(this),helperLagBase:1.5,axis:Garnish.Y_AXIS}),this.base(e,i)},findDraggee:function(){var t=this;this._draggeeLevel=this._targetLevel=this.$targetItem.data("level"),this._draggeeLevelDelta=0;for(var e=$(this.$targetItem),i=this.$targetItem.next();i.length;){var n=i.data("level");if(n<=this._draggeeLevel)break;var s=n-this._draggeeLevel;s>this._draggeeLevelDelta&&(this._draggeeLevelDelta=s),e=e.add(i),i=i.next()}if(this.draggingLastElements=!i.length,this.maxLevels&&(e.has("> th > button.toggle[aria-expanded=false]").length||this.draggingLastElements&&this.tableView.getMorePending())){this._loadingDraggeeLevelDelta=!0;var a=this._getAjaxBaseData(this.$targetItem);Craft.sendActionRequest("POST","structures/get-element-level-delta",{data:a}).then((function(e){t._loadingDraggeeLevelDelta=!1,t.dragging&&(t._draggeeLevelDelta=e.data.delta,t._setTargetLevelBounds(),t.drag(!1))}))}return e},getHelper:function(t){var e=$('<div class="elements datatablesorthelper"/>').appendTo(Garnish.$bod),i=$('<div class="tableview"/>').appendTo(e),n=$('<table class="data"/>').appendTo(i),s=$("<tbody/>").appendTo(n);t.appendTo(s),this._$firstRowCells=this.tableView.$elementContainer.children("tr:first").children();for(var a=t.children(),r=0;r<a.length;r++){var o=$(a[r]);if(o.hasClass("checkbox-cell"))o.remove();else{var l=$(this._$firstRowCells[r]),h=l[0].getBoundingClientRect().width;l.css("width",h+"px"),o.css("width",h+"px"),Garnish.hasAttr(l,"data-titlecell")&&(this._$titleHelperCell=o,parseInt(l.css("padding-"+Craft.left)),this._titleHelperCellOuterWidth=h,o.css("padding-"+Craft.left,this._basePadding))}}return e},canInsertBefore:function(t){return!1!==this._getLevelBounds(t.prev(),t)},canInsertAfter:function(t){return!1!==this._getLevelBounds(t,t.next())},onDragStart:function(){this._ancestors=this._getAncestors(this.$targetItem,this.$targetItem.data("level")),this._setTargetLevelBounds(),this.tableView.maybeLoadMore(),this.base()},onDrag:function(){this.base(),this._updateIndent()},onInsertionPointChange:function(){this._setTargetLevelBounds(),this._updateAncestorsBeforeRepaint(),this.base()},onDragStop:function(){var t=this;if(this._positionChanged=!1,this.base(),this._targetLevel!=this._draggeeLevel){for(var e=this._targetLevel-this._draggeeLevel,i=0;i<this.$draggee.length;i++){var n=$(this.$draggee[i]),s=n.data("level")+e,a=this._basePadding+this._getLevelIndent(s),r=n.find("[data-text-alternative]"),o=Craft.t("app","Level {num}",{num:s});n.data("level",s),n.find(".element").data("level",s),n.children("[data-titlecell]:first").css("padding-"+Craft.left,a),r.text(o)}this._positionChanged=!0}if(this._positionChanged){for(var l=this._getAjaxBaseData(this.$draggee),h=this.$draggee.first().prev();h.length;){var d=h.data("level");if(d==this._targetLevel){l.prevId=h.data("id");break}if(d<this._targetLevel){l.parentId=h.data("id");var c=h.find("> th > .toggle");if(!c.hasClass("expanded")){c.addClass("expanded");var u=this.tableView._createSpinnerRowAfter(h);this.tableView.elementSelect&&this.tableView.elementSelect.removeItems(this.$targetItem),this.removeItems(this.$targetItem),this.$targetItem.remove(),this.tableView._totalVisible--}break}h=h.prev()}Craft.sendActionRequest("POST","structures/move-element",{data:l}).then((function(e){Craft.cp.displaySuccess(Craft.t("app","New position saved.")),t.onPositionChange(),u&&u.parent().length&&(u.remove(),t.tableView._expandElement(c,!0)),Craft.cp.runQueue()})).catch((function(e){var i,n;Craft.cp.displayError(null==e||null===(i=e.response)||void 0===i||null===(n=i.data)||void 0===n?void 0:n.message),t.tableView.elementIndex.updateElements()}))}},onSortChange:function(){this.tableView.elementSelect&&this.tableView.elementSelect.resetItemOrder(),this._positionChanged=!0,this.base()},onPositionChange:function(){var t=this;Garnish.requestAnimationFrame((function(){t.trigger("positionChange"),t.settings.onPositionChange()}))},onReturnHelpersToDraggees:function(){if(this._$firstRowCells.css("width",""),this.draggingLastElements&&this.tableView.getMorePending()){this.tableView._totalVisible+=this.newDraggeeIndexes[0]-this.oldDraggeeIndexes[0];var t=this.$draggee.last().nextAll();t.length&&(this.removeItems(t),t.remove(),this.tableView.maybeLoadMore())}this.base()},_getLevelBounds:function(t,e){if(this._loadingDraggeeLevelDelta)return!1;if(e&&e.length?this._getLevelBounds._minLevel=e.data("level"):this._getLevelBounds._minLevel=1,t&&t.length?this._getLevelBounds._maxLevel=t.data("level")+1:this._getLevelBounds._maxLevel=1,this.maxLevels){if(1!=this._getLevelBounds._minLevel&&this._getLevelBounds._minLevel+this._draggeeLevelDelta>this.maxLevels)return!1;this._getLevelBounds._maxLevel+this._draggeeLevelDelta>this.maxLevels&&(this._getLevelBounds._maxLevel=this.maxLevels-this._draggeeLevelDelta,this._getLevelBounds._maxLevel<this._getLevelBounds._minLevel&&(this._getLevelBounds._maxLevel=this._getLevelBounds._minLevel))}return{min:this._getLevelBounds._minLevel,max:this._getLevelBounds._maxLevel}},_setTargetLevelBounds:function(){this._targetLevelBounds=this._getLevelBounds(this.$draggee.first().prev(),this.$draggee.last().next())},_updateIndent:function(t){this._updateIndent._mouseDist=this.realMouseX-this.mousedownX,"rtl"===Craft.orientation&&(this._updateIndent._mouseDist*=-1),this._updateIndent._indentationDist=Math.round(this._updateIndent._mouseDist/Craft.StructureTableSorter.LEVEL_INDENT),this._updateIndent._targetLevel=this._draggeeLevel+this._updateIndent._indentationDist,this._updateIndent._targetLevel<this._targetLevelBounds.min?(this._updateIndent._indentationDist+=this._targetLevelBounds.min-this._updateIndent._targetLevel,this._updateIndent._targetLevel=this._targetLevelBounds.min):this._updateIndent._targetLevel>this._targetLevelBounds.max&&(this._updateIndent._indentationDist-=this._updateIndent._targetLevel-this._targetLevelBounds.max,this._updateIndent._targetLevel=this._targetLevelBounds.max),this._targetLevel!==(this._targetLevel=this._updateIndent._targetLevel)&&this._updateAncestorsBeforeRepaint(),this._updateIndent._targetLevelMouseDiff=this._updateIndent._mouseDist-this._updateIndent._indentationDist*Craft.StructureTableSorter.LEVEL_INDENT,this._updateIndent._magnetImpact=Math.round(this._updateIndent._targetLevelMouseDiff/15),Math.abs(this._updateIndent._magnetImpact)>Craft.StructureTableSorter.MAX_GIVE&&(this._updateIndent._magnetImpact=(this._updateIndent._magnetImpact>0?1:-1)*Craft.StructureTableSorter.MAX_GIVE),this._updateIndent._closestLevelMagnetIndent=this._getLevelIndent(this._targetLevel)+this._updateIndent._magnetImpact,this.helpers[0].css("margin-"+Craft.left,this._updateIndent._closestLevelMagnetIndent+this._helperMargin),this._$titleHelperCell.css("width",this._titleHelperCellOuterWidth-this._updateIndent._closestLevelMagnetIndent)},_getLevelIndent:function(t){return(t-1)*Craft.StructureTableSorter.LEVEL_INDENT},_getAjaxBaseData:function(t){return{structureId:this.structureId,elementId:t.data("id"),siteId:t.find(".element:first").data("site-id")}},_getAncestors:function(t,e){if(this._getAncestors._ancestors=[],0!=e)for(this._getAncestors._level=e,this._getAncestors._$prevRow=t.prev();this._getAncestors._$prevRow.length&&!(this._getAncestors._$prevRow.data("level")<this._getAncestors._level&&(this._getAncestors._ancestors.unshift(this._getAncestors._$prevRow),this._getAncestors._level=this._getAncestors._$prevRow.data("level"),0==this._getAncestors._level));)this._getAncestors._$prevRow=this._getAncestors._$prevRow.prev();return this._getAncestors._ancestors},_updateAncestorsBeforeRepaint:function(){this._updateAncestorsFrame&&Garnish.cancelAnimationFrame(this._updateAncestorsFrame),this._updateAncestorsFrame=Garnish.requestAnimationFrame(this._updateAncestors.bind(this))},_updateAncestors:function(){for(this._updateAncestorsFrame=null,this._updateAncestors._i=0;this._updateAncestors._i<this._ancestors.length;this._updateAncestors._i++)this._updateAncestors._$ancestor=this._ancestors[this._updateAncestors._i],this._updateAncestors._$ancestor.data("descendants",this._updateAncestors._$ancestor.data("descendants")-1),0==this._updateAncestors._$ancestor.data("descendants")&&this._updateAncestors._$ancestor.find("> th > .toggle:first").remove();for(this._updateAncestors._newAncestors=this._getAncestors(this.$targetItem,this._targetLevel),this._updateAncestors._i=0;this._updateAncestors._i<this._updateAncestors._newAncestors.length;this._updateAncestors._i++)if(this._updateAncestors._$ancestor=this._updateAncestors._newAncestors[this._updateAncestors._i],this._updateAncestors._$ancestor.data("descendants",this._updateAncestors._$ancestor.data("descendants")+1),1==this._updateAncestors._$ancestor.data("descendants")){var t=this._updateAncestors._$ancestor.data("title");$('<button class="toggle expanded" type="button" aria-expanded="true" title="'+Craft.t("app","Show/hide children")+'" aria-label="'+Craft.t("app","Show {title} children",{title:t})+'"></button>').insertAfter(this._updateAncestors._$ancestor.find("> th .move:first"))}this._ancestors=this._updateAncestors._newAncestors,delete this._updateAncestors._i,delete this._updateAncestors._$ancestor,delete this._updateAncestors._newAncestors}},{HELPER_MARGIN:0,LEVEL_INDENT:48,MAX_GIVE:22,defaults:{onPositionChange:$.noop}})},53:function(){function t(t,i){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var n,s,a=[],r=!0,o=!1;try{for(i=i.call(t);!(r=(n=i.next()).done)&&(a.push(n.value),!e||a.length!==e);r=!0);}catch(t){o=!0,s=t}finally{try{r||null==i.return||i.return()}finally{if(o)throw s}}return a}}(t,i)||function(t,i){if(t){if("string"==typeof t)return e(t,i);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e(t,i):void 0}}(t,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}Craft.TableElementIndexView=Craft.BaseElementIndexView.extend({$table:null,$tableCaption:null,$selectedSortHeader:null,$statusMessage:null,structureTableSort:null,_totalVisiblePostStructureTableDraggee:null,_morePendingPostStructureTableDraggee:!1,_broadcastListener:null,getElementContainer:function(){return this.$table=this.$container.find("table:first"),this.$table.children("tbody:first")},afterInit:function(){var t=this;this.$tableCaption=this.$table.find("caption"),this.$statusMessage=this.$table.parent().find("[data-status-message]"),this.initTableHeaders(),this.elementIndex.on("updateElements",(function(){t._updateScreenReaderStatus()})),"index"===this.elementIndex.settings.context&&"structure"===this.elementIndex.viewMode&&Garnish.hasAttr(this.$table,"data-structure-id")?this.structureTableSort=new Craft.StructureTableSorter(this,this.getAllElements()):this.structureTableSort=null,"structure"===this.elementIndex.viewMode&&this.addListener(this.$elementContainer,"click",(function(t){var e=$(t.target);e.hasClass("toggle")&&!1===this._collapseElement(e)&&this._expandElement(e)})),Craft.messageReceiver&&(this._broadcastListener=function(e){if("saveElement"===e.data.event){var i=t.$table.find('> tbody > tr[data-id="'.concat(e.data.id,'"]'));if(i.length){var n={elementType:t.elementIndex.elementType,source:t.elementIndex.sourceKey,id:e.data.id,siteId:t.elementIndex.siteId};Craft.sendActionRequest("POST","element-indexes/element-table-html",{data:n}).then((function(t){for(var e=t.data,n=0;n<i.length;n++){var s=i.eq(n);for(var a in s.find("> th[data-titlecell] .element").replaceWith(e.elementHtml),e.attributeHtml)e.attributeHtml.hasOwnProperty(a)&&s.find('> td[data-attr="'.concat(a,'"]')).html(e.attributeHtml[a])}Craft.cp.elementThumbLoader.load(i)}))}}},Craft.messageReceiver.addEventListener("message",this._broadcastListener))},initTableHeaders:function(){var e,i;if("structure"===this.elementIndex.viewMode)e="structure",i="asc";else{var n=t(this.elementIndex.getSortAttributeAndDirection(),2);e=n[0],i=n[1]}for(var s=this.$table.children("thead").children().children("[data-attribute]"),a=0;a<s.length;a++){var r=s.eq(a),o=r.attr("data-attribute"),l="none";o===e?(this.$selectedSortHeader=r,l="asc"===i?"ascending":"descending",r.addClass("ordered "+i),this.makeColumnSortable(r,!0)):this.elementIndex.getSortOption(o)&&this.makeColumnSortable(r),r.attr("aria-sort",l)}},makeColumnSortable:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];t.addClass("orderable");var i=t.html(),n=this.$tableCaption.find("[data-sort-instructions]"),s=$("<button/>",{id:"".concat(this.elementIndex.idPrefix,"-").concat(t.attr("data-attribute")),type:"button","aria-pressed":"false"}).html(i);n.length&&s.attr("aria-describedby",n.attr("id")),e?(s.attr("aria-pressed","true"),s.on("click",this._handleSelectedSortHeaderClick.bind(this))):s.on("click",this._handleUnselectedSortHeaderClick.bind(this)),t.empty().append(s)},isVerticalList:function(){return!0},getTotalVisible:function(){return this._isStructureTableDraggingLastElements()?this._totalVisiblePostStructureTableDraggee:this._totalVisible},setTotalVisible:function(t){this._isStructureTableDraggingLastElements()?this._totalVisiblePostStructureTableDraggee=t:this._totalVisible=t},getMorePending:function(){return this._isStructureTableDraggingLastElements()?this._morePendingPostStructureTableDraggee:this._morePending},setMorePending:function(t){this._isStructureTableDraggingLastElements()?this._morePendingPostStructureTableDraggee=t:this._morePending=this._morePendingPostStructureTableDraggee=t},getLoadMoreParams:function(){var t=this.base();return this._isStructureTableDraggingLastElements()&&(t.criteria.positionedAfter=this.structureTableSort.$targetItem.data("id")),t},appendElements:function(t){this.base(t),this.structureTableSort&&this.structureTableSort.addItems(t),Craft.cp.updateResponsiveTables()},_collapseElement:function(t,e){if(!e&&!t.hasClass("expanded"))return!1;t.removeClass("expanded"),t.attr("aria-expanded","false");for(var i=t.parent().parent(),n=i.data("id"),s=i.data("level"),a=i.next();a.length;){if(!Garnish.hasAttr(a,"data-spinnerrow")){if(a.data("level")<=s)break;this.elementSelect&&this.elementSelect.removeItems(a),this.structureTableSort&&this.structureTableSort.removeItems(a),this._totalVisible--}var r=a.next();a.remove(),a=r}this.elementIndex.instanceState.collapsedElementIds||(this.elementIndex.instanceState.collapsedElementIds=[]),this.elementIndex.instanceState.collapsedElementIds.push(n),this.elementIndex.setInstanceState("collapsedElementIds",this.elementIndex.instanceState.collapsedElementIds),this.maybeLoadMore()},_expandElement:function(t,e){var i=this;if(!e&&t.hasClass("expanded"))return!1;if(t.addClass("expanded"),t.attr("aria-expanded","true"),this.elementIndex.instanceState.collapsedElementIds){var n=t.parent().parent(),s=n.data("id"),a=$.inArray(s,this.elementIndex.instanceState.collapsedElementIds);if(-1!==a){this.elementIndex.instanceState.collapsedElementIds.splice(a,1),this.elementIndex.setInstanceState("collapsedElementIds",this.elementIndex.instanceState.collapsedElementIds);var r=this._createSpinnerRowAfter(n),o=$.extend(!0,{},this.settings.params);o.criteria.descendantOf=s,Craft.sendActionRequest("POST",this.settings.loadMoreElementsAction,{data:o}).then((function(t){if(r.parent().length){var e=$(t.data.html),n=i._totalVisible+e.length,s=i.settings.batchSize&&e.length===i.settings.batchSize;if(s){var a=r.nextAll();i.elementSelect&&i.elementSelect.removeItems(a),i.structureTableSort&&i.structureTableSort.removeItems(a),a.remove(),n-=a.length}else s=i._morePending;r.replaceWith(e),i.thumbLoader.load(e),(i.elementIndex.actions||i.settings.selectable)&&(i.elementSelect.addItems(e.filter(":not(.disabled)")),i.elementIndex.updateActionTriggers()),i.structureTableSort&&i.structureTableSort.addItems(e),Craft.appendHeadHtml(t.data.headHtml),Craft.appendBodyHtml(t.data.bodyHtml),Craft.cp.updateResponsiveTables(),i.setTotalVisible(n),i.setMorePending(s),i.maybeLoadMore()}})).catch((function(t){Craft.cp.displayError(),r.parent().length}))}}},_createSpinnerRowAfter:function(t){return $('<tr data-spinnerrow><td class="centeralign" colspan="'+t.children().length+'"><div class="spinner"/></td></tr>').insertAfter(t)},_isStructureTableDraggingLastElements:function(){return this.structureTableSort&&this.structureTableSort.dragging&&this.structureTableSort.draggingLastElements},_handleSelectedSortHeaderClick:function(t){var e=$(t.currentTarget).closest("th");if(!e.hasClass("loading")){var i="asc"===this.elementIndex.getSelectedSortDirection()?"desc":"asc";this.elementIndex.selectViewMode("table"),this.elementIndex.setSelectedSortDirection(i),this._handleSortHeaderClick(t,e)}},_handleUnselectedSortHeaderClick:function(t){var e=$(t.currentTarget).closest("th");if(!e.hasClass("loading")){var i=e.attr("data-attribute");this.elementIndex.selectViewMode("table"),this.elementIndex.setSelectedSortAttribute(i),this._handleSortHeaderClick(t,e)}},_handleSortHeaderClick:function(t,e){this.$selectedSortHeader&&this.$selectedSortHeader.removeClass("ordered asc desc"),e.addClass("ordered loading"),this.elementIndex.updateElements(),this.elementIndex.setIndexAvailable()},_updateScreenReaderStatus:function(){var e,i;if("structure"===this.elementIndex.viewMode)e="structure",i="asc";else{var n=t(this.elementIndex.getSortAttributeAndDirection(),2);e=n[0],i=n[1]}var s=this.elementIndex.getSortLabel(e);if(s){var a="asc"===i?Craft.t("app","Ascending"):Craft.t("app","Descending"),r=Craft.t("app","Table {name} sorted by {attribute}, {direction}",{name:this.$table.attr("data-name"),attribute:s,direction:a});this.$statusMessage.empty(),this.$statusMessage.text(r)}},_updateTableAttributes:function(t,e){var i=t.closest("tr");for(var n in e)e.hasOwnProperty(n)&&i.children('[data-attr="'+n+'"]:first').html(e[n])},destroy:function(){this._broadcastListener&&(Craft.messageReceiver.removeEventListener("message",this._broadcastListener),delete this._broadcastListener),this.base()}})},7745:function(){Craft.Tabs=Garnish.Base.extend({$container:null,$tablist:null,$menuBtn:null,$tabs:null,$firstTab:null,$lastTab:null,$selectedTab:null,$focusableTab:null,menu:null,init:function(t){var e=this;this.$container=$(t),this.$tablist=this.$container.find('> [role="tablist"]:first'),this.$tabs=this.$tablist.find('> [role="tab"]'),this.$firstTab=this.$tabs.first(),this.$lastTab=this.$tabs.last(),this.$selectedTab=this.$tabs.filter(".sel:first"),this.$focusableTab=this.$tabs.filter("[tabindex=0]:first"),this.$menuBtn=this.$container.find("> .menubtn:first").menubtn(),this.menu=this.$menuBtn.data("menubtn").menu,this.$container.data("tabs")&&(console.warn("Double-instantiating a tab manager on an element"),this.$container.data("tabs").destroy()),this.$container.data("tabs",this);for(var i=0;i<this.$tabs.length;i++){var n=this.$tabs.eq(i),s=n.attr("href");s&&"#"===s.charAt(0)&&(this.addListener(n,"keydown",(function(t){[Garnish.SPACE_KEY,Garnish.RETURN_KEY].includes(t.keyCode)&&(t.preventDefault(),e.selectTab(t.currentTarget))})),this.addListener(n,"click",(function(t){t.preventDefault(),e.selectTab(t.currentTarget)}))),this.addListener(n,"keydown",(function(t){var i;[Garnish.LEFT_KEY,Garnish.RIGHT_KEY].includes(t.keyCode)&&$.contains(e.$tablist[0],t.currentTarget)?i=t.keyCode===("ltr"===Craft.orientation?Garnish.LEFT_KEY:Garnish.RIGHT_KEY)?(i=$(t.currentTarget).prevAll('[role="tab"]:not(.hidden):first')).length?i:e.$lastTab:(i=$(t.currentTarget).nextAll('[role="tab"]:not(.hidden):first')).length?i:e.$firstTab:t.keyCode!==Garnish.HOME_KEY&&t.keyCode!==Garnish.END_KEY||(i=t.keyCode===Garnish.HOME_KEY?e.$firstTab:e.$lastTab),i&&(t.preventDefault(),e.makeTabFocusable(i),i.focus(),e.scrollToTab(i))}))}this.updateMenuBtn(),Garnish.$win.on("resize",(function(){e.updateMenuBtn()})),this.menu.$options.on("click",(function(t){var e=$(t.currentTarget).attr("href");e&&"#"===e.charAt(0)&&t.preventDefault()})),this.menu.on("optionselect",(function(t){e.selectTab($(t.selectedOption).data("id"))}))},selectTab:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this._getTab(t);if(i[0]!==this.$selectedTab[0]){this.deselectTab(),this.$selectedTab=i.addClass("sel").attr("aria-selected","true"),this.makeTabFocusable(i),e&&i.focus(),this.scrollToTab(i),this.menu.$options.removeClass("sel"),this.menu.$options.filter('[data-id="'.concat(i.data("id"),'"]')).addClass("sel"),this.trigger("selectTab",{$tab:i}),$("#content").trigger("scroll");var n=i.closest(".slideout-container");n.length&&n.find(".so-content").trigger("scroll")}},deselectTab:function(){var t=this.$selectedTab.removeClass("sel").attr("aria-selected","false");this.$selectedTab=null,this.trigger("deselectTab",{$tab:t})},makeTabFocusable:function(t){var e=this._getTab(t);e[0]!==this.$focusableTab[0]&&(this.$focusableTab.attr("tabindex","-1"),this.$focusableTab=e.attr("tabindex","0"))},scrollToTab:function(t){var e=this._getTab(t),i=this.$tablist.scrollLeft(),n=e.offset().left-this.$tablist.offset().left,s=!1;if(n<0)s=i+n-24;else{var a=e.outerWidth(),r=this.$tablist.prop("clientWidth");n+a>r&&(s=i+(n-(r-a))+24)}!1!==s&&this.$tablist.scrollLeft(s)},updateMenuBtn:function(){Math.floor(this.$tablist.prop("scrollWidth")-48)>this.$container.prop("clientWidth")?(this.$tablist.addClass("scrollable"),this.$menuBtn.removeClass("hidden")):(this.$tablist.removeClass("scrollable"),this.$menuBtn.addClass("hidden"))},_getTab:function(t){if(t instanceof jQuery)return t;if(t instanceof HTMLElement)return $(t);if("string"!=typeof t)throw"Invalid tab ID";var e=this.$tabs.filter('[data-id="'.concat(t,'"]'));if(!e.length)throw"Invalid tab ID: ".concat(t);return e},destroy:function(){this.$container.removeData("tabs"),this.base()}})},5074:function(){Craft.TagSelectInput=Craft.BaseElementSelectInput.extend({searchTimeout:null,searchMenu:null,$container:null,$elementsContainer:null,$elements:null,$addTagInput:null,$spinner:null,_ignoreBlur:!1,init:function(t){var e=this;if(!$.isPlainObject(t)){for(var i={},n=["id","name","tagGroupId","sourceElementId"],s=0;s<n.length&&void 0!==arguments[s];s++)i[n[s]]=arguments[s];t=i}this.base($.extend({},Craft.TagSelectInput.defaults,t)),this.$addTagInput=this.$container.children(".add").children(".text"),this.$spinner=this.$addTagInput.next(),this.addListener(this.$addTagInput,"input",(function(){e.searchTimeout&&clearTimeout(e.searchTimeout),e.searchTimeout=setTimeout(e.searchForTags.bind(e),500)})),this.addListener(this.$addTagInput,"keydown",(function(t){switch(t.keyCode===Garnish.RETURN_KEY&&t.preventDefault(),t.keyCode){case Garnish.RETURN_KEY:return t.preventDefault(),void(this.searchMenu&&this.selectTag(this.searchMenu.$options.filter(".hover")));case Garnish.DOWN_KEY:if(t.preventDefault(),this.searchMenu){var e=this.searchMenu.$options.filter(".hover");if(e.length){var i=e.parent().nextAll().find("a:not(.disabled)").first();i.length&&this.focusOption(i)}else this.focusOption(this.searchMenu.$options.eq(0))}return;case Garnish.UP_KEY:if(t.preventDefault(),this.searchMenu){var n=this.searchMenu.$options.filter(".hover");if(n.length){var s=n.parent().prevAll().find("a:not(.disabled)").last();s.length&&this.focusOption(s)}else this.focusOption(this.searchMenu.$options.eq(this.searchMenu.$options.length-1))}return}})),this.addListener(this.$addTagInput,"focus",(function(){this.searchMenu&&this.searchMenu.show()})),this.addListener(this.$addTagInput,"blur",(function(){var t=this;this._ignoreBlur?this._ignoreBlur=!1:setTimeout((function(){t.searchMenu&&t.searchMenu.hide()}),1)}))},focusOption:function(t){this.searchMenu.$options.removeClass("hover"),t.addClass("hover"),this.searchMenu.$menuList.attr("aria-activedescendant",t.attr("id"))},getAddElementsBtn:$.noop,getElementSortAxis:function(){return null},searchForTags:function(){var t=this;if(this.searchMenu&&this.killSearchMenu(),this.$addTagInput.val()){this.$spinner.removeClass("hidden");for(var e=[],i=0;i<this.$elements.length;i++){var n=$(this.$elements[i]).data("id");n&&e.push(n)}this.settings.sourceElementId&&!this.settings.allowSelfRelations&&e.push(this.settings.sourceElementId);var s={search:this.$addTagInput.val(),tagGroupId:this.settings.tagGroupId,excludeIds:e};Craft.sendActionRequest("POST","tags/search-for-tags",{data:s}).then((function(e){t.searchMenu&&t.killSearchMenu(),t.$spinner.addClass("hidden");for(var i,n=$('<div class="menu tagmenu"/>').appendTo(Garnish.$bod),a=$("<ul/>").appendTo(n),r=0;r<e.data.tags.length;r++)i=$("<li/>").appendTo(a),$('<a data-icon="tag"/>').appendTo(i).text(e.data.tags[r].title).data("id",e.data.tags[r].id).addClass(e.data.tags[r].exclude?"disabled":"");e.data.exactMatch||(i=$("<li/>").appendTo(a),$('<a data-icon="plus"/>').appendTo(i).text(s.search)),a.find("a:not(.disabled):first").addClass("hover"),t.searchMenu=new Garnish.Menu(n,{attachToElement:t.$addTagInput,onOptionSelect:t.selectTag.bind(t)}),t.addListener(n,"mousedown",(function(){t._ignoreBlur=!0})),t.searchMenu.show()})).catch((function(e){e.response,t.searchMenu&&t.killSearchMenu(),t.$spinner.addClass("hidden")}))}else this.$spinner.addClass("hidden")},selectTag:function(t){var e=this,i=$(t);if(!i.hasClass("disabled")){var n=i.data("id"),s=i.text(),a=$("<div/>",{class:"element small removable","data-id":n,"data-site-id":this.settings.targetSiteId,"data-label":s,"data-editable":"1"}).appendTo(this.$elementsContainer),r=$("<input/>",{type:"hidden",name:this.settings.name+"[]",value:n}).appendTo(a);$("<button/>",{class:"delete icon",title:Craft.t("app","Remove"),type:"button","aria-label":Craft.t("app","Remove {label}",{label:s})}).appendTo(a);var o=$("<div/>",{class:"label"}).appendTo(a);if($("<span/>",{class:"title",text:s}).appendTo(o),this.$elements=this.$elements.add(a),this.addElements(a),this.killSearchMenu(),this.$addTagInput.val(""),this.$addTagInput.focus(),!n){a.addClass("loading disabled");var l={groupId:this.settings.tagGroupId,title:s};Craft.sendActionRequest("POST","tags/create-tag",{data:l}).then((function(t){a.attr("data-id",t.data.id),r.val(t.data.id),a.removeClass("loading disabled")})).catch((function(t){var i,n;e.removeElement(a),Craft.cp.displayError(null==t||null===(i=t.response)||void 0===i||null===(n=i.data)||void 0===n?void 0:n.message)}))}}},killSearchMenu:function(){this.searchMenu.hide(),this.searchMenu.destroy(),this.searchMenu=null}},{defaults:{tagGroupId:null}})},3958:function(){Craft.ThumbsElementIndexView=Craft.BaseElementIndexView.extend({getElementContainer:function(){return this.$container.children("ul")}})},3079:function(){Craft.Tooltip=Garnish.Base.extend({_$trigger:null,_message:null,hud:null,$p:null,hoverTimeout:null,triggerHit:!1,shownViaHover:!1,init:function(t,e){var i=this;this.$trigger=$(t),this.message=e,"BUTTON"!==this.$trigger[0].tagName&&"button"!==this.$trigger.attr("role")&&console.error("Toggletip buttons need to be <button> elements."),this.addListener(Garnish.$bod,"mousemove",(function(t){i.triggerHit!==(i.triggerHit=Garnish.hitTest(t.pageX,t.pageY,i._$trigger))&&(i.triggerHit?i.showing||(i.hoverTimeout=setTimeout((function(){i.show(),i.shownViaHover=!0}),500)):(clearTimeout(i.hoverTimeout),i.shownViaHover&&i.hide()))}))},get showing(){return this.hud&&this.hud.showing},get $trigger(){return this._$trigger},set $trigger(t){var e=this;this._$trigger&&this.removeAllListeners(this._$trigger),this._$trigger=t,this._$trigger.on("blur",(function(){e.hide()})),this._$trigger.on("activate",(function(){e.showing&&e.shownViaHover?e.shownViaHover=!1:e.toggle(),e._$trigger.focus()})),this.hud&&(this.hud.$trigger=t,this.hud.showing&&this.hud.updateSizeAndPosition(!0))},get message(){return this._message},set message(t){this._message=t,this.$p&&this.$p.text(t)},show:function(t){var e=this;this.shownViaHover=!1,this.showing||(this.$trigger.attr("aria-expanded","true"),this.hud?this.hud.show():(this.$p=$("<p/>",{text:this._message}),this.hud=new Craft.Tooltip.HUD(this._$trigger,this.$p,{hudClass:"hud tooltip-hud",withShade:!1,onShow:function(){e.onShow()},onHide:function(){e.onHide()}})))},hide:function(){this.showing&&(this.$trigger.attr("aria-expanded","false"),this.hud&&this.hud.hide())},toggle:function(){this.showing?this.hide():this.show()},onShow:function(){clearTimeout(this.hoverTimeout),this.$p.text(this.message)},onHide:function(){clearTimeout(this.hoverTimeout),this.$p.text("")}}),Craft.Tooltip.HUD=Garnish.HUD.extend({init:function(t,e,i){this.base(t,e,i),this.$hud.attr("role","status")},showContainer:function(){this.$hud.removeClass("visually-hidden")},hideContainer:function(){this.$hud.addClass("visually-hidden")}})},1592:function(){Craft.ui={createButton:function(t){var e=$("<button/>",{type:t.type||"button",class:"btn"});return t.id&&e.attr("id",t.id),t.class&&e.addClass(t.class),t.ariaLabel&&e.attr("aria-label",t.ariaLabel),t.role&&e.attr("role",t.role),t.html?e.html(t.html):t.label?e.append($('<div class="label"/>').text(t.label)):e.addClass("btn-empty"),t.toggle&&e.attr("aria-expanded","false"),t.controls&&e.attr("aria-controls",t.controls),t.spinner&&e.append($('<div class="spinner spinner-absolute"/>')),e},createSubmitButton:function(t){var e=this.createButton(Object.assign({},t,{type:"submit",label:t.label||Craft.t("app","Submit")}));return e.addClass("submit"),e},createTextInput:function(t){t=$.extend({autocomplete:!1},t);var e=$("<input/>",{attr:{class:"text",type:t.type||"text",inputmode:t.inputmode,id:t.id,size:t.size,name:t.name,value:t.value,maxlength:t.maxlength,autofocus:this.getAutofocusValue(t.autofocus),autocomplete:"boolean"==typeof t.autocomplete?t.autocomplete?"on":"off":t.autocomplete,disabled:this.getDisabledValue(t.disabled),readonly:t.readonly,title:t.title,placeholder:t.placeholder,step:t.step,min:t.min,max:t.max}});return t.class&&e.addClass(t.class),t.placeholder&&e.addClass("nicetext"),"password"===t.type&&e.addClass("password"),t.disabled&&e.addClass("disabled"),t.size||e.addClass("fullwidth"),t.showCharsLeft&&t.maxlength&&e.attr("data-show-chars-left").css("padding-"+("ltr"===Craft.orientation?"right":"left"),7.2*t.maxlength.toString().length+14+"px"),(t.placeholder||t.showCharsLeft)&&new Garnish.NiceText(e),"password"===t.type?$('<div class="passwordwrapper"/>').append(e):e},createTextField:function(t){return t.id||(t.id="text"+Math.floor(1e9*Math.random())),this.createField(this.createTextInput(t),t)},createCopyTextInput:function(t){var e=t.id||"copytext"+Math.floor(1e9*Math.random()),i=t.buttonId||"".concat(e,"-btn"),n=$("<div/>",{class:"copytext"}),s=this.createTextInput($.extend({},t,{readonly:!0})).appendTo(n);return $("<button/>",{type:"button",id:i,class:"btn","data-icon":"clipboard",title:Craft.t("app","Copy to clipboard"),"aria-label":Craft.t("app","Copy to clipboard")}).appendTo(n).on("click",(function(){s[0].select(),document.execCommand("copy"),Craft.cp.displayNotice(Craft.t("app","Copied to clipboard.")),n.trigger("copy"),s[0].setSelectionRange(0,0)})),n},createCopyTextBtn:function(t){var e=t.id||"copytext"+Math.floor(1e9*Math.random()),i=t.value,n=$("<div/>",{class:"copytextbtn-wrapper"}),s=$("<div/>",{id:e,class:"copytextbtn",role:"button",title:Craft.t("app","Copy to clipboard"),tabindex:"0"}).appendTo(n);t.class&&s.addClass(t.class);var a=$("<input/>",{value:i,readonly:!0,size:i.length,tabindex:"-1","aria-hidden":"true",class:"visually-hidden"}).insertBefore(s);$("<span/>",{text:i,class:"copytextbtn__value"}).appendTo(s),$("<span/>",{class:"visually-hidden",text:Craft.t("app","Copy to clipboard")}).appendTo(s),$("<span/>",{class:"copytextbtn__icon","data-icon":"clipboard","aria-hidden":"true"}).appendTo(s);var r=function(){a[0].select(),document.execCommand("copy"),Craft.cp.displayNotice(Craft.t("app","Copied to clipboard.")),s.trigger("copy"),a[0].setSelectionRange(0,0),s.focus()};return s.on("activate",(function(){r()})),s.on("keydown",(function(t){t.keyCode===Garnish.SPACE_KEY&&(r(),t.preventDefault())})),n},createCopyTextField:function(t){return t.id||(t.id="copytext"+Math.floor(1e9*Math.random())),this.createField(this.createCopyTextInput(t),t)},createCopyTextPrompt:function(t){var e=$("<div/>",{class:"modal fitted"}),i=$("<div/>",{class:"body"}).appendTo(e);this.createCopyTextField($.extend({size:Math.max(Math.min(t.value.length,50),25)},t)).appendTo(i);var n=i.find("label");n.length>0&&n.attr("id")&&e.attr("aria-labelledby",n.attr("id"));var s=new Garnish.Modal(e,{closeOtherModals:!1});return e.on("copy",(function(){s.hide()})),e},createTextarea:function(t){var e=$("<textarea/>",{class:"text",rows:t.rows||2,cols:t.cols||50,id:t.id,name:t.name,maxlength:t.maxlength,autofocus:t.autofocus&&!Garnish.isMobileBrowser(!0),disabled:!!t.disabled,placeholder:t.placeholder,html:t.value});return t.showCharsLeft&&e.attr("data-show-chars-left",""),t.class&&e.addClass(t.class),t.size||e.addClass("fullwidth"),e},createTextareaField:function(t){return t.id||(t.id="textarea"+Math.floor(1e9*Math.random())),this.createField(this.createTextarea(t),t)},createSelect:function(t){var e=$("<div/>",{class:"select"});t.class&&e.addClass(t.class);var i=$("<select/>",{id:t.id,name:t.name,autofocus:t.autofocus&&Garnish.isMobileBrowser(!0),disabled:t.disabled,"data-target-prefix":t.targetPrefix,"aria-labelledby":t.labelledBy}).appendTo(e);if($.isPlainObject(t.options)){var n=[];for(var s in t.options)if(t.options.hasOwnProperty(s)){var a=t.options[s];$.isPlainObject(a)?void 0!==a.optgroup?n.push(a):n.push({label:a.label,value:void 0!==a.value?a.value:s,disabled:void 0!==a.disabled&&a.disabled}):n.push({label:a,value:s})}t.options=n}for(var r=null,o=0;o<t.options.length;o++){var l=t.options[o];void 0!==l.optgroup?r=$("<optgroup/>",{label:l.optgroup}).appendTo(i):$("<option/>",{value:l.value,selected:l.value==t.value,disabled:void 0!==l.disabled&&l.disabled,html:l.label}).appendTo(r||i)}return t.toggle&&(i.addClass("fieldtoggle"),new Craft.FieldToggle(i)),e},createSelectField:function(t){return t.id||(t.id="select"+Math.floor(1e9*Math.random())),this.createField(this.createSelect(t),t)},createCheckbox:function(t){var e=t.id||"checkbox"+Math.floor(1e9*Math.random()),i=$("<input/>",{type:"checkbox",value:void 0!==t.value?t.value:"1",id:e,class:"checkbox",name:t.name,checked:t.checked?"checked":null,autofocus:this.getAutofocusValue(t.autofocus),disabled:this.getDisabledValue(t.disabled),"data-target":t.toggle,"data-reverse-target":t.reverseToggle});t.class&&i.addClass(t.class),(t.toggle||t.reverseToggle)&&(i.addClass("fieldtoggle"),new Craft.FieldToggle(i));var n=$("<label/>",{for:e,html:t.label});return t.name&&(t.name.length<3||"[]"!==t.name.slice(-2))?$([$("<input/>",{type:"hidden",name:t.name,value:""})[0],i[0],n[0]]):$([i[0],n[0]])},createCheckboxField:function(t){t.id||(t.id="checkbox"+Math.floor(1e9*Math.random()));var e=$('<div class="field checkboxfield"/>',{id:"".concat(t.id,"-field")});return t.first&&e.addClass("first"),t.instructions&&e.addClass("has-instructions"),this.createCheckbox(t).appendTo(e),t.instructions&&$('<div class="instructions"/>').text(t.instructions).appendTo(e),e},createCheckboxSelect:function(t){var e,i,n=$('<fieldset class="checkbox-select"/>');t.class&&n.addClass(t.class),t.showAllOption?(e=t.allValue||"*",i=t.values==e,$("<div/>").appendTo(n).append(this.createCheckbox({id:t.id,class:"all",label:"<b>"+(t.allLabel||Craft.t("app","All"))+"</b>",name:t.name,value:e,checked:i,autofocus:t.autofocus}))):i=!1;for(var s=0;s<t.options.length;s++){var a=t.options[s];a.value!=e&&$("<div/>").appendTo(n).append(this.createCheckbox({label:a.label,name:t.name?t.name+"[]":null,value:a.value,checked:i||(t.values||[]).includes(a.value),disabled:i}))}return new Garnish.CheckboxSelect(n),n},createCheckboxSelectField:function(t){return t.fieldset=!0,t.id||(t.id="checkboxselect"+Math.floor(1e9*Math.random())),this.createField(this.createCheckboxSelect(t),t)},createLightswitch:function(t){var e=t.value||"1",i=t.indeterminateValue||"-",n=$("<button/>",{type:"button",class:"lightswitch","data-value":e,"data-indeterminate-value":i,id:t.id,role:"switch","aria-checked":t.on?"true":t.indeterminate?"mixed":"false","aria-labelledby":t.labelId,"data-target":t.toggle,"data-reverse-target":t.reverseToggle});return t.on?n.addClass("on"):t.indeterminate&&n.addClass("indeterminate"),t.small&&n.addClass("small"),t.disabled&&n.addClass("disabled"),$('<div class="lightswitch-container"><div class="handle"></div></div>').appendTo(n),t.name&&$("<input/>",{type:"hidden",name:t.name,value:t.on?e:t.indeterminate?i:"",disabled:t.disabled}).appendTo(n),(t.toggle||t.reverseToggle)&&(n.addClass("fieldtoggle"),new Craft.FieldToggle(n)),new Craft.LightSwitch(n,{onChange:t.onChange||$.noop}),n},createLightswitchField:function(t){return t.id||(t.id="lightswitch"+Math.floor(1e9*Math.random())),t.labelId||(t.labelId="".concat(t.id,"-label")),this.createField(this.createLightswitch(t),t).addClass("lightswitch-field")},createColorInput:function(t){var e=t.id||"color"+Math.floor(1e9*Math.random()),i=t.containerId||e+"-container",n=t.name||null,s=t.value||null,a=t.small||!1,r=t.autofocus&&Garnish.isMobileBrowser(!0),o=t.disabled||!1,l=$("<div/>",{id:i,class:"flex color-container"}),h=$("<div/>",{class:"color static"+(a?" small":"")}).appendTo(l),d=($("<div/>",{class:"color-preview",style:t.value?{backgroundColor:t.value}:null}).appendTo(h),$("<div/>",{class:"color-input-container"}).append($("<div/>",{class:"color-hex-indicator light code","aria-hidden":"true",text:"#"})).appendTo(l));return this.createTextInput({id:e,name:n,value:Craft.ltrim(s,"#"),size:10,class:"color-input",autofocus:r,disabled:o,"aria-label":Craft.t("app","Color hex value")}).appendTo(d),new Craft.ColorInput(l),l},createColorField:function(t){return t.fieldset=!0,o,t.id||(t.id="color"+Math.floor(1e9*Math.random())),this.createField(this.createColorInput(t),t)},createDateInput:function(t){var e=Garnish.isMobileBrowser(),i=(t.id||"date"+Math.floor(1e9*Math.random()))+"-date",n=t.name||null,s=n?n+"[date]":null,a=t.value&&"function"==typeof t.value.getMonth?t.value:null,r=t.autofocus&&Garnish.isMobileBrowser(!0),o=t.disabled||!1,l=$("<div/>",{class:"datewrapper"}),h=this.createTextInput({id:i,type:e?"date":"text",class:!(!e||a)&&"empty-value",name:s,value:a?e?a.toISOString().split("T")[0]:Craft.formatDate(a):"",placeholder:" ",autocomplete:!1,autofocus:r,disabled:o}).appendTo(l);return $('<div data-icon="date"></div>').appendTo(l),n&&$("<input/>",{type:"hidden",name:n+"[timezone]",val:Craft.timezone}).appendTo(l),e?h.datetimeinput():h.datepicker($.extend({defaultDate:a||new Date},Craft.datepickerOptions)),t.hasOuterContainer?l:$('<div class="datetimewrapper"/>').append(l).datetime()},createDateField:function(t){return t.id||(t.id="date"+Math.floor(1e9*Math.random())),this.createField(this.createDateInput(t),t)},createDateRangePicker:function(t){var e=new Date,i=new Date(e.getFullYear(),e.getMonth(),e.getDate());t=$.extend({class:"",options:["today","thisWeek","thisMonth","thisYear","past7Days","past30Days","past90Days","pastYear"],onChange:$.noop,selected:null,startDate:null,endDate:null},t);var n,s,a=$("<div/>",{class:"menu"}),r=$("<ul/>",{class:"padded"}).appendTo(a),o=$("<a/>").addClass("sel").text(Craft.t("app","All")).data("handle","all");$("<li/>").append(o).appendTo(r);for(var l=0;l<t.options.length;l++){var h=t.options[l];switch(h){case"today":n={label:Craft.t("app","Today"),startDate:i,endDate:i};break;case"thisWeek":var d=e.getDay()-Craft.datepickerOptions.firstDay;d<0&&(d+=7),n={label:Craft.t("app","This week"),startDate:new Date(e.getFullYear(),e.getMonth(),e.getDate()-d),endDate:i};break;case"thisMonth":n={label:Craft.t("app","This month"),startDate:new Date(e.getFullYear(),e.getMonth()),endDate:i};break;case"thisYear":n={label:Craft.t("app","This year"),startDate:new Date(e.getFullYear(),0),endDate:i};break;case"past7Days":n={label:Craft.t("app","Past {num} days",{num:7}),startDate:new Date(e.getFullYear(),e.getMonth(),e.getDate()-7),endDate:i};break;case"past30Days":n={label:Craft.t("app","Past {num} days",{num:30}),startDate:new Date(e.getFullYear(),e.getMonth(),e.getDate()-30),endDate:i};break;case"past90Days":n={label:Craft.t("app","Past {num} days",{num:90}),startDate:new Date(e.getFullYear(),e.getMonth(),e.getDate()-90),endDate:i};break;case"pastYear":n={label:Craft.t("app","Past year"),startDate:new Date(e.getFullYear(),e.getMonth(),e.getDate()-365),endDate:i}}var c=$("<li/>"),u=$("<a/>",{text:n.label}).data("handle",h).data("startDate",n.startDate).data("endDate",n.endDate).data("startTime",n.startDate?n.startDate.getTime():null).data("endTime",n.endDate?n.endDate.getTime():null);t.selected&&h==t.selected&&(s=u[0]),c.append(u),c.appendTo(r)}$("<hr/>").appendTo(a);var p=$("<div/>",{class:"flex flex-nowrap padded"}).appendTo(a),f=this.createDateField({label:Craft.t("app","From")}).appendTo(p).find("input"),g=this.createDateField({label:Craft.t("app","To")}).appendTo(p).find("input"),m=f.add(g);m.on("keyup",(function(t){t.keyCode===Garnish.ESC_KEY&&$(this).data("datepicker")&&$(this).data("datepicker").dpDiv.is(":visible")&&t.stopPropagation()})),f.data("datepicker")&&f.data("datepicker").dpDiv.on("mousedown",(function(t){t.stopPropagation()})),g.data("datepicker")&&g.data("datepicker").dpDiv.on("mousedown",(function(t){t.stopPropagation()}));var v=new Garnish.Menu(a,{onOptionSelect:function(e){var i=$(e);C.text(i.text()),v.setPositionRelativeToAnchor(),a.find(".sel").removeClass("sel"),i.addClass("sel"),f.hasClass("hasDatepicker")?(f.datepicker("setDate",i.data("startDate")),g.datepicker("setDate",i.data("endDate"))):(f.val(i.data("startDate")),g.val(i.data("endDate"))),t.onChange(i.data("startDate")||null,i.data("endDate")||null,i.data("handle"))}});m.on("change",(function(){var e=null,i=null;if(f.hasClass("hasDatepicker"))e=f.datepicker("getDate"),i=g.datepicker("getDate");else{var n=f.val();""!==n&&(e=new Date(Date.parse(n)));var s=g.val();""!==s&&(i=new Date(Date.parse(s)))}for(var o,l=e?e.getTime():null,h=i?i.getTime():null,d=r.find("a"),c=!1,u=0;u<d.length;u++)if(l===((o=d.eq(u)).data("startTime")||null)&&h===(o.data("endTime")||null)){v.selectOption(o[0]),c=!0,t.onChange(null,null,o.data("handle"));break}c||(a.find(".sel").removeClass("sel"),p.addClass("sel"),l||h?l&&h?C.text(f.val()+" - "+g.val()):l?C.text(Craft.t("app","From {date}",{date:f.val()})):C.text(Craft.t("app","To {date}",{date:g.val()})):C.text(Craft.t("app","All")),v.setPositionRelativeToAnchor(),t.onChange(e,i,"custom"))})),v.on("hide",(function(){f.datepicker("hide"),g.datepicker("hide")}));var b="btn menubtn";t.class&&(b=b+" "+t.class);var C=$("<button/>",{type:"button",class:b,"data-icon":"date",text:Craft.t("app","All")});if(new Garnish.MenuBtn(C,v),s&&v.selectOption(s),t.startDate)if(f.hasClass("hasDatepicker"))f.datepicker("setDate",t.startDate);else{var _=t.startDate.getTimezoneOffset(),y=new Date(t.startDate.getTime()-60*_*1e3);f.val(y.toISOString().split("T")[0])}if(t.endDate)if(g.hasClass("hasDatepicker"))g.datepicker("setDate",t.endDate);else{var w=t.endDate.getTimezoneOffset(),S=new Date(t.endDate.getTime()-60*w*1e3);g.val(S.toISOString().split("T")[0])}return(t.startDate||t.endDate)&&m.trigger("change"),C},createTimeInput:function(t){var e=Garnish.isMobileBrowser(),i=(t.id||"time"+Math.floor(1e9*Math.random()))+"-time",n=t.name||null,s=n?n+"[time]":null,a=t.value&&"function"==typeof t.value.getMonth?t.value:null,r=t.autofocus&&Garnish.isMobileBrowser(!0),o=t.disabled||!1,l=$("<div/>",{class:"timewrapper"}),h=this.createTextInput({id:i,type:e?"time":"text",class:!(!e||a)&&"empty-value",name:s,placeholder:" ",autocomplete:!1,autofocus:r,disabled:o}).appendTo(l);return $('<div data-icon="time"></div>').appendTo(l),n&&$("<input/>",{type:"hidden",name:n+"[timezone]",val:Craft.timezone}).appendTo(l),e?(a&&h.val(a.toISOString().split("T")[1]),h.datetimeinput()):(h.timepicker(Craft.timepickerOptions),a&&h.timepicker("setTime",3600*a.getHours()+60*a.getMinutes()+a.getSeconds())),t.hasOuterContainer?l:$('<div class="datetimewrapper"/>').append(l).datetime()},createTimeField:function(t){return t.id||(t.id="time"+Math.floor(1e9*Math.random())),this.createField(this.createTimeInput(t),t)},createField:function(t,e){var i=e.label&&"__blank__"!==e.label?e.label:null,n=$(e.fieldset?"<fieldset/>":"<div/>",{class:"field",id:e.fieldId||(e.id?e.id+"-field":null)});if(e.first&&n.addClass("first"),e.fieldClass&&n.addClass(e.fieldClass),i&&e.fieldset&&$("<legend/>",{text:i,class:"visually-hidden","data-label":i}).appendTo(n),i){var s=$('<div class="heading"/>').appendTo(n);$(e.fieldset?"<legend/>":"<label/>",{id:e.labelId||(e.id?"".concat(e.id,"-").concat(e.fieldset?"legend":"label"):null),class:e.required?"required":null,for:!e.fieldset&&e.id||null,text:i}).appendTo(s)}if(e.instructions&&$('<div class="instructions"/>').text(e.instructions).appendTo(n),$('<div class="input"/>').append(t).appendTo(n),e.tip){var a=$('<p class="notice has-icon"/>');$('<span class="icon" aria-hidden="true"/>').appendTo(a),$('<span class="visually-hidden"/>').text(Craft.t("app","Tip")+": ").appendTo(a),$("<span/>").text(e.tip).appendTo(a),a.appendTo(n)}if(e.warning){var r=$('<p class="warning has-icon"/>');$('<span class="icon" aria-hidden="true"/>').appendTo(r),$('<span class="visually-hidden"/>').text(Craft.t("app","Warning")+": ").appendTo(r),$("<span/>").text(e.warning).appendTo(r),r.appendTo(n)}return e.errors&&this.addErrorsToField(n,e.errors),n},createErrorList:function(t,e){var i=$('<ul class="errors" tabindex="-1"/>');return e&&i.attr("id",e),t&&this.addErrorsToList(i,t),i},addErrorsToList:function(t,e){for(var i=0;i<e.length;i++)$("<li/>").text(e[i].replaceAll("*","")).appendTo(t)},addErrorsToField:function(t,e){if(e){t.addClass("has-errors"),t.children(".input").addClass("errors");var i=t.attr("id"),n="";i&&(n=i.replace(new RegExp("(-field)$"),"-errors"));var s=t.children("ul.errors");s.length||(s=this.createErrorList(null,n).appendTo(t)),this.addErrorsToList(s,e)}},clearErrorsFromField:function(t){t.removeClass("has-errors"),t.children(".input").removeClass("errors"),t.children("ul.errors").remove()},clearErrorSummary:function(t){t.prev(".error-summary").remove()},setFocusOnErrorSummary:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=t.find(".error-summary");n.length>0&&(n.focus(),n.find("a").on("click",(function(n){0==$(n.currentTarget).hasClass("cross-site-validate")&&(n.preventDefault(),e.anchorSummaryErrorToField(n.currentTarget,t,i))})))},findErrorsContainerByErrorKey:function(t,e,i){i=this._getPreppedNamespace(i);var n,s,a=e.split(/[\[\]\.]/).filter((function(t){return t}));if(void 0!==a[0])if(void 0===a[2])n=new RegExp("^".concat(i,"fields-").concat(a[0],".*-errors"));else{n=new RegExp("^".concat(i,"fields-").concat(a[0],".*-"));for(var r=Math.ceil(a.length/2)-1,o=0,l=0;l<r;l++){o+=2;var h;h=l==r-1?new RegExp("fields-".concat(a[o],"-errors")):new RegExp("fields-".concat(a[o],".*-")),n=new RegExp(n.source+h.source)}}return n&&(s=(s=t.find("ul.errors").filter((function(){return this.id.match(n)}))).length>1&&void 0!==a[a.length-2]?s[a[a.length-2]]:s[0]),$(s)},anchorSummaryErrorToField:function(t,e,i){var n=$(t).attr("data-field-error-key");if(n){var s=this.findErrorsContainerByErrorKey(e,n,i);if(s){var a=this.findTabAnchorForField(s,e,i);a&&"false"==a.attr("aria-selected")&&a.click();var r=s.parents(".collapsed, .is-collapsed");if(r.length>0)for(var o=r.length;o>0;o--){var l=$(r[o-1]);null!=l.data("block")?l.data("block").expand():l.find(".titlebar").trigger("doubletap")}var h=s.parents(".field:first");h.is(":visible")?h.attr("tabindex","-1").focus():setTimeout((function(){h.attr("tabindex","-1").focus()}),201)}}},findTabAnchorForField:function(t,e,i){i=this._getPreppedNamespace(i);var n=t.parents("div[id^=".concat(i,'tab][role="tabpanel"]')),s=e.find('[role="tablist"]').find('a[href="#'+n.attr("id")+'"]');return $(s)},getAutofocusValue:function(t){return t&&!Garnish.isMobileBrowser(!0)?"autofocus":null},getDisabledValue:function(t){return t?"disabled":null},_getPreppedNamespace:function(t){return""!==t?t+="-":t}}},1752:function(){function t(t,i){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var n,s,a=[],r=!0,o=!1;try{for(i=i.call(t);!(r=(n=i.next()).done)&&(a.push(n.value),!e||a.length!==e);r=!0);}catch(t){o=!0,s=t}finally{try{r||null==i.return||i.return()}finally{if(o)throw s}}return a}}(t,i)||function(t,i){if(t){if("string"==typeof t)return e(t,i);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e(t,i):void 0}}(t,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}Craft.Uploader=Craft.BaseUploader.extend({uploader:null,_totalFileCounter:0,_validFileCounter:0,_onFileAdd:null,init:function(e,i){var n=this;i=$.extend({},Craft.Uploader.defaults,i),this.base(e,i),delete this.settings.events,this.uploader=this.$element.fileupload(this.settings),Object.entries(this.events).forEach((function(e){var i=t(e,2),s=i[0],a=i[1];n.$element.on(s,a)})),this._onFileAdd=this.onFileAdd.bind(this),this.$element.on("fileuploadadd",this._onFileAdd)},setParams:function(t){this.base(t),this.uploader.data("blueimpFileupload")&&this.uploader.fileupload("option",{formData:this.formData})},getInProgress:function(){return this.uploader.fileupload("active")},onFileAdd:function(t,e){var i=this;t.stopPropagation();var n=!1;return this.allowedKinds&&(this._extensionList||this._createExtensionList(),n=!0),e.process().done((function(){var t=e.files[0],s=!0;if(n){var a=t.name.match(/\.([a-z0-4_]+)$/i)[1];-1===$.inArray(a.toLowerCase(),i._extensionList)&&(s=!1,i._rejectedFiles.type.push("“"+t.name+"”"))}t.size>i.settings.maxFileSize&&(i._rejectedFiles.size.push("“"+t.name+"”"),s=!1),s&&"function"==typeof i.settings.canAddMoreFiles&&!i.settings.canAddMoreFiles(i._validFileCounter)&&(i._rejectedFiles.limit.push("“"+t.name+"”"),s=!1),s&&(i._validFileCounter++,e.submit()),++i._totalFileCounter===e.originalFiles.length&&(i._totalFileCounter=0,i._validFileCounter=0,i.processErrorMessages())})),!0},destroy:function(){var e=this;this.uploader.fileupload("instance")&&this.uploader.fileupload("destroy"),this.$element.off("fileuploadadd",this._onFileAdd),Object.entries(this.events).forEach((function(i){var n=t(i,2),s=n[0],a=n[1];e.$element.off(s,a)}))}},{defaults:{autoUpload:!1,sequentialUploads:!0,maxFileSize:Craft.maxUploadSize,replaceFileInput:!1,createAction:"assets/upload",replaceAction:"assets/replace-file",deleteAction:"assets/delete-asset"}})},7e3:function(){Craft.UriFormatGenerator=Craft.BaseInputGenerator.extend({generateTargetValue:function(t){return t=(t=t.replace(/<(.*?)>/g,"")).toLowerCase(),t=(t=(t=Craft.asciiString(t)).replace(/^[^a-z]+/,"")).replace(/[^a-z0-9]+$/,""),Craft.filterArray(t.split(/[^a-z0-9]+/)).join(Craft.slugWordSeparator)}})},8654:function(){Craft.UserIndex=Craft.BaseElementIndex.extend({init:function(t,e,i){this.on("selectSource",this.updateUrl.bind(this)),this.base(t,e,i)},getDefaultSourceKey:function(){if("index"===this.settings.context&&"undefined"!=typeof defaultSourceSlug)for(var t=0;t<this.$sources.length;t++){var e=$(this.$sources[t]);if(e.data("slug")===defaultSourceSlug)return e.data("key")}return this.base()},updateUrl:function(){if("index"===this.settings.context){var t="users",e=this.$source.data("slug");e&&(t+="/".concat(e)),Craft.setPath(t)}}}),Craft.registerElementIndexClass("craft\\elements\\User",Craft.UserIndex)},9712:function(){Craft.VolumeFolderSelectorModal=Craft.BaseElementSelectorModal.extend({init:function(t){(t=Object.assign({},Craft.VolumeFolderSelectorModal.defaults,t,{showSiteMenu:!1})).indexSettings.disabledFolderIds=t.disabledFolderIds,this.base("craft\\elements\\Asset",t)},getElementIndexParams:function(){return Object.assign({},this.base(),{foldersOnly:!0})},shouldEnableSelectBtn:function(){var t;return!!this.base()||(null===(t=this.elementIndex)||void 0===t?void 0:t.sourcePath.length)&&void 0!==this.elementIndex.sourcePath[this.elementIndex.sourcePath.length-1].folderId&&!this.settings.disabledFolderIds.includes(this.elementIndex.sourcePath[this.elementIndex.sourcePath.length-1].folderId)},selectElements:function(t){if(this.hasSelection())this.base();else if(this.$selectBtn&&(null==t?void 0:t.currentTarget)===this.$selectBtn[0]&&this.shouldEnableSelectBtn()){var e=this.elementIndex.sourcePath[this.elementIndex.sourcePath.length-1].folderId;this.onSelect([{folderId:e}]),this.settings.hideOnSelect&&this.hide()}},getElementInfo:function(t){for(var e=[],i=0;i<t.length;i++){var n=t.eq(i).find(".element:first"),s=parseInt(n.data("folder-id"));e.push({folderId:s})}return e},getIndexSettings:function(){return Object.assign(this.base(),{foldersOnly:!0,viewSettings:function(){return{canSelectElement:function(t){return t=t.find(".element:first"),Garnish.hasAttr(t,"data-folder-id")}}}})}},{defaults:{disabledFolderIds:[],indexSettings:{}}})},5537:function(){},9383:function(){},6558:function(t,e,i){var n=i(5537);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[t.id,n,""]]),n.locals&&(t.exports=n.locals),(0,i(9673).Z)("3790022a",n,!0,{})},2179:function(t,e,i){var n=i(9383);n.__esModule&&(n=n.default),"string"==typeof n&&(n=[[t.id,n,""]]),n.locals&&(t.exports=n.locals),(0,i(9673).Z)("80058a3c",n,!0,{})},9673:function(t,e,i){"use strict";function n(t,e){for(var i=[],n={},s=0;s<e.length;s++){var a=e[s],r=a[0],o={id:t+":"+s,css:a[1],media:a[2],sourceMap:a[3]};n[r]?n[r].parts.push(o):i.push(n[r]={id:r,parts:[o]})}return i}i.d(e,{Z:function(){return f}});var s="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!s)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var a={},r=s&&(document.head||document.getElementsByTagName("head")[0]),o=null,l=0,h=!1,d=function(){},c=null,u="data-vue-ssr-id",p="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function f(t,e,i,s){h=i,c=s||{};var r=n(t,e);return g(r),function(e){for(var i=[],s=0;s<r.length;s++){var o=r[s];(l=a[o.id]).refs--,i.push(l)}for(e?g(r=n(t,e)):r=[],s=0;s<i.length;s++){var l;if(0===(l=i[s]).refs){for(var h=0;h<l.parts.length;h++)l.parts[h]();delete a[l.id]}}}}function g(t){for(var e=0;e<t.length;e++){var i=t[e],n=a[i.id];if(n){n.refs++;for(var s=0;s<n.parts.length;s++)n.parts[s](i.parts[s]);for(;s<i.parts.length;s++)n.parts.push(v(i.parts[s]));n.parts.length>i.parts.length&&(n.parts.length=i.parts.length)}else{var r=[];for(s=0;s<i.parts.length;s++)r.push(v(i.parts[s]));a[i.id]={id:i.id,refs:1,parts:r}}}}function m(){var t=document.createElement("style");return t.type="text/css",r.appendChild(t),t}function v(t){var e,i,n=document.querySelector("style["+u+'~="'+t.id+'"]');if(n){if(h)return d;n.parentNode.removeChild(n)}if(p){var s=l++;n=o||(o=m()),e=C.bind(null,n,s,!1),i=C.bind(null,n,s,!0)}else n=m(),e=_.bind(null,n),i=function(){n.parentNode.removeChild(n)};return e(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;e(t=n)}else i()}}var b,$=(b=[],function(t,e){return b[t]=e,b.filter(Boolean).join("\n")});function C(t,e,i,n){var s=i?"":n.css;if(t.styleSheet)t.styleSheet.cssText=$(e,s);else{var a=document.createTextNode(s),r=t.childNodes;r[e]&&t.removeChild(r[e]),r.length?t.insertBefore(a,r[e]):t.appendChild(a)}}function _(t,e){var i=e.css,n=e.media,s=e.sourceMap;if(n&&t.setAttribute("media",n),c.ssrId&&t.setAttribute(u,e.id),s&&(i+="\n/*# sourceURL="+s.sources[0]+" */",i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(s))))+" */"),t.styleSheet)t.styleSheet.cssText=i;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(i))}}}},__webpack_module_cache__={};function __webpack_require__(t){var e=__webpack_module_cache__[t];if(void 0!==e)return e.exports;var i=__webpack_module_cache__[t]={id:t,exports:{}};return __webpack_modules__[t](i,i.exports,__webpack_require__),i.exports}__webpack_require__.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return __webpack_require__.d(e,{a:e}),e},__webpack_require__.d=function(t,e){for(var i in e)__webpack_require__.o(e,i)&&!__webpack_require__.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},__webpack_require__.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};var __webpack_exports__={};!function(){"use strict";__webpack_require__(2179),__webpack_require__(6558),__webpack_require__(587),__webpack_require__(1592),__webpack_require__(8960),__webpack_require__(5774),__webpack_require__(8495),__webpack_require__(5970),__webpack_require__(4993),__webpack_require__(8843),__webpack_require__(4918),__webpack_require__(5759),__webpack_require__(8167),__webpack_require__(4211),__webpack_require__(7745),__webpack_require__(8895),__webpack_require__(463),__webpack_require__(3839),__webpack_require__(7452),__webpack_require__(6872),__webpack_require__(2495),__webpack_require__(1016),__webpack_require__(5077),__webpack_require__(4606),__webpack_require__(8391),__webpack_require__(9222),__webpack_require__(525),__webpack_require__(3778),__webpack_require__(6617),__webpack_require__(9482),__webpack_require__(3352),__webpack_require__(691),__webpack_require__(1519),__webpack_require__(501),__webpack_require__(2318),__webpack_require__(4755),__webpack_require__(8468),__webpack_require__(5049),__webpack_require__(7998),__webpack_require__(4233),__webpack_require__(9699),__webpack_require__(1402),__webpack_require__(9871),__webpack_require__(8201),__webpack_require__(7606),__webpack_require__(9712),__webpack_require__(3347),__webpack_require__(9478),__webpack_require__(2387),__webpack_require__(7966),__webpack_require__(657),__webpack_require__(4487),__webpack_require__(6966),__webpack_require__(5080),__webpack_require__(7439),__webpack_require__(5328),__webpack_require__(6419),__webpack_require__(872),__webpack_require__(1396),__webpack_require__(4070),__webpack_require__(5763),__webpack_require__(5185),__webpack_require__(8030),__webpack_require__(3096),__webpack_require__(3331),__webpack_require__(53),__webpack_require__(5074),__webpack_require__(3958),__webpack_require__(3079),__webpack_require__(1752),__webpack_require__(7e3),__webpack_require__(8654)}()})(); //# sourceMappingURL=cp.js.map
/srv/users/craft4/apps/craft4-newsite-space/public/f7c78/../cpresources/7acb0f10/cp.js