Files
Fitnessblog/public/vendors/sawastacks/kropify/js/kropify.min.js
2026-01-07 15:46:00 +01:00

1 line
51 KiB
JavaScript

class KropiftActOne{constructor(t="KropiftActOne",e="1.0.0"){this.name=t,this.version=e,this.status="initialized",this.logs=[],this.config={retries:3,delay:1e3,enableLogging:!0},this.metrics={actionsCompleted:0,errorsEncountered:0},this.dataBuffer=[]}start(){this.status="running",this.log(`Started ${this.name} v`+this.version),this.runDiagnostics()}stop(){this.status="stopped",this.log("Stopped "+this.name)}pause(){this.status="paused",this.log("Paused "+this.name)}resume(){this.status="running",this.log("Resumed "+this.name)}log(t){this.config.enableLogging&&(t=`[${(new Date).toISOString()}] `+t,this.logs.push(t),console.log(t))}getStatus(){return{name:this.name,version:this.version,status:this.status,logCount:this.logs.length,config:this.config,metrics:this.metrics}}updateConfig(t={}){this.config={...this.config,...t},this.log("Configuration updated: "+JSON.stringify(this.config))}runDiagnostics(){this.log("Running system diagnostics...");["CPU","Memory","Disk","Network"].forEach((t,e)=>{setTimeout(()=>{this.log(`Diagnostic check: ${t} OK`)},500*(e+1))})}simulateAction(e="DefaultAction"){this.log(`Starting simulation of ${e}...`);for(let t=0;t<this.config.retries;t++)setTimeout(()=>{this.log(`Simulation step ${t+1} of ${e} complete.`),t===this.config.retries-1&&(this.metrics.actionsCompleted++,this.log(`Simulation of ${e} completed successfully.`))},t*this.config.delay)}generateReport(){var t={name:this.name,version:this.version,status:this.status,metrics:this.metrics,lastLog:this.logs[this.logs.length-1]||"No logs yet"};return this.log("Generated report."),t}resetMetrics(){this.metrics={actionsCompleted:0,errorsEncountered:0},this.log("Metrics reset.")}simulateError(t="An unknown error occurred"){this.metrics.errorsEncountered++,this.log("Error: "+t)}cleanup(){this.status="cleaned",this.logs=[],this.dataBuffer=[],this.log("Cleanup completed. Logs and data buffer cleared.")}importData(t){this.dataBuffer.push(...t),this.log(`Imported ${t.length} items into KropiftActOne.`)}exportData(){return this.log("Exporting data buffer contents."),[...this.dataBuffer]}analyzeData(){this.log("Analyzing data buffer..."),0===this.dataBuffer.length?this.log("No data to analyze."):this.log(`Data buffer contains ${this.dataBuffer.length} items.`)}performLongOperation(){this.log("Performing long operation...");let t=0;const e=setInterval(()=>{t++,this.log(`Step ${t} of long operation complete.`),5<=t&&(clearInterval(e),this.log("Long operation completed."))},1e3)}}!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Cropper=e()}(this,function(){"use strict";function M(e,t){var i,a=Object.keys(e);return Object.getOwnPropertySymbols&&(i=Object.getOwnPropertySymbols(e),t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)),a}function H(a){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?M(Object(o),!0).forEach(function(t){var e=a,i=o[t];t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(o)):M(Object(o)).forEach(function(t){Object.defineProperty(a,t,Object.getOwnPropertyDescriptor(o,t))})}return a}function k(t){return(k="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)}function W(t,e){for(var i=0;i<e.length;i++){var a=e[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}function Y(t){return function(t){if(Array.isArray(t))return X(t)}(t)||function(){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}()||function(t){var e;if(t)return"string"==typeof t?X(t,void 0):"Map"===(e="Object"===(e=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:e)||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?X(t,void 0):void 0}(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 X(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=new Array(e);i<e;i++)a[i]=t[i];return a}var n=(i="undefined"!=typeof window&&void 0!==window.document)?window:{},t=!(!i||!n.document.documentElement)&&"ontouchstart"in n.document.documentElement,e=i&&"PointerEvent"in n,c="cropper",P="all",U="crop",$="move",q="zoom",C="e",S="w",T="s",E="n",O="ne",B="nw",A="se",L="sw",K="".concat(c,"-crop"),_="".concat(c,"-disabled"),z="".concat(c,"-hidden"),F="".concat(c,"-hide"),J="".concat(c,"-invisible"),o="".concat(c,"-modal"),G="".concat(c,"-move"),l="".concat(c,"Action"),m="".concat(c,"Preview"),Q="crop",V="move",Z="none",tt="crop",et="cropend",it="cropmove",at="cropstart",ot="dblclick",st=e?"pointerdown":t?"touchstart":"mousedown",nt=e?"pointermove":t?"touchmove":"mousemove",rt=e?"pointerup pointercancel":t?"touchend touchcancel":"mouseup",ht="zoom",ct="image/jpeg",lt=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,dt=/^data:/,pt=/^data:image\/jpeg;base64,/,mt=/^img|canvas$/i,gt={viewMode:0,dragMode:Q,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:200,minContainerHeight:100,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},ut=Number.isNaN||n.isNaN;function p(t){return"number"==typeof t&&!ut(t)}function ft(t){return 0<t&&t<1/0}function vt(t){return void 0===t}function s(t){return"object"===k(t)&&null!==t}var wt=Object.prototype.hasOwnProperty;function g(t){if(!s(t))return!1;try{var e=t.constructor,i=e.prototype;return e&&i&&wt.call(i,"isPrototypeOf")}catch(t){return!1}}function d(t){return"function"==typeof t}var yt=Array.prototype.slice;function bt(t){return Array.from?Array.from(t):yt.call(t)}function N(i,a){return i&&d(a)&&(Array.isArray(i)||p(i.length)?bt(i).forEach(function(t,e){a.call(i,t,e,i)}):s(i)&&Object.keys(i).forEach(function(t){a.call(i,i[t],t,i)})),i}var u=Object.assign||function(i){for(var t=arguments.length,e=new Array(1<t?t-1:0),a=1;a<t;a++)e[a-1]=arguments[a];return s(i)&&0<e.length&&e.forEach(function(e){s(e)&&Object.keys(e).forEach(function(t){i[t]=e[t]})}),i},xt=/\.\d*(?:0|9){12}\d*$/;function j(t,e){return e=1<arguments.length&&void 0!==e?e:1e11,xt.test(t)?Math.round(t*e)/e:t}var Dt=/^width|height|left|top|marginLeft|marginTop$/;function f(t,e){var i=t.style;N(e,function(t,e){Dt.test(e)&&p(t)&&(t="".concat(t,"px")),i[e]=t})}function v(t,e){var i;e&&(p(t.length)?N(t,function(t){v(t,e)}):t.classList?t.classList.add(e):(i=t.className.trim())?i.indexOf(e)<0&&(t.className="".concat(i," ").concat(e)):t.className=e)}function I(t,e){e&&(p(t.length)?N(t,function(t){I(t,e)}):t.classList?t.classList.remove(e):0<=t.className.indexOf(e)&&(t.className=t.className.replace(e,"")))}function r(t,e,i){e&&(p(t.length)?N(t,function(t){r(t,e,i)}):(i?v:I)(t,e))}var Mt=/([a-z\d])([A-Z])/g;function kt(t){return t.replace(Mt,"$1-$2").toLowerCase()}function Ct(t,e){return s(t[e])?t[e]:t.dataset?t.dataset[e]:t.getAttribute("data-".concat(kt(e)))}function w(t,e,i){s(i)?t[e]=i:t.dataset?t.dataset[e]=i:t.setAttribute("data-".concat(kt(e)),i)}var St,Tt,Et=/\s\s*/,Ot=(Tt=!1,i&&(St=!1,e=function(){},t=Object.defineProperty({},"once",{get:function(){return Tt=!0,St},set:function(t){St=t}}),n.addEventListener("test",e,t),n.removeEventListener("test",e,t)),Tt);function a(i,t,a,e){var o=3<arguments.length&&void 0!==e?e:{},s=a;t.trim().split(Et).forEach(function(t){var e;Ot||(e=i.listeners)&&e[t]&&e[t][a]&&(s=e[t][a],delete e[t][a],0===Object.keys(e[t]).length&&delete e[t],0===Object.keys(e).length)&&delete i.listeners,i.removeEventListener(t,s,o)})}function y(s,t,n,e){var r=3<arguments.length&&void 0!==e?e:{},h=n;t.trim().split(Et).forEach(function(a){var t,o;r.once&&!Ot&&(t=s.listeners,h=function(){delete o[a][n],s.removeEventListener(a,h,r);for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];n.apply(s,e)},(o=void 0===t?{}:t)[a]||(o[a]={}),o[a][n]&&s.removeEventListener(a,o[a][n],r),o[a][n]=h,s.listeners=o),s.addEventListener(a,h,r)})}function b(t,e,i){var a;return d(Event)&&d(CustomEvent)?a=new CustomEvent(e,{detail:i,bubbles:!0,cancelable:!0}):(a=document.createEvent("CustomEvent")).initCustomEvent(e,!0,!0,i),t.dispatchEvent(a)}function Bt(t){return{left:(t=t.getBoundingClientRect()).left+(window.pageXOffset-document.documentElement.clientLeft),top:t.top+(window.pageYOffset-document.documentElement.clientTop)}}var At=n.location,Lt=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function zt(t){return null!==(t=t.match(Lt))&&(t[1]!==At.protocol||t[2]!==At.hostname||t[3]!==At.port)}function Nt(t){var e="timestamp=".concat((new Date).getTime());return t+(-1===t.indexOf("?")?"?":"&")+e}function x(t){var e=t.rotate,i=t.scaleX,a=t.scaleY,o=t.translateX,t=t.translateY,s=[];return p(o)&&0!==o&&s.push("translateX(".concat(o,"px)")),p(t)&&0!==t&&s.push("translateY(".concat(t,"px)")),p(e)&&0!==e&&s.push("rotate(".concat(e,"deg)")),p(i)&&1!==i&&s.push("scaleX(".concat(i,")")),p(a)&&1!==a&&s.push("scaleY(".concat(a,")")),{WebkitTransform:o=s.length?s.join(" "):"none",msTransform:o,transform:o}}function h(t,e){var i=t.pageX,a={endX:i,endY:t=t.pageY};return e?a:H({startX:i,startY:t},a)}function R(t,e){var i,a=t.aspectRatio,o=t.height,t=t.width,e=1<arguments.length&&void 0!==e?e:"contain",s=ft(t),n=ft(o);return s&&n?(i=o*a,"contain"===e&&t<i||"cover"===e&&i<t?o=t/a:t=o*a):s?o=t/a:n&&(t=o*a),{width:t,height:o}}var jt=String.fromCharCode,It=/^data:.*,/;var Rt,i={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var t=this.element,e=this.options,i=this.container,a=this.cropper,o=Number(e.minContainerWidth),e=Number(e.minContainerHeight),o=(v(a,z),I(t,z),{width:Math.max(i.offsetWidth,0<=o?o:200),height:Math.max(i.offsetHeight,0<=e?e:100)});f(a,{width:(this.containerData=o).width,height:o.height}),v(t,z),I(a,z)},initCanvas:function(){var t=this.containerData,e=this.imageData,i=this.options.viewMode,a=Math.abs(e.rotate)%180==90,o=a?e.naturalHeight:e.naturalWidth,e=o/(a=a?e.naturalWidth:e.naturalHeight),s=t.width,n=t.height,e=(t.height*e>t.width?3===i?s=t.height*e:n=t.width/e:3===i?n=t.width/e:s=t.height*e,{aspectRatio:e,naturalWidth:o,naturalHeight:a,width:s,height:n});this.canvasData=e,this.limited=1===i||2===i,this.limitCanvas(!0,!0),e.width=Math.min(Math.max(e.width,e.minWidth),e.maxWidth),e.height=Math.min(Math.max(e.height,e.minHeight),e.maxHeight),e.left=(t.width-e.width)/2,e.top=(t.height-e.height)/2,e.oldLeft=e.left,e.oldTop=e.top,this.initialCanvasData=u({},e)},limitCanvas:function(t,e){var i=this.options,a=this.containerData,o=this.canvasData,s=this.cropBoxData,n=i.viewMode,r=o.aspectRatio,h=this.cropped&&s;t&&(t=Number(i.minCanvasWidth)||0,i=Number(i.minCanvasHeight)||0,1<n?(t=Math.max(t,a.width),i=Math.max(i,a.height),3===n&&(t<i*r?t=i*r:i=t/r)):0<n&&(t?t=Math.max(t,h?s.width:0):i?i=Math.max(i,h?s.height:0):h&&((t=s.width)<(i=s.height)*r?t=i*r:i=t/r)),t=(r=R({aspectRatio:r,width:t,height:i})).width,i=r.height,o.minWidth=t,o.minHeight=i,o.maxWidth=1/0,o.maxHeight=1/0),e&&((h?0:1)<n?(r=a.width-o.width,t=a.height-o.height,o.minLeft=Math.min(0,r),o.minTop=Math.min(0,t),o.maxLeft=Math.max(0,r),o.maxTop=Math.max(0,t),h&&this.limited&&(o.minLeft=Math.min(s.left,s.left+(s.width-o.width)),o.minTop=Math.min(s.top,s.top+(s.height-o.height)),o.maxLeft=s.left,o.maxTop=s.top,2===n)&&(o.width>=a.width&&(o.minLeft=Math.min(0,r),o.maxLeft=Math.max(0,r)),o.height>=a.height)&&(o.minTop=Math.min(0,t),o.maxTop=Math.max(0,t))):(o.minLeft=-o.width,o.minTop=-o.height,o.maxLeft=a.width,o.maxTop=a.height))},renderCanvas:function(t,e){var i,a,o,s,n=this.canvasData,r=this.imageData;e&&(r=(e={width:r.naturalWidth*Math.abs(r.scaleX||1),height:r.naturalHeight*Math.abs(r.scaleY||1),degree:r.rotate||0}).width,s=e.height,e=e.degree,i=90==(e=Math.abs(e)%180)?{width:s,height:r}:(a=e%90*Math.PI/180,i=Math.sin(a),o=r*(a=Math.cos(a))+s*i,r=r*i+s*a,90<e?{width:r,height:o}:{width:o,height:r}),a=n.width*((s=i.width)/n.naturalWidth),o=n.height*((e=i.height)/n.naturalHeight),n.left-=(a-n.width)/2,n.top-=(o-n.height)/2,n.width=a,n.height=o,n.aspectRatio=s/e,n.naturalWidth=s,n.naturalHeight=e,this.limitCanvas(!0,!1)),(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCanvas(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,f(this.canvas,u({width:n.width,height:n.height},x({translateX:n.left,translateY:n.top}))),this.renderImage(t),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(t){var e=this.canvasData,i=this.imageData,a=i.naturalWidth*(e.width/e.naturalWidth),o=i.naturalHeight*(e.height/e.naturalHeight);u(i,{width:a,height:o,left:(e.width-a)/2,top:(e.height-o)/2}),f(this.image,u({width:i.width,height:i.height},x(u({translateX:i.left,translateY:i.top},i)))),t&&this.output()},initCropBox:function(){var t=this.options,e=this.canvasData,i=t.aspectRatio||t.initialAspectRatio,t=Number(t.autoCropArea)||.8,a={width:e.width,height:e.height};i&&(e.height*i>e.width?a.height=a.width/i:a.width=a.height*i),this.cropBoxData=a,this.limitCropBox(!0,!0),a.width=Math.min(Math.max(a.width,a.minWidth),a.maxWidth),a.height=Math.min(Math.max(a.height,a.minHeight),a.maxHeight),a.width=Math.max(a.minWidth,a.width*t),a.height=Math.max(a.minHeight,a.height*t),a.left=e.left+(e.width-a.width)/2,a.top=e.top+(e.height-a.height)/2,a.oldLeft=a.left,a.oldTop=a.top,this.initialCropBoxData=u({},a)},limitCropBox:function(t,e){var i,a,o=this.options,s=this.containerData,n=this.canvasData,r=this.cropBoxData,h=this.limited,c=o.aspectRatio;t&&(t=Number(o.minCropBoxWidth)||0,o=Number(o.minCropBoxHeight)||0,i=h?Math.min(s.width,n.width,n.width+n.left,s.width-n.left):s.width,a=h?Math.min(s.height,n.height,n.height+n.top,s.height-n.top):s.height,t=Math.min(t,s.width),o=Math.min(o,s.height),c&&(t&&o?t<o*c?o=t/c:t=o*c:t?o=t/c:o&&(t=o*c),i<a*c?a=i/c:i=a*c),r.minWidth=Math.min(t,i),r.minHeight=Math.min(o,a),r.maxWidth=i,r.maxHeight=a),e&&(h?(r.minLeft=Math.max(0,n.left),r.minTop=Math.max(0,n.top),r.maxLeft=Math.min(s.width,n.left+n.width)-r.width,r.maxTop=Math.min(s.height,n.top+n.height)-r.height):(r.minLeft=0,r.minTop=0,r.maxLeft=s.width-r.width,r.maxTop=s.height-r.height))},renderCropBox:function(){var t=this.options,e=this.containerData,i=this.cropBoxData;(i.width>i.maxWidth||i.width<i.minWidth)&&(i.left=i.oldLeft),(i.height>i.maxHeight||i.height<i.minHeight)&&(i.top=i.oldTop),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),this.limitCropBox(!1,!0),i.left=Math.min(Math.max(i.left,i.minLeft),i.maxLeft),i.top=Math.min(Math.max(i.top,i.minTop),i.maxTop),i.oldLeft=i.left,i.oldTop=i.top,t.movable&&t.cropBoxMovable&&w(this.face,l,i.width>=e.width&&i.height>=e.height?$:P),f(this.cropBox,u({width:i.width,height:i.height},x({translateX:i.left,translateY:i.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),b(this.element,tt,this.getData())}},e={initPreview:function(){var t=this.element,i=this.crossOrigin,e=this.options.preview,a=i?this.crossOriginUrl:this.url,o=t.alt||"The image to preview",s=document.createElement("img");i&&(s.crossOrigin=i),s.src=a,s.alt=o,this.viewBox.appendChild(s),this.viewBoxImage=s,e&&("string"==typeof(s=e)?s=t.ownerDocument.querySelectorAll(e):e.querySelector&&(s=[e]),N(this.previews=s,function(t){var e=document.createElement("img");w(t,m,{width:t.offsetWidth,height:t.offsetHeight,html:t.innerHTML}),i&&(e.crossOrigin=i),e.src=a,e.alt=o,e.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(e)}))},resetPreview:function(){N(this.previews,function(e){var i=Ct(e,m);if(f(e,{width:i.width,height:i.height}),e.innerHTML=i.html,s((i=e)[e=m]))try{delete i[e]}catch(t){i[e]=void 0}else if(i.dataset)try{delete i.dataset[e]}catch(t){i.dataset[e]=void 0}else i.removeAttribute("data-".concat(kt(e)))})},preview:function(){var n=this.imageData,t=this.canvasData,e=this.cropBoxData,r=e.width,h=e.height,c=n.width,l=n.height,d=e.left-t.left-n.left,p=e.top-t.top-n.top;this.cropped&&!this.disabled&&(f(this.viewBoxImage,u({width:c,height:l},x(u({translateX:-d,translateY:-p},n)))),N(this.previews,function(t){var e=Ct(t,m),i=e.width,a=i,o=e=e.height,s=1;r&&(o=h*(s=i/r)),h&&e<o&&(a=r*(s=e/h),o=e),f(t,{width:a,height:o}),f(t.getElementsByTagName("img")[0],u({width:c*s,height:l*s},x(u({translateX:-d*s,translateY:-p*s},n))))}))}},t={bind:function(){var t=this.element,e=this.options,i=this.cropper;d(e.cropstart)&&y(t,at,e.cropstart),d(e.cropmove)&&y(t,it,e.cropmove),d(e.cropend)&&y(t,et,e.cropend),d(e.crop)&&y(t,tt,e.crop),d(e.zoom)&&y(t,ht,e.zoom),y(i,st,this.onCropStart=this.cropStart.bind(this)),e.zoomable&&e.zoomOnWheel&&y(i,"wheel",this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&y(i,ot,this.onDblclick=this.dblclick.bind(this)),y(t.ownerDocument,nt,this.onCropMove=this.cropMove.bind(this)),y(t.ownerDocument,rt,this.onCropEnd=this.cropEnd.bind(this)),e.responsive&&y(window,"resize",this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,e=this.options,i=this.cropper;d(e.cropstart)&&a(t,at,e.cropstart),d(e.cropmove)&&a(t,it,e.cropmove),d(e.cropend)&&a(t,et,e.cropend),d(e.crop)&&a(t,tt,e.crop),d(e.zoom)&&a(t,ht,e.zoom),a(i,st,this.onCropStart),e.zoomable&&e.zoomOnWheel&&a(i,"wheel",this.onWheel,{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&a(i,ot,this.onDblclick),a(t.ownerDocument,nt,this.onCropMove),a(t.ownerDocument,rt,this.onCropEnd),e.responsive&&a(window,"resize",this.onResize)}},Ht={resize:function(){var t,e,i,a,o,s,n;this.disabled||(t=this.options,a=this.container,e=this.containerData,i=a.offsetWidth/e.width,a=a.offsetHeight/e.height,1!=(o=Math.abs(i-1)>Math.abs(a-1)?i:a)&&(t.restore&&(s=this.getCanvasData(),n=this.getCropBoxData()),this.render(),t.restore)&&(this.setCanvasData(N(s,function(t,e){s[e]=t*o})),this.setCropBoxData(N(n,function(t,e){n[e]=t*o}))))},dblclick:function(){var t,e;this.disabled||this.options.dragMode===Z||this.setDragMode((t=this.dragBox,e=K,(t.classList?t.classList.contains(e):-1<t.className.indexOf(e))?V:Q))},wheel:function(t){var e=this,i=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=0<t.deltaY?1:-1:t.wheelDelta?a=-t.wheelDelta/120:t.detail&&(a=0<t.detail?1:-1),this.zoom(-a*i,t))},cropStart:function(t){var e,i=t.buttons,a=t.button;this.disabled||("mousedown"===t.type||"pointerdown"===t.type&&"mouse"===t.pointerType)&&(p(i)&&1!==i||p(a)&&0!==a||t.ctrlKey)||(i=this.options,e=this.pointers,t.changedTouches?N(t.changedTouches,function(t){e[t.identifier]=h(t)}):e[t.pointerId||0]=h(t),a=1<Object.keys(e).length&&i.zoomable&&i.zoomOnTouch?q:Ct(t.target,l),lt.test(a)&&!1!==b(this.element,at,{originalEvent:t,action:a})&&(t.preventDefault(),this.action=a,this.cropping=!1,a===U)&&(this.cropping=!0,v(this.dragBox,o)))},cropMove:function(t){var e,i=this.action;!this.disabled&&i&&(e=this.pointers,t.preventDefault(),!1!==b(this.element,it,{originalEvent:t,action:i}))&&(t.changedTouches?N(t.changedTouches,function(t){u(e[t.identifier]||{},h(t,!0))}):u(e[t.pointerId||0]||{},h(t,!0)),this.change(t))},cropEnd:function(t){var e,i;this.disabled||(e=this.action,i=this.pointers,t.changedTouches?N(t.changedTouches,function(t){delete i[t.identifier]}):delete i[t.pointerId||0],e&&(t.preventDefault(),Object.keys(i).length||(this.action=""),this.cropping&&(this.cropping=!1,r(this.dragBox,o,this.cropped&&this.options.modal)),b(this.element,et,{originalEvent:t,action:e})))}},Wt={change:function(t){function e(t){switch(t){case C:f+k.x>b&&(k.x=b-f);break;case S:p+k.x<w&&(k.x=w-p);break;case E:m+k.y<y&&(k.y=y-m);break;case T:v+k.y>x&&(k.y=x-v)}}var i,a,s,o=this.options,n=this.canvasData,r=this.containerData,h=this.cropBoxData,c=this.pointers,l=this.action,d=o.aspectRatio,p=h.left,m=h.top,g=h.width,u=h.height,f=p+g,v=m+u,w=0,y=0,b=r.width,x=r.height,D=!0,M=(!d&&t.shiftKey&&(d=g&&u?g/u:1),this.limited&&(w=h.minLeft,y=h.minTop,b=w+Math.min(r.width,n.width,n.left+n.width),x=y+Math.min(r.height,n.height,n.top+n.height)),c[Object.keys(c)[0]]),k={x:M.endX-M.startX,y:M.endY-M.startY};switch(l){case P:p+=k.x,m+=k.y;break;case C:0<=k.x&&(b<=f||d&&(m<=y||x<=v))?D=!1:(e(C),(g+=k.x)<0&&(l=S,p-=g=-g),d&&(m+=(h.height-(u=g/d))/2));break;case E:k.y<=0&&(m<=y||d&&(p<=w||b<=f))?D=!1:(e(E),u-=k.y,m+=k.y,u<0&&(l=T,m-=u=-u),d&&(p+=(h.width-(g=u*d))/2));break;case S:k.x<=0&&(p<=w||d&&(m<=y||x<=v))?D=!1:(e(S),g-=k.x,p+=k.x,g<0&&(l=C,p-=g=-g),d&&(m+=(h.height-(u=g/d))/2));break;case T:0<=k.y&&(x<=v||d&&(p<=w||b<=f))?D=!1:(e(T),(u+=k.y)<0&&(l=E,m-=u=-u),d&&(p+=(h.width-(g=u*d))/2));break;case O:if(d){if(k.y<=0&&(m<=y||b<=f)){D=!1;break}e(E),u-=k.y,m+=k.y,g=u*d}else e(E),e(C),!(0<=k.x)||f<b?g+=k.x:k.y<=0&&m<=y&&(D=!1),k.y<=0&&!(y<m)||(u-=k.y,m+=k.y);g<0&&u<0?(l=L,m-=u=-u,p-=g=-g):g<0?(l=B,p-=g=-g):u<0&&(l=A,m-=u=-u);break;case B:if(d){if(k.y<=0&&(m<=y||p<=w)){D=!1;break}e(E),u-=k.y,m+=k.y,p+=h.width-(g=u*d)}else e(E),e(S),!(k.x<=0)||w<p?(g-=k.x,p+=k.x):k.y<=0&&m<=y&&(D=!1),k.y<=0&&!(y<m)||(u-=k.y,m+=k.y);g<0&&u<0?(l=A,m-=u=-u,p-=g=-g):g<0?(l=O,p-=g=-g):u<0&&(l=L,m-=u=-u);break;case L:if(d){if(k.x<=0&&(p<=w||x<=v)){D=!1;break}e(S),g-=k.x,p+=k.x,u=g/d}else e(T),e(S),!(k.x<=0)||w<p?(g-=k.x,p+=k.x):0<=k.y&&x<=v&&(D=!1),0<=k.y&&!(v<x)||(u+=k.y);g<0&&u<0?(l=O,m-=u=-u,p-=g=-g):g<0?(l=A,p-=g=-g):u<0&&(l=B,m-=u=-u);break;case A:if(d){if(0<=k.x&&(b<=f||x<=v)){D=!1;break}e(C),u=(g+=k.x)/d}else e(T),e(C),!(0<=k.x)||f<b?g+=k.x:0<=k.y&&x<=v&&(D=!1),0<=k.y&&!(v<x)||(u+=k.y);g<0&&u<0?(l=B,m-=u=-u,p-=g=-g):g<0?(l=L,p-=g=-g):u<0&&(l=O,m-=u=-u);break;case $:this.move(k.x,k.y),D=!1;break;case q:this.zoom((a=H({},i=c),s=0,N(i,function(o,t){delete a[t],N(a,function(t){var e=Math.abs(o.startX-t.startX),i=Math.abs(o.startY-t.startY),a=Math.abs(o.endX-t.endX),t=Math.abs(o.endY-t.endY),e=Math.sqrt(e*e+i*i),i=(Math.sqrt(a*a+t*t)-e)/e;Math.abs(i)>Math.abs(s)&&(s=i)})}),s),t),D=!1;break;case U:k.x&&k.y?(i=Bt(this.cropper),p=M.startX-i.left,m=M.startY-i.top,g=h.minWidth,u=h.minHeight,0<k.x?l=0<k.y?A:O:k.x<0&&(p-=g,l=0<k.y?L:B),k.y<0&&(m-=u),this.cropped||(I(this.cropBox,z),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))):D=!1}D&&(h.width=g,h.height=u,h.left=p,h.top=m,this.action=l,this.renderCropBox()),N(c,function(t){t.startX=t.endX,t.startY=t.endY})}},Yt={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&v(this.dragBox,o),I(this.cropBox,z),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=u({},this.initialImageData),this.canvasData=u({},this.initialCanvasData),this.cropBoxData=u({},this.initialCropBoxData),this.renderCanvas(),this.cropped)&&this.renderCropBox(),this},clear:function(){return this.cropped&&!this.disabled&&(u(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),I(this.dragBox,o),v(this.cropBox,z)),this},replace:function(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&e&&(this.isImg&&(this.element.src=e),t?(this.url=e,this.image.src=e,this.ready&&(this.viewBoxImage.src=e,N(this.previews,function(t){t.getElementsByTagName("img")[0].src=e}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(e))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,I(this.cropper,_)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,v(this.cropper,_)),this},destroy:function(){var t=this.element;return t[c]&&(t[c]=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate()),this},move:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:t,i=(a=this.canvasData).left,a=a.top;return this.moveTo(vt(t)?t:i+Number(t),vt(e)?e:a+Number(e))},moveTo:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:t,i=this.canvasData,a=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.movable&&(p(t)&&(i.left=t,a=!0),p(e)&&(i.top=e,a=!0),a)&&this.renderCanvas(!0),this},zoom:function(t,e){var i=this.canvasData;return t=Number(t),this.zoomTo(i.width*(t=t<0?1/(1-t):1+t)/i.naturalWidth,null,e)},zoomTo:function(t,e,i){var a,o,s,n=this.options,r=this.canvasData,h=r.width,c=r.height,l=r.naturalWidth,d=r.naturalHeight;if(0<=(t=Number(t))&&this.ready&&!this.disabled&&n.zoomable){if(n=l*t,d*=t,!1===b(this.element,ht,{ratio:t,oldRatio:h/l,originalEvent:i}))return this;i?(t=this.pointers,l=Bt(this.cropper),t=t&&Object.keys(t).length?(s=o=a=0,N(t,function(t){var e=t.startX,t=t.startY;a+=e,o+=t,s+=1}),{pageX:a/=s,pageY:o/=s}):{pageX:i.pageX,pageY:i.pageY},r.left-=(n-h)*((t.pageX-l.left-r.left)/h),r.top-=(d-c)*((t.pageY-l.top-r.top)/c)):g(e)&&p(e.x)&&p(e.y)?(r.left-=(n-h)*((e.x-r.left)/h),r.top-=(d-c)*((e.y-r.top)/c)):(r.left-=(n-h)/2,r.top-=(d-c)/2),r.width=n,r.height=d,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return p(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,p(e)?e:1)},scaleY:function(t){var e=this.imageData.scaleX;return this.scale(p(e)?e:1,t)},scale:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:t,i=this.imageData,a=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.scalable&&(p(t)&&(i.scaleX=t,a=!0),p(e)&&(i.scaleY=e,a=!0),a)&&this.renderCanvas(!0,!0),this},getData:function(){var i,a,t=0<arguments.length&&void 0!==arguments[0]&&arguments[0],e=this.options,o=this.imageData,s=this.canvasData,n=this.cropBoxData;return this.ready&&this.cropped?(i={x:n.left-s.left,y:n.top-s.top,width:n.width,height:n.height},a=o.width/o.naturalWidth,N(i,function(t,e){i[e]=t/a}),t&&(s=Math.round(i.y+i.height),n=Math.round(i.x+i.width),i.x=Math.round(i.x),i.y=Math.round(i.y),i.width=n-i.x,i.height=s-i.y)):i={x:0,y:0,width:0,height:0},e.rotatable&&(i.rotate=o.rotate||0),e.scalable&&(i.scaleX=o.scaleX||1,i.scaleY=o.scaleY||1),i},setData:function(t){var e,i=this.options,a=this.imageData,o=this.canvasData,s={};return this.ready&&!this.disabled&&g(t)&&(e=!1,i.rotatable&&p(t.rotate)&&t.rotate!==a.rotate&&(a.rotate=t.rotate,e=!0),i.scalable&&(p(t.scaleX)&&t.scaleX!==a.scaleX&&(a.scaleX=t.scaleX,e=!0),p(t.scaleY))&&t.scaleY!==a.scaleY&&(a.scaleY=t.scaleY,e=!0),e&&this.renderCanvas(!0,!0),i=a.width/a.naturalWidth,p(t.x)&&(s.left=t.x*i+o.left),p(t.y)&&(s.top=t.y*i+o.top),p(t.width)&&(s.width=t.width*i),p(t.height)&&(s.height=t.height*i),this.setCropBoxData(s)),this},getContainerData:function(){return this.ready?u({},this.containerData):{}},getImageData:function(){return this.sized?u({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,i={};return this.ready&&N(["left","top","width","height","naturalWidth","naturalHeight"],function(t){i[t]=e[t]}),i},setCanvasData:function(t){var e=this.canvasData,i=e.aspectRatio;return this.ready&&!this.disabled&&g(t)&&(p(t.left)&&(e.left=t.left),p(t.top)&&(e.top=t.top),p(t.width)?(e.width=t.width,e.height=t.width/i):p(t.height)&&(e.height=t.height,e.width=t.height*i),this.renderCanvas(!0)),this},getCropBoxData:function(){var t,e=this.cropBoxData;return(this.ready&&this.cropped?{left:e.left,top:e.top,width:e.width,height:e.height}:t)||{}},setCropBoxData:function(t){var e,i,a=this.cropBoxData,o=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&g(t)&&(p(t.left)&&(a.left=t.left),p(t.top)&&(a.top=t.top),p(t.width)&&t.width!==a.width&&(e=!0,a.width=t.width),p(t.height)&&t.height!==a.height&&(i=!0,a.height=t.height),o&&(e?a.height=a.width/o:i&&(a.width=a.height*o)),this.renderCropBox()),this},getCroppedCanvas:function(){var t,e,i,a,o,s,n,r,h,c,l,d,p,m,g,u,f,v,w,y,b,x,D,M,k,C,S,T=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};return this.ready&&window.HTMLCanvasElement?(C=this.canvasData,g=this.image,a=C,u=(d=this.imageData).aspectRatio,e=d.naturalWidth,o=d.naturalHeight,c=void 0===(c=d.rotate)?0:c,l=void 0===(l=d.scaleX)?1:l,d=void 0===(d=d.scaleY)?1:d,i=a.aspectRatio,r=a.naturalWidth,a=a.naturalHeight,n=void 0===(n=(v=T).fillColor)?"transparent":n,p=void 0===(p=v.imageSmoothingEnabled)||p,m=void 0===(m=v.imageSmoothingQuality)?"low":m,s=void 0===(s=v.maxWidth)?1/0:s,S=void 0===(S=v.maxHeight)?1/0:S,t=void 0===(t=v.minWidth)?0:t,v=void 0===(v=v.minHeight)?0:v,f=(w=document.createElement("canvas")).getContext("2d"),h=R({aspectRatio:i,width:s,height:S}),i=R({aspectRatio:i,width:t,height:v},"cover"),r=Math.min(h.width,Math.max(i.width,r)),h=Math.min(h.height,Math.max(i.height,a)),i=R({aspectRatio:u,width:s,height:S}),a=R({aspectRatio:u,width:t,height:v},"cover"),u=[-(s=Math.min(i.width,Math.max(a.width,e)))/2,-(S=Math.min(i.height,Math.max(a.height,o)))/2,s,S],w.width=j(r),w.height=j(h),f.fillStyle=n,f.fillRect(0,0,r,h),f.save(),f.translate(r/2,h/2),f.rotate(c*Math.PI/180),f.scale(l,d),f.imageSmoothingEnabled=p,f.imageSmoothingQuality=m,f.drawImage.apply(f,[g].concat(Y(u.map(function(t){return Math.floor(j(t))})))),f.restore(),t=w,this.cropped?(e=(v=this.getData()).x,i=v.y,a=v.width,o=v.height,1!=(s=t.width/Math.floor(C.naturalWidth))&&(e*=s,i*=s,a*=s,o*=s),n=R({aspectRatio:S=a/o,width:T.maxWidth||1/0,height:T.maxHeight||1/0}),r=R({aspectRatio:S,width:T.minWidth||0,height:T.minHeight||0},"cover"),c=(h=R({aspectRatio:S,width:T.width||(1!=s?t.width:a),height:T.height||(1!=s?t.height:o)})).width,l=h.height,c=Math.min(n.width,Math.max(r.width,c)),l=Math.min(n.height,Math.max(r.height,l)),p=(d=document.createElement("canvas")).getContext("2d"),d.width=j(c),d.height=j(l),p.fillStyle=T.fillColor||"transparent",p.fillRect(0,0,c,l),m=T.imageSmoothingEnabled,g=T.imageSmoothingQuality,p.imageSmoothingEnabled=void 0===m||m,g&&(p.imageSmoothingQuality=g),u=t.width,f=t.height,w=i,(v=e)<=-a||u<v?M=x=y=v=0:v<=0?(x=-v,v=0,M=y=Math.min(u,a+v)):v<=u&&(x=0,M=y=Math.min(a,u-v)),y<=0||w<=-o||f<w?k=D=b=w=0:w<=0?(D=-w,w=0,k=b=Math.min(f,o+w)):w<=f&&(D=0,k=b=Math.min(o,f-w)),C=[v,w,y,b],0<M&&0<k&&C.push(x*(S=c/a),D*S,M*S,k*S),p.drawImage.apply(p,[t].concat(Y(C.map(function(t){return Math.floor(j(t))})))),d):t):null},setAspectRatio:function(t){var e=this.options;return this.disabled||vt(t)||(e.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped)&&this.renderCropBox()),this},setDragMode:function(t){var e,i,a=this.options,o=this.dragBox,s=this.face;return this.ready&&!this.disabled&&(i=a.movable&&t===V,a.dragMode=t=(e=t===Q)||i?t:Z,w(o,l,t),r(o,K,e),r(o,G,i),a.cropBoxMovable||(w(s,l,t),r(s,K,e),r(s,G,i))),this}},Xt=n.Cropper,D=(D=[{key:"noConflict",value:function(){return window.Cropper=Xt,Pt}},{key:"setDefaults",value:function(t){u(gt,g(t)&&t)}}],W((Rt=Pt).prototype,[{key:"init",value:function(){var t,e=this.element,i=e.tagName.toLowerCase();if(!e[c]){if(e[c]=this,"img"===i){if(this.isImg=!0,t=e.getAttribute("src")||"",!(this.originalUrl=t))return;t=e.src}else"canvas"===i&&window.HTMLCanvasElement&&(t=e.toDataURL());this.load(t)}}},{key:"load",value:function(t){var e,i,a,o,s,n,r=this;t&&(this.url=t,this.imageData={},e=this.element,(i=this.options).rotatable||i.scalable||(i.checkOrientation=!1),i.checkOrientation&&window.ArrayBuffer?dt.test(t)?pt.test(t)?this.read((n=(n=t).replace(It,""),a=atob(n),n=new ArrayBuffer(a.length),N(o=new Uint8Array(n),function(t,e){o[e]=a.charCodeAt(e)}),n)):this.clone():(s=new XMLHttpRequest,n=this.clone.bind(this),this.reloading=!0,(this.xhr=s).onabort=n,s.onerror=n,s.ontimeout=n,s.onprogress=function(){s.getResponseHeader("content-type")!==ct&&s.abort()},s.onload=function(){r.read(s.response)},s.onloadend=function(){r.reloading=!1,r.xhr=null},i.checkCrossOrigin&&zt(t)&&e.crossOrigin&&(t=Nt(t)),s.open("GET",t,!0),s.responseType="arraybuffer",s.withCredentials="use-credentials"===e.crossOrigin,s.send()):this.clone())}},{key:"read",value:function(i){var t=this.options,e=this.imageData,a=function(t){var e,i,a,o,s,n,r,h=new DataView(t);try{if(255===h.getUint8(0)&&216===h.getUint8(1))for(var c=h.byteLength,l=2;l+1<c;){if(255===h.getUint8(l)&&225===h.getUint8(l+1)){i=l;break}l+=1}if(a=i&&(o=i+10,"Exif"===function(t,e,i){var a="";i+=e;for(var o=e;o<i;o+=1)a+=jt(t.getUint8(o));return a}(h,i+4,4))&&((r=18761===(s=h.getUint16(o)))||19789===s)&&42===h.getUint16(o+2,r)&&8<=(n=h.getUint32(o+4,r))?o+n:a)for(var d,p=h.getUint16(a,r),m=0;m<p;m+=1)if(d=a+12*m+2,274===h.getUint16(d,r)){d+=8,e=h.getUint16(d,r),h.setUint16(d,1,r);break}}catch(t){e=1}return e}(i),o=0,s=1,n=1;1<a&&(this.url=function(){for(var t=[],e=new Uint8Array(i);0<e.length;)t.push(jt.apply(null,bt(e.subarray(0,8192)))),e=e.subarray(8192);return"data:".concat("image/jpeg",";base64,").concat(btoa(t.join("")))}(),o=(i=function(){var t=0,e=1,i=1;switch(a){case 2:e=-1;break;case 3:t=-180;break;case 4:i=-1;break;case 5:t=90,i=-1;break;case 6:t=90;break;case 7:t=90,e=-1;break;case 8:t=-90}return{rotate:t,scaleX:e,scaleY:i}}()).rotate,s=i.scaleX,n=i.scaleY),t.rotatable&&(e.rotate=o),t.scalable&&(e.scaleX=s,e.scaleY=n),this.clone()}},{key:"clone",value:function(){var t=this.element,e=this.url,i=t.crossOrigin,a=e,o=(this.options.checkCrossOrigin&&zt(e)&&(i=i||"anonymous",a=Nt(e)),this.crossOrigin=i,this.crossOriginUrl=a,document.createElement("img"));i&&(o.crossOrigin=i),o.src=a||e,o.alt=t.alt||"The image to crop",(this.image=o).onload=this.start.bind(this),o.onerror=this.stop.bind(this),v(o,F),t.parentNode.insertBefore(o,t.nextSibling)}},{key:"start",value:function(){function t(t,e){u(a.imageData,{naturalWidth:t,naturalHeight:e,aspectRatio:t/e}),a.initialImageData=u({},a.imageData),a.sizing=!1,a.sized=!0,a.build()}var e,i,a=this,o=this.image,s=(o.onload=null,o.onerror=null,this.sizing=!0,n.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(n.navigator.userAgent));o.naturalWidth&&!s?t(o.naturalWidth,o.naturalHeight):(e=document.createElement("img"),i=document.body||document.documentElement,(this.sizingImage=e).onload=function(){t(e.width,e.height),s||i.removeChild(e)},e.src=o.src,s||(e.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",i.appendChild(e)))}},{key:"stop",value:function(){var t=this.image;t.onload=null,t.onerror=null,t.parentNode.removeChild(t),this.image=null}},{key:"build",value:function(){var t,e,i,a,o,s,n,r,h;this.sized&&!this.ready&&(t=this.element,e=this.options,i=this.image,a=t.parentNode,(o=document.createElement("div")).innerHTML='<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="cropper-line line-s" data-cropper-action="s"></span><span class="cropper-point point-e" data-cropper-action="e"></span><span class="cropper-point point-n" data-cropper-action="n"></span><span class="cropper-point point-w" data-cropper-action="w"></span><span class="cropper-point point-s" data-cropper-action="s"></span><span class="cropper-point point-ne" data-cropper-action="ne"></span><span class="cropper-point point-nw" data-cropper-action="nw"></span><span class="cropper-point point-sw" data-cropper-action="sw"></span><span class="cropper-point point-se" data-cropper-action="se"></span></div></div>',s=(o=o.querySelector(".".concat(c,"-container"))).querySelector(".".concat(c,"-canvas")),n=o.querySelector(".".concat(c,"-drag-box")),h=(r=o.querySelector(".".concat(c,"-crop-box"))).querySelector(".".concat(c,"-face")),this.container=a,this.cropper=o,this.canvas=s,this.dragBox=n,this.cropBox=r,this.viewBox=o.querySelector(".".concat(c,"-view-box")),this.face=h,s.appendChild(i),v(t,z),a.insertBefore(o,t.nextSibling),I(i,F),this.initPreview(),this.bind(),e.initialAspectRatio=Math.max(0,e.initialAspectRatio)||NaN,e.aspectRatio=Math.max(0,e.aspectRatio)||NaN,e.viewMode=Math.max(0,Math.min(3,Math.round(e.viewMode)))||0,v(r,z),e.guides||v(r.getElementsByClassName("".concat(c,"-dashed")),z),e.center||v(r.getElementsByClassName("".concat(c,"-center")),z),e.background&&v(o,"".concat(c,"-bg")),e.highlight||v(h,J),e.cropBoxMovable&&(v(h,G),w(h,l,P)),e.cropBoxResizable||(v(r.getElementsByClassName("".concat(c,"-line")),z),v(r.getElementsByClassName("".concat(c,"-point")),z)),this.render(),this.ready=!0,this.setDragMode(e.dragMode),e.autoCrop&&this.crop(),this.setData(e.data),d(e.ready)&&y(t,"ready",e.ready,{once:!0}),b(t,"ready"))}},{key:"unbuild",value:function(){var t;this.ready&&(this.ready=!1,this.unbind(),this.resetPreview(),(t=this.cropper.parentNode)&&t.removeChild(this.cropper),I(this.element,z))}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}]),W(Rt,D),Object.defineProperty(Rt,"prototype",{writable:!1}),Pt);function Pt(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(!(this instanceof Pt))throw new TypeError("Cannot call a class as a function");if(!t||!mt.test(t.tagName))throw new Error("The first argument is required and must be an <img> or <canvas> element.");this.element=t,this.options=u({},gt,g(e)&&e),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return u(D.prototype,i,e,t,Ht,Wt,Yt),D});class KropifyActTwo{constructor(t={}){this.options={debug:t.debug||!1,maxItems:t.maxItems||10,autoSave:t.autoSave||!1,theme:t.theme||"light"},this.isActive=!1,this.dataStore=[],this.eventListeners={},this.activityLog=[]}activate(){this.isActive=!0,this.log("KropifyActTwo activated."),this.initializeData(),this.triggerEvent("activated")}deactivate(){this.isActive=!1,this.log("KropifyActTwo deactivated."),this.clearData(),this.triggerEvent("deactivated")}log(t){this.options.debug&&(t="[DEBUG]: "+t,console.log(t),this.activityLog.push(t))}initializeData(){for(let t=0;t<this.options.maxItems;t++)this.dataStore.push({id:t+1,name:"Item_"+(t+1),createdAt:(new Date).toISOString()});this.log(`Initialized data store with ${this.options.maxItems} items.`)}clearData(){this.dataStore=[],this.log("Data store cleared.")}addItem(t){var e;return this.dataStore.length>=this.options.maxItems?(this.log("Cannot add item: data store is full."),this.triggerEvent("error",{message:"Data store full"}),!1):(e={id:this.dataStore.length+1,name:t,createdAt:(new Date).toISOString()},this.dataStore.push(e),this.log("Item added: "+t),this.options.autoSave&&this.saveData(),this.triggerEvent("itemAdded",e),!0)}removeItem(e){var t=this.dataStore.findIndex(t=>t.name===e);return-1!==t?(t=this.dataStore.splice(t,1),this.log("Item removed: "+e),this.triggerEvent("itemRemoved",t[0]),!0):(this.log("Item not found: "+e),this.triggerEvent("error",{message:"Item not found: "+e}),!1)}updateItem(e,t={}){var i=this.dataStore.find(t=>t.name===e);return i?(Object.assign(i,t),this.log(`Item updated: ${e} => `+JSON.stringify(t)),this.triggerEvent("itemUpdated",i),!0):(this.log("Item not found for update: "+e),this.triggerEvent("error",{message:"Item not found for update: "+e}),!1)}getData(){return this.dataStore.slice()}registerEvent(t,e){this.eventListeners[t]||(this.eventListeners[t]=[]),this.eventListeners[t].push(e),this.log("Registered event: "+t)}triggerEvent(t,e){var i=this.eventListeners[t];i&&i.length&&(i.forEach(t=>t(e)),this.log("Triggered event: "+t))}saveData(){this.log("Data saved to local storage (simulated).")}loadData(){this.log("Data loaded from local storage (simulated).")}toggleTheme(){this.options.theme="light"===this.options.theme?"dark":"light",this.log("Theme toggled to: "+this.options.theme),this.triggerEvent("themeChanged",{theme:this.options.theme})}printSummary(){var t={isActive:this.isActive,totalItems:this.dataStore.length,theme:this.options.theme,debug:this.options.debug};return this.log("Summary: "+JSON.stringify(t)),t}resetActivityLog(){this.activityLog=[],this.log("Activity log reset.")}exportDataForKropift(){return this.log("Exporting data for KropiftActOne."),this.dataStore.map(t=>({id:t.id,label:t.name,timestamp:t.createdAt}))}importResultsFromKropift(t){this.log("Importing analysis results from KropiftActOne: "+JSON.stringify(t))}performMaintenance(){this.log("Performing maintenance tasks..."),setTimeout(()=>{this.log("Maintenance completed.")},2e3)}}class Kropify{constructor(t,e={}){this.inputs=document.querySelectorAll(t),this.fileNameAttr="",this.defaults={allowedExtensions:["jpg","jpeg","png"],aspectRatio:1,preview:null,viewMode:1,cancelButtonText:"Cancel",resetButtonText:"Reset",cropButtonText:"Crop & Upload",processURL:"",maxSize:2097152,showLoader:!0,animationClass:"",fileName:"image",maxWoH:1080,onError:function(t){alert(t)},onDone:function(t){}},this.options=Object.assign({},this.defaults,e),this.csrfToken=document.querySelector('meta[name="csrf-token"]')?.getAttribute("content"),this.init()}init(){this.inputs.forEach(e=>{this.setDefaultImagePreview(),e.addEventListener("change",t=>this.handleFileSelect(t,e))})}setDefaultImagePreview(){var t,e;this.options.preview&&(t=document.querySelector(this.options.preview))&&(e=t.dataset.kropifyDefaultSrc)&&(t.src=e)}fadeImage(t,e){t.style.opacity=0,setTimeout(()=>{t.src=e,t.style.opacity=1},200)}handleFileSelect(t,e){var t=t.target.files[0],i=e.name,i=(this.fileNameAttr=i,this.options.preview?document.querySelector(this.options.preview):null);if(t){var a=t.name.split(".").pop().toLowerCase();if(this.options.allowedExtensions.includes(a))if(t.size>this.options.maxSize)this.options.onError(`File too large.Max size is ${this.options.maxSize/1024/1024}MB`),e.value="",i&&i.dataset.kropifyDefaultSrc&&this.fadeImage(i,i.dataset.kropifyDefaultSrc);else{const o=new FileReader;o.onload=()=>{this.showCropperModal(o.result,e)},o.readAsDataURL(t)}else this.options.onError("Invalid file type.Allowed:"+this.options.allowedExtensions.join(", ")),e.value="",i&&i.dataset.kropifyDefaultSrc&&this.fadeImage(i,i.dataset.kropifyDefaultSrc)}}showCropperModal(t,r){const h=document.createElement("div");h.className="kropify-modal",h.innerHTML=`<div class="kropify-backdrop"></div><div class="kropify-container blured"><div class="kropify-modal-dialog"><div class="kropify-modal-content"><div class="kropify-modal-header"><div class="kropify-modal-title"><div class="kropify-modal-title-img"></div><span class="kropify-modal-title-h5">KROPIFY v3</span></div><div class="btn-close"><span>+</span></div></div><div class="kropify-modal-body"><div class="kropify-image-box"><img id="cropper-image"src="${t}"style="max-width:100%;"/></div></div><div class="kropify-modal-footer"><div class="kropify-options"><div class="jc-group">'<div class="jc-group-inner"><span data-action="rotate-left"class="jc-rotate-left"><i></i></span><span data-action="zoom-in"class="jc-zoom-in"><i></i></span></div><div class="jc-group-inner"><span data-action="rotate-right"class="jc-rotate-right"><i></i></span><span data-action="zoom-out"class="jc-zoom-out"><i></i></span></div></div><div class="jc-group"><div class="jc-group-inner"><span data-action="move-up"class="jc-move-up"><i></i></span><span data-action="move-left"class="jc-move-left"><i></i></span></div><div class="jc-group-inner"><span data-action="move-down"class="jc-move-down"><i></i></span><span data-action="move-right"class="jc-move-right"><i></i></span></div></div><div class="jc-group only-two"><div class="jc-group-inner"><span data-action="flip-horizontal"data-value="1"class="jc-flip-horizontal"><i></i></span></div><div class="jc-group-inner"><span data-action="flip-vertical"data-value="1"class="jc-flip-vertical"><i></i></span></div></div></div><div class="kropify-actions"><span class="jc-close-btn"><i></i><jckropifybtn>${this.options.cancelButtonText}</jckropifybtn></span><span class="jc-reset-btn"><i></i><jckropifybtn>${this.options.resetButtonText}</jckropifybtn></span><span class="jc-crop-btn"><i></i><jckropifybtn>${this.options.cropButtonText}</jckropifybtn></span></div></div></div></div></div></div>`,document.body.appendChild(h);t=h.querySelector("#cropper-image");const c=new Cropper(t,{aspectRatio:this.options.aspectRatio,viewMode:this.options.viewMode}),e=h.querySelector(".kropify-modal-content");e.classList.remove("animate__animated","animate__"+this.options.animationClass),e.offsetWidth,e.classList.add("animate__animated","animate__"+this.options.animationClass),e.addEventListener("animationend",()=>{e.classList.remove("animate__animated","animate__"+this.options.animationClass)});let o,i=1,a=1;function s(t){switch(t){case"rotate-left":c.rotate(-1);break;case"rotate-right":c.rotate(1);break;case"zoom-in":c.zoom(.01);break;case"zoom-out":c.zoom(-.01);break;case"move-up":c.move(0,-1);break;case"move-down":c.move(0,1);break;case"move-left":c.move(-1,0);break;case"move-right":c.move(1,0);break;case"flip-horizontal":i=1===i?-1:1,c.scaleX(i);break;case"flip-vertical":a=1===a?-1:1,c.scaleY(a)}}h.querySelectorAll(".kropify-options span").forEach(t=>{const e=t.dataset.action;var i=()=>{s(e),["flip-horizontal","flip-vertical"].includes(e)||(o=setInterval(()=>s(e),30))},a=()=>clearInterval(o);t.addEventListener("mousedown",i),t.addEventListener("mouseup",a),t.addEventListener("mouseleave",a),t.addEventListener("touchstart",i,{passive:!0}),t.addEventListener("touchend",a)}),h.querySelector("span.jc-close-btn").onclick=()=>{c.destroy(),h.remove(),r.value=""},h.querySelector("div.btn-close").onclick=()=>{c.destroy(),h.remove(),r.value=""},h.querySelector("span.jc-reset-btn").onclick=()=>{c.reset()},h.querySelector("span.jc-crop-btn").onclick=()=>{if(this.csrfToken){const n=c.getCroppedCanvas();var i=c.getCroppedCanvas(),a=i.width,i=i.height,o=this.options.maxWoH;let t=a,e=i;(o<a||o<i)&&(s=a/i,i<a?(t=o,e=Math.round(o/s)):(e=o,t=Math.round(o*s)));var s,i=c.getCroppedCanvas({width:t,height:e}).toDataURL();n?(this.options.showLoader&&this.showLoader(),o=(a=i.split(";"))[0].split(":")[1],s=a[1].split(",")[1],i=this.b64toBlob(s,o),a=new FormData,s=this.options.fileName,this.fileNameAttr&&""!==this.fileNameAttr&&"image"==this.options.fileName&&(s=this.fileNameAttr),a.append(s,i),this.csrfToken&&a.append("_token",this.csrfToken),fetch(this.options.processURL,{method:"POST",body:a}).then(t=>{if(t.ok)return t.text().then(e=>{if(!e)return{};try{return JSON.parse(e)}catch(t){return e}});this.options.onError(""+t.status+t.statusText)}).then(t=>{this.options.showLoader&&this.hideLoader(),"function"==typeof this.options.onDone&&this.options.onDone(t),c.destroy(),h.remove(),r.value="",this.options.preview&&(t=document.querySelector(this.options.preview))&&"IMG"===t.tagName&&(t.src=n.toDataURL("image/png"))}).catch(function(t){this.options.showLoader&&this.hideLoader(),this.options.onError(t.message||"An unexpected error occurred.")})):this.options.onError("Cropping failed.")}else this.options.onError('CSRF token not found. Make sure your page includes: <meta name="csrf-token" content="{{ csrf_token() }}">')}}b64toBlob(t,e,i){e=e||"",i=i||512;for(var a=atob(t),o=[],s=0;s<a.length;s+=i){for(var n=a.slice(s,s+i),r=new Array(n.length),h=0;h<n.length;h++)r[h]=n.charCodeAt(h);var c=new Uint8Array(r);o.push(c)}return new Blob(o,{type:e})}showLoader(){var t;document.querySelector(".kropify-loader")||((t=document.createElement("div")).className="kropify-loader",t.innerHTML='<div class="kropify-loader-mainbox"style="position: relative;"><div class="kropify-loaderOverlay"><div class="kropify-loaderInner"><div class="kropify-lds-ellipsis"><div></div><div></div><div></div><div></div></div></div></div></div>',document.body.appendChild(t))}hideLoader(){var t=document.querySelector(".kropify-loader");t&&t.remove()}}class KropixaActThree{constructor(t={}){this.settings={verbose:t.verbose||!1,threshold:t.threshold||5,mode:t.mode||"standard",allowedOperations:t.allowedOperations||["analyze","sync","archive"]},this.operationHistory=[],this.resources=[],this.activeTasks=[],this.status="idle"}initialize(){this.status="initialized",this.log("KropixaActThree initialized."),this.setupResources()}setupResources(){for(let t=0;t<this.settings.threshold;t++)this.resources.push({id:t+1,name:"Resource_"+(t+1),status:"available"});this.log(`Resources initialized: ${this.resources.length} available.`)}startTask(t){if(!this.settings.allowedOperations.includes(t))return this.log(`Operation "${t}" not allowed.`),!1;const e={id:this.activeTasks.length+1,name:t,startedAt:(new Date).toISOString(),status:"in progress"};return this.activeTasks.push(e),this.log("Task started: "+t),setTimeout(()=>{e.status="completed",this.operationHistory.push(e),this.log("Task completed: "+t)},1e3),!0}stopAllTasks(){this.activeTasks.forEach(t=>{t.status="stopped",this.log("Task stopped: "+t.name)}),this.activeTasks=[],this.status="idle",this.log("All tasks stopped.")}log(t){var e;this.settings.verbose&&(e=(new Date).toISOString(),console.log(`[${e}] KropixaActThree: `+t))}getStatus(){return{status:this.status,activeTasks:this.activeTasks.length,totalResources:this.resources.length,operationsDone:this.operationHistory.length,settings:this.settings}}refreshResources(){this.resources.forEach(t=>{t.status="available"}),this.log("All resources refreshed and marked as available.")}analyzeResources(){var t=this.resources.filter(t=>"available"!==t.status).length;return this.log(`Resource analysis complete. In-use: ${t}, Available: `+(this.resources.length-t)),{total:this.resources.length,available:this.resources.length-t,inUse:t}}archiveData(){this.log("Archiving operation history...");var t={archivedItems:this.operationHistory.length,lastArchivedAt:(new Date).toISOString()};return this.operationHistory=[],this.log("Archive complete: "+JSON.stringify(t)),t}syncWithKropiftActOne(t){t?(t=t.exportData(),this.resources.push(...t.map((t,e)=>({id:this.resources.length+e+1,name:t.label,status:"imported"}))),this.log(`Imported ${t.length} items from KropiftActOne.`)):this.log("No KropiftActOne instance provided.")}exportDataForKropifyActTwo(){var t=this.resources.map(t=>({id:t.id,resourceName:t.name,status:t.status}));return this.log("Exporting data for KropifyActTwo."),t}toggleVerbose(){this.settings.verbose=!this.settings.verbose,this.log("Verbose mode toggled to: "+this.settings.verbose)}performDeepAnalysis(){this.log("Starting deep analysis...");let t=0;const e=setInterval(()=>{t+=20,this.log(`Deep analysis progress: ${t}%`),100<=t&&(clearInterval(e),this.log("Deep analysis complete."))},500)}resetSystem(){this.resources=[],this.activeTasks=[],this.operationHistory=[],this.status="idle",this.log("System reset complete.")}}