=e.width&&n.height>=e.height?$:u),At(this.cropBox,pt({width:n.width,height:n.height},Nt({translateX:n.left,translateY:n.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Bt(this.element,D,this.getData())}},Zt={initPreview:function(){var t=this.element,e=this.crossOrigin,n=this.options.preview,a=e?this.crossOriginUrl:this.url,i=t.alt||"The image to preview",r=document.createElement("img");if(e&&(r.crossOrigin=e),r.src=a,r.alt=i,this.viewBox.appendChild(r),this.viewBoxImage=r,n){var o=n;"string"==typeof n?o=t.ownerDocument.querySelectorAll(n):n.querySelector&&(o=[n]),this.previews=o,ct(o,(function(t){var n=document.createElement("img");bt(t,L,{width:t.offsetWidth,height:t.offsetHeight,html:t.innerHTML}),e&&(n.crossOrigin=e),n.src=a,n.alt=i,n.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',t.innerHTML="",t.appendChild(n)}))}},resetPreview:function(){ct(this.previews,(function(t){var e=yt(t,L);At(t,{width:e.width,height:e.height}),t.innerHTML=e.html,function(t,e){if(it(t[e]))try{delete t[e]}catch(n){t[e]=void 0}else if(t.dataset)try{delete t.dataset[e]}catch(n){t.dataset[e]=void 0}else t.removeAttribute("data-".concat(Ct(e)))}(t,L)}))},preview:function(){var t=this.imageData,e=this.canvasData,n=this.cropBoxData,a=n.width,i=n.height,r=t.width,o=t.height,d=n.left-e.left-t.left,s=n.top-e.top-t.top;this.cropped&&!this.disabled&&(At(this.viewBoxImage,pt({width:r,height:o},Nt(pt({translateX:-d,translateY:-s},t)))),ct(this.previews,(function(e){var n=yt(e,L),l=n.width,c=n.height,p=l,u=c,h=1;a&&(u=i*(h=l/a)),i&&u>c&&(p=a*(h=c/i),u=c),At(e,{width:p,height:u}),At(e.getElementsByTagName("img")[0],pt({width:r*h,height:o*h},Nt(pt({translateX:-d*h,translateY:-s*h},t))))})))}},Ft={bind:function(){var t=this.element,e=this.options,n=this.cropper;dt(e.cropstart)&&It(t,R,e.cropstart),dt(e.cropmove)&&It(t,T,e.cropmove),dt(e.cropend)&&It(t,j,e.cropend),dt(e.crop)&&It(t,D,e.crop),dt(e.zoom)&&It(t,G,e.zoom),It(n,F,this.onCropStart=this.cropStart.bind(this)),e.zoomable&&e.zoomOnWheel&&It(n,Y,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&It(n,Z,this.onDblclick=this.dblclick.bind(this)),It(t.ownerDocument,U,this.onCropMove=this.cropMove.bind(this)),It(t.ownerDocument,H,this.onCropEnd=this.cropEnd.bind(this)),e.responsive&&It(window,W,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,e=this.options,n=this.cropper;dt(e.cropstart)&&Et(t,R,e.cropstart),dt(e.cropmove)&&Et(t,T,e.cropmove),dt(e.cropend)&&Et(t,j,e.cropend),dt(e.crop)&&Et(t,D,e.crop),dt(e.zoom)&&Et(t,G,e.zoom),Et(n,F,this.onCropStart),e.zoomable&&e.zoomOnWheel&&Et(n,Y,this.onWheel,{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&Et(n,Z,this.onDblclick),Et(t.ownerDocument,U,this.onCropMove),Et(t.ownerDocument,H,this.onCropEnd),e.responsive&&Et(window,W,this.onResize)}},Ut={resize:function(){if(!this.disabled){var t,e,n=this.options,a=this.container,i=this.containerData,r=a.offsetWidth/i.width,o=a.offsetHeight/i.height,d=Math.abs(r-1)>Math.abs(o-1)?r:o;1!==d&&(n.restore&&(t=this.getCanvasData(),e=this.getCropBoxData()),this.render(),n.restore&&(this.setCanvasData(ct(t,(function(e,n){t[n]=e*d}))),this.setCropBoxData(ct(e,(function(t,n){e[n]=t*d})))))}},dblclick:function(){var t,e;this.disabled||this.options.dragMode===M||this.setDragMode((t=this.dragBox,e=w,(t.classList?t.classList.contains(e):t.className.indexOf(e)>-1)?k:N))},wheel:function(t){var e=this,n=Number(this.options.wheelZoomRatio)||.1,a=1;this.disabled||(t.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout((function(){e.wheeling=!1}),50),t.deltaY?a=t.deltaY>0?1:-1:t.wheelDelta?a=-t.wheelDelta/120:t.detail&&(a=t.detail>0?1:-1),this.zoom(-a*n,t)))},cropStart:function(t){var e=t.buttons,n=t.button;if(!(this.disabled||("mousedown"===t.type||"pointerdown"===t.type&&"mouse"===t.pointerType)&&(et(e)&&1!==e||et(n)&&0!==n||t.ctrlKey))){var a,i=this.options,r=this.pointers;t.changedTouches?ct(t.changedTouches,(function(t){r[t.identifier]=kt(t)})):r[t.pointerId||0]=kt(t),a=Object.keys(r).length>1&&i.zoomable&&i.zoomOnTouch?A:yt(t.target,P),X.test(a)&&!1!==Bt(this.element,R,{originalEvent:t,action:a})&&(t.preventDefault(),this.action=a,this.cropping=!1,a===h&&(this.cropping=!0,mt(this.dragBox,S)))}},cropMove:function(t){var e=this.action;if(!this.disabled&&e){var n=this.pointers;t.preventDefault(),!1!==Bt(this.element,T,{originalEvent:t,action:e})&&(t.changedTouches?ct(t.changedTouches,(function(t){pt(n[t.identifier]||{},kt(t,!0))})):pt(n[t.pointerId||0]||{},kt(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var e=this.action,n=this.pointers;t.changedTouches?ct(t.changedTouches,(function(t){delete n[t.identifier]})):delete n[t.pointerId||0],e&&(t.preventDefault(),Object.keys(n).length||(this.action=""),this.cropping&&(this.cropping=!1,gt(this.dragBox,S,this.cropped&&this.options.modal)),Bt(this.element,j,{originalEvent:t,action:e}))}}},Ht={change:function(t){var n,a=this.options,i=this.canvasData,r=this.containerData,o=this.cropBoxData,d=this.pointers,s=this.action,l=a.aspectRatio,c=o.left,p=o.top,w=o.width,E=o.height,B=c+w,_=p+E,S=0,O=0,P=r.width,L=r.height,N=!0;!l&&t.shiftKey&&(l=w&&E?w/E:1),this.limited&&(S=o.minLeft,O=o.minTop,P=S+Math.min(r.width,i.width,i.left+i.width),L=O+Math.min(r.height,i.height,i.top+i.height));var k=d[Object.keys(d)[0]],M={x:k.endX-k.startX,y:k.endY-k.startY},D=function(t){switch(t){case m:B+M.x>P&&(M.x=P-B);break;case f:c+M.xL&&(M.y=L-_)}};switch(s){case u:c+=M.x,p+=M.y;break;case m:if(M.x>=0&&(B>=P||l&&(p<=O||_>=L))){N=!1;break}D(m),(w+=M.x)<0&&(s=f,c-=w=-w),l&&(E=w/l,p+=(o.height-E)/2);break;case v:if(M.y<=0&&(p<=O||l&&(c<=S||B>=P))){N=!1;break}D(v),E-=M.y,p+=M.y,E<0&&(s=g,p-=E=-E),l&&(w=E*l,c+=(o.width-w)/2);break;case f:if(M.x<=0&&(c<=S||l&&(p<=O||_>=L))){N=!1;break}D(f),w-=M.x,c+=M.x,w<0&&(s=m,c-=w=-w),l&&(E=w/l,p+=(o.height-E)/2);break;case g:if(M.y>=0&&(_>=L||l&&(c<=S||B>=P))){N=!1;break}D(g),(E+=M.y)<0&&(s=v,p-=E=-E),l&&(w=E*l,c+=(o.width-w)/2);break;case C:if(l){if(M.y<=0&&(p<=O||B>=P)){N=!1;break}D(v),E-=M.y,p+=M.y,w=E*l}else D(v),D(m),M.x>=0?BO&&(E-=M.y,p+=M.y):(E-=M.y,p+=M.y);w<0&&E<0?(s=x,p-=E=-E,c-=w=-w):w<0?(s=y,c-=w=-w):E<0&&(s=b,p-=E=-E);break;case y:if(l){if(M.y<=0&&(p<=O||c<=S)){N=!1;break}D(v),E-=M.y,p+=M.y,w=E*l,c+=o.width-w}else D(v),D(f),M.x<=0?c>S?(w-=M.x,c+=M.x):M.y<=0&&p<=O&&(N=!1):(w-=M.x,c+=M.x),M.y<=0?p>O&&(E-=M.y,p+=M.y):(E-=M.y,p+=M.y);w<0&&E<0?(s=b,p-=E=-E,c-=w=-w):w<0?(s=C,c-=w=-w):E<0&&(s=x,p-=E=-E);break;case x:if(l){if(M.x<=0&&(c<=S||_>=L)){N=!1;break}D(f),w-=M.x,c+=M.x,E=w/l}else D(g),D(f),M.x<=0?c>S?(w-=M.x,c+=M.x):M.y>=0&&_>=L&&(N=!1):(w-=M.x,c+=M.x),M.y>=0?_=0&&(B>=P||_>=L)){N=!1;break}D(m),E=(w+=M.x)/l}else D(g),D(m),M.x>=0?B=0&&_>=L&&(N=!1):w+=M.x,M.y>=0?_Math.abs(a)&&(a=s)}))})),a}(d),t),N=!1;break;case h:if(!M.x||!M.y){N=!1;break}n=_t(this.cropper),c=k.startX-n.left,p=k.startY-n.top,w=o.minWidth,E=o.minHeight,M.x>0?s=M.y>0?b:C:M.x<0&&(c-=w,s=M.y>0?x:y),M.y<0&&(p-=E),this.cropped||(ft(this.cropBox,I),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}N&&(o.width=w,o.height=E,o.left=c,o.top=p,this.action=s,this.renderCropBox()),ct(d,(function(t){t.startX=t.endX,t.startY=t.endY}))}},zt={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&mt(this.dragBox,S),ft(this.cropBox,I),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=pt({},this.initialImageData),this.canvasData=pt({},this.initialCanvasData),this.cropBoxData=pt({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(pt(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),ft(this.dragBox,S),mt(this.cropBox,I)),this},replace:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&t&&(this.isImg&&(this.element.src=t),e?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,ct(this.previews,(function(e){e.getElementsByTagName("img")[0].src=t})))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(t))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,ft(this.cropper,E)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,mt(this.cropper,E)),this},destroy:function(){var t=this.element;return t[p]?(t[p]=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,n=this.canvasData,a=n.left,i=n.top;return this.moveTo(at(t)?t:a+Number(t),at(e)?e:i+Number(e))},moveTo:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,n=this.canvasData,a=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.movable&&(et(t)&&(n.left=t,a=!0),et(e)&&(n.top=e,a=!0),a&&this.renderCanvas(!0)),this},zoom:function(t,e){var n=this.canvasData;return t=(t=Number(t))<0?1/(1-t):1+t,this.zoomTo(n.width*t/n.naturalWidth,null,e)},zoomTo:function(t,e,n){var a=this.options,i=this.canvasData,r=i.width,o=i.height,d=i.naturalWidth,s=i.naturalHeight;if((t=Number(t))>=0&&this.ready&&!this.disabled&&a.zoomable){var l=d*t,c=s*t;if(!1===Bt(this.element,G,{ratio:t,oldRatio:r/d,originalEvent:n}))return this;if(n){var p=this.pointers,u=_t(this.cropper),h=p&&Object.keys(p).length?function(t){var e=0,n=0,a=0;return ct(t,(function(t){var i=t.startX,r=t.startY;e+=i,n+=r,a+=1})),{pageX:e/=a,pageY:n/=a}}(p):{pageX:n.pageX,pageY:n.pageY};i.left-=(l-r)*((h.pageX-u.left-i.left)/r),i.top-=(c-o)*((h.pageY-u.top-i.top)/o)}else ot(e)&&et(e.x)&&et(e.y)?(i.left-=(l-r)*((e.x-i.left)/r),i.top-=(c-o)*((e.y-i.top)/o)):(i.left-=(l-r)/2,i.top-=(c-o)/2);i.width=l,i.height=c,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return et(t=Number(t))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var e=this.imageData.scaleY;return this.scale(t,et(e)?e:1)},scaleY:function(t){var e=this.imageData.scaleX;return this.scale(et(e)?e:1,t)},scale:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,n=this.imageData,a=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.scalable&&(et(t)&&(n.scaleX=t,a=!0),et(e)&&(n.scaleY=e,a=!0),a&&this.renderCanvas(!0,!0)),this},getData:function(){var t,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=this.options,a=this.imageData,i=this.canvasData,r=this.cropBoxData;if(this.ready&&this.cropped){t={x:r.left-i.left,y:r.top-i.top,width:r.width,height:r.height};var o=a.width/a.naturalWidth;if(ct(t,(function(e,n){t[n]=e/o})),e){var d=Math.round(t.y+t.height),s=Math.round(t.x+t.width);t.x=Math.round(t.x),t.y=Math.round(t.y),t.width=s-t.x,t.height=d-t.y}}else t={x:0,y:0,width:0,height:0};return n.rotatable&&(t.rotate=a.rotate||0),n.scalable&&(t.scaleX=a.scaleX||1,t.scaleY=a.scaleY||1),t},setData:function(t){var e=this.options,n=this.imageData,a=this.canvasData,i={};if(this.ready&&!this.disabled&&ot(t)){var r=!1;e.rotatable&&et(t.rotate)&&t.rotate!==n.rotate&&(n.rotate=t.rotate,r=!0),e.scalable&&(et(t.scaleX)&&t.scaleX!==n.scaleX&&(n.scaleX=t.scaleX,r=!0),et(t.scaleY)&&t.scaleY!==n.scaleY&&(n.scaleY=t.scaleY,r=!0)),r&&this.renderCanvas(!0,!0);var o=n.width/n.naturalWidth;et(t.x)&&(i.left=t.x*o+a.left),et(t.y)&&(i.top=t.y*o+a.top),et(t.width)&&(i.width=t.width*o),et(t.height)&&(i.height=t.height*o),this.setCropBoxData(i)}return this},getContainerData:function(){return this.ready?pt({},this.containerData):{}},getImageData:function(){return this.sized?pt({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,e={};return this.ready&&ct(["left","top","width","height","naturalWidth","naturalHeight"],(function(n){e[n]=t[n]})),e},setCanvasData:function(t){var e=this.canvasData,n=e.aspectRatio;return this.ready&&!this.disabled&&ot(t)&&(et(t.left)&&(e.left=t.left),et(t.top)&&(e.top=t.top),et(t.width)?(e.width=t.width,e.height=t.width/n):et(t.height)&&(e.height=t.height,e.width=t.height*n),this.renderCanvas(!0)),this},getCropBoxData:function(){var t,e=this.cropBoxData;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(t){var e,n,a=this.cropBoxData,i=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&ot(t)&&(et(t.left)&&(a.left=t.left),et(t.top)&&(a.top=t.top),et(t.width)&&t.width!==a.width&&(e=!0,a.width=t.width),et(t.height)&&t.height!==a.height&&(n=!0,a.height=t.height),i&&(e?a.height=a.width/i:n&&(a.width=a.height*i)),this.renderCropBox()),this},getCroppedCanvas:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var e=this.canvasData,n=function(t,e,n,a){var r=e.aspectRatio,o=e.naturalWidth,d=e.naturalHeight,s=e.rotate,l=void 0===s?0:s,c=e.scaleX,p=void 0===c?1:c,u=e.scaleY,h=void 0===u?1:u,$=n.aspectRatio,A=n.naturalWidth,m=n.naturalHeight,f=a.fillColor,g=void 0===f?"transparent":f,v=a.imageSmoothingEnabled,C=void 0===v||v,y=a.imageSmoothingQuality,b=void 0===y?"low":y,x=a.maxWidth,w=void 0===x?1/0:x,E=a.maxHeight,I=void 0===E?1/0:E,B=a.minWidth,_=void 0===B?0:B,S=a.minHeight,O=void 0===S?0:S,P=document.createElement("canvas"),L=P.getContext("2d"),N=Mt({aspectRatio:$,width:w,height:I}),k=Mt({aspectRatio:$,width:_,height:O},"cover"),M=Math.min(N.width,Math.max(k.width,A)),D=Math.min(N.height,Math.max(k.height,m)),j=Mt({aspectRatio:r,width:w,height:I}),T=Mt({aspectRatio:r,width:_,height:O},"cover"),R=Math.min(j.width,Math.max(T.width,o)),Z=Math.min(j.height,Math.max(T.height,d)),F=[-R/2,-Z/2,R,Z];return P.width=ht(M),P.height=ht(D),L.fillStyle=g,L.fillRect(0,0,M,D),L.save(),L.translate(M/2,D/2),L.rotate(l*Math.PI/180),L.scale(p,h),L.imageSmoothingEnabled=C,L.imageSmoothingQuality=b,L.drawImage.apply(L,[t].concat(i(F.map((function(t){return Math.floor(ht(t))}))))),L.restore(),P}(this.image,this.imageData,e,t);if(!this.cropped)return n;var a=this.getData(t.rounded),r=a.x,o=a.y,d=a.width,s=a.height,l=n.width/Math.floor(e.naturalWidth);1!==l&&(r*=l,o*=l,d*=l,s*=l);var c=d/s,p=Mt({aspectRatio:c,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),u=Mt({aspectRatio:c,width:t.minWidth||0,height:t.minHeight||0},"cover"),h=Mt({aspectRatio:c,width:t.width||(1!==l?n.width:d),height:t.height||(1!==l?n.height:s)}),$=h.width,A=h.height;$=Math.min(p.width,Math.max(u.width,$)),A=Math.min(p.height,Math.max(u.height,A));var m=document.createElement("canvas"),f=m.getContext("2d");m.width=ht($),m.height=ht(A),f.fillStyle=t.fillColor||"transparent",f.fillRect(0,0,$,A);var g=t.imageSmoothingEnabled,v=void 0===g||g,C=t.imageSmoothingQuality;f.imageSmoothingEnabled=v,C&&(f.imageSmoothingQuality=C);var y,b,x,w,E,I,B=n.width,_=n.height,S=r,O=o;S<=-d||S>B?(S=0,y=0,x=0,E=0):S<=0?(x=-S,S=0,E=y=Math.min(B,d+S)):S<=B&&(x=0,E=y=Math.min(d,B-S)),y<=0||O<=-s||O>_?(O=0,b=0,w=0,I=0):O<=0?(w=-O,O=0,I=b=Math.min(_,s+O)):O<=_&&(w=0,I=b=Math.min(s,_-O));var P=[S,O,y,b];if(E>0&&I>0){var L=$/d;P.push(x*L,w*L,E*L,I*L)}return f.drawImage.apply(f,[n].concat(i(P.map((function(t){return Math.floor(ht(t))}))))),m},setAspectRatio:function(t){var e=this.options;return this.disabled||at(t)||(e.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var e=this.options,n=this.dragBox,a=this.face;if(this.ready&&!this.disabled){var i=t===N,r=e.movable&&t===k;t=i||r?t:M,e.dragMode=t,bt(n,P,t),gt(n,w,i),gt(n,O,r),e.cropBoxMovable||(bt(a,P,t),gt(a,w,i),gt(a,O,r))}return this}},Wt=s.Cropper,Yt=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e||!Q.test(e.tagName))throw new Error("The first argument is required and must be an or