{"version":3,"file":"index-DfOpmnBc.js","sources":["../../../node_modules/lodash-es/uniq.js","../../../node_modules/fontfaceobserver/fontfaceobserver.standalone.js","../../../components/brut/src/util/point.ts","../../../components/brut/src/util/boundingBox.ts","../../../components/brut/src/util/colours.ts","../../../components/brut/src/enums/corner.ts","../../../components/brut/src/util/roundedRectangle.ts","../../../components/brut/src/objects/baseObject/handle.ts","../../../components/brut/src/objects/baseObject/mover.ts","../../../components/brut/src/util/ballAndStick.ts","../../../components/brut/src/objects/baseObject/rotationHandle.ts","../../../components/brut/src/objects/baseObject.ts","../../../components/brut/src/util/dieCutImageUrls.ts","../../../components/brut/src/util/loadImage.ts","../../../components/brut/src/objects/imageFrame/imageFrame.ts","../../../components/brut/src/enums/textAlign.ts","../../../components/brut/src/objects/textBox/util/textBoxStyleDefaults.ts","../../../components/brut/src/objects/textBox/textBoxStyle.ts","../../../components/brut/src/objects/textBox/textBoxCharacter.ts","../../../components/brut/src/objects/textBox/textBoxLine.ts","../../../components/brut/src/objects/textBox/services/getSelectionBoxes.ts","../../../components/brut/src/objects/textBox/services/renderSelection.ts","../../../components/brut/src/objects/textBox/predefinedString.ts","../../../components/brut/src/objects/textBox/nameInjectionString.ts","../../../components/brut/src/objects/textBox/enabledStyles.ts","../../../components/brut/src/objects/textBox/services/getSelectionCoordinates.ts","../../../components/brut/src/objects/textBox/services/moveHorizontally.ts","../../../components/brut/src/objects/textBox/textBoxSelectionRenderer.ts","../../../components/brut/src/objects/textBox/textBoxSelection.ts","../../../node_modules/focus-options-polyfill/index.js","../../../components/brut/src/objects/textBox/textBoxHiddenTextArea.ts","../../../components/brut/src/objects/textBox/textBoxClickHandlers.ts","../../../components/brut/src/objects/giftcard/giftcardObjectDefaults.js","../../../components/brut/src/objects/giftcard/giftcardSvg.ts","../../../components/brut/src/objects/logoFrame/logoFrameSvg.ts","../../../components/brut/src/objects/logoFrame/logoFrame.ts","../../../components/brut/src/objects/giftcard/giftcard.ts","../../../components/brut/src/objects/textBox/textBoxSvg.ts","../../../components/brut/src/util/clipToNthDecimalPlace.ts","../../../components/brut/src/objects/textBox/textBox.ts","../../../components/brut/src/objects/staticImage/staticImage.ts","../../../node_modules/qrcode/lib/can-promise.js","../../../node_modules/qrcode/lib/core/utils.js","../../../node_modules/qrcode/lib/core/error-correction-level.js","../../../node_modules/qrcode/lib/core/bit-buffer.js","../../../node_modules/qrcode/lib/core/bit-matrix.js","../../../node_modules/qrcode/lib/core/alignment-pattern.js","../../../node_modules/qrcode/lib/core/finder-pattern.js","../../../node_modules/qrcode/lib/core/mask-pattern.js","../../../node_modules/qrcode/lib/core/error-correction-code.js","../../../node_modules/qrcode/lib/core/galois-field.js","../../../node_modules/qrcode/lib/core/polynomial.js","../../../node_modules/qrcode/lib/core/reed-solomon-encoder.js","../../../node_modules/qrcode/lib/core/version-check.js","../../../node_modules/qrcode/lib/core/regex.js","../../../node_modules/qrcode/lib/core/mode.js","../../../node_modules/qrcode/lib/core/version.js","../../../node_modules/qrcode/lib/core/format-info.js","../../../node_modules/qrcode/lib/core/numeric-data.js","../../../node_modules/qrcode/lib/core/alphanumeric-data.js","../../../node_modules/encode-utf8/index.js","../../../node_modules/qrcode/lib/core/byte-data.js","../../../node_modules/qrcode/lib/core/kanji-data.js","../../../node_modules/dijkstrajs/dijkstra.js","../../../node_modules/qrcode/lib/core/segments.js","../../../node_modules/qrcode/lib/core/qrcode.js","../../../node_modules/qrcode/lib/renderer/utils.js","../../../node_modules/qrcode/lib/renderer/canvas.js","../../../node_modules/qrcode/lib/renderer/svg-tag.js","../../../node_modules/qrcode/lib/browser.js","../../../components/brut/src/objects/qrCode/qrCodeSvg.ts","../../../components/brut/src/objects/qrCode/qrCode.ts","../../../components/brut/src/objects/perspectiveImage/triangle.ts","../../../components/brut/src/objects/perspectiveImage/point.ts","../../../components/brut/src/objects/perspectiveImage/textCoord.ts","../../../components/brut/src/objects/perspectiveImage/perspectiveImage.ts","../../../components/brut/src/objects/sticker/sticker.ts","../../../components/brut/src/util/historyState.ts","../../../components/brut/src/util/history.ts","../../../components/brut/src/util/pincer.ts","../../../components/brut/src/util/groupDragger.ts","../../../components/brut/src/util/selectedGroup.ts","../../../components/brut/src/objects/foilImage/foilImage.ts","../../../components/brut/src/objects/foilTextBox/foilTextBox.ts","../../../components/brut/src/objects/foilImage/utils/hexDefaults.ts","../../../app/javascript/utils/objectChecker.js","../../../node_modules/filestack-js/build/browser/filestack.esm.js","../../../node_modules/exifr/dist/full.esm.mjs","../../../app/javascript/utils/exifUtils.js","../../../app/javascript/utils/photo.js","../../../components/brut/src/util/fillTransparentStragglers.ts","../../../components/brut/src/index.ts"],"sourcesContent":["import baseUniq from './_baseUniq.js';\n\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\nfunction uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n}\n\nexport default uniq;\n","/* Font Face Observer v2.1.0 - © Bram Stein. License: BSD-3-Clause */(function(){function l(a,b){document.addEventListener?a.addEventListener(\"scroll\",b,!1):a.attachEvent(\"scroll\",b)}function m(a){document.body?a():document.addEventListener?document.addEventListener(\"DOMContentLoaded\",function c(){document.removeEventListener(\"DOMContentLoaded\",c);a()}):document.attachEvent(\"onreadystatechange\",function k(){if(\"interactive\"==document.readyState||\"complete\"==document.readyState)document.detachEvent(\"onreadystatechange\",k),a()})};function t(a){this.a=document.createElement(\"div\");this.a.setAttribute(\"aria-hidden\",\"true\");this.a.appendChild(document.createTextNode(a));this.b=document.createElement(\"span\");this.c=document.createElement(\"span\");this.h=document.createElement(\"span\");this.f=document.createElement(\"span\");this.g=-1;this.b.style.cssText=\"max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;\";this.c.style.cssText=\"max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;\";\nthis.f.style.cssText=\"max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;\";this.h.style.cssText=\"display:inline-block;width:200%;height:200%;font-size:16px;max-width:none;\";this.b.appendChild(this.h);this.c.appendChild(this.f);this.a.appendChild(this.b);this.a.appendChild(this.c)}\nfunction u(a,b){a.a.style.cssText=\"max-width:none;min-width:20px;min-height:20px;display:inline-block;overflow:hidden;position:absolute;width:auto;margin:0;padding:0;top:-999px;white-space:nowrap;font-synthesis:none;font:\"+b+\";\"}function z(a){var b=a.a.offsetWidth,c=b+100;a.f.style.width=c+\"px\";a.c.scrollLeft=c;a.b.scrollLeft=a.b.scrollWidth+100;return a.g!==b?(a.g=b,!0):!1}function A(a,b){function c(){var a=k;z(a)&&a.a.parentNode&&b(a.g)}var k=a;l(a.b,c);l(a.c,c);z(a)};function B(a,b){var c=b||{};this.family=a;this.style=c.style||\"normal\";this.weight=c.weight||\"normal\";this.stretch=c.stretch||\"normal\"}var C=null,D=null,E=null,F=null;function G(){if(null===D)if(J()&&/Apple/.test(window.navigator.vendor)){var a=/AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))(?:\\.([0-9]+))/.exec(window.navigator.userAgent);D=!!a&&603>parseInt(a[1],10)}else D=!1;return D}function J(){null===F&&(F=!!document.fonts);return F}\nfunction K(){if(null===E){var a=document.createElement(\"div\");try{a.style.font=\"condensed 100px sans-serif\"}catch(b){}E=\"\"!==a.style.font}return E}function L(a,b){return[a.style,a.weight,K()?a.stretch:\"\",\"100px\",b].join(\" \")}\nB.prototype.load=function(a,b){var c=this,k=a||\"BESbswy\",r=0,n=b||3E3,H=(new Date).getTime();return new Promise(function(a,b){if(J()&&!G()){var M=new Promise(function(a,b){function e(){(new Date).getTime()-H>=n?b(Error(\"\"+n+\"ms timeout exceeded\")):document.fonts.load(L(c,'\"'+c.family+'\"'),k).then(function(c){1<=c.length?a():setTimeout(e,25)},b)}e()}),N=new Promise(function(a,c){r=setTimeout(function(){c(Error(\"\"+n+\"ms timeout exceeded\"))},n)});Promise.race([N,M]).then(function(){clearTimeout(r);a(c)},\nb)}else m(function(){function v(){var b;if(b=-1!=f&&-1!=g||-1!=f&&-1!=h||-1!=g&&-1!=h)(b=f!=g&&f!=h&&g!=h)||(null===C&&(b=/AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))/.exec(window.navigator.userAgent),C=!!b&&(536>parseInt(b[1],10)||536===parseInt(b[1],10)&&11>=parseInt(b[2],10))),b=C&&(f==w&&g==w&&h==w||f==x&&g==x&&h==x||f==y&&g==y&&h==y)),b=!b;b&&(d.parentNode&&d.parentNode.removeChild(d),clearTimeout(r),a(c))}function I(){if((new Date).getTime()-H>=n)d.parentNode&&d.parentNode.removeChild(d),b(Error(\"\"+\nn+\"ms timeout exceeded\"));else{var a=document.hidden;if(!0===a||void 0===a)f=e.a.offsetWidth,g=p.a.offsetWidth,h=q.a.offsetWidth,v();r=setTimeout(I,50)}}var e=new t(k),p=new t(k),q=new t(k),f=-1,g=-1,h=-1,w=-1,x=-1,y=-1,d=document.createElement(\"div\");d.dir=\"ltr\";u(e,L(c,\"sans-serif\"));u(p,L(c,\"serif\"));u(q,L(c,\"monospace\"));d.appendChild(e.a);d.appendChild(p.a);d.appendChild(q.a);document.body.appendChild(d);w=e.a.offsetWidth;x=p.a.offsetWidth;y=q.a.offsetWidth;I();A(e,function(a){f=a;v()});u(e,\nL(c,'\"'+c.family+'\",sans-serif'));A(p,function(a){g=a;v()});u(p,L(c,'\"'+c.family+'\",serif'));A(q,function(a){h=a;v()});u(q,L(c,'\"'+c.family+'\",monospace'))})})};\"object\"===typeof module?module.exports=B:(window.FontFaceObserver=B,window.FontFaceObserver.prototype.load=B.prototype.load);}());\n","class Point {\n left: number;\n top: number;\n\n constructor(left: number, top: number) {\n this.left = left;\n this.top = top;\n }\n\n public asCoords(): [number, number] {\n return [this.left, this.top];\n }\n\n public static origin(): Point {\n return new Point(0, 0);\n }\n\n public plus(point: Point): Point {\n return new Point(this.left + point.left, this.top + point.top);\n }\n\n public minus(point: Point): Point {\n return new Point(this.left - point.left, this.top - point.top);\n }\n\n public inverse(): Point {\n return new Point(-this.left, -this.top);\n }\n\n public rotateAround(origin: Point, degrees: number): Point {\n if (degrees === 0) return this;\n const radians = degrees * (Math.PI / 180);\n\n return new Point(\n (this.left - origin.left) * Math.cos(radians) -\n -(this.top - origin.top) * Math.sin(radians) +\n origin.left,\n origin.top -\n (this.left - origin.left) * Math.sin(radians) +\n (this.top - origin.top) * Math.cos(radians)\n );\n }\n\n public distanceTo(point: Point): number {\n return Math.sqrt(\n Math.pow(this.left - point.left, 2) + Math.pow(this.top - point.top, 2)\n );\n }\n}\n\nexport { Point };\n","import { Point } from \"./point\";\nimport { BrutObjectJSON } from \"../interfaces/json/object\";\nimport GroupDragger from \"./groupDragger\";\nimport { BaseObject } from \"../objects/baseObject\";\n\nclass BoundingBox {\n left: number;\n top: number;\n baseWidth: number;\n baseHeight: number;\n angle: number;\n scaleX: number;\n scaleY: number;\n centralOrigin = false;\n\n constructor(\n left = 0,\n top = 0,\n baseWidth = 0,\n baseHeight = 0,\n angle = 0,\n scaleX = 1,\n scaleY = 1\n ) {\n this.left = left;\n this.top = top;\n this.baseWidth = baseWidth;\n this.baseHeight = baseHeight;\n this.angle = angle;\n this.scaleX = scaleX;\n this.scaleY = scaleY;\n }\n\n public toJSON(): Partial {\n return {\n left: this.left,\n top: this.top,\n width: this.baseWidth,\n height: this.baseHeight,\n angle: this.angle,\n scaleX: this.scaleX,\n scaleY: this.scaleY\n };\n }\n\n public asRect(): [number, number, number, number] {\n return [this.left, this.top, this.width, this.height];\n }\n\n public asAdjustedRect(): [number, number, number, number] {\n // an alternative bonding box (for full canvas objects such as StaticImage)\n // which ensures that there is no background pixel left exposed\n // as this is noticeable in preview images\n return [this.left - 1, this.top - 1, this.width + 1, this.height + 1];\n }\n\n public origin(): Point {\n if (this.centralOrigin) {\n return new Point(this.left + this.width / 2, this.top + this.height / 2);\n }\n\n return new Point(this.left, this.top);\n }\n\n public drawAdjustment(): Point {\n if (this.centralOrigin) {\n return new Point(-this.width / 2, -this.height / 2);\n }\n\n return Point.origin();\n }\n\n public restrictCoordinates(object: BaseObject): void {\n if (object.type !== \"sticker\" && !object.canvas.isFlexibleEditor) return;\n\n // Firstly adjust the coordinates to keep the sticker fully on the canvas\n this.adjustCoordinatesForSticker(object);\n\n // Then if sticker is still not fully on the canvas - adjust its dimensions\n this.adjustDimensionsForSticker(object);\n }\n\n private adjustCoordinatesForSticker(object: BaseObject): void {\n this.left -= Math.min(this.leftMostRotatedPoint, 0);\n this.left -= Math.max(this.rightMostRotatedPoint - object.canvas.width, 0);\n this.top -= Math.min(this.topMostRotatedPoint, 0);\n this.top -= Math.max(this.bottomMostRotatedPoint - object.canvas.height, 0);\n }\n\n private adjustDimensionsForSticker(object: BaseObject): void {\n [\n (): number => Math.min(this.leftMostRotatedPoint, 0),\n (): number =>\n Math.max(this.rightMostRotatedPoint - object.canvas.width, 0),\n (): number => Math.min(this.topMostRotatedPoint, 0),\n (): number =>\n Math.max(this.bottomMostRotatedPoint - object.canvas.height, 0)\n ].forEach(adjustmentCheck => {\n // Go through each coordinate one by one and adjust both width and height identically to maintain aspect ratio.\n // We update dimension between each check to ensure that we only capture required adjustments\n // once the previous adjustment has been made\n const adjustment = adjustmentCheck();\n this.width += adjustment;\n this.height += adjustment;\n });\n }\n\n private get leftMostRotatedPoint(): number {\n return Math.min(...this.rotatedCornerPoints.map(point => point.left));\n }\n\n private get rightMostRotatedPoint(): number {\n return Math.max(...this.rotatedCornerPoints.map(point => point.left));\n }\n\n private get topMostRotatedPoint(): number {\n return Math.min(...this.rotatedCornerPoints.map(point => point.top));\n }\n\n private get bottomMostRotatedPoint(): number {\n return Math.max(...this.rotatedCornerPoints.map(point => point.top));\n }\n\n private get rotatedCornerPoints(): [Point, Point, Point, Point] {\n return [\n new Point(this.left, this.top).rotateAround(this.origin(), -this.angle),\n new Point(this.right, this.top).rotateAround(this.origin(), -this.angle),\n new Point(this.left, this.bottom).rotateAround(\n this.origin(),\n -this.angle\n ),\n new Point(this.right, this.bottom).rotateAround(\n this.origin(),\n -this.angle\n )\n ];\n }\n\n public get center(): Point {\n return new Point(\n this.left + this.width / 2,\n this.top + this.height / 2\n ).rotateAround(this.origin(), -this.angle);\n }\n\n public get right(): number {\n return this.left + this.width;\n }\n\n public get bottom(): number {\n return this.top + this.height;\n }\n\n public get aspectRatio(): number {\n return this.width / this.height;\n }\n\n public overlapsWithRegion(groupDragger: GroupDragger): boolean {\n return (\n groupDragger.left < this.right &&\n groupDragger.top < this.bottom &&\n groupDragger.right > this.left &&\n groupDragger.bottom > this.top\n );\n }\n\n public containsPoint(point: Point): boolean {\n const rotatedPoint = point.rotateAround(this.origin(), this.angle);\n\n if (this.left > rotatedPoint.left || this.top > rotatedPoint.top) {\n return false;\n }\n if (this.left + this.width < rotatedPoint.left) {\n return false;\n }\n return this.top + this.height >= rotatedPoint.top;\n }\n\n public clone(): BoundingBox {\n return new BoundingBox(\n this.left,\n this.top,\n this.baseWidth,\n this.baseHeight,\n this.angle,\n this.scaleX,\n this.scaleY\n );\n }\n\n public static containingBox(boxes: BoundingBox[]): BoundingBox {\n const left = Math.min(...boxes.map(box => box.left));\n const top = Math.min(...boxes.map(box => box.top));\n const width = Math.max(...boxes.map(box => box.left + box.width)) - left;\n const height = Math.max(...boxes.map(box => box.top + box.height)) - top;\n return new BoundingBox(left, top, width, height, 0);\n }\n\n public rotateLeft(): void {\n const {\n baseWidth: oldBaseWidth,\n baseHeight: oldBaseHeight,\n left: oldLeft,\n top: oldTop,\n angle: oldAngle,\n height: oldHeight\n } = this;\n\n const rads = -oldAngle * (Math.PI / 180);\n\n let newAngle = oldAngle - 90;\n if (newAngle <= -360) {\n newAngle += 360;\n }\n\n const extraCos = Math.cos(rads) * oldHeight;\n const extraSin = Math.sin(rads) * oldHeight;\n\n this.baseWidth = oldBaseHeight;\n this.baseHeight = oldBaseWidth;\n this.top = oldTop + extraCos;\n this.left = oldLeft + extraSin;\n this.angle = newAngle;\n }\n\n public rotateRight(): void {\n const {\n baseWidth: oldBaseWidth,\n baseHeight: oldBaseHeight,\n left: oldLeft,\n top: oldTop,\n angle: oldAngle,\n width: oldWidth\n } = this;\n\n const rads = -oldAngle * (Math.PI / 180);\n\n let newAngle = oldAngle + 90;\n if (newAngle >= 360) {\n newAngle -= 360;\n }\n\n const extraTop = -(Math.sin(rads) * oldWidth);\n const extraLeft = Math.cos(rads) * oldWidth;\n\n this.baseWidth = oldBaseHeight;\n this.baseHeight = oldBaseWidth;\n this.top = oldTop + extraTop;\n this.left = oldLeft + extraLeft;\n this.angle = newAngle;\n }\n\n public set(properties: Partial): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (Object as any)\n .entries(properties)\n .forEach(([property, value]: [\"top\" | \"left\", number]) => {\n this.setProperty(property, value);\n });\n }\n\n public setProperty(property: \"top\" | \"left\", value: number): void {\n this[property] = value;\n }\n\n public get width(): number {\n return this.baseWidth * this.scaleX;\n }\n\n public set width(dim: number) {\n this.baseWidth = dim / this.scaleX;\n }\n\n public get height(): number {\n return this.baseHeight * this.scaleY;\n }\n\n public set height(dim: number) {\n this.baseHeight = dim / this.scaleY;\n }\n}\n\nexport { BoundingBox };\n","export default {\n white: '#ffffff',\n black: '#000000',\n\n paper: '#f4eee0',\n paper1: '#fffefa',\n paper2: '#faf7f0',\n paper3: '#f4eee0',\n paper4: '#ece1c7',\n paper5: '#e2d2ac',\n paper6: '#a99a78',\n\n ink: '#1e2525',\n ink1: '#e8e9e9',\n ink2: '#c7c9c9',\n ink3: '#8e9292',\n ink4: '#555c5c',\n ink5: '#1e2525',\n\n pink: '#f3d5c2',\n pink1: '#f6dfd1',\n\n apricot: '#ffa359',\n apricot1: '#ffba83',\n\n taupe: '#d1cfa4',\n taupe1: '#dcdbbb',\n\n duckEgg: '#cee0d3',\n duckEgg1: '#dae8de',\n\n forest: '#66857a',\n\n red: '#b13f2f',\n green: '#3f7427',\n\n skyBlue: '#b3e4f3',\n spearmint: '#93daa3',\n sunflower: '#fae67e',\n\n lightBlue1: '#f5f7fa',\n lightBlue2: '#eceff5',\n lightBlue3: '#e1e8f0',\n lightBlue4: '#9fb3cd',\n muted: '#9fb3cd',\n lightBlue5: '#7085a1',\n lightBlue6: '#405a7c',\n darkBlue: '#002554',\n darken: 'rgba(0, 0, 0, 0.3)',\n darkGrey1: '#525a66',\n darkGrey2: '#4d5664',\n darkGrey3: '#485262',\n darkGrey4: '#3c4659',\n darkGrey5: '#2e3748',\n darkGrey6: '#1c222e',\n darkGrey7: '#08090d',\n\n red1: '#fdf2f1',\n red2: '#ffe4e2',\n red3: '#f17f75',\n red4: '#cc1c0c',\n\n orange1: '#ffdbc0',\n orange2: '#f76a06',\n\n yellow1: '#fdf4e5',\n yellow2: '#f0b45e',\n yellow3: '#ee9908',\n\n green1: '#d3e1c3',\n green2: '#749d46',\n green3: '#32481a',\n\n cyan1: '#d5f5f6',\n cyan2: '#2dccd3',\n cyan3: '#007c8f'\n};\n","enum Corner {\n TopLeft = 1,\n TopRight,\n BottomLeft,\n BottomRight,\n Rotation\n}\n\nexport { Corner };\n","import { BoundingBox } from './boundingBox';\n\nclass RoundedRectangle {\n boundingBox: BoundingBox;\n borderRadius: number;\n\n constructor(boundingBox: BoundingBox, borderRadius: number) {\n this.boundingBox = boundingBox;\n this.borderRadius = borderRadius;\n }\n\n public draw(context: CanvasRenderingContext2D): void {\n context.beginPath();\n context.moveTo(\n this.boundingBox.left + this.borderRadius,\n this.boundingBox.top\n );\n context.lineTo(\n this.boundingBox.left + this.boundingBox.width - this.borderRadius,\n this.boundingBox.top\n );\n context.quadraticCurveTo(\n this.boundingBox.left + this.boundingBox.width,\n this.boundingBox.top,\n this.boundingBox.left + this.boundingBox.width,\n this.boundingBox.top + this.borderRadius\n );\n context.lineTo(\n this.boundingBox.left + this.boundingBox.width,\n this.boundingBox.top + this.boundingBox.height - this.borderRadius\n );\n context.quadraticCurveTo(\n this.boundingBox.left + this.boundingBox.width,\n this.boundingBox.top + this.boundingBox.height,\n this.boundingBox.left + this.boundingBox.width - this.borderRadius,\n this.boundingBox.top + this.boundingBox.height\n );\n context.lineTo(\n this.boundingBox.left + this.borderRadius,\n this.boundingBox.top + this.boundingBox.height\n );\n context.quadraticCurveTo(\n this.boundingBox.left,\n this.boundingBox.top + this.boundingBox.height,\n this.boundingBox.left,\n this.boundingBox.top + this.boundingBox.height - this.borderRadius\n );\n context.lineTo(\n this.boundingBox.left,\n this.boundingBox.top + this.borderRadius\n );\n context.quadraticCurveTo(\n this.boundingBox.left,\n this.boundingBox.top,\n this.boundingBox.left + this.borderRadius,\n this.boundingBox.top\n );\n\n context.closePath();\n context.fill();\n context.stroke();\n }\n}\n\nexport { RoundedRectangle };\n","import { BaseObject } from \"../baseObject\";\nimport { Corner } from \"../../enums/corner\";\nimport { Point } from \"../../util/point\";\nimport { RoundedRectangle } from \"../../util/roundedRectangle\";\nimport { BoundingBox } from \"../../util/boundingBox\";\nimport colours from \"../../util/colours\";\nimport { PerspectiveImageCorners } from \"../../interfaces/perspectiveImageCorners\";\n\nclass Handle {\n object: BaseObject;\n corner: Corner;\n\n hovered = false;\n\n private perspectiveAdjustments: [number, number] = [0, 0];\n protected originalPoint: Point | null = null;\n protected originalBoundingBox: BoundingBox;\n\n constructor(object: BaseObject, corner: Corner) {\n this.object = object;\n this.corner = corner;\n this.originalBoundingBox = this.object.boundingBox.clone();\n }\n\n public draw(): void {\n this.object.topContext.strokeStyle = this.strokeStyle();\n this.object.topContext.fillStyle = colours.paper1;\n this.object.topContext.setLineDash([]);\n this.object.topContext.globalAlpha = 1;\n new RoundedRectangle(this.boundingBox(), 2).draw(this.object.topContext);\n }\n\n public setPerspectiveAdjustment(corners: PerspectiveImageCorners): void {\n this.perspectiveAdjustments = this.getPerspectiveAdjustment(corners);\n this.draw();\n }\n\n private getPerspectiveAdjustment(\n corners: PerspectiveImageCorners\n ): [number, number] {\n switch (this.corner) {\n case Corner.TopLeft:\n return corners.tl;\n case Corner.TopRight:\n return corners.tr;\n case Corner.BottomLeft:\n return corners.bl;\n case Corner.BottomRight:\n return corners.br;\n }\n\n return [0, 0];\n }\n\n public click(point: Point): void {\n if (!this.object.canScale()) return;\n\n this.originalPoint = point;\n this.originalBoundingBox = this.object.boundingBox.clone();\n }\n\n public calculateDifference(point: Point): Point | null {\n if (this.originalPoint && this.originalBoundingBox) {\n return this.originalPoint.minus(point).inverse();\n }\n\n return null;\n }\n\n private adjustedDifference(difference: Point): Point {\n let newDifference = difference.rotateAround(\n Point.origin(),\n this.object.boundingBox.angle\n );\n\n switch (this.corner) {\n case Corner.BottomRight:\n if (this.object.maintainAspectRatio()) {\n newDifference = this.adjustAspectBottomRight(newDifference);\n }\n break;\n case Corner.BottomLeft:\n if (this.object.maintainAspectRatio()) {\n newDifference = this.adjustAspectBottomLeft(newDifference);\n }\n newDifference.left *= -1;\n break;\n case Corner.TopLeft:\n if (this.object.maintainAspectRatio()) {\n newDifference = this.adjustAspectTopLeft(newDifference);\n }\n newDifference.top *= -1;\n newDifference.left *= -1;\n break;\n case Corner.TopRight:\n if (this.object.maintainAspectRatio()) {\n newDifference = this.adjustAspectTopRight(newDifference);\n }\n newDifference.top *= -1;\n break;\n }\n\n return newDifference;\n }\n\n public programmaticallyDrag(\n difference: Point | null,\n originalPoint: Point\n ): void {\n if (!difference) return;\n\n if (this.object.perspectiveMode) {\n this.object.perspectiveModeDrag(originalPoint, this.corner);\n } else {\n this.performDrag(difference);\n\n this.object.canvas.renderAll();\n this.object.canvas.renderTop();\n }\n }\n\n private maxWidthExceeded(difference: Point | null): boolean {\n if (this.corner === Corner.Rotation) return false;\n if (!difference) return false;\n if (!this.object.maxWidth) return false;\n\n return (\n difference.left + this.originalBoundingBox.width > this.object.maxWidth\n );\n }\n\n public performDrag(difference: Point): void {\n difference = this.adjustedDifference(difference);\n if (this.maxWidthExceeded(difference)) return;\n const originalCornerPoint = this.oppositeCorner();\n\n this.object.boundingBox.width =\n this.originalBoundingBox.width + difference.left;\n this.object.boundingBox.height =\n this.originalBoundingBox.height + difference.top;\n this.enforceMinimumSize();\n this.enforceMaximumSize();\n\n const { left, top } = originalCornerPoint.minus(this.oppositeCorner());\n\n this.object.boundingBox.left += left;\n this.object.boundingBox.top += top;\n this.object.boundingBox.restrictCoordinates(this.object);\n }\n\n private enforceMinimumSize(): void {\n if (this.object.boundingBox.width < this.object.smallestSize().width) {\n this.object.boundingBox.width = this.object.smallestSize().width;\n }\n if (this.object.boundingBox.height < this.object.smallestSize().height) {\n this.object.boundingBox.height = this.object.smallestSize().height;\n }\n }\n\n private enforceMaximumSize(): void {\n if (this.object.maximumSize) {\n if (this.object.boundingBox.width > this.object.maximumSize.width) {\n this.object.boundingBox.width = this.object.maximumSize.width;\n }\n if (this.object.boundingBox.height > this.object.maximumSize.height) {\n this.object.boundingBox.height = this.object.maximumSize.height;\n }\n }\n }\n\n private adjustAspectBottomRight(difference: Point): Point {\n if (\n difference.top >\n difference.left / this.originalBoundingBox.aspectRatio\n ) {\n difference.top = difference.left / this.originalBoundingBox.aspectRatio;\n } else {\n difference.left = difference.top * this.originalBoundingBox.aspectRatio;\n }\n\n return difference;\n }\n\n private adjustAspectBottomLeft(difference: Point): Point {\n if (\n -(difference.left / this.originalBoundingBox.aspectRatio) < difference.top\n ) {\n difference.top = -(\n difference.left / this.originalBoundingBox.aspectRatio\n );\n } else {\n difference.left = -(\n difference.top * this.originalBoundingBox.aspectRatio\n );\n }\n\n return difference;\n }\n\n private adjustAspectTopLeft(difference: Point): Point {\n if (\n -difference.top >\n -(difference.left / this.originalBoundingBox.aspectRatio)\n ) {\n difference.top = difference.left / this.originalBoundingBox.aspectRatio;\n } else {\n difference.left = difference.top * this.originalBoundingBox.aspectRatio;\n }\n\n return difference;\n }\n\n private adjustAspectTopRight(difference: Point): Point {\n if (\n -(difference.left / this.originalBoundingBox.aspectRatio) > difference.top\n ) {\n difference.top = -(\n difference.left / this.originalBoundingBox.aspectRatio\n );\n } else {\n difference.left = -(\n difference.top * this.originalBoundingBox.aspectRatio\n );\n }\n\n return difference;\n }\n\n public cursor(): string {\n if (this.object.perspectiveMode) return \"crosshair\";\n\n switch (this.corner) {\n case Corner.TopLeft:\n case Corner.BottomRight:\n return \"nwse-resize\";\n default:\n return \"nesw-resize\";\n }\n }\n\n public boundingBox(): BoundingBox {\n if (this.object.perspectiveMode) return this.perspectiveBoundingBox();\n\n const { left, top } = this.point().plus(Handle.adjustment);\n\n return new BoundingBox(left, top, 12, 12);\n }\n\n public perspectiveBoundingBox(): BoundingBox {\n const { left, top } = this.point().plus(Handle.perspectiveModeAdjustment);\n\n return new BoundingBox(left, top, 1, 1);\n }\n\n public touchBoundingBox(): BoundingBox {\n const { left, top } = this.point()\n .plus(this.object.boundingBox.drawAdjustment())\n .rotateAround(Point.origin(), -this.object.boundingBox.angle)\n .plus(Handle.adjustment);\n\n return new BoundingBox(left, top, 12, 12);\n }\n\n public point(): Point {\n switch (this.corner) {\n case Corner.TopLeft:\n return Point.origin().plus(this.perspectiveAdjustmentPoint());\n case Corner.TopRight:\n return new Point(this.object.boundingBox.width, 0).plus(\n this.perspectiveAdjustmentPoint()\n );\n case Corner.BottomLeft:\n return new Point(0, this.object.boundingBox.height).plus(\n this.perspectiveAdjustmentPoint()\n );\n case Corner.BottomRight:\n return new Point(\n this.object.boundingBox.width,\n this.object.boundingBox.height\n ).plus(this.perspectiveAdjustmentPoint());\n }\n\n return Point.origin();\n }\n\n protected perspectiveAdjustmentPoint(): Point {\n return new Point(...this.perspectiveAdjustments);\n }\n\n protected strokeStyle(): string {\n if (this.object.canvas.selectedHandle === this) {\n return colours.ink;\n } else if (this.hovered) {\n return colours.apricot;\n } else {\n return colours.apricot1;\n }\n }\n\n private static get adjustment(): Point {\n return new Point(-6, -6);\n }\n\n private static get perspectiveModeAdjustment(): Point {\n return new Point(0, 0);\n }\n\n private oppositeCorner(): Point {\n const { left, top, bottom, right, angle } = this.object.boundingBox;\n\n switch (this.corner) {\n case Corner.BottomRight:\n return new Point(left, top).rotateAround(\n this.object.boundingBox.origin(),\n -angle\n );\n case Corner.BottomLeft:\n return new Point(right, top).rotateAround(\n this.object.boundingBox.origin(),\n -angle\n );\n case Corner.TopLeft:\n return new Point(right, bottom).rotateAround(\n this.object.boundingBox.origin(),\n -angle\n );\n case Corner.TopRight:\n return new Point(left, bottom).rotateAround(\n this.object.boundingBox.origin(),\n -angle\n );\n }\n\n return Point.origin();\n }\n}\n\nexport { Handle };\n","import { BaseObject } from \"../baseObject\";\nimport { Point } from \"../../util/point\";\nimport { BoundingBox } from \"../../util/boundingBox\";\nimport colours from \"../../util/colours\";\n\nclass Mover {\n private object: BaseObject;\n private originalPoint: Point | null = null;\n private originalBoundingBox: BoundingBox | null = null;\n private snappingHorizontal = false;\n private snappingVertical = false;\n private snappingToOriginal = false;\n\n constructor(object: BaseObject) {\n this.object = object;\n }\n\n private get globalSnappingEnabled(): boolean {\n if (this.object.type === \"sticker\") return false;\n\n return this.object.canvas.snappingEnabled;\n }\n\n public click(point: Point): void {\n this.originalPoint = point;\n this.originalBoundingBox = this.object.boundingBox.clone();\n }\n\n public mouseMove(point: Point, skipSnap = false): void {\n if (this.moveable()) {\n this.object.canvas.cursor = this.object.hoverDragCursor;\n\n this.adjustBoundingBoxPosition(point);\n\n if (!this.globalSnappingEnabled || skipSnap) {\n this.snappingVertical = this.snappingHorizontal = false;\n } else {\n this.snap();\n }\n\n this.object.canvas.renderAll();\n this.object.canvas.renderTop();\n }\n }\n\n private moveable(): boolean {\n return (\n (this.object.selected &&\n this.originalPoint &&\n this.originalBoundingBox &&\n this.object.canMove()) ||\n false\n );\n }\n\n private adjustBoundingBoxPosition(point: Point): void {\n if (!this.originalBoundingBox || !this.originalPoint) return;\n\n // Adds a bit of stickiness to the initial move (so simply clicking doesn't shift\n // stuff around constantly\n if (\n this.globalSnappingEnabled &&\n point.distanceTo(this.originalPoint) < 5\n ) {\n this.snapToOriginal();\n } else {\n this.moveTo(point);\n }\n }\n\n private moveTo(point: Point): void {\n if (!this.originalPoint || !this.originalBoundingBox) return;\n\n this.snappingToOriginal = false;\n this.object.canvas.selectedGroup.dragging = true;\n const difference = point.minus(this.originalPoint);\n\n this.object.boundingBox.left =\n this.originalBoundingBox.left + difference.left;\n this.object.boundingBox.top = this.originalBoundingBox.top + difference.top;\n\n this.object.boundingBox.restrictCoordinates(this.object);\n }\n\n public mouseUp(_point: Point): void {\n this.originalPoint = null;\n this.snappingToOriginal = false;\n this.snappingHorizontal = false;\n this.snappingVertical = false;\n this.object.canvas.renderTop();\n }\n\n public render(): void {\n this.object.withinEphemeralTopContext(() => {\n if (this.snappingToOriginal || this.snappingVertical) {\n this.renderSnap(\"vertical\");\n }\n if (this.snappingToOriginal || this.snappingHorizontal) {\n this.renderSnap(\"horizontal\");\n }\n });\n }\n\n public get moving(): boolean {\n return !!this.originalPoint;\n }\n\n private renderSnap(snapType: string): void {\n this.object.topContext.beginPath();\n this.object.topContext.strokeStyle = colours.orange2;\n this.object.topContext.lineWidth = 2;\n this.object.topContext.moveTo(...this.snapMoveTo(snapType));\n this.drawLines(snapType);\n this.object.topContext.closePath();\n this.object.topContext.stroke();\n }\n\n private snapMoveTo(snapType: string): [number, number] {\n if (this.snappingToOriginal && this.originalBoundingBox) {\n return [this.originalBoundingBox.left, this.originalBoundingBox.top];\n } else if (snapType === \"vertical\") {\n return [0, this.object.canvas.height / 2];\n } else {\n return [this.object.canvas.width / 2, 0];\n }\n\n return [0, 0];\n }\n\n private drawLines(snapType: string): void {\n if (this.snappingToOriginal) {\n this.drawOriginalLines(snapType);\n return;\n }\n\n if (snapType === \"vertical\") {\n this.drawLine(this.object.canvas.width, this.object.canvas.height / 2);\n }\n\n if (snapType === \"horizontal\") {\n this.drawLine(this.object.canvas.width / 2, this.object.canvas.height);\n }\n }\n\n private drawLine(x: number, y: number): void {\n this.object.topContext.lineTo(x, y);\n }\n\n private drawOriginalLines(snapType: string): void {\n if (!this.originalBoundingBox) return;\n\n const { top, left } = this.originalBoundingBox;\n\n if (snapType == \"vertical\") {\n this.drawLine(left - 50, top);\n this.drawLine(left + 50, top);\n } else {\n this.drawLine(left, top - 50);\n this.drawLine(left, top + 50);\n }\n }\n\n private snap(): void {\n if (\n Math.abs(\n this.object.boundingBox.center.left - this.object.canvas.width / 2\n ) < 10\n ) {\n this.object.centerH();\n this.snappingHorizontal = true;\n } else {\n this.snappingHorizontal = false;\n }\n\n if (\n Math.abs(\n this.object.boundingBox.center.top - this.object.canvas.height / 2\n ) < 10\n ) {\n this.object.centerV();\n this.snappingVertical = true;\n } else {\n this.snappingVertical = false;\n }\n }\n\n private snapToOriginal(): void {\n if (!this.originalBoundingBox) return;\n\n this.snappingToOriginal = true;\n this.object.boundingBox.left = this.originalBoundingBox.left;\n this.object.boundingBox.top = this.originalBoundingBox.top;\n }\n}\n\nexport { Mover };\n","import { BoundingBox } from './boundingBox';\n\nclass BallAndStick {\n boundingBox: BoundingBox;\n\n constructor(boundingBox: BoundingBox) {\n this.boundingBox = boundingBox;\n }\n\n public draw(context: CanvasRenderingContext2D): void {\n this.drawCircle(context);\n this.drawDashedLine(context);\n }\n\n private drawCircle(context: CanvasRenderingContext2D): void {\n context.beginPath();\n context.moveTo(this.boundingBox.left + 8, this.boundingBox.top);\n context.lineTo(\n this.boundingBox.left + this.boundingBox.width - 8,\n this.boundingBox.top\n );\n context.quadraticCurveTo(\n this.boundingBox.left + this.boundingBox.width,\n this.boundingBox.top,\n this.boundingBox.left + this.boundingBox.width,\n this.boundingBox.top + 8\n );\n context.lineTo(\n this.boundingBox.left + this.boundingBox.width,\n this.boundingBox.top + this.boundingBox.height - 8\n );\n context.quadraticCurveTo(\n this.boundingBox.left + this.boundingBox.width,\n this.boundingBox.top + this.boundingBox.height,\n this.boundingBox.left + this.boundingBox.width - 8,\n this.boundingBox.top + this.boundingBox.height\n );\n context.lineTo(\n this.boundingBox.left + 8,\n this.boundingBox.top + this.boundingBox.height\n );\n context.quadraticCurveTo(\n this.boundingBox.left,\n this.boundingBox.top + this.boundingBox.height,\n this.boundingBox.left,\n this.boundingBox.top + this.boundingBox.height - 8\n );\n context.lineTo(this.boundingBox.left, this.boundingBox.top + 8);\n context.quadraticCurveTo(\n this.boundingBox.left,\n this.boundingBox.top,\n this.boundingBox.left + 8,\n this.boundingBox.top\n );\n\n context.closePath();\n context.fill();\n context.stroke();\n }\n\n private drawDashedLine(context: CanvasRenderingContext2D): void {\n context.beginPath();\n context.moveTo(\n this.boundingBox.center.left,\n this.boundingBox.center.top + 6\n );\n context.setLineDash([4, 4]);\n context.lineTo(\n this.boundingBox.center.left,\n this.boundingBox.center.top + 29\n );\n context.closePath();\n context.fill();\n context.stroke();\n }\n}\n\nexport { BallAndStick };\n","import { BaseObject } from '@/components/brut/src/objects/baseObject';\nimport { Handle } from '@/components/brut/src/objects/baseObject/handle';\nimport { Corner } from '@/components/brut/src/enums/corner';\nimport { Point } from '@/components/brut/src/util/point';\nimport colours from '@/components/brut/src/util/colours';\nimport { BallAndStick } from '@/components/brut/src/util/ballAndStick';\n\nclass RotationHandle extends Handle {\n object: BaseObject;\n\n constructor(object: BaseObject) {\n super(object, Corner.Rotation);\n this.object = object;\n }\n\n public draw(): void {\n if (this.object.type !== 'sticker') return;\n\n this.object.topContext.strokeStyle = this.strokeStyle();\n this.object.topContext.fillStyle = colours.cyan1;\n this.object.topContext.globalAlpha = 1;\n new BallAndStick(this.boundingBox()).draw(this.object.topContext);\n }\n\n public point(): Point {\n return new Point(this.object.boundingBox.width / 2, -30);\n }\n\n public performDrag(difference: Point): void {\n if (this.object.type !== 'sticker') return;\n\n const pointFromOrigin = difference.minus(this.originalHandlePoint());\n const angleInRadians = Math.atan2(\n pointFromOrigin.top,\n pointFromOrigin.left\n );\n this.object.boundingBox.angle = angleInRadians * (180 / Math.PI) + 90;\n this.object.boundingBox.restrictCoordinates(this.object);\n }\n\n public cursor(): string {\n if (this.object.type !== 'sticker') return 'default';\n\n return 'crosshair';\n }\n\n private originalHandlePoint(): Point {\n return new Point(0, this.object.boundingBox.height / 2 + 30).rotateAround(\n Point.origin(),\n -this.originalBoundingBox.angle\n );\n }\n}\n\nexport { RotationHandle };\n","import { BoundingBox } from \"../util/boundingBox\";\nimport { BrutObjectJSON } from \"../interfaces/json/object\";\nimport { Brut } from \"../index\";\nimport { Point } from \"../util/point\";\nimport colours from \"../util/colours\";\nimport { Handle } from \"./baseObject/handle\";\nimport { Corner } from \"../enums/corner\";\nimport { Mover } from \"./baseObject/mover\";\nimport { RotationHandle } from \"./baseObject/rotationHandle\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nabstract class BaseObject {\n uuid: string;\n canvas: Brut;\n json: BrutObjectJSON;\n context: CanvasRenderingContext2D;\n topContext: CanvasRenderingContext2D;\n optionallyEditable!: boolean;\n boundingBox: BoundingBox;\n\n selectable = true;\n selected = false;\n lockedMode = false;\n hovered = false;\n editing = false;\n edited = false;\n trackingEditedState = false;\n perspectiveMode = false;\n isFoiled = false;\n interacting = false;\n private highlighted = false;\n private static minSize = 25;\n maxWidth?: number;\n longPressXOffset: number = 0;\n longPressYOffset: number = 0;\n\n public get hoverCursor(): string {\n return \"pointer\";\n }\n\n public get hoverDragCursor(): string {\n return \"pointer\";\n }\n\n public get top(): number {\n return this.boundingBox && this.boundingBox.top;\n }\n\n public get left(): number {\n return this.boundingBox && this.boundingBox.left;\n }\n\n public get width(): number {\n return this.boundingBox && this.boundingBox.width;\n }\n\n public get height(): number {\n return this.boundingBox && this.boundingBox.height;\n }\n\n public get angle(): number {\n return this.boundingBox && this.boundingBox.angle;\n }\n\n protected highlightColour = \"#66857a\";\n protected lockedModeColour = \"#66857a\";\n protected borderWidth = 2;\n protected borderColour = \"#000000\";\n protected hoverColour = \"#000000\";\n aspectRatio = 1;\n handles!: Handle[];\n mover!: Mover;\n\n type: string;\n name: string;\n maximumSize?: BoundingBox;\n\n protected constructor(canvas: Brut, json: BrutObjectJSON) {\n this.uuid = uuidv4();\n this.canvas = canvas;\n this.json = json;\n this.context = canvas.context;\n this.topContext = canvas.topContext as CanvasRenderingContext2D;\n\n this.boundingBox = new BoundingBox(\n json.left,\n json.top,\n json.width,\n json.height,\n json.angle,\n json.scaleX || 1,\n json.scaleY || 1\n );\n this.edited = json.edited || this.edited;\n\n this.type = json.type;\n this.name = json.name;\n this.trackingEditedState = Object.prototype.hasOwnProperty.call(\n json,\n \"edited\"\n );\n }\n\n public init(): void {\n this.handles = [\n new Handle(this, Corner.TopLeft),\n new Handle(this, Corner.TopRight),\n new Handle(this, Corner.BottomLeft),\n new Handle(this, Corner.BottomRight),\n new RotationHandle(this)\n ];\n this.mover = new Mover(this);\n }\n\n public async load(): Promise {\n return;\n }\n\n public render(_context?: CanvasRenderingContext2D): void {\n this.withinRegion(this.context, () => this.renderContents());\n }\n\n public renderTop(): void {\n if (this.highlighted) {\n this.renderHighlight();\n }\n this.renderBorder();\n this.mover.render();\n }\n\n protected renderContents(): void {}\n\n public canMove(): boolean {\n if (this.canvas.nameInjector) return false;\n\n return this.canvas.admin || this.canvas.isFlexibleEditor;\n }\n\n public canScale(): boolean {\n return this.canvas.admin || this.canvas.isFlexibleEditor;\n }\n\n public maintainAspectRatio(): boolean {\n return this.canvas.keepAspectRatio;\n }\n\n public canRotate(): boolean {\n return false;\n }\n\n public smallestSize(): BoundingBox {\n return new BoundingBox(0, 0, BaseObject.minSize, BaseObject.minSize);\n }\n\n protected renderHighlight(): void {\n this.withinRegion(this.topContext, () => {\n this.topContext.fillStyle = this.highlightColour;\n this.topContext.globalAlpha = 0.4;\n this.topContext.fillRect(\n 0,\n 0,\n this.boundingBox.width,\n this.boundingBox.height\n );\n });\n }\n\n private get renderBordersForLongPress(): boolean {\n if (this.isLongPressed) return true;\n\n return !!(\n this.canvas.longPressModeActivated &&\n this.canvas.longPressObject &&\n this.droppableForLongPress\n );\n }\n\n protected renderBorder(): void {\n const longPressMode = !!(\n this.canvas.longPressModeActivated && this.canvas.longPressObject\n );\n\n if (!this.canvas.admin && !longPressMode) {\n return;\n }\n\n if (!(this.selected || this.hovered || longPressMode)) {\n return;\n }\n\n if (!longPressMode && this.canvas.objectsBeingMoved && !this.mover.moving) {\n return;\n }\n\n this.topContext.save();\n this.withinRegion(this.topContext, () => {\n this.topContext.setLineDash([10, 10]);\n this.topContext.lineWidth = this.borderWidth;\n\n if (this.renderBordersForLongPress) {\n this.topContext.strokeStyle = colours.yellow3;\n this.topContext.setLineDash([10, 10]);\n } else if (this.selected || this.hovered) {\n this.topContext.strokeStyle = this.selected\n ? this.borderColour\n : this.hoverColour;\n this.topContext.setLineDash([10, 10]);\n this.topContext.globalAlpha = 0.9;\n\n if (this.lockedMode) {\n this.topContext.strokeStyle = this.lockedModeColour;\n this.topContext.globalAlpha = 1;\n }\n } else {\n this.topContext.strokeStyle = this.borderColour;\n this.topContext.globalAlpha = 0.3;\n if (this.lockedMode) {\n this.topContext.globalAlpha = 0;\n }\n }\n\n if (this.lockedMode) {\n this.topContext.fillStyle = this.lockedModeColour;\n this.topContext.globalAlpha = 0.15;\n this.topContext.fillRect(\n -2,\n -2,\n this.boundingBox.width + 4,\n this.boundingBox.height + 4\n );\n }\n\n if (this.renderBordersForLongPress) {\n this.topContext.strokeRect(\n -2,\n -2,\n this.boundingBox.width + 4,\n this.boundingBox.height + 4\n );\n } else if (this.selected || this.hovered) {\n this.topContext.strokeRect(\n -2,\n -2,\n this.boundingBox.width + 4,\n this.boundingBox.height + 4\n );\n }\n\n if (this.selected && this.canScale()) {\n this.renderHandles();\n }\n });\n this.topContext.restore();\n }\n\n public toJSON(): Partial {\n return {\n ...this.boundingBox.toJSON(),\n name: this.name,\n type: this.type,\n selectable: this.selectable,\n edited: this.edited\n };\n }\n\n public toSVG(): string {\n return \"\";\n }\n\n public toSkodixSVG(): string {\n return \"\";\n }\n\n public select(): void {\n this.selected = true;\n this.canvas.fire(\"object:selected\", this);\n }\n\n public deselect(): void {\n this.selected = this.hovered = false;\n }\n\n public click(point: Point): void {\n this.canvas.cursor = this.hoverDragCursor;\n this.mover.click(point);\n }\n\n public setAsLongPress(): void {\n // this does nothing. Only ImageFrame implements it\n }\n\n public get isLongPressed(): boolean {\n return false;\n }\n\n public get droppableForLongPress(): boolean {\n return false;\n }\n\n public mouseMove(_point: Point): void {}\n\n public mouseUp(point: Point): void {\n if (this.containsPoint(point)) {\n this.canvas.cursor = this.hoverCursor;\n }\n this.interacting = false;\n this.mover.mouseUp(point);\n }\n\n public containsPoint(point: Point): boolean {\n return this.boundingBox.containsPoint(point);\n }\n\n public mouseEnter(_point: Point): void {\n this.hovered = true;\n this.canvas.cursor = this.hoverCursor;\n this.canvas.renderTop();\n this.canvas.fire(\"mouse:over\", this);\n }\n public mouseLeave(_point: Point): void {\n this.hovered = false;\n this.canvas.cursor = \"default\";\n this.canvas.renderTop();\n this.canvas.fire(\"mouse:out\");\n }\n\n public globalMouseMove(point: Point, skipSnap = false): void {\n this.mover.mouseMove(point, skipSnap);\n }\n\n public touchStart(_point: Point): void {}\n\n public pinch(_scale: number): void {}\n\n public withinRegion(\n context: CanvasRenderingContext2D,\n callback: () => void\n ): void {\n context.save();\n context.translate(this.canvas.canvasBorder, this.canvas.canvasBorder);\n context.translate(...this.boundingBox.origin().asCoords());\n context.rotate(this.boundingBox.angle * (Math.PI / 180));\n context.translate(...this.boundingBox.drawAdjustment().asCoords());\n context.rect(...this.boundingBox.asRect());\n callback();\n context.restore();\n }\n\n public withinEphemeralContext(callback: () => void): void {\n this.context.save();\n callback();\n this.context.restore();\n }\n\n public withinEphemeralTopContext(callback: () => void): void {\n this.topContext.save();\n callback();\n this.topContext.restore();\n }\n\n public adjustedPoint(point: Point): Point {\n return point\n .rotateAround(this.boundingBox.origin(), this.boundingBox.angle)\n .minus(this.boundingBox.origin());\n }\n\n protected renderHandles(): void {\n this.handles.forEach(handle => handle.draw());\n }\n\n public set(properties: Partial): void {\n this.boundingBox.set(properties);\n this.canvas.renderTop();\n }\n\n public remove(): void {\n this.canvas.remove(this);\n }\n\n public clone(): BaseObject | null {\n return this.canvas.clone(this);\n }\n\n public centerH(): void {\n this.set({ left: this.boundingBox.left + this.centerAdjustment.left });\n }\n\n public centerV(): void {\n this.set({ top: this.boundingBox.top + this.centerAdjustment.top });\n }\n\n private get centerAdjustment(): Point {\n return this.canvas.center.minus(this.boundingBox.center);\n }\n\n public setHighlight(flag: boolean): void {\n this.highlighted = flag;\n this.canvas.renderTop();\n }\n\n public perspectiveModeDrag(_difference: Point, _corner: Corner): void {}\n\n public fonts(): string[] {\n return [];\n }\n\n public hide(): void {}\n public show(): void {}\n}\n\nexport { BaseObject };\n","export default {\n scallop:\n \"https://d1o785do8fyxgx.cloudfront.net/images/images/000/245/329/original/FINAL_SHAPE_02.png?1722333351\",\n scallopLandscape:\n \"https://d1o785do8fyxgx.cloudfront.net/uploaded_photos/images/000/000/238/original/FINAL_SHAPE_02.png?1739185839\",\n cornice:\n \"https://d1o785do8fyxgx.cloudfront.net/uploaded_photos/images/000/000/209/original/corniceImageUrl.png?1730198686\",\n corniceLandscape:\n \"https://d1o785do8fyxgx.cloudfront.net/uploaded_photos/images/000/000/239/original/corniceImageUrl_%281%29.png?1739185865\",\n arch: \"https://d1o785do8fyxgx.cloudfront.net/uploaded_photos/images/000/000/210/original/archImageUrl.png?1730198692\"\n};\n","import { CroppedCoordinates } from \"../interfaces/croppedCoordinates\";\nimport dieCutImageUrls from \"./dieCutImageUrls\";\n\ninterface Options {\n throwError?: boolean;\n}\n\ninterface CroppedImageResult {\n croppedImage: HTMLImageElement;\n naturalWidth: number;\n}\n\nexport function loadImage(\n src: string,\n options?: Options\n): Promise {\n return new Promise((resolve, reject) => {\n const image = new Image();\n image.crossOrigin = \"anonymous\";\n image.onload = (): void => {\n resolve(image);\n };\n if (options && options.throwError) {\n image.onerror = (): void => {\n const erroredImageEvent = new CustomEvent(\"imageErrored\");\n window.dispatchEvent(erroredImageEvent);\n reject();\n };\n }\n image.src = src.replace(\"cdn.filestackcontent.com\", \"cdn.filepicker.io\");\n });\n}\n\nexport function loadCroppedImage(\n src: string,\n coordinates: CroppedCoordinates | undefined,\n croppedNaturalWidth: number | undefined,\n dieCut:\n | \"scallop\"\n | \"scallopLandscape\"\n | \"cornice\"\n | \"corniceLandscape\"\n | \"arch\"\n | null\n): Promise {\n return new Promise(resolve => {\n const image = new Image();\n image.crossOrigin = \"anonymous\";\n image.onload = (): void => {\n // let's store the width and height of our image\n const inputWidth = image.naturalWidth;\n const inputHeight = image.naturalHeight;\n\n // the croppedNaturalWidth is captured against the cropped perspectiveImage\n // at the point it is first create. Using this and comparing to the width of the new image being loaded\n // gives us a proportion to scale the new image to the same size as the original\n // This allows us to load larger/smaller images (lower/higher resolution) and still have them fit the same area\n\n const naturalImageRatio = croppedNaturalWidth\n ? inputWidth / croppedNaturalWidth\n : 1;\n\n const coordinatesWidth =\n (coordinates ? coordinates.width : inputWidth) * naturalImageRatio;\n const coordinatesHeight =\n (coordinates ? coordinates.height : inputHeight) * naturalImageRatio;\n const coordinatesX =\n (coordinates ? coordinates.left : 0) * naturalImageRatio;\n const coordinatesY =\n (coordinates ? coordinates.top : 0) * naturalImageRatio;\n\n // create a canvas that will present the output image\n const outputImage = document.createElement(\"canvas\");\n\n // set it to the same size as the image\n outputImage.width = coordinatesWidth;\n outputImage.height = coordinatesHeight;\n\n // draw our image at position 0, 0 on the canvas\n const ctx = outputImage.getContext(\"2d\");\n if (ctx) {\n let {\n topLeft = 0,\n topRight = 0,\n bottomLeft = 0,\n bottomRight = 0\n } = coordinates?.roundedCorners || {};\n topLeft = topLeft * naturalImageRatio;\n topRight = topRight * naturalImageRatio;\n bottomLeft = bottomLeft * naturalImageRatio;\n bottomRight = bottomRight * naturalImageRatio;\n ctx.beginPath();\n ctx.moveTo(topLeft, 0);\n ctx.lineTo(coordinatesWidth - topRight, 0);\n ctx.quadraticCurveTo(coordinatesWidth, 0, coordinatesWidth, topRight);\n ctx.lineTo(coordinatesWidth, coordinatesHeight - bottomRight);\n ctx.quadraticCurveTo(\n coordinatesWidth,\n coordinatesHeight,\n coordinatesWidth - bottomRight,\n coordinatesHeight\n );\n ctx.lineTo(bottomLeft, coordinatesHeight);\n ctx.quadraticCurveTo(\n 0,\n coordinatesHeight,\n 0,\n coordinatesHeight - bottomLeft\n );\n ctx.lineTo(0, topLeft);\n ctx.quadraticCurveTo(0, 0, topLeft, 0);\n ctx.closePath();\n ctx.clip();\n ctx.drawImage(\n image,\n coordinatesX,\n coordinatesY,\n coordinatesWidth,\n coordinatesHeight,\n 0,\n 0,\n coordinatesWidth,\n coordinatesHeight\n );\n }\n\n const outputImageURL = outputImage.toDataURL();\n const finalImage = new Image();\n finalImage.crossOrigin = \"anonymous\";\n finalImage.onload = (): void => {\n if (!dieCut) {\n resolve({\n croppedImage: finalImage,\n naturalWidth: inputWidth\n });\n return;\n }\n\n const dieCutImage = new Image();\n dieCutImage.crossOrigin = \"anonymous\";\n dieCutImage.onload = (): void => {\n const finalDieCutOutput = document.createElement(\"canvas\");\n finalDieCutOutput.width = coordinatesWidth;\n finalDieCutOutput.height = coordinatesHeight;\n\n const finalDieCutContext = finalDieCutOutput.getContext(\"2d\");\n\n if (finalDieCutContext) {\n finalDieCutContext.drawImage(\n finalImage,\n 0,\n 0,\n coordinatesWidth,\n coordinatesHeight,\n 0,\n 0,\n coordinatesWidth,\n coordinatesHeight\n );\n\n finalDieCutContext.globalCompositeOperation = \"destination-in\";\n\n finalDieCutContext.drawImage(\n dieCutImage,\n 0,\n 0,\n coordinatesWidth,\n coordinatesHeight\n );\n\n const finalDieCutUrl = finalDieCutOutput.toDataURL();\n\n const finalDieCutImage = new Image();\n finalDieCutImage.crossOrigin = \"anonymous\";\n\n finalDieCutImage.onload = (): void => {\n resolve({\n croppedImage: finalDieCutImage,\n naturalWidth: inputWidth\n });\n };\n\n finalDieCutImage.src = finalDieCutUrl;\n }\n };\n const dieCutImageSrc = dieCutImageUrls[dieCut];\n dieCutImage.src = dieCutImageSrc;\n };\n finalImage.src = outputImageURL;\n };\n\n image.src = src;\n });\n}\n","import { BrutObjectJSON } from \"../../interfaces/json/object\";\nimport { FilestackImage } from \"../../interfaces/filestackImage\";\nimport { LongPressSwapData } from \"../../interfaces/longPressSwapData\";\n\nimport { BaseObject } from \"../baseObject\";\nimport { Brut } from \"../../index\";\nimport { loadImage } from \"../../util/loadImage\";\nimport { Point } from \"../../util/point\";\nimport { ImageOptions } from \"../../interfaces/imageOptions\";\nimport colours from \"../../util/colours\";\n\ninterface PointDiff {\n top: number;\n left: number;\n}\n\nclass ImageFrame extends BaseObject {\n imageUrl?: string;\n stockImage?: boolean;\n imageOptions: ImageOptions;\n filestackImage?: FilestackImage;\n isFlexibleEditor?: boolean;\n widthInMm?: number;\n image?: HTMLImageElement;\n\n private backgroundColour = \"#f4eee0\";\n private buttonImageUrl =\n \"https://papier-assets.s3.amazonaws.com/editor-assets/placeholder-image.png\";\n private buttonImage?: HTMLImageElement;\n private mouseDown = false;\n private lastPanPoint: Point | null = null;\n private userRotation: number;\n private constrained = true;\n private preventLongPress = false;\n private longPressScaler = 1;\n\n constructor(canvas: Brut, json: BrutObjectJSON) {\n super(canvas, json);\n this.isFlexibleEditor = canvas.isFlexibleEditor;\n this.imageUrl = json.imageUrl;\n this.stockImage = json.stockImage;\n this.filestackImage = json.filestackImage;\n this.imageOptions = json.imageOptions || this.defaultImageOptions;\n this.userRotation = json.userRotation || 0;\n }\n\n public toJSON(): Partial {\n return {\n ...super.toJSON(),\n imageUrl: this.imageUrl,\n stockImage: this.stockImage,\n imageOptions: this.imageOptions,\n filestackImage: this.filestackImage,\n userRotation: this.userRotation\n };\n }\n\n public toSVG(): string {\n return \"\";\n // return new ImageFrameSvg(this).export();\n }\n\n public async load(): Promise {\n if (this.imageUrl && (this.canvas.admin || !this.stockImage)) {\n await loadImage(this.imageUrl, { throwError: true })\n .then(image => {\n this.image = image;\n this.imageOptions.width = this.image.width;\n this.imageOptions.height = this.image.height;\n this.setRenderedDimensions();\n })\n .catch(() => {\n this.canvas.fire(\"imageframe:faulty-url\", this);\n });\n }\n this.buttonImage = await loadImage(this.buttonImageUrl);\n }\n\n public setImageUrl(\n url: string | undefined,\n stock: boolean,\n callback?: () => void,\n recenter = true\n ): void {\n this.clearRotation();\n this.stockImage = stock;\n this.imageUrl = url;\n this.load().then(() => {\n this.setRenderedDimensions();\n recenter && this.center();\n this.canvas.renderAll();\n callback && callback();\n });\n }\n\n public clearImage(): void {\n this.image = undefined;\n this.imageOptions = this.defaultImageOptions;\n this.imageUrl = undefined;\n this.filestackImage = undefined;\n this.clearRotation();\n this.canvas.renderAll();\n this.canvas.fire(\"image:clear\");\n }\n\n public canScale(): boolean {\n return this.canvas.admin;\n }\n\n public canMove(): boolean {\n return this.canvas.admin;\n }\n\n public setScale(scale: number): void {\n const prevScale = this.imageOptions.scale;\n\n this.imageOptions.scale = scale * 0.1;\n this.setRenderedDimensions();\n\n this.imageOptions.left =\n (this.imageOptions.left / prevScale) * this.imageOptions.scale;\n this.imageOptions.top =\n (this.imageOptions.top / prevScale) * this.imageOptions.scale;\n\n this.setUpRerender();\n }\n\n public renderContents(\n context = this.context,\n renderingLongPress = false\n ): void {\n if (this.image) {\n if (renderingLongPress) {\n this.renderLongPressImage(context);\n } else {\n this.renderImage(context);\n }\n } else if (this.buttonImage) {\n this.renderEmptyBackground();\n }\n }\n\n public renderTop(): void {\n if (!this.isLongPressed && this.selected && this.canvas.responsiveMode) {\n // we want to be sure that longPress can't be activated when we are in the image editing mode on mobile\n // this flag stops the imageFrame from being set as long press\n this.preventLongPress = true;\n this.topContext.save();\n this.topContext.fillStyle = colours.lightBlue1;\n this.topContext.globalAlpha = 0.7;\n\n // Outer canvas\n this.topContext.fillRect(0, 0, this.canvas.width, this.canvas.height);\n\n this.withinRegion(this.topContext, () => {\n this.topContext.clearRect(\n 0,\n 0,\n this.boundingBox.width,\n this.boundingBox.height\n );\n });\n\n this.topContext.restore();\n } else {\n this.preventLongPress = false;\n }\n\n super.renderTop();\n\n // we do this afterwards to ensure it goes over the borders\n if (this.isLongPressed) {\n this.renderContents(this.topContext, true);\n }\n }\n\n public deselect(): void {\n super.deselect();\n this.mouseDown = false;\n this.lastPanPoint = null;\n }\n\n public select(): void {\n super.select();\n this.canvas.fire(\"image:select\", this);\n }\n\n public click(point: Point): void {\n this.canvas.fire(\"image:select\", this);\n super.click(point);\n this.selected = this.mouseDown = true;\n this.canvas.fire(\"object:selected\", this);\n }\n\n public touchStart(point: Point): void {\n super.touchStart(point);\n if (this.selected) {\n this.mouseDown = true;\n }\n }\n\n public get isLongPressed(): boolean {\n return (\n this.canvas.longPressModeActivated &&\n this.canvas.longPressObject?.uuid === this.uuid\n );\n }\n\n public get droppableForLongPress(): boolean {\n return true;\n }\n\n public mouseMove(point: Point) {\n super.mouseMove(point);\n if (this.isLongPressed && this.canvas.longPressPointOrigin) {\n // whenever we move the mouse whilst having a longPressedObject\n // we need to capture where the mouse has moved, so that we can render the new position\n // of the longPressedObject\n const { left, top } = point.minus(this.canvas.longPressPointOrigin);\n this.longPressXOffset = left;\n this.longPressYOffset = top;\n this.canvas.renderAll();\n this.canvas.renderTop();\n }\n }\n\n public globalMouseMove(point: Point): void {\n super.globalMouseMove(point);\n const diff = this.calculateDiff(point);\n if (!this.mouseDown) return;\n if (diff) {\n this.imageOptions.top -= diff.top;\n this.imageOptions.left -= diff.left;\n this.setUpRerender();\n }\n this.lastPanPoint = point;\n }\n\n private calculateDiff(point: Point): PointDiff | null {\n if (!this.lastPanPoint) return null;\n\n const { top: initialTop, left: initialLeft } =\n this.lastPanPoint.minus(point);\n\n if (this.userRotation === 0) {\n return { top: initialTop, left: initialLeft };\n } else if (this.userRotation === 1) {\n return { top: -initialLeft, left: initialTop };\n } else if (this.userRotation === 2) {\n return { top: -initialTop, left: -initialLeft };\n } else {\n return { top: initialLeft, left: -initialTop };\n }\n }\n\n public setAsLongPress(): void {\n if (this.image && !this.preventLongPress) {\n this.canvas.longPressModeActivated = true;\n this.canvas.longPressObject = this;\n // the longPressScaler is used to animate the long press image\n // we gradually increase the scale of the image to just over final scale (1.1)\n // then decrease it to 1 to give a bounce effect\n this.longPressScaler = 0.1;\n let hasBounced = false;\n const interval = setInterval(() => {\n if (hasBounced) {\n this.longPressScaler /= 1.005;\n if (this.longPressScaler <= 1) {\n clearInterval(interval);\n }\n } else {\n this.longPressScaler *= 1.075;\n if (this.longPressScaler >= 1.15) {\n hasBounced = true;\n }\n }\n this.canvas.renderTop();\n }, 5);\n this.canvas.renderAll();\n }\n }\n\n private get longPressSwapSizeRatio(): number {\n if (!this.canvas.longPressObject) return 1;\n return (\n this.canvas.longPressObject.boundingBox.width / this.boundingBox.width\n );\n }\n\n private setLongPressSwapData(data: LongPressSwapData): void {\n const {\n image,\n imageUrl,\n longPressSwapImageOptions,\n stockImage,\n filestackImage,\n userRotation\n } = data;\n this.image = image;\n this.imageUrl = imageUrl;\n this.imageOptions = longPressSwapImageOptions;\n this.stockImage = stockImage;\n this.filestackImage = filestackImage;\n this.autoSetToRotation(userRotation);\n }\n\n private longPressSwapData({ target = true }): LongPressSwapData {\n return {\n image: this.image,\n longPressSwapImageOptions: this.longPressSwapImageOptions(target),\n imageUrl: this.imageUrl,\n stockImage: this.stockImage,\n filestackImage: this.filestackImage,\n userRotation: this.userRotation\n };\n }\n\n private longPressSwapImageOptions(target: boolean): ImageOptions {\n const ratio = target\n ? this.longPressSwapSizeRatio\n : 1 / this.longPressSwapSizeRatio;\n\n return {\n ...this.imageOptions,\n top: this.imageOptions.top * ratio,\n left: this.imageOptions.left * ratio\n };\n }\n\n private performLongPressSwap(): void {\n if (\n this.canvas.longPressObject &&\n this.canvas.longPressObject.uuid !== this.uuid &&\n this.canvas.longPressModeActivated\n ) {\n const targetData = this.longPressSwapData({ target: true });\n const sourceData = this.canvas.longPressObject.longPressSwapData({\n target: false\n });\n\n this.setLongPressSwapData(sourceData);\n this.canvas.longPressObject.setLongPressSwapData(targetData);\n this.canvas.clearLongPress();\n\n this.canvas.renderAll();\n }\n }\n\n public mouseUp(point: Point): void {\n super.mouseUp(point);\n\n if (this.longPressXOffset || this.longPressYOffset) {\n this.longPressXOffset = 0;\n this.longPressYOffset = 0;\n this.canvas.renderAll();\n }\n\n this.mouseDown = false;\n this.lastPanPoint = null;\n\n if (this.containsPoint(point)) {\n this.performLongPressSwap();\n }\n }\n\n public pinch(scale: number): void {\n if (!this.selected) return;\n\n let newScale = this.imageOptions.scale * 10 * scale;\n newScale = Math.min(newScale, 40);\n newScale = Math.max(newScale, 10);\n\n this.setScale(newScale);\n }\n\n private get defaultImageOptions(): ImageOptions {\n return {\n top: -this.boundingBox.height / 2,\n left: -this.boundingBox.width / 2,\n width: 0,\n height: 0,\n renderedWidth: 0,\n renderedHeight: 0,\n scale: 1\n };\n }\n\n private center(): void {\n this.imageOptions.left =\n -(this.boundingBox.width / 2) -\n (this.imageOptions.renderedWidth - this.boundingBox.width) / 2;\n this.imageOptions.top =\n -(this.boundingBox.height / 2) -\n (this.imageOptions.renderedHeight - this.boundingBox.height) / 2;\n }\n\n private constrain(): void {\n this.constrained = false;\n // Constrain the various dimensions of the image\n if (this.constrainLeftCheckOne()) {\n this.constrained = true;\n this.imageOptions.left = -this.boundingBox.width / 2;\n }\n if (this.constrainTopCheckOne()) {\n this.constrained = true;\n this.imageOptions.top = -this.boundingBox.height / 2;\n }\n if (this.constrainTopCheckTwo()) {\n this.constrained = true;\n this.imageOptions.top =\n -this.boundingBox.height / 2 +\n (this.boundingBox.height - this.imageOptions.renderedHeight);\n }\n if (this.constrainLeftCheckTwo()) {\n this.constrained = true;\n this.imageOptions.left =\n -this.boundingBox.width / 2 +\n (this.boundingBox.width - this.imageOptions.renderedWidth);\n }\n }\n\n private constrainLeftCheckOne(): boolean {\n return this.imageOptions.left > -this.boundingBox.width / 2;\n }\n\n private constrainTopCheckOne(): boolean {\n return this.imageOptions.top > -this.boundingBox.height / 2;\n }\n\n private constrainTopCheckTwo(): boolean {\n return (\n this.imageOptions.top <\n -this.boundingBox.height / 2 +\n (this.boundingBox.height - this.imageOptions.renderedHeight)\n );\n }\n\n private constrainLeftCheckTwo(): boolean {\n return (\n this.imageOptions.left <\n -this.boundingBox.width / 2 +\n (this.boundingBox.width - this.imageOptions.renderedWidth)\n );\n }\n\n private setRenderedDimensions(): void {\n if (\n this.imageOptions.height / this.imageOptions.width >\n this.boundingBox.height / this.boundingBox.width\n ) {\n // More portrait than the frame\n this.imageOptions.renderedHeight =\n this.boundingBox.width *\n (this.imageOptions.height / this.imageOptions.width) *\n this.imageOptions.scale;\n this.imageOptions.renderedWidth =\n this.boundingBox.width * this.imageOptions.scale;\n } else {\n // Less portrait than the frame\n this.imageOptions.renderedHeight =\n this.boundingBox.height * this.imageOptions.scale;\n this.imageOptions.renderedWidth =\n this.boundingBox.height *\n (this.imageOptions.width / this.imageOptions.height) *\n this.imageOptions.scale;\n }\n }\n\n private renderLongPressImage(context = this.context): void {\n if (this.image == null) return;\n\n // This is the long press image that is rendered when the user long presses on an image\n\n // the scaler is updated in an interval when setting the long press object\n // it is used to animate the long press image to give a bounce effect\n let radius = 40 * this.longPressScaler;\n const rotation = 8 * this.longPressScaler;\n let cornerRadius = 10; // Adjust this for more/less rounded corners\n\n if (this.canvas.element instanceof HTMLCanvasElement) {\n // we need to ensure that we are scaling the radius and corners of the longpress image\n // so that it accounts for how much the canvas is shrunk on the screen\n // This means that when the canvas is shrunk down (e.g. on mobile) the long press image\n // will be scaled up a bit to make it clearer\n const { width: canvasClientWidth } =\n this.canvas.element.getBoundingClientRect();\n const ratio = canvasClientWidth / this.canvas.width;\n radius /= ratio;\n cornerRadius /= ratio;\n }\n\n const size = radius * 2;\n\n context.save();\n context.translate(\n this.canvas.longPressPointOrigin?.left || 0,\n this.canvas.longPressPointOrigin?.top || 0\n );\n context.translate(this.longPressXOffset, this.longPressYOffset);\n context.rotate(rotation * (Math.PI / 180));\n context.translate(-radius, -radius);\n\n context.beginPath();\n context.moveTo(cornerRadius, 0);\n context.lineTo(size - cornerRadius, 0);\n context.quadraticCurveTo(size, 0, size, cornerRadius);\n context.lineTo(size, size - cornerRadius);\n context.quadraticCurveTo(size, size, size - cornerRadius, size);\n context.lineTo(cornerRadius, size);\n context.quadraticCurveTo(0, size, 0, size - cornerRadius);\n context.lineTo(0, cornerRadius);\n context.quadraticCurveTo(0, 0, cornerRadius, 0);\n context.closePath();\n\n context.lineWidth = 5; // Adjust border thickness as needed\n context.strokeStyle = \"white\";\n context.stroke();\n context.clip();\n\n const imgWidth = this.image.width;\n const imgHeight = this.image.height;\n const imgAspect = imgWidth / imgHeight;\n\n let drawWidth, drawHeight, offsetX, offsetY;\n\n if (imgAspect > 1) {\n // Landscape: Fit height, scale width proportionally\n drawHeight = size;\n drawWidth = size * imgAspect;\n offsetX = -(drawWidth - size) / 2; // Negative offset to center the image horizontally\n offsetY = 0;\n } else {\n // Portrait or square: Fit width, scale height proportionally\n drawWidth = size;\n drawHeight = size / imgAspect;\n offsetX = 0;\n offsetY = -(drawHeight - size) / 2; // Negative offset to center the image vertically\n }\n\n context.drawImage(this.image, offsetX, offsetY, drawWidth, drawHeight);\n this.constrain();\n\n context.restore();\n }\n\n private renderImage(context = this.context): void {\n if (this.image == null) return;\n context.save();\n context.beginPath();\n context.rect(0, 0, this.boundingBox.width, this.boundingBox.height);\n context.clip();\n context.translate(this.boundingBox.width / 2, this.boundingBox.height / 2);\n context.drawImage(\n this.image,\n this.imageOptions.left,\n this.imageOptions.top,\n this.imageOptions.renderedWidth,\n this.imageOptions.renderedHeight\n );\n this.constrain();\n context.restore();\n }\n\n private renderEmptyBackground(): void {\n if (this.buttonImage == null) return;\n this.context.save();\n this.context.fillStyle = this.backgroundColour;\n this.context.fillRect(\n 0,\n 0,\n this.boundingBox.width,\n this.boundingBox.height\n );\n this.context.translate(\n this.boundingBox.width / 2,\n this.boundingBox.height / 2\n );\n this.context.drawImage(\n this.buttonImage,\n -this.buttonImage.width / 4,\n -this.buttonImage.height / 4,\n this.buttonImage.width / 2,\n this.buttonImage.height / 2\n );\n this.context.restore();\n }\n\n public rotate(direction: string, rerender = true): void {\n this.setRenderedDimensions();\n if (direction === \"right\") {\n this.boundingBox.rotateRight();\n this.userRotation = this.userRotation === 3 ? 0 : this.userRotation + 1;\n } else {\n this.boundingBox.rotateLeft();\n this.userRotation = this.userRotation === 0 ? 3 : this.userRotation - 1;\n }\n if (rerender) {\n this.setUpRerender();\n }\n }\n\n public autoSetToRotation(userRotation: number): void {\n while (this.userRotation !== userRotation) {\n this.rotate(\"right\", false);\n }\n\n this.setUpRerender();\n }\n\n private setUpRerender(): void {\n this.constrain();\n this.setRenderedDimensions();\n this.canvas.renderAll();\n\n if (this.constrained) {\n this.setUpRerender();\n }\n }\n\n private clearRotation(): void {\n Array.from({ length: this.userRotation }).forEach(_arg => {\n this.boundingBox.rotateLeft();\n });\n this.userRotation = 0;\n }\n}\n\nexport { ImageFrame };\n","enum TextAlign {\n Left = 1,\n Center,\n Right\n}\n\nclass TextAlignUtil {\n public static fromString(value: string): TextAlign {\n switch (value) {\n case 'right':\n return TextAlign.Right;\n case 'center':\n return TextAlign.Center;\n default:\n return TextAlign.Left;\n }\n }\n\n public static toString(value: TextAlign): string {\n switch (value) {\n case TextAlign.Left:\n return 'left';\n case TextAlign.Center:\n return 'center';\n case TextAlign.Right:\n return 'right';\n }\n }\n}\n\nexport { TextAlign, TextAlignUtil };\n","export default class TextBoxStyleDefaults {\n static fontFamily = 'Avenir';\n static fontSize = 16;\n static lineHeight = 1.2;\n static letterSpacing = 0;\n static fill = '#000000';\n static textAlign = 'left';\n}\n","import { TextAlign, TextAlignUtil } from '../../enums/textAlign';\nimport { BrutStyleJSON } from '../../interfaces/json/style';\nimport TextBoxStyleDefaults from './util/textBoxStyleDefaults';\n\nclass TextBoxStyle {\n fontFamily: string;\n fontSize: number;\n lineHeight: number;\n letterSpacing: number;\n fill: string;\n textAlign: TextAlign;\n\n constructor(json: BrutStyleJSON) {\n this.fontFamily = json.fontFamily || TextBoxStyleDefaults.fontFamily;\n this.fontSize = json.fontSize || TextBoxStyleDefaults.fontSize;\n this.lineHeight = json.lineHeight || TextBoxStyleDefaults.lineHeight;\n this.letterSpacing =\n json.letterSpacing || TextBoxStyleDefaults.letterSpacing;\n this.fill = json.fill || TextBoxStyleDefaults.fill;\n this.textAlign = TextAlignUtil.fromString(\n json.textAlign || TextBoxStyleDefaults.textAlign\n );\n }\n\n public toJSON(): BrutStyleJSON {\n return {\n textAlign: TextAlignUtil.toString(this.textAlign),\n fontFamily: this.fontFamily,\n fontSize: this.fontSize,\n lineHeight: this.lineHeight,\n letterSpacing: this.letterSpacing,\n fill: this.fill\n };\n }\n\n public fontString(): string {\n return ['normal', 'normal', `${this.fontSize}px`, this.fontFamily].join(\n ' '\n );\n }\n\n public update(style: Partial): void {\n if (style.fontFamily) {\n this.fontFamily = style.fontFamily;\n }\n if (style.fontSize) {\n this.fontSize = style.fontSize;\n }\n if (style.lineHeight) {\n this.lineHeight = style.lineHeight;\n }\n if (style.letterSpacing !== undefined) {\n this.letterSpacing = style.letterSpacing;\n }\n if (style.fill) {\n this.fill = style.fill;\n }\n if (style.textAlign) {\n this.textAlign = TextAlignUtil.fromString(style.textAlign);\n }\n }\n\n public isEqual(style: TextBoxStyle): boolean {\n return (\n this.fontFamily === style.fontFamily &&\n this.fontSize === style.fontSize &&\n this.lineHeight === style.lineHeight &&\n this.letterSpacing === style.letterSpacing &&\n this.fill === style.fill &&\n this.textAlign === style.textAlign\n );\n }\n}\n\nexport { TextBoxStyle };\n","import { BrutStyleJSON } from \"../../interfaces/json/style\";\nimport { TextBoxStyle } from \"./textBoxStyle\";\nimport { BoundingBox } from \"../../util/boundingBox\";\nimport { Point } from \"../../util/point\";\nimport { TextBoxLine } from \"./textBoxLine\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nclass TextBoxCharacter {\n uuid: string;\n char: string;\n style: TextBoxStyle;\n boundingBox: BoundingBox;\n\n line?: TextBoxLine;\n\n static newLineRegex = /\\r?\\n/;\n static boundaryRegex = /\\s|\\n/;\n static punctuationRegex = /[~`!#$%^&*+=\\-\\[\\]\\\\';,./{}|\\\\\":<>?]/g;\n\n private context: CanvasRenderingContext2D;\n\n constructor(\n context: CanvasRenderingContext2D,\n char: string,\n style: BrutStyleJSON\n ) {\n this.uuid = uuidv4();\n this.char = char;\n this.style = new TextBoxStyle(style);\n this.boundingBox = new BoundingBox(0, 0, 0, 0);\n this.context = context;\n }\n\n public render(point: Point): void {\n const newPoint = Object.assign({}, point);\n if (!this.isNullCharacter()) {\n this.context.font = this.style.fontString();\n this.context.fillStyle = this.style.fill;\n this.context.fillText(this.char, point.left, point.top);\n }\n this.boundingBox = new BoundingBox(\n newPoint.left,\n newPoint.top - this.height() * 0.8,\n this.width(),\n this.height()\n );\n }\n\n public width(): number {\n if (this.char === \"\\n\" || this.isNullCharacter()) {\n return 0;\n }\n this.context.font = this.style.fontString();\n return this.context.measureText(this.char).width + this.style.letterSpacing;\n }\n\n public height(): number {\n if (this.isNullCharacter()) {\n return 0;\n }\n return this.style.fontSize * this.style.lineHeight;\n }\n\n public isNewLine(): boolean {\n return TextBoxCharacter.newLineRegex.test(this.char);\n }\n\n public isWordBoundary(): boolean {\n return TextBoxCharacter.boundaryRegex.test(this.char);\n }\n\n public get isOverflowing(): boolean {\n return !!(this.line && this.line.overflowing);\n }\n\n public isNullCharacter(): boolean {\n return this.char === \"\\0\";\n }\n}\n\nexport { TextBoxCharacter };\n","import { TextBoxCharacter } from './textBoxCharacter';\nimport { TextAlign } from '../../enums/textAlign';\nimport { Point } from '../../util/point';\nimport { BoundingBox } from '../../util/boundingBox';\nimport { TextBox } from './textBox';\nimport { CharForWrap } from '../../interfaces/charForWrap';\nimport { v4 as uuidv4 } from 'uuid';\n\nclass TextBoxLine {\n private textBox: TextBox;\n uuid: string;\n characters: TextBoxCharacter[];\n overflowing = false;\n private readonly context: CanvasRenderingContext2D;\n\n constructor(\n textBox: TextBox,\n context: CanvasRenderingContext2D,\n characters: TextBoxCharacter[]\n ) {\n this.textBox = textBox;\n this.uuid = uuidv4();\n this.context = context;\n this.characters = characters;\n }\n\n public init(): void {\n this.characters.forEach(char => (char.line = this));\n }\n\n public get boundingBox(): BoundingBox {\n return new BoundingBox(\n 0,\n this.characters[0].boundingBox.top,\n this.textBox.boundingBox.width,\n this.height()\n );\n }\n\n public get text(): string {\n return this.characters.map(char => char.char).join('');\n }\n\n public render(point: Point): void {\n const topOffset = this.height() / 2;\n const newPoint = point.minus(new Point(0, topOffset));\n newPoint.left = this.leftOffset();\n this.characters.forEach(char => {\n char.render(newPoint);\n newPoint.left = newPoint.left + char.width();\n });\n }\n\n public wrap(): TextBoxLine[] {\n if (this.width() < this.boundingBox.width) {\n return [this];\n }\n\n if (this.textBox.currentNameInjector) {\n this.textBox.nameInjectionStrings.forEach(string => string.reduceSize());\n this.textBox.renderContents();\n }\n\n const newLines: TextBoxLine[] = [];\n let charsForWrap: CharForWrap[] = [];\n let width = 0;\n\n this.characters.forEach(character => {\n // We are using a CharForWrap type so that\n // we can cache the width of the char.\n // This speeds up the wrap.\n const newCharacter: CharForWrap = {\n character,\n width: character.width()\n };\n\n charsForWrap.push(newCharacter);\n width += newCharacter.width;\n\n if (width > this.boundingBox.width) {\n const line = new TextBoxLine(\n this.textBox,\n this.context,\n charsForWrap.map(char => char.character)\n );\n line.init();\n\n const spaces = line.characters.filter(char => char.char === ' ');\n\n if (spaces.length) {\n const lastSpaceIndex = line.characters.findIndex(\n char => char.uuid === spaces[spaces.length - 1].uuid\n );\n\n // Make sure the space stays on the current line\n line.characters.splice(lastSpaceIndex + 1);\n charsForWrap.splice(0, lastSpaceIndex + 1);\n width = charsForWrap.reduce((total, char) => total + char.width, 0);\n } else {\n // If there are no spaces available, we should just remove the last character\n // as this is the one that tipped the line over the width of the bounding box.\n // The removed last character is carried over to the next line.\n line.characters.pop();\n charsForWrap = [newCharacter];\n width = newCharacter.width;\n }\n\n newLines.push(line);\n }\n });\n\n // Mop up any remaining words\n const line = new TextBoxLine(\n this.textBox,\n this.context,\n charsForWrap.map(char => char.character)\n );\n line.init();\n newLines.push(line);\n return newLines;\n }\n\n public height(): number {\n if (this.characters.length === 0) return 0;\n\n return Math.max(...this.characters.map(char => char.height()));\n }\n\n public width(): number {\n return this.characters.map(char => char.width()).reduce((a, b) => a + b, 0);\n }\n\n public boundingBoxForNewline(): BoundingBox {\n const lastChar = this.characters[this.characters.length - 1];\n\n return new BoundingBox(\n this.lineStartOffset(),\n lastChar.boundingBox.top + this.height() * TextBox.lineHeightRatio,\n lastChar.boundingBox.width,\n lastChar.boundingBox.height\n );\n }\n\n private textAlign(): TextAlign {\n if (this.characters.length) {\n return this.characters[0].style.textAlign;\n }\n return TextAlign.Left;\n }\n\n private lineStartOffset(): number {\n switch (this.textAlign()) {\n case TextAlign.Left:\n return 0;\n case TextAlign.Center:\n return this.boundingBox.width / 2;\n case TextAlign.Right:\n return this.boundingBox.width;\n }\n }\n\n private leftOffset(): number {\n switch (this.textAlign()) {\n case TextAlign.Left:\n return 0;\n case TextAlign.Center:\n return (this.boundingBox.width - this.width()) / 2;\n case TextAlign.Right:\n return this.boundingBox.width - this.width();\n }\n }\n}\n\nexport { TextBoxLine };\n","import { TextBoxCharacter } from '../textBoxCharacter';\nimport { BoundingBox } from '../../../util/boundingBox';\n\nclass GetSelectionBoxes {\n characters!: TextBoxCharacter[];\n\n constructor(characters: TextBoxCharacter[]) {\n this.init(characters);\n }\n\n private init(characters: TextBoxCharacter[]): void {\n this.characters = characters;\n }\n\n public call(): BoundingBox[] {\n const lines = this.characters\n .map(char => char.line) // Find the line for each char\n .filter(\n (line, index, self) =>\n self.findIndex(ln => {\n if (ln && line) {\n return ln.uuid === line.uuid;\n }\n }) === index\n ) // Unique\n .filter(line => line && !line.overflowing)\n .map(\n line =>\n line &&\n line.characters.filter(\n char => this.characters.findIndex(ch => ch.uuid === char.uuid) > -1\n ) // Pick the characters from that line that are actually selected\n )\n .filter(chars => chars && chars.length) as TextBoxCharacter[][]; // Remove nulls, have to cast here because TS isn't clever enough to realise lines can't be null\n\n return lines.map(chars => {\n const boundingBox = BoundingBox.containingBox(\n chars.map(char => char.boundingBox)\n );\n\n // Normally newline characters have no width, but if they're on their own on a line\n // we give them a little bit of width so the selection box actually shows up\n if (chars.length === 1 && chars[0].isNewLine()) {\n boundingBox.width = 2;\n }\n\n return boundingBox;\n });\n }\n}\n\nexport { GetSelectionBoxes };\n","import { TextBoxCharacter } from \"../textBoxCharacter\";\nimport { BoundingBox } from \"../../../util/boundingBox\";\nimport { TextBox } from \"../textBox\";\nimport { GetSelectionBoxes } from \"./getSelectionBoxes\";\n\nclass RenderSelection {\n characters: TextBoxCharacter[];\n textBox: TextBox;\n colour: string;\n hideColour: boolean;\n\n constructor(\n textBox: TextBox,\n characters: TextBoxCharacter[],\n colour = \"#d3e2fd\",\n hideColour = false\n ) {\n this.characters = characters;\n this.textBox = textBox;\n this.colour = colour;\n this.hideColour = hideColour;\n }\n\n public call(): void {\n this.textBox.withinRegion(this.textBox.topContext, () => {\n this.textBox.topContext.fillStyle = this.colour;\n this.textBox.topContext.globalAlpha = this.hideColour ? 0 : 0.5;\n this.boxes.forEach(box => {\n this.textBox.topContext.fillRect(...box.asRect());\n });\n });\n }\n\n private get boxes(): BoundingBox[] {\n return new GetSelectionBoxes(this.characters).call();\n }\n}\n\nexport { RenderSelection };\n","import { BrutStyleJSON } from '../../interfaces/json/style';\nimport { BrutPredefinedStringJSON } from '../../interfaces/json/predefinedString';\nimport { TextBox } from './textBox';\nimport { TextBoxStyle } from './textBoxStyle';\nimport { RenderSelection } from './services/renderSelection';\nimport { TextBoxCharacter } from './textBoxCharacter';\n\nclass PredefinedString {\n textBox: TextBox;\n\n key: string;\n start: number;\n end: number;\n text: string;\n style: TextBoxStyle;\n global: boolean;\n useRegexAZ?: boolean;\n forElephantPrinter?: boolean;\n mergeOnly?: boolean;\n multiline?: boolean;\n maxLength?: number;\n originalSizeStyles: object;\n\n static colours: string[] = [\n '#007D34',\n '#F6768E',\n '#00538A',\n '#FF7A5C',\n '#53377A',\n '#FF8E00',\n '#B32851',\n '#F4C800',\n '#7F180D',\n '#93AA00',\n '#593315',\n '#F13A13',\n '#232C16'\n ];\n\n constructor(\n textBox: TextBox,\n key: string,\n start: number,\n end: number,\n style: TextBoxStyle,\n originalSizeStyles: object,\n text: string,\n global: boolean,\n mergeOnly?: boolean,\n multiline?: boolean,\n maxLength?: number,\n useRegexAZ?: boolean,\n forElephantPrinter?: boolean\n ) {\n this.textBox = textBox;\n this.key = key;\n this.start = start;\n this.end = end;\n this.style = style;\n this.text = text;\n this.global = global;\n this.useRegexAZ = useRegexAZ;\n this.forElephantPrinter = forElephantPrinter;\n this.mergeOnly = mergeOnly;\n this.multiline = multiline;\n this.maxLength = maxLength;\n this.originalSizeStyles = originalSizeStyles;\n }\n\n public get length(): number {\n return this.end - this.start;\n }\n\n public static buildFromJSON(\n textBox: TextBox,\n string: BrutPredefinedStringJSON\n ): PredefinedString {\n const style = new TextBoxStyle(string.style);\n const { fontSize, lineHeight, textAlign } = string.style;\n return new PredefinedString(\n textBox,\n string.key,\n string.start,\n string.end,\n style,\n { fontSize, lineHeight, textAlign },\n string.text,\n string.global,\n string.mergeOnly,\n string.multiline,\n string.maxLength,\n string.useRegexAZ,\n string.forElephantPrinter\n );\n }\n\n private get characters(): TextBoxCharacter[] {\n return this.textBox.characters.slice(this.start, this.end);\n }\n\n public render(hideColour: boolean): void {\n const colourIndex = this.textBox.predefinedStrings.findIndex(\n string => string.key === this.key\n );\n new RenderSelection(\n this.textBox,\n this.characters,\n PredefinedString.colours[colourIndex],\n hideColour\n ).call();\n }\n\n public toJSON(): BrutPredefinedStringJSON {\n return {\n key: this.key,\n start: this.start,\n end: this.end,\n style: this.style.toJSON(),\n text: this.text,\n global: this.global,\n mergeOnly: this.mergeOnly,\n multiline: this.multiline,\n maxLength: this.maxLength,\n useRegexAZ: this.useRegexAZ,\n forElephantPrinter: this.forElephantPrinter\n };\n }\n\n public updateBoundaries(boundaryChangeAmount: number): void {\n if (this.start > this.textBox.selection.lowestIndex) {\n this.start += boundaryChangeAmount;\n }\n\n if (this.end >= this.textBox.selection.lowestIndex) {\n this.end += boundaryChangeAmount;\n }\n }\n\n public set(\n text: string,\n style: Partial,\n shouldFit = true\n ): void {\n this.textBox.selection.setSelection(this.start, this.end);\n this.text = text;\n if (style) {\n this.style.update(style);\n }\n this.textBox.insertString(text);\n\n // We need to reselect the whole of the word again\n this.textBox.selection.setSelection(this.start, this.textBox.selection.end);\n\n if (shouldFit) {\n this.fit();\n }\n\n this.textBox.canvas.renderAll();\n this.textBox.canvas.renderTop();\n }\n\n public fit(): void {\n // first reset to initial sizes\n this.style.update(this.originalSizeStyles);\n this.textBox.selection.setSelectionStyles(this.style.toJSON());\n this.textBox.renderContents();\n\n if (!this.textBox.overflowing) return;\n\n // we should never allow shrinking for elephant printer strings\n if (this.forElephantPrinter) return;\n\n let breakCounter = 0;\n\n while (this.textBox.overflowing) {\n this.style.update({ fontSize: this.style.fontSize * 0.9 });\n // We don't want to adjust line height if it's a multiline or elephant printer string\n if (!this.allowMultiLine)\n this.style.update({ lineHeight: this.style.lineHeight / 0.9 });\n this.textBox.selection.setSelectionStyles(this.style.toJSON());\n this.textBox.renderContents();\n if (breakCounter === 10) break;\n breakCounter++;\n }\n }\n\n private get allowMultiLine(): boolean {\n return this.multiline || this.forElephantPrinter || false;\n }\n\n public static createFromAdmin(\n textBox: TextBox,\n string: Partial\n ): PredefinedString | null {\n if (!textBox.selection.hasSelection()) return null;\n\n // If there's a max length but it is less than the current selection, return immediately\n if (this.invalidLength(textBox, string.maxLength || 0)) {\n window.alert('The default text is longer than the max Length');\n return null;\n }\n\n if (string.useRegexAZ && this.invalidPattern(textBox)) {\n window.alert(\n 'Please only use: Capital letters, hyphens, full stops, commas and apostrophes. Spaces are not allowed'\n );\n return null;\n }\n\n if (string.forElephantPrinter && this.invalidPattern(textBox, true)) {\n window.alert(\n \"Please only use letters, numbers or the following symbols: & , . * ' ! + ? -\"\n );\n return null;\n }\n\n const style = textBox.selection.charactersInSelection()[0].style.toJSON();\n\n return PredefinedString.buildFromJSON(textBox, {\n ...string,\n style,\n start: textBox.selection.lowestIndex,\n end: textBox.selection.highestIndex,\n text: textBox.selection.selectedText()\n } as BrutPredefinedStringJSON);\n }\n\n private static invalidLength(textBox: TextBox, maxLength: number): boolean {\n return (\n (maxLength &&\n maxLength > 0 &&\n textBox.selection.charactersInSelection().length > maxLength) ||\n false\n );\n }\n\n private static invalidPattern(\n textBox: TextBox,\n elephantPrinter = false\n ): boolean {\n if (elephantPrinter) {\n return !/^[a-zA-Z0-9\\s&,.!'*+?-]+$/.test(\n textBox.selection.selectedText()\n );\n }\n\n return !/^[A-Z&\\-,'.]+$/.test(textBox.selection.selectedText());\n }\n}\n\nexport { PredefinedString };\n","import { PredefinedString } from './predefinedString';\nimport { BrutStyleJSON } from '../../interfaces/json/style';\nimport { BrutPredefinedStringJSON } from '../../interfaces/json/predefinedString';\nimport { TextBox } from './textBox';\nimport { TextBoxStyle } from './textBoxStyle';\n\nclass NameInjectionString extends PredefinedString {\n public static buildFromJSON(\n textBox: TextBox,\n string: BrutPredefinedStringJSON\n ): NameInjectionString {\n const style = new TextBoxStyle(string.style);\n const { fontSize, lineHeight, textAlign } = string.style;\n return new NameInjectionString(\n textBox,\n string.key,\n string.start,\n string.end,\n style,\n { fontSize, lineHeight, textAlign },\n string.text,\n string.global,\n string.mergeOnly,\n string.multiline,\n string.maxLength,\n string.useRegexAZ,\n string.forElephantPrinter\n );\n }\n\n public reduceSize(): void {\n this.style.update({ fontSize: this.style.fontSize * 0.9 });\n this.textBox.selection.setSelection(this.start, this.end);\n this.textBox.selection.setSelectionStyles(this.style.toJSON());\n }\n\n public set(text: string, style: Partial): void {\n this.setAllDefaults();\n this.textBox.currentNameInjector = this;\n super.set(text, style, false);\n }\n\n private setAllDefaults(): void {\n this.textBox.nameInjectionStrings.forEach(string => {\n string.style.update(string.originalSizeStyles);\n this.textBox.selection.setSelection(string.start, string.end);\n this.textBox.selection.setSelectionStyles(string.style.toJSON());\n });\n this.textBox.renderContents();\n }\n}\n\nexport { NameInjectionString };\n","import { BrutEnabledStylesJSON } from '../../interfaces/json/enabledStyles';\n\nclass EnabledStyles {\n fontFamily = true;\n fontSize = true;\n textColour = true;\n textAlignment = true;\n fontStyle = true;\n letterSpacing = true;\n lineHeight = true;\n\n constructor({\n fontFamily = true,\n fontSize = true,\n textColour = true,\n textAlignment = true,\n fontStyle = true,\n letterSpacing = true,\n lineHeight = true\n }: BrutEnabledStylesJSON) {\n this.fontFamily = fontFamily;\n this.fontSize = fontSize;\n this.textColour = textColour;\n this.textAlignment = textAlignment;\n this.fontStyle = fontStyle;\n this.letterSpacing = letterSpacing;\n this.lineHeight = lineHeight;\n }\n\n public toJSON(): BrutEnabledStylesJSON {\n return {\n fontFamily: this.fontFamily,\n fontSize: this.fontSize,\n textColour: this.textColour,\n textAlignment: this.textAlignment,\n fontStyle: this.fontStyle,\n letterSpacing: this.letterSpacing,\n lineHeight: this.lineHeight\n };\n }\n}\n\nexport { EnabledStyles };\n","import { TextBoxCharacter } from '../textBoxCharacter';\nimport { BoundingBox } from '../../../util/boundingBox';\nimport { GetSelectionBoxes } from './getSelectionBoxes';\nimport { SelectionCoordinates } from '../../../interfaces/selectionCoordinates';\n\nclass GetSelectionCoordinates {\n characters: TextBoxCharacter[];\n textBoxBoundingBox: BoundingBox;\n lockedMode: boolean;\n\n constructor(\n characters: TextBoxCharacter[],\n textBoxBoundingBox: BoundingBox,\n lockedMode: boolean\n ) {\n this.characters = characters;\n this.textBoxBoundingBox = textBoxBoundingBox;\n this.lockedMode = lockedMode;\n }\n\n public call(): SelectionCoordinates {\n if (this.lockedMode) return this.lockedModeCoordinates;\n if (this.characters.length === 0) {\n return this.emptyCoordinates;\n }\n\n const minY = Math.min(...this.boxes.map(box => box.top));\n const maxY = Math.max(...this.boxes.map(box => box.top + box.height));\n const minX = Math.min(...this.boxes.map(box => box.left));\n const maxX = Math.max(...this.boxes.map(box => box.left + box.width));\n\n return {\n top: minY + this.textBoxBoundingBox.top,\n height: maxY - minY,\n textBoxLeft: this.textBoxBoundingBox.left,\n textBoxWidth: this.textBoxBoundingBox.width,\n selectionLeft: minX + this.textBoxBoundingBox.left,\n selectionWidth: maxX - minX,\n angle: this.textBoxBoundingBox.angle\n };\n }\n\n private get boxes(): BoundingBox[] {\n return new GetSelectionBoxes(this.characters).call();\n }\n\n private get lockedModeCoordinates(): SelectionCoordinates {\n return {\n top: this.textBoxBoundingBox.top,\n angle: this.textBoxBoundingBox.angle,\n height: this.textBoxBoundingBox.height,\n textBoxLeft: this.textBoxBoundingBox.left,\n textBoxWidth: this.textBoxBoundingBox.width,\n selectionLeft: this.textBoxBoundingBox.left,\n selectionWidth: this.textBoxBoundingBox.width\n };\n }\n\n private get emptyCoordinates(): SelectionCoordinates {\n return {\n top: this.textBoxBoundingBox.top + 0.5 * this.textBoxBoundingBox.height,\n angle: this.textBoxBoundingBox.angle,\n height: 1,\n textBoxLeft: this.textBoxBoundingBox.left,\n textBoxWidth: this.textBoxBoundingBox.width,\n selectionLeft: this.textBoxBoundingBox.left,\n selectionWidth: this.textBoxBoundingBox.width\n };\n }\n}\n\nexport { GetSelectionCoordinates };\n","import { TextBoxCharacter } from '../textBoxCharacter';\nimport { TextBoxSelection } from '../textBoxSelection';\n\nclass MoveHorizontally {\n selection: TextBoxSelection;\n result: number;\n\n constructor(selection: TextBoxSelection) {\n this.selection = selection;\n this.result = this.selection.end;\n }\n\n public left(shiftKey: boolean, altKey: boolean, metaKey: boolean): void {\n if (this.isAtBeginning()) return;\n\n if (altKey) {\n if (this.characterBefore().isNewLine()) {\n this.result = this.result - 1;\n } else {\n if (this.characterBefore().isWordBoundary()) {\n this.result = this.result - 1;\n }\n\n while (this.result > 0 && !this.characterBefore().isWordBoundary()) {\n this.result = this.result - 1;\n }\n }\n } else if (metaKey) {\n while (this.result > 0 && !this.characterBefore().isNewLine()) {\n this.result = this.result - 1;\n }\n } else if (this.selection.hasSelection() && !shiftKey) {\n this.result = this.selection.lowestIndex;\n } else {\n this.result -= 1;\n }\n\n if (this.result < 0) return;\n\n if (shiftKey) {\n this.shift(false, this.result);\n } else {\n this.selection.setSelection(this.result, this.result);\n }\n }\n\n public right(shiftKey: boolean, altKey: boolean, metaKey: boolean): void {\n if (this.isAtEnd()) return;\n\n if (altKey) {\n if (this.thisCharacter().isNewLine()) {\n this.result = this.result + 1;\n } else {\n if (this.thisCharacter().isWordBoundary()) {\n this.result = this.result + 1;\n }\n\n while (\n this.result < this.selection.textBox.characters.length &&\n !this.thisCharacter().isWordBoundary()\n ) {\n this.result = this.result + 1;\n }\n }\n } else if (metaKey) {\n while (\n this.result < this.selection.textBox.characters.length &&\n !this.thisCharacter().isNewLine()\n ) {\n this.result = this.result + 1;\n }\n } else if (this.selection.hasSelection() && !shiftKey) {\n this.result = this.selection.highestIndex;\n } else {\n this.result = this.result + 1;\n }\n\n if (shiftKey) {\n this.shift(true, this.result);\n } else {\n this.selection.setSelection(this.result, this.result);\n }\n }\n\n private isAtBeginning = (): boolean => this.result === 0;\n private isAtEnd = (): boolean =>\n this.result === this.selection.textBox.characters.length;\n\n private characterBefore(): TextBoxCharacter {\n return this.selection.textBox.characters[this.result - 1];\n }\n\n private thisCharacter(): TextBoxCharacter {\n return this.selection.textBox.characters[this.result];\n }\n\n private shift(forwards: boolean, newValue: number): void {\n const end = forwards\n ? Math.max(this.selection.end, newValue)\n : Math.min(this.selection.end, newValue);\n this.selection.setSelection(this.selection.start, end);\n }\n}\n\nexport { MoveHorizontally };\n","import { TextBoxSelection } from \"./textBoxSelection\";\nimport { BoundingBox } from \"../../util/boundingBox\";\nimport { TextBox } from \"./textBox\";\nimport { RenderSelection } from \"./services/renderSelection\";\nimport colours from \"../../util/colours\";\n\nclass TextBoxSelectionRenderer {\n private selection: TextBoxSelection;\n private textBox: TextBox;\n private currentOpacity = 0;\n private interval = 0;\n\n constructor(selection: TextBoxSelection) {\n this.selection = selection;\n this.textBox = selection.textBox;\n this.resetInterval();\n }\n\n public renderImmediately(): void {\n this.currentOpacity = 1;\n this.resetInterval();\n this.selection.textBox.canvas.renderTop();\n }\n\n public render(): void {\n if (this.textBox.lockedMode) {\n return;\n } else if (this.selection.hasSelection()) {\n this.renderSelection();\n } else {\n this.renderCursor();\n }\n }\n\n private resetInterval(): void {\n window.clearInterval(this.interval);\n this.interval = window.setInterval(() => {\n this.currentOpacity = this.currentOpacity === 0 ? 1 : 0;\n }, 500);\n }\n\n private renderCursor(): void {\n let boundingBox: BoundingBox;\n\n if (this.selection.isAtEnd()) {\n // Every textbox has a zero-width character at the end of it to retain styles\n // (see textBox.ts). In order to get the bounding box of the last real character\n // in the textbox, we have to go back two characters.\n boundingBox =\n this.textBox.characters[this.textBox.characters.length - 2].boundingBox;\n\n // In the special case that we have a newline at the end of our text box, the line\n // doesn't actually exist so we have to fake it until there are characters there\n if (\n this.textBox.characters[this.textBox.characters.length - 1].isNewLine()\n ) {\n const lastLine = this.textBox.lines[this.textBox.lines.length - 1];\n boundingBox = lastLine.boundingBoxForNewline();\n }\n } else if (\n this.selection.isAtEndOfLine() &&\n !this.selection.isAtBeginningOfLine()\n ) {\n boundingBox =\n this.textBox.characters[this.selection.lowestIndex - 1].boundingBox;\n } else {\n boundingBox =\n this.textBox.characters[this.selection.lowestIndex].boundingBox;\n }\n\n if (boundingBox == null) return;\n\n this.currentOpacity = this.currentOpacity === 0 ? 0 : 1;\n this.textBox.withinRegion(this.textBox.topContext, () => {\n this.textBox.topContext.globalAlpha = this.currentOpacity;\n\n const x =\n this.selection.isAtEnd() || this.selection.isAtEndOfLine()\n ? boundingBox.left + boundingBox.width\n : boundingBox.left;\n\n this.textBox.topContext.fillStyle = colours.white;\n this.textBox.topContext.fillRect(\n Math.round(x) - 0.5,\n boundingBox.top,\n 0.5,\n boundingBox.height\n );\n\n this.textBox.topContext.fillStyle = colours.black;\n this.textBox.topContext.fillRect(\n Math.round(x) + 0.5,\n boundingBox.top,\n 0.5,\n boundingBox.height\n );\n });\n }\n\n private renderSelection(): void {\n new RenderSelection(\n this.textBox,\n this.selection.charactersInSelection()\n ).call();\n }\n}\n\nexport { TextBoxSelectionRenderer };\n","import { GetSelectionCoordinates } from \"./services/getSelectionCoordinates\";\nimport { SelectionCoordinates } from \"../../interfaces/selectionCoordinates\";\nimport { TextBox } from \"./textBox\";\nimport { TextBoxCharacter } from \"./textBoxCharacter\";\nimport { TextBoxStyle } from \"./textBoxStyle\";\nimport { BrutStyleJSON } from \"../../interfaces/json/style\";\nimport { TextBoxLine } from \"./textBoxLine\";\nimport { MoveHorizontally } from \"./services/moveHorizontally\";\nimport { TextBoxSelectionRenderer } from \"./textBoxSelectionRenderer\";\n\nclass TextBoxSelection {\n textBox: TextBox;\n private renderer!: TextBoxSelectionRenderer;\n\n private _start = 0;\n private _end = 0;\n\n public get end(): number {\n return this._end;\n }\n\n public get start(): number {\n return this._start;\n }\n\n public get lowestIndex(): number {\n return Math.min(this.start, this.end);\n }\n\n public get highestIndex(): number {\n return Math.max(this.start, this.end);\n }\n\n public get coordinates(): SelectionCoordinates {\n return new GetSelectionCoordinates(\n this.charactersInSelection(),\n this.textBox.boundingBox,\n this.textBox.lockedMode\n ).call();\n }\n\n constructor(textBox: TextBox) {\n this.textBox = textBox;\n }\n\n public init(): void {\n this.renderer = new TextBoxSelectionRenderer(this);\n }\n\n public setSelection(start: number, end: number): void {\n if (start === this._start && end === this._end) return;\n\n // We need to make sure the last character is never under selection\n // As this is used the preserve ths style of the textbox\n // When all other characters are removed\n const maxSelectionPoint = this.textBox.characters.length - 1;\n this._start = Math.min(start, maxSelectionPoint);\n this._end = Math.min(end, maxSelectionPoint);\n this.renderer.renderImmediately();\n this.textBox.canvas.fire(\"text:selection:changed\");\n }\n\n public get currentStyle(): BrutStyleJSON {\n if (this.hasSelection()) {\n return this.charactersInSelection()[0].style.toJSON();\n } else {\n return this.style().toJSON();\n }\n }\n\n public setSelectionStyles(style: BrutStyleJSON): void {\n let charactersToApplyStyles: TextBoxCharacter[];\n\n if (style.textAlign) {\n const newSelection = this.findBoundaryIndex(\n TextBoxCharacter.newLineRegex\n );\n charactersToApplyStyles = this.textBox.characters.slice(\n newSelection.lowestIndex,\n newSelection.highestIndex\n );\n } else {\n charactersToApplyStyles = this.charactersInSelection();\n }\n charactersToApplyStyles.forEach(char => {\n char.style.update(style);\n });\n\n if (this.applyStyleToHiddenCharacter) {\n this.setHiddenCharacterStyle(style);\n }\n }\n\n public copyVisibleStyleToHiddenCharacter(): void {\n const lastVisibleCharacter = this.lastVisibleCharacter();\n if (lastVisibleCharacter) {\n this.setHiddenCharacterStyle(lastVisibleCharacter.style.toJSON());\n }\n }\n\n private lastVisibleCharacter(): TextBoxCharacter | null {\n return (\n this.textBox.characters\n .slice()\n .reverse()\n .find(char => !char.isNullCharacter()) || null\n );\n }\n\n private get applyStyleToHiddenCharacter(): boolean {\n // If the selection is at the end of the text box, we want to apply the style to the hidden character\n // this also handles when the textbox is empty\n return this.highestIndex === this.textBox.text.length;\n }\n\n public select(index: number): void {\n this.setSelection(index, index);\n }\n\n public dragSelect(newCursor: number): void {\n this.setSelection(this.start, newCursor);\n }\n\n public selectAll(): void {\n this.setSelection(0, this.textBox.characters.length);\n }\n\n public selectWord(): void {\n if (this.isAtEnd()) return;\n const newReg = new RegExp(\n `${TextBoxCharacter.boundaryRegex.source}|${TextBoxCharacter.punctuationRegex.source}`\n );\n this.expandSelection(newReg);\n }\n\n public selectLine(): void {\n this.expandSelection(TextBoxCharacter.newLineRegex);\n }\n\n public expandSelectionToStyleBounds(): void {\n if (this.hasSelection()) return;\n\n const style = this.style();\n let newStart: number = this.lowestIndex;\n let newEnd: number = this.highestIndex;\n\n while (newStart > 0) {\n if (!this.textBox.characters[newStart - 1].style.isEqual(style)) {\n break;\n }\n newStart--;\n }\n\n while (newEnd < this.textBox.characters.length) {\n if (!this.textBox.characters[newEnd].style.isEqual(style)) {\n break;\n }\n newEnd++;\n }\n\n this.setSelection(newStart, newEnd);\n }\n\n private expandSelection(boundary: RegExp): void {\n const newSelection = this.findBoundaryIndex(boundary);\n this.setSelection(newSelection.lowestIndex, newSelection.highestIndex);\n }\n\n private setHiddenCharacterStyle(style: BrutStyleJSON): void {\n this.textBox.characters[this.textBox.characters.length - 1].style.update(\n style\n );\n }\n\n private findBoundaryIndex(boundary: RegExp): {\n lowestIndex: number;\n highestIndex: number;\n } {\n let { lowestIndex, highestIndex } = this;\n\n while (\n lowestIndex > 0 &&\n !boundary.test(this.textBox.characters[lowestIndex - 1].char)\n ) {\n lowestIndex--;\n }\n\n while (\n highestIndex < this.textBox.characters.length &&\n !boundary.test(this.textBox.characters[highestIndex].char)\n ) {\n highestIndex++;\n }\n\n return { lowestIndex, highestIndex };\n }\n\n public hasSelection(): boolean {\n return this.start !== this.end;\n }\n\n public nextCharacter(): TextBoxCharacter {\n return this.charactersAfterSelection()[0];\n }\n\n public previousCharacter(): TextBoxCharacter {\n return this.charactersBeforeSelection()[\n this.charactersBeforeSelection().length - 1\n ];\n }\n\n public charactersInSelection(): TextBoxCharacter[] {\n return this.textBox.characters.slice(this.lowestIndex, this.highestIndex);\n }\n\n public copyCharacters(event: ClipboardEvent): void {\n if (!event.clipboardData) return;\n if (this.charactersInSelection().length === 0) return;\n\n const copiedCharacters = this.charactersInSelection().map(char => {\n return {\n char: char.char,\n style: char.style.toJSON()\n };\n });\n\n // This reserves copy for the canvas so it can be duplicated in the same design\n event.clipboardData.setData(\n \"application/json\",\n JSON.stringify({\n type: \"brutText\",\n data: copiedCharacters\n })\n );\n\n // This handles native copying to the clipboard so we are able to paste text from the canvas to anywhere on the system\n navigator.clipboard.writeText(this.selectedText());\n }\n\n public charactersBeforeSelection(): TextBoxCharacter[] {\n if (this.lowestIndex === 0) return [];\n return this.textBox.characters.slice(0, this.lowestIndex);\n }\n\n public charactersAfterSelection(): TextBoxCharacter[] {\n if (this.highestIndex === 0) return this.textBox.characters;\n return this.textBox.characters.slice(\n this.highestIndex,\n this.textBox.characters.length\n );\n }\n\n isAtBeginning = (): boolean => this.lowestIndex === 0;\n isAtEnd = (): boolean => {\n if (this.isAtBeginning()) {\n return this.highestIndex === this.textBox.characters.length;\n }\n if (\n this.textBox.characters[this.highestIndex - 1].isNewLine() ||\n this.textBox.characters[this.highestIndex].isNullCharacter()\n ) {\n return this.highestIndex === this.textBox.characters.length - 1;\n }\n return this.highestIndex === this.textBox.characters.length;\n };\n isEmpty = (): boolean => this.isAtEnd() && this.isAtBeginning();\n\n public isAtBeginningOfLine(): boolean {\n return (\n this.isAtBeginning() ||\n TextBoxCharacter.newLineRegex.test(this.previousCharacter().char)\n );\n }\n\n isAtEndOfLine = (): boolean =>\n TextBoxCharacter.newLineRegex.test(this.nextCharacter().char);\n\n /**\n * Returns the style that given the current selection should be applied\n * to the next character added.\n */\n public style(): TextBoxStyle {\n if (this.isAtBeginning()) {\n return this.textBox.characters[0].style;\n }\n\n if (this.isAtEnd()) {\n return this.previousCharacter().style;\n }\n\n // If we're on an empty line, use the previous style, so that pressing enter\n // after a line keeps the style of the previous line\n if (this.isAtBeginningOfLine() && this.isAtEndOfLine()) {\n return this.previousCharacter().style;\n }\n\n if (this.isAtBeginningOfLine()) {\n return this.nextCharacter().style;\n }\n\n return this.previousCharacter().style;\n }\n\n public moveLeft(shiftKey: boolean, altKey: boolean, metaKey: boolean): void {\n new MoveHorizontally(this).left(shiftKey, altKey, metaKey);\n }\n\n public moveRight(shiftKey: boolean, altKey: boolean, metaKey: boolean): void {\n new MoveHorizontally(this).right(shiftKey, altKey, metaKey);\n }\n\n public moveUp(_e: KeyboardEvent): void {\n const left = this.nextCharacter().boundingBox.left;\n const currentLine = this.nextCharacter().line;\n if (!currentLine) return;\n\n const previousLine =\n this.textBox.lines[\n this.textBox.lines.findIndex(line => line.uuid === currentLine.uuid) - 1\n ];\n\n if (previousLine) {\n const newChar = this.closestCharacterOnLine(previousLine, left);\n\n const index = this.textBox.characters.findIndex(\n char => char.uuid === newChar.uuid\n );\n this.setSelection(index, index);\n } else {\n this.setSelection(0, 0);\n }\n }\n\n public moveDown(_e: KeyboardEvent): void {\n const left = this.nextCharacter().boundingBox.left;\n const currentLine = this.nextCharacter().line;\n if (!currentLine) return;\n\n const nextLine =\n this.textBox.lines[\n this.textBox.lines.findIndex(line => line.uuid === currentLine.uuid) + 1\n ];\n\n if (nextLine && nextLine.characters.length > 1) {\n const newChar = this.closestCharacterOnLine(nextLine, left);\n\n const index = this.textBox.characters.findIndex(\n char => char.uuid === newChar.uuid\n );\n this.setSelection(index, index);\n } else {\n this.setSelection(\n this.textBox.characters.length - 1,\n this.textBox.characters.length - 1\n );\n }\n }\n\n private closestCharacterOnLine(\n line: TextBoxLine,\n left: number\n ): TextBoxCharacter {\n return line.characters\n .map(char => {\n return { char: char, distance: Math.abs(left - char.boundingBox.left) };\n })\n .sort((a, b) => a.distance - b.distance)[0].char;\n }\n\n public render(): void {\n if (!this.textBox.editing) return;\n\n this.renderer.render();\n }\n\n public deleteCharactersUnderSelection(): BrutStyleJSON | null {\n if (!this.hasSelection()) return null;\n const style = this.charactersInSelection()[0].style.toJSON();\n\n if (\n this.charactersInSelection().length === this.textBox.characters.length\n ) {\n // Trying to delete everything. It's important this doesn't happen, so we set\n // the first character to be a return\n this.charactersInSelection()[0].char = \"\\n\";\n this.textBox.characters = [this.charactersInSelection()[0]];\n this.setSelection(0, 0);\n } else {\n this.textBox.characters = [\n ...this.charactersBeforeSelection(),\n ...this.charactersAfterSelection()\n ];\n this.setSelection(this.lowestIndex, this.lowestIndex);\n }\n\n return style;\n }\n\n public selectedText(): string {\n return this.charactersInSelection()\n .map(character => character.char)\n .join(\"\");\n }\n}\n\nexport { TextBoxSelection };\n","// focus - focusOptions - preventScroll polyfill\n(function() {\n if (\n typeof window === \"undefined\" ||\n typeof document === \"undefined\" ||\n typeof HTMLElement === \"undefined\"\n ) {\n return;\n }\n\n var supportsPreventScrollOption = false;\n try {\n var focusElem = document.createElement(\"div\");\n focusElem.addEventListener(\n \"focus\",\n function(event) {\n event.preventDefault();\n event.stopPropagation();\n },\n true\n );\n focusElem.focus(\n Object.defineProperty({}, \"preventScroll\", {\n get: function() {\n // Edge v18 gives a false positive for supporting inputs\n if (\n navigator &&\n typeof navigator.userAgent !== 'undefined' &&\n navigator.userAgent &&\n navigator.userAgent.match(/Edge\\/1[7-8]/)) {\n return supportsPreventScrollOption = false\n }\n\n supportsPreventScrollOption = true;\n }\n })\n );\n } catch (e) {}\n\n if (\n HTMLElement.prototype.nativeFocus === undefined &&\n !supportsPreventScrollOption\n ) {\n HTMLElement.prototype.nativeFocus = HTMLElement.prototype.focus;\n\n var calcScrollableElements = function(element) {\n var parent = element.parentNode;\n var scrollableElements = [];\n var rootScrollingElement =\n document.scrollingElement || document.documentElement;\n\n while (parent && parent !== rootScrollingElement) {\n if (\n parent.offsetHeight < parent.scrollHeight ||\n parent.offsetWidth < parent.scrollWidth\n ) {\n scrollableElements.push([\n parent,\n parent.scrollTop,\n parent.scrollLeft\n ]);\n }\n parent = parent.parentNode;\n }\n parent = rootScrollingElement;\n scrollableElements.push([parent, parent.scrollTop, parent.scrollLeft]);\n\n return scrollableElements;\n };\n\n var restoreScrollPosition = function(scrollableElements) {\n for (var i = 0; i < scrollableElements.length; i++) {\n scrollableElements[i][0].scrollTop = scrollableElements[i][1];\n scrollableElements[i][0].scrollLeft = scrollableElements[i][2];\n }\n scrollableElements = [];\n };\n\n var patchedFocus = function(args) {\n if (args && args.preventScroll) {\n var evScrollableElements = calcScrollableElements(this);\n if (typeof setTimeout === 'function') {\n var thisElem = this;\n setTimeout(function () {\n thisElem.nativeFocus();\n restoreScrollPosition(evScrollableElements);\n }, 0);\n } else {\n this.nativeFocus();\n restoreScrollPosition(evScrollableElements);\n }\n }\n else {\n this.nativeFocus();\n }\n };\n\n HTMLElement.prototype.focus = patchedFocus;\n }\n})();\n","import \"focus-options-polyfill\";\nimport { TextBox } from \"./textBox\";\n\nclass TextBoxHiddenTextArea {\n private textBox: TextBox;\n private readonly textarea: HTMLTextAreaElement;\n\n constructor(textBox: TextBox) {\n this.textBox = textBox;\n\n this.textarea = document.createElement(\"textarea\");\n this.textarea.setAttribute(\"autocapitalize\", \"off\");\n this.textarea.setAttribute(\"autocomplete\", \"off\");\n this.textarea.setAttribute(\"spellcheck\", \"false\");\n this.textarea.setAttribute(\"autocorrect\", \"off\");\n\n this.textarea.style.opacity = \"0\";\n this.textarea.style.position = \"absolute\";\n this.textarea.style.width = \"10px\";\n this.textarea.style.height = \"10px\";\n this.textarea.style.top = \"0\";\n this.textarea.style.left = \"0\";\n this.addEventListeners();\n\n document.body.appendChild(this.textarea);\n }\n\n public focus(): void {\n if (this.textBox.canvas.responsiveMode) return;\n\n this.textarea.focus({\n preventScroll: true\n });\n }\n\n private addEventListeners(): void {\n this.textarea.addEventListener(\n \"keypress\",\n this.handleInput.bind(this) as EventListener\n );\n\n this.textarea.addEventListener(\n \"copy\",\n this.handleCopy.bind(this) as EventListener\n );\n\n this.textarea.addEventListener(\n \"cut\",\n this.handleCut.bind(this) as EventListener\n );\n\n this.textarea.addEventListener(\n \"paste\",\n this.handlePaste.bind(this) as EventListener\n );\n\n document.addEventListener(\"keydown\", this.handleKeyDownEvent.bind(this));\n }\n\n private handleInput(e: KeyboardEvent): void {\n if (\n e.metaKey ||\n this.textBox.lockedMode ||\n !this.textBox.editing ||\n this.textBox.canvas.freezeInteractionsFlag\n )\n return;\n\n e.preventDefault();\n this.textBox.insertString(e.key);\n this.textBox.canvas.renderAll();\n this.textBox.canvas.renderTop();\n }\n\n public handleCopy(e: ClipboardEvent): void {\n if (this.textBox.lockedMode || !this.textBox.editing || !e.clipboardData)\n return;\n this.textBox.selection.copyCharacters(e);\n e.preventDefault();\n }\n\n public handleCut(e: ClipboardEvent): void {\n if (this.textBox.lockedMode || !this.textBox.editing || !e.clipboardData)\n return;\n this.textBox.selection.copyCharacters(e);\n this.textBox.selection.deleteCharactersUnderSelection();\n this.textBox.canvas.renderAll();\n this.textBox.canvas.renderTop();\n e.preventDefault();\n }\n\n private handlePaste(e: ClipboardEvent): void {\n if (this.textBox.lockedMode || !this.textBox.editing || !e.clipboardData)\n return;\n const brutData = e.clipboardData.getData(\"application/json\");\n if (brutData) {\n const { type, data } = JSON.parse(brutData);\n if (type === \"brutText\") {\n this.textBox.insertCopiedSelection(data);\n }\n } else {\n const text = e.clipboardData.getData(\"text\");\n\n this.textBox.insertString(text);\n this.textBox.canvas.renderAll();\n this.textBox.canvas.renderTop();\n }\n }\n\n private handleKeyDownEvent(e: KeyboardEvent): void {\n if (\n this.textBox.lockedMode ||\n !this.textBox.editing ||\n this.textBox.canvas.responsiveMode ||\n this.textBox.canvas.freezeInteractionsFlag\n )\n return;\n\n switch (e.key) {\n case \"a\":\n case \"A\":\n if (e.metaKey) {\n e.preventDefault();\n this.textBox.selection.selectAll();\n }\n break;\n case \"ArrowLeft\":\n e.preventDefault();\n this.textBox.selection.moveLeft(e.shiftKey, e.altKey, e.metaKey);\n break;\n case \"ArrowRight\":\n e.preventDefault();\n this.textBox.selection.moveRight(e.shiftKey, e.altKey, e.metaKey);\n break;\n case \"ArrowDown\":\n e.preventDefault();\n this.textBox.selection.moveDown(e);\n break;\n case \"ArrowUp\":\n e.preventDefault();\n this.textBox.selection.moveUp(e);\n break;\n case \"Backspace\":\n if (this.modalInput(e)) return;\n\n e.preventDefault();\n this.textBox.deleteCharacter();\n break;\n case \"Enter\":\n e.preventDefault();\n this.textBox.insertString(\"\\n\");\n this.textBox.canvas.renderAll();\n this.textBox.canvas.renderTop();\n break;\n }\n }\n\n private modalInput(event: Event): boolean {\n const target = event.target as HTMLElement | null;\n\n return !!target?.closest(\"#login-modal-app\");\n }\n}\n\nexport { TextBoxHiddenTextArea };\n","import { TextBox } from './textBox';\nimport { Point } from '../../util/point';\n\nclass TextBoxClickHandlers {\n private readonly textBox: TextBox;\n\n private waitingForDoubleClick = false;\n private waitingForTripleClick = false;\n private isMouseDown = false;\n\n constructor(textBox: TextBox) {\n this.textBox = textBox;\n }\n\n public click(point: Point): void {\n this.isMouseDown = true;\n\n if (this.waitingForDoubleClick) {\n this.doubleClick(point);\n this.waitingForDoubleClick = false;\n this.waitingForTripleClick = true;\n setTimeout(() => {\n this.waitingForTripleClick = false;\n }, 400);\n return;\n }\n\n if (this.waitingForTripleClick) {\n this.tripleClick(point);\n this.waitingForTripleClick = false;\n return;\n }\n\n this.waitingForDoubleClick = true;\n setTimeout(() => {\n this.waitingForDoubleClick = false;\n }, 400);\n\n if (this.textBox.lockedMode) return;\n\n if (this.textBox.editing) {\n if (this.textBox.canvas.responsiveMode) {\n // When editing on mobile, tapping a certain point should select\n // all characters around it with the same styles\n this.setSelection(point);\n this.textBox.canvas.fire('text:responsiveedit', this.textBox, {\n text: this.textBox.selection\n .charactersInSelection()\n .map(char => char.char)\n .join(''),\n style: {}\n });\n } else {\n this.setCursor(point);\n }\n }\n }\n\n public mouseMove(point: Point): void {\n if (!this.isMouseDown) return;\n const newCursor = this.getCharacterIndexFromPoint(point);\n this.textBox.selection.dragSelect(newCursor);\n }\n\n public mouseUp(): void {\n this.isMouseDown = false;\n if (this.textBox.lockedMode) return;\n\n if (this.textBox.editing) {\n this.textBox.hiddenTextArea.focus();\n }\n }\n\n private doubleClick(_point: Point): void {\n if (this.textBox.canMove() && !this.textBox.editing) {\n this.textBox.editing = true;\n this.textBox.canvas.fire('text:editing:entered', this.textBox);\n if (this.textBox.lockedMode) {\n this.textBox.canvas.fire('text:locked-mode-edit', this.textBox);\n }\n } else {\n this.textBox.selection.selectWord();\n }\n this.textBox.hiddenTextArea.focus();\n }\n\n private tripleClick(_point: Point): void {\n this.textBox.hiddenTextArea.focus();\n this.textBox.selection.selectLine();\n }\n\n private setCursor(point: Point): void {\n this.textBox.selection.select(this.getCharacterIndexFromPoint(point));\n this.textBox.hiddenTextArea.focus();\n }\n\n private setSelection(point: Point): void {\n this.textBox.selection.select(this.getCharacterIndexFromPoint(point));\n this.textBox.selection.expandSelectionToStyleBounds();\n }\n\n private getCharacterIndexFromPoint(point: Point): number {\n const adjustedPoint = this.textBox.adjustedPoint(point);\n\n // We want to find the first line whose baseline is below the pointer\n const line = this.textBox.lines.filter(line => {\n return line.boundingBox.bottom > adjustedPoint.top;\n })[0];\n\n // If no lines exist beneath the pointer, just select the position after\n // the last character\n if (line === undefined) return this.textBox.characters.length;\n\n // Otherwise find the character closest to the clicked point\n const position = line.characters\n .map(char => {\n return {\n index: this.textBox.characters.findIndex(\n character => character.uuid === char.uuid\n ),\n diff: Math.abs(char.boundingBox.origin().left - adjustedPoint.left)\n };\n })\n .sort((a, b) => {\n return a.diff - b.diff;\n })[0];\n\n // There is one special case here, if we try to select the last character\n // in the whole box. Because the cursor would then go before the letter,\n // we need to check for this and mitigate. We also need to check that the\n // character isn't a newline, because those are another special case that\n // are rendered in a different position.\n if (\n position.index === this.textBox.characters.length - 1 &&\n !this.textBox.characters[position.index].isNewLine() &&\n position.diff >\n this.textBox.characters[position.index].boundingBox.width / 2\n ) {\n return this.textBox.characters.length;\n }\n\n return position.index;\n }\n}\n\nexport { TextBoxClickHandlers };\n","const mainTextboxStyle = {\n fontFamily: \"Didot Italic\",\n fontSize: 32,\n lineHeight: 1,\n letterSpacing: 1,\n fill: \"#4d4d4d\",\n textAlign: \"center\",\n};\n\nconst mainTextbox = {\n ...mainTextboxStyle,\n enabledStyles: {\n fontFamily: false,\n fontSize: false,\n textColour: false,\n textAlignment: false,\n fontStyle: false,\n letterSpacing: false,\n lineHeight: false\n }\n};\n\nconst codeText = \"XXXXXXXX\";\n\nconst codeTextBoxStyle = {\n fontFamily: \"Avenir\",\n fontSize: 16,\n lineHeight: 1,\n letterSpacing: 1,\n fill: \"#4d4d4d\",\n textAlign: \"center\",\n}\n\nconst codeTextbox = {\n ...codeTextBoxStyle,\n enabledStyles: {\n fontFamily: false,\n fontSize: false,\n textColour: false,\n textAlignment: false,\n fontStyle: false,\n letterSpacing: false,\n lineHeight: false\n },\n text: codeText,\n verticalAlign: \"bottom\",\n selectionStyles: new Array(codeText.length + 1).fill(codeTextBoxStyle)\n};\n\nconst instructionsText = \"For information on redeeming credit and terms and conditions please go to www.papier.com/gift-credit\";\n\nconst instructionsTextBoxStyle = {\n fontFamily: \"Avenir\",\n fontSize: 10,\n lineHeight: 1,\n letterSpacing: 1,\n fill: \"#908a89\",\n textAlign: \"center\",\n}\n\nconst instructionsTextbox = {\n ...instructionsTextBoxStyle,\n enabledStyles: {\n fontFamily: false,\n fontSize: false,\n textColour: false,\n textAlignment: false,\n fontStyle: false,\n letterSpacing: false,\n lineHeight: false\n },\n text: instructionsText,\n verticalAlign: \"bottom\",\n selectionStyles: new Array(instructionsText.length + 1).fill(instructionsTextBoxStyle)\n};\n\nexport default {\n mainTextbox({ width, height }, amount) {\n const text = `£${amount} Gift Credit`;\n\n return {\n top: (height / 2) - 20,\n left: (width - 240) / 2,\n height: 50,\n width: 240,\n angle: 0,\n type: \"papierbox\",\n name: \"main\",\n ...mainTextbox,\n text,\n selectionStyles: new Array(text.length + 1).fill(mainTextboxStyle)\n };\n },\n codeBox({ width, height }) {\n return {\n top: (height / 2) + 10, // just below the main box\n left: (width - 200) / 2,\n height: 40,\n width: 200,\n angle: 0,\n type: \"papierbox\",\n name: \"codebox\",\n ...codeTextbox\n };\n },\n instructionsTextbox({ width, height }) {\n return {\n top: height - 40,\n left: 20,\n height: 40,\n width: (width - 40),\n angle: 0,\n type: \"papierbox\",\n name: \"instructions\",\n ...instructionsTextbox\n };\n },\n icon({ width, height }) {\n return {\n top: (height - 240) / 2,\n left: (width - 100) / 2,\n height: 100,\n width: 100,\n angle: 0,\n type: \"logoframe\",\n name: \"giftcardIcon\",\n imageUrl:\n \"https://d1o785do8fyxgx.cloudfront.net/user_photos/images/000/576/223/original/icon.png?1643122746\"\n };\n }\n}\n","import { Giftcard } from '@/components/brut/src/objects/giftcard/giftcard';\n\nclass GiftcardSvg {\n private giftcard: Giftcard;\n\n constructor(object: Giftcard) {\n this.giftcard = object;\n }\n\n public export(): string {\n return [this.iconSvg(), ...this.textSvgs()].join('');\n }\n\n private textSvgs(): string[] {\n return this.giftcard.textBoxes.map(textBox => {\n const printAsFullText = textBox.name === 'codebox';\n return textBox.toSVG(printAsFullText, true);\n });\n }\n\n private iconSvg(): string {\n return this.giftcard.image.toSVG(true);\n }\n}\n\nexport { GiftcardSvg };\n","import { LogoFrame } from \"./logoFrame\";\nimport { Giftcard } from \"@/components/brut/src/objects/giftcard/giftcard\";\n\nclass LogoFrameSvg {\n private logoFrame: LogoFrame;\n\n constructor(object: LogoFrame) {\n this.logoFrame = object;\n }\n\n public export(forGiftcard = false): string {\n return (\n this.openTag(forGiftcard) +\n this.clipPath() +\n this.content() +\n LogoFrameSvg.closeTag()\n );\n }\n\n private content(): string {\n return ``;\n }\n\n private clipPath(): string {\n return ``;\n }\n\n private openTag(forGiftcard = false): string {\n return ``;\n }\n\n private static closeTag(): string {\n return \"\";\n }\n\n private translation(forGiftcard = false): string {\n const adjustment = forGiftcard ? Giftcard.offset : 0;\n return `translate(${this.logoFrame.boundingBox.left + adjustment} ${\n this.logoFrame.boundingBox.top + adjustment\n })`;\n }\n\n private get rotation(): string {\n return `rotate(${this.logoFrame.boundingBox.angle} ${\n this.logoFrame.boundingBox.width / 2\n } ${this.logoFrame.boundingBox.height / 2})`;\n }\n}\n\nexport { LogoFrameSvg };\n","import { BrutObjectJSON } from \"../../interfaces/json/object\";\nimport { FilestackImage } from \"../../interfaces/filestackImage\";\nimport { BaseObject } from \"../baseObject\";\nimport { Brut } from \"../../index\";\nimport { loadImage } from \"../../util/loadImage\";\nimport { Point } from \"../../util/point\";\nimport { LogoFrameSvg } from \"./logoFrameSvg\";\nimport { BoundingBox } from \"../../util/boundingBox\";\nimport colours from \"../../util/colours\";\n\nclass LogoFrame extends BaseObject {\n imageUrl?: string;\n filestackImage?: FilestackImage;\n\n protected image?: HTMLImageElement;\n\n protected borderColour = colours.cyan2;\n protected hoverColour = colours.lightBlue4;\n aspectRatio = 1;\n\n public get hoverCursor(): string {\n return \"move\";\n }\n public get hoverDragCursor(): string {\n return \"move\";\n }\n\n private buttonImageUrl =\n \"https://d1o785do8fyxgx.cloudfront.net/uploaded_photos/images/000/000/093/original/Placeholder_Image_V2_%281%29.png?1697121206\";\n private buttonImage?: HTMLImageElement;\n\n constructor(canvas: Brut, json: BrutObjectJSON) {\n super(canvas, json);\n this.imageUrl = json.imageUrl;\n this.filestackImage = json.filestackImage;\n }\n\n public toJSON(): Partial {\n return {\n ...super.toJSON(),\n imageUrl: this.imageUrl,\n filestackImage: this.filestackImage\n };\n }\n\n public click(point: Point): void {\n super.click(point);\n this.selected = true;\n this.canvas.fire(\"object:selected\", this);\n }\n\n public setImage(url: string, filestackImage: FilestackImage): Promise {\n this.imageUrl = url;\n this.filestackImage = filestackImage;\n return new Promise((resolve, reject) => {\n this.load().then(() => {\n if (this.image) {\n this.fitBoxToImage();\n this.canvas.renderAll();\n this.canvas.renderTop();\n this.canvas.fire(\"logo:uploaded\", this);\n resolve();\n } else {\n reject();\n }\n });\n });\n }\n\n public fitBoxToImage(): void {\n if (!this.image) return;\n\n this.boundingBox.left = this.canvas.width * 0.05;\n this.boundingBox.width = this.canvas.width * 0.9;\n this.boundingBox.height = this.boundingBox.width / this.aspectRatio;\n }\n\n public canMove(): boolean {\n return true;\n }\n\n public canScale(): boolean {\n return super.canScale() || this.selected;\n }\n\n public maintainAspectRatio(): boolean {\n return true;\n }\n\n public smallestSize(): BoundingBox {\n let baseDimension = 100;\n\n if (this.imageUrl) {\n baseDimension = 20;\n }\n\n if (this.aspectRatio > 1) {\n return new BoundingBox(\n 0,\n 0,\n baseDimension * this.aspectRatio,\n baseDimension\n );\n } else {\n return new BoundingBox(\n 0,\n 0,\n baseDimension,\n baseDimension / this.aspectRatio\n );\n }\n }\n\n public async load(): Promise {\n if (this.imageUrl != null) {\n this.image = await loadImage(this.imageUrl);\n this.aspectRatio = this.image.width / this.image.height;\n }\n this.buttonImage = await loadImage(this.buttonImageUrl);\n }\n\n public toSVG(forGiftcard = false): string {\n return new LogoFrameSvg(this).export(forGiftcard);\n }\n\n public renderContents(): void {\n if (this.image) {\n this.renderImage();\n } else {\n this.renderEmptyBackground();\n }\n }\n\n private renderImage(): void {\n if (this.image == null) return;\n this.context.save();\n this.context.beginPath();\n this.context.rect(0, 0, this.boundingBox.width, this.boundingBox.height);\n this.context.clip();\n this.context.drawImage(\n this.image,\n 0,\n 0,\n this.boundingBox.width,\n this.boundingBox.height\n );\n this.context.restore();\n }\n\n private renderEmptyBackground(): void {\n if (this.buttonImage == null) return;\n this.context.save();\n this.context.translate(\n this.boundingBox.width / 2,\n this.boundingBox.height / 2\n );\n this.context.drawImage(\n this.buttonImage,\n -this.buttonImage.width / 2,\n -this.buttonImage.height / 2\n );\n this.context.restore();\n }\n}\n\nexport { LogoFrame };\n","import { Brut } from '@/components/brut/src';\nimport { BrutObjectJSON } from '@/components/brut/src/interfaces/json/object';\nimport { BaseObject } from '@/components/brut/src/objects/baseObject';\nimport { TextBox } from '../textBox/textBox';\nimport giftcardObjectDefaults from './giftcardObjectDefaults';\nimport { GiftcardSvg } from '@/components/brut/src/objects/giftcard/giftcardSvg';\nimport { LogoFrame } from '@/components/brut/src/objects/logoFrame/logoFrame';\nimport { Point } from '@/components/brut/src/util/point';\nimport { uniq } from 'lodash-es';\n\nclass Giftcard extends BaseObject {\n amount: number;\n selectable = true;\n edited = false;\n textBoxes: TextBox[] = [];\n image!: LogoFrame;\n\n static offset = 20;\n\n constructor(canvas: Brut, json: BrutObjectJSON, amount?: number) {\n super(canvas, json);\n this.amount = amount || 20;\n }\n\n public init(): void {\n super.init();\n this.image = new LogoFrame(\n this.canvas,\n giftcardObjectDefaults.icon(this.boundingBox)\n );\n this.load();\n }\n\n public toSVG(): string {\n return new GiftcardSvg(this).export();\n }\n\n public get hoverCursor(): string {\n return 'default';\n }\n\n public get hoverDragCursor(): string {\n return 'default';\n }\n\n public canMove(): boolean {\n return false;\n }\n\n public canScale(): boolean {\n return false;\n }\n\n public renderTop(): void {\n // do nothing\n }\n\n public render(): void {\n this.withinRegion(this.context, () => this.renderContents());\n }\n\n public setAmount(amount: number): void {\n this.amount = amount;\n this.reloadBoxes();\n }\n\n public async load(): Promise {\n this.reloadBoxes();\n await this.image.load();\n }\n\n public click(point: Point): void {\n super.click(point);\n this.canvas.fire('giftcard:editing', this);\n }\n\n private reloadBoxes(): void {\n this.textBoxes = [];\n this.insertTextBoxes();\n this.canvas.renderAll();\n }\n\n protected renderContents(): void {\n this.image.render();\n\n this.textBoxes.forEach(textBox => {\n textBox.render();\n });\n }\n\n private insertTextBoxes(): void {\n const mainBox = new TextBox(\n this.canvas,\n giftcardObjectDefaults.mainTextbox(this.boundingBox, this.amount)\n );\n mainBox.init();\n\n const codeBox = new TextBox(\n this.canvas,\n giftcardObjectDefaults.codeBox(this.boundingBox)\n );\n codeBox.init();\n\n const lowerBox = new TextBox(\n this.canvas,\n giftcardObjectDefaults.instructionsTextbox(this.boundingBox)\n );\n lowerBox.init();\n\n this.textBoxes.push(mainBox);\n this.textBoxes.push(codeBox);\n this.textBoxes.push(lowerBox);\n }\n\n public fonts(): string[] {\n return uniq(this.textBoxes.map(box => box.fonts()).flat());\n }\n}\n\nexport { Giftcard };\n","import { TextBox } from \"./textBox\";\nimport { TextBoxCharacter } from \"./textBoxCharacter\";\nimport { Giftcard } from \"@/components/brut/src/objects/giftcard/giftcard\";\n\nclass TextBoxSvg {\n private textBox: TextBox;\n\n constructor(object: TextBox) {\n this.textBox = object;\n }\n\n public export(printAsFullText = false, forGiftcard = false): string {\n return (\n this.openTag(forGiftcard) +\n this.content(printAsFullText) +\n TextBoxSvg.closeTag()\n );\n }\n\n public content(printAsFullText = false): string {\n if (printAsFullText) return this.fullTextContent();\n\n return this.textBox.characters\n .slice(0, this.textBox.characters.length - 1)\n .filter(char => !char.isOverflowing)\n .map(char => TextBoxSvg.charSvg(char))\n .join(\"\");\n }\n\n private fullTextContent(): string {\n const [char] = this.textBox.characters;\n\n return `${this.textBox.text}`;\n }\n\n private static charSvg(char: TextBoxCharacter): string {\n return `${TextBoxSvg.escapedChar(\n char\n )}`;\n }\n\n private static escapedChar(char: TextBoxCharacter): string {\n return (\n char.char\n // eslint-disable-next-line no-control-regex\n .replace(/[\\x00-\\x1F\\x7F-\\x9F]/g, \"\")\n .replace(/&/g, \"&\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\")\n .replace(//g, \">\")\n );\n }\n\n private openTag(forGiftcard = false): string {\n const adjustment = forGiftcard ? Giftcard.offset : 0;\n return ``;\n }\n\n private static closeTag(): string {\n return \"\";\n }\n}\n\nexport { TextBoxSvg };\n","export function clipToNthDecimalPlace(float: number, n: number): number {\n const helperNum = 10 ** n;\n return Math.floor(float * helperNum) / helperNum;\n}\n","import { BrutObjectJSON } from \"../../interfaces/json/object\";\nimport { BaseObject } from \"../baseObject\";\nimport { Brut } from \"../../index\";\nimport { TextBoxCharacter } from \"./textBoxCharacter\";\nimport { TextBoxLine } from \"./textBoxLine\";\nimport { PredefinedString } from \"./predefinedString\";\nimport { NameInjectionString } from \"./nameInjectionString\";\nimport { EnabledStyles } from \"./enabledStyles\";\nimport { Point } from \"../../util/point\";\nimport { TextBoxSelection } from \"./textBoxSelection\";\nimport { TextBoxHiddenTextArea } from \"./textBoxHiddenTextArea\";\nimport { TextBoxClickHandlers } from \"./textBoxClickHandlers\";\nimport { BrutStyleJSON } from \"../../interfaces/json/style\";\nimport { TextBoxSvg } from \"./textBoxSvg\";\nimport { BrutPredefinedStringJSON } from \"../../interfaces/json/predefinedString\";\nimport colours from \"../../util/colours\";\nimport { CopiedCharacter } from \"../../interfaces/copiedCharacter\";\nimport { clipToNthDecimalPlace } from \"../../util/clipToNthDecimalPlace\";\nimport { TextBoxStyle } from \"./textBoxStyle\";\nimport { uniq } from \"lodash-es\";\n\nclass TextBox extends BaseObject {\n characters!: TextBoxCharacter[];\n lines: TextBoxLine[] = [];\n predefinedStrings: PredefinedString[] = [];\n nameInjectionStrings: NameInjectionString[] = [];\n enabledStyles!: EnabledStyles;\n verticalAlign!: string;\n selection!: TextBoxSelection;\n hiddenTextArea!: TextBoxHiddenTextArea;\n moveable!: boolean;\n foiled!: boolean;\n\n showPredefinedStringsMode?: boolean;\n currentNameInjector?: NameInjectionString;\n\n // To match fabric.js behaviour line heights need to be multiplied by this\n // magic number.\n static lineHeightRatio = 1.35614;\n private clickHandlers!: TextBoxClickHandlers;\n\n constructor(canvas: Brut, json: BrutObjectJSON) {\n super(canvas, json);\n }\n\n public init(): void {\n super.init();\n\n this.enabledStyles = new EnabledStyles(this.json.enabledStyles || {});\n this.clickHandlers = new TextBoxClickHandlers(this);\n this.hiddenTextArea = new TextBoxHiddenTextArea(this);\n this.selection = new TextBoxSelection(this);\n this.selection.init();\n const text = this.json.text || \"\";\n const styles = this.json.selectionStyles || [];\n this.characters = text.split(\"\").map((char, index) => {\n return new TextBoxCharacter(this.context, char, styles[index]);\n });\n this.characters.push(new TextBoxCharacter(this.context, \"\\0\", styles[0]));\n this.predefinedStrings = (this.json.predefinedStrings || []).map(string => {\n return PredefinedString.buildFromJSON(this, string);\n });\n this.nameInjectionStrings = (this.json.nameInjectionStrings || []).map(\n string => {\n return NameInjectionString.buildFromJSON(this, string);\n }\n );\n\n this.enabledStyles = new EnabledStyles(this.json.enabledStyles || {});\n this.verticalAlign = this.json.verticalAlign || \"top\";\n this.moveable = this.json.moveable || false;\n this.foiled = this.json.foiled || false;\n this.optionallyEditable = this.json.optionallyEditable || false;\n this.showPredefinedStringsMode =\n this.json.showPredefinedStringsMode || false;\n }\n\n public get hoverCursor(): string {\n if (this.canMove() && !this.editing) {\n return \"move\";\n } else if (this.lockedMode) {\n return \"pointer\";\n } else if (\n this.boundingBox.angle === -90 ||\n this.boundingBox.angle === 90 ||\n this.boundingBox.angle === 270\n ) {\n return \"vertical-text\";\n } else {\n return \"text\";\n }\n }\n\n public get hoverDragCursor(): string {\n if (this.canMove() && !this.editing) {\n return \"move\";\n } else {\n return \"text\";\n }\n }\n\n protected get drawContext(): CanvasRenderingContext2D {\n return this.context;\n }\n\n private _overflowing = false;\n\n public get overflowing(): boolean {\n return this._overflowing;\n }\n\n public set overflowing(value: boolean) {\n if (value) {\n if (this.selected) {\n this.canvas.fire(\"text:overflowing\");\n }\n this.borderColour = colours.red4;\n this.hoverColour = colours.red4;\n } else {\n if (this.selected) {\n this.canvas.fire(\"text:notoverflowing\");\n }\n this.borderColour = \"#66857a\";\n this.hoverColour = \"#66857a\";\n }\n this._overflowing = value;\n }\n\n public deselect(): void {\n this.editing = false;\n super.deselect();\n }\n\n public canMove(): boolean {\n return super.canMove() || (this.moveable && !this.editing);\n }\n\n public canScale(): boolean {\n return super.canMove() || (this.moveable && !this.editing);\n }\n\n public get text(): string {\n // The last character's value is not included\n // as this character is purely auxiliary to preserve styles\n // when all other characters have been removed\n return this.characters\n .slice(0, this.characters.length - 1)\n .map(char => char.char)\n .join(\"\");\n }\n\n public clearText(): void {\n this.selection.selectAll();\n this.selection.deleteCharactersUnderSelection();\n }\n\n public get selectionStyles(): BrutStyleJSON[] {\n return this.characters.map(char => char.style.toJSON());\n }\n\n public get overallLinesHeight(): number {\n return this.lines.reduce(\n (total, line) => total + this.adjustedHeightForLine(line),\n 0\n );\n }\n\n public get predefinedStringsJSON(): BrutPredefinedStringJSON[] {\n return this.predefinedStrings.map(string => string.toJSON());\n }\n\n public get nameInjectionStringsJSON(): BrutPredefinedStringJSON[] {\n return this.nameInjectionStrings.map(string => string.toJSON());\n }\n\n public get alignedTopOffset(): number {\n let offset = 0;\n if (this.verticalAlign === \"bottom\") {\n offset = this.boundingBox.height - this.overallLinesHeight;\n } else if (this.verticalAlign === \"center\") {\n offset = (this.boundingBox.height - this.overallLinesHeight) / 2;\n } else {\n return 0;\n }\n\n return clipToNthDecimalPlace(offset, 3);\n }\n\n public toJSON(): Partial {\n return {\n ...super.toJSON(),\n text: this.text,\n selectionStyles: this.selectionStyles,\n predefinedStrings: this.predefinedStringsJSON,\n nameInjectionStrings: this.nameInjectionStringsJSON,\n enabledStyles: this.enabledStyles.toJSON(),\n moveable: this.moveable,\n foiled: this.foiled,\n optionallyEditable: this.optionallyEditable,\n verticalAlign: this.verticalAlign\n };\n }\n\n public enterTextEdit(): void {\n this.editing = true;\n this.canvas.fire(\"text:editing:entered\", this);\n this.hiddenTextArea.focus();\n }\n\n public toSVG(printAsFullText = false, forGiftcard = false): string {\n return new TextBoxSvg(this).export(printAsFullText, forGiftcard);\n }\n\n public overflowFit(minimum = 12): void {\n while (this._overflowing) {\n const largeCharacters = this.characters.filter(\n char => char.style.fontSize > minimum\n );\n const charsToReduce =\n largeCharacters.length > 0 ? largeCharacters : this.characters;\n charsToReduce.forEach(char => {\n char.style.fontSize = char.style.fontSize - 1;\n });\n this.renderContents();\n }\n this.canvas.fire(\"text:notoverflowing\");\n }\n\n public get hasElephantPrinting(): boolean {\n return this.predefinedStrings.some(string => string.forElephantPrinter);\n }\n\n public replaceText(text: string): void {\n const start = this.selection.start;\n this.insertString(text);\n this.selection.setSelection(start, start + text.length);\n this.canvas.renderAll();\n this.canvas.renderTop();\n }\n\n public renderContents(): void {\n if (!this.canvas.showDieCutCover) return;\n\n this.wrapText();\n this.renderText();\n }\n\n public renderTop(): void {\n if (!this.canvas.showDieCutCover) return;\n\n super.renderTop();\n this.selection.render();\n\n if (!this.lockedMode) {\n this.predefinedStrings.forEach(string =>\n string.render(!this.showPredefinedStringsMode)\n );\n }\n }\n\n public mouseMove(point: Point): void {\n this.clickHandlers.mouseMove(point);\n super.mouseMove(point);\n }\n\n public globalMouseMove(point: Point, skipSnap = false): void {\n if (!this.editing) {\n super.globalMouseMove(point, skipSnap);\n }\n }\n\n public mouseUp(point: Point): void {\n super.mouseUp(point);\n this.clickHandlers.mouseUp();\n }\n\n public click(point: Point): void {\n if (this.canMove()) {\n super.click(point);\n this.selected = true;\n this.clickHandlers.click(point);\n } else {\n if (\n this.selected &&\n this.selection.hasSelection() &&\n this.canvas.responsiveMode\n ) {\n this.selection.setSelection(0, 0);\n this.deselect();\n this.canvas.fire(\"selection:cleared\");\n this.canvas.renderTop();\n } else {\n this.canvas.fire(\"object:selected\", this);\n this.canvas.fire(\"text:editing:entered\", this);\n if (this.lockedMode) {\n this.canvas.fire(\"text:locked-mode-edit\", this);\n }\n this.selected = true;\n this.editing = true;\n this.clickHandlers.click(point);\n this.canvas.fire(\"text:selection:changed\", this);\n }\n }\n this.canvas.fire(\"object:selected\", this);\n }\n\n public getSelectionStyles(): BrutStyleJSON {\n return this.selection.currentStyle;\n }\n\n public setSelectionStyles(style: BrutStyleJSON): void {\n this.selection.setSelectionStyles(style);\n this.canvas.renderAll();\n this.canvas.renderTop();\n }\n\n public refocus(): void {\n this.hiddenTextArea.focus();\n }\n\n public insertString(string: string, style?: BrutStyleJSON): void {\n const previousSelectionLength =\n this.selection.highestIndex - this.selection.lowestIndex;\n const replacementStyle = this.selection.deleteCharactersUnderSelection();\n const replacementChars = string.split(\"\").map(char => {\n return new TextBoxCharacter(\n this.drawContext,\n char,\n style || replacementStyle || this.selection.style().toJSON()\n );\n });\n\n this.characters = [\n ...this.selection.charactersBeforeSelection(),\n ...replacementChars,\n ...this.selection.charactersAfterSelection()\n ];\n\n [...this.predefinedStrings, ...this.nameInjectionStrings].forEach(\n string => {\n string.updateBoundaries(\n replacementChars.length - previousSelectionLength\n );\n }\n );\n\n this.selection.select(\n this.selection.charactersBeforeSelection().length +\n replacementChars.length\n );\n }\n\n public deleteCharacter(): void {\n let previousSelectionLength: number;\n if (this.selection.hasSelection()) {\n previousSelectionLength = this.selection.end - this.selection.start;\n this.selection.deleteCharactersUnderSelection();\n } else {\n previousSelectionLength = 1;\n this.characters = [\n ...this.selection\n .charactersBeforeSelection()\n .slice(0, this.selection.charactersBeforeSelection().length - 1),\n ...this.selection.charactersAfterSelection()\n ];\n\n this.selection.copyVisibleStyleToHiddenCharacter();\n this.selection.moveLeft(false, false, false);\n }\n\n this.predefinedStrings.forEach(string => {\n string.updateBoundaries(-previousSelectionLength);\n });\n\n this.canvas.renderAll();\n this.canvas.renderTop();\n }\n\n public standardiseFormatting(): void {\n this.stripLeadingCarriages();\n this.copyFirstCharStyles();\n this.verticalAlign = \"center\";\n this.canvas.renderAll();\n }\n\n private copyFirstCharStyles(): void {\n const style = this.characters[0].style.toJSON();\n this.characters.forEach(char => {\n char.style = new TextBoxStyle({ ...style, fontFamily: \"Baskerville\" });\n });\n }\n\n private stripLeadingCarriages(): void {\n this.characters = this.characters.slice(this.firstNonCarriageIndex);\n }\n\n private get firstNonCarriageIndex(): number {\n return this.characters.findIndex(char => !char.isNewLine());\n }\n\n protected renderText(): void {\n let height = this.alignedTopOffset;\n this.overflowing = this.alignedTopOffset < 0;\n\n this.lines.forEach(line => {\n height += this.adjustedHeightForLine(line);\n const point = new Point(0, height);\n if (point.top > this.boundingBox.height) {\n this.overflowing = line.overflowing = true;\n } else {\n line.render(point);\n }\n });\n }\n\n protected wrapText(): void {\n this.lines = [];\n let chars: TextBoxCharacter[] = [];\n const preWrappedLines: TextBoxLine[] = [];\n\n this.characters.forEach(char => {\n chars.push(char);\n\n if (char.isNewLine()) {\n const line = new TextBoxLine(this, this.drawContext, chars);\n line.init();\n preWrappedLines.push(line);\n chars = [];\n }\n });\n\n // Mop up any remaining characters\n if (chars.length) {\n const line = new TextBoxLine(this, this.drawContext, chars);\n line.init();\n preWrappedLines.push(line);\n }\n\n preWrappedLines.forEach(line => {\n this.lines.push(...line.wrap());\n });\n }\n\n public setPredefinedString(\n key: string,\n text: string,\n style: Partial\n ): void {\n const predefinedString = this.predefinedStrings.find(\n string => string.key === key\n );\n\n if (predefinedString) {\n predefinedString.set(text, style);\n }\n }\n\n public setNameInjectionString(\n key: string,\n text: string,\n style: Partial\n ): void {\n const nameInjectionString = this.nameInjectionStrings.find(\n string => string.key === key\n );\n\n if (nameInjectionString) {\n nameInjectionString.set(text, style);\n }\n }\n\n public fitPredefinedString(key: string): void {\n this.predefinedStrings.forEach((string: PredefinedString) => {\n if (string.key === key) {\n string.fit();\n }\n });\n }\n\n public insertCopiedSelection(characters: CopiedCharacter[]): void {\n characters.forEach(({ char, style }) => {\n this.insertString(char, style);\n });\n this.canvas.renderAll();\n this.canvas.renderTop();\n }\n\n protected adjustedHeightForLine(line: TextBoxLine): number {\n const heightToAdjust = line.height() * TextBox.lineHeightRatio;\n return clipToNthDecimalPlace(heightToAdjust, 3);\n }\n\n public createPredefinedString(\n key: string,\n global: boolean | null,\n maxLength: number,\n useRegexAZ: boolean,\n mergeOnly: boolean,\n multiline: boolean,\n forElephantPrinter: boolean\n ): void {\n const newString = PredefinedString.createFromAdmin(this, {\n key,\n global: global || false,\n maxLength,\n useRegexAZ,\n mergeOnly,\n multiline,\n forElephantPrinter\n });\n\n if (newString) {\n this.predefinedStrings.push(newString);\n }\n }\n\n public createNameInjectionString(\n key: string,\n global: boolean | null,\n maxLength: number,\n useRegexAZ: boolean,\n mergeOnly: boolean,\n multiline: boolean,\n forElephantPrinter: boolean\n ): void {\n const newString = NameInjectionString.createFromAdmin(this, {\n key,\n global: global || false,\n maxLength,\n useRegexAZ,\n mergeOnly,\n multiline,\n forElephantPrinter\n });\n\n if (newString && newString instanceof NameInjectionString) {\n this.nameInjectionStrings.push(newString);\n }\n }\n\n public fonts(): string[] {\n return uniq(this.selectionStyles.map(style => style.fontFamily));\n }\n}\n\nexport { TextBox };\n","import { BrutObjectJSON } from \"../../interfaces/json/object\";\nimport { BaseObject } from \"../baseObject\";\nimport { Brut } from \"../../index\";\nimport { loadImage } from \"../../util/loadImage\";\n\nclass StaticImage extends BaseObject {\n readonly src?: string;\n protected image?: HTMLImageElement;\n\n selectable = false;\n edited = true;\n backgroundColour?: string;\n\n public get hoverCursor(): string {\n return \"default\";\n }\n public get hoverDragCursor(): string {\n return \"default\";\n }\n\n constructor(canvas: Brut, json: BrutObjectJSON) {\n super(canvas, json);\n this.name = json.name;\n this.src = json.src;\n this.backgroundColour = json.backgroundColour;\n }\n\n protected renderBorder(): void {}\n\n public async load(): Promise {\n if (this.src) {\n this.image = await loadImage(this.src);\n }\n }\n\n public render(context: CanvasRenderingContext2D = this.context): void {\n this.withinRegion(context, () => this.renderContents(context));\n }\n\n public renderContents(\n context: CanvasRenderingContext2D = this.context\n ): void {\n if (!this.canvas.showDieCutCover && this.name === \"overlay\") return;\n\n if (this.image) {\n context.drawImage(this.image, ...this.boundingBox.asAdjustedRect());\n } else if (this.backgroundColour) {\n context.fillStyle = this.backgroundColour || \"transparent\";\n context.fillRect(...this.boundingBox.asAdjustedRect());\n }\n }\n\n public toJSON(): Partial {\n return {\n ...super.toJSON(),\n src: this.src,\n name: this.name,\n crossOrigin: \"anonymous\"\n };\n }\n}\n\nexport { StaticImage };\n","// can-promise has a crash in some versions of react native that dont have\n// standard global objects\n// https://github.com/soldair/node-qrcode/issues/157\n\nmodule.exports = function () {\n return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n}\n","let toSJISFunction\nconst CODEWORDS_COUNT = [\n 0, // Not used\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n]\n\n/**\n * Returns the QR Code size for the specified version\n *\n * @param {Number} version QR Code version\n * @return {Number} size of QR code\n */\nexports.getSymbolSize = function getSymbolSize (version) {\n if (!version) throw new Error('\"version\" cannot be null or undefined')\n if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n return version * 4 + 17\n}\n\n/**\n * Returns the total number of codewords used to store data and EC information.\n *\n * @param {Number} version QR Code version\n * @return {Number} Data length in bits\n */\nexports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n return CODEWORDS_COUNT[version]\n}\n\n/**\n * Encode data with Bose-Chaudhuri-Hocquenghem\n *\n * @param {Number} data Value to encode\n * @return {Number} Encoded value\n */\nexports.getBCHDigit = function (data) {\n let digit = 0\n\n while (data !== 0) {\n digit++\n data >>>= 1\n }\n\n return digit\n}\n\nexports.setToSJISFunction = function setToSJISFunction (f) {\n if (typeof f !== 'function') {\n throw new Error('\"toSJISFunc\" is not a valid function.')\n }\n\n toSJISFunction = f\n}\n\nexports.isKanjiModeEnabled = function () {\n return typeof toSJISFunction !== 'undefined'\n}\n\nexports.toSJIS = function toSJIS (kanji) {\n return toSJISFunction(kanji)\n}\n","exports.L = { bit: 1 }\nexports.M = { bit: 0 }\nexports.Q = { bit: 3 }\nexports.H = { bit: 2 }\n\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'l':\n case 'low':\n return exports.L\n\n case 'm':\n case 'medium':\n return exports.M\n\n case 'q':\n case 'quartile':\n return exports.Q\n\n case 'h':\n case 'high':\n return exports.H\n\n default:\n throw new Error('Unknown EC Level: ' + string)\n }\n}\n\nexports.isValid = function isValid (level) {\n return level && typeof level.bit !== 'undefined' &&\n level.bit >= 0 && level.bit < 4\n}\n\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","function BitBuffer () {\n this.buffer = []\n this.length = 0\n}\n\nBitBuffer.prototype = {\n\n get: function (index) {\n const bufIndex = Math.floor(index / 8)\n return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1\n },\n\n put: function (num, length) {\n for (let i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) === 1)\n }\n },\n\n getLengthInBits: function () {\n return this.length\n },\n\n putBit: function (bit) {\n const bufIndex = Math.floor(this.length / 8)\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0)\n }\n\n if (bit) {\n this.buffer[bufIndex] |= (0x80 >>> (this.length % 8))\n }\n\n this.length++\n }\n}\n\nmodule.exports = BitBuffer\n","/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size\n this.data = new Uint8Array(size * size)\n this.reservedBit = new Uint8Array(size * size)\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n const index = row * this.size + col\n this.data[index] = value\n if (reserved) this.reservedBit[index] = true\n}\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n}\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value\n}\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n}\n\nmodule.exports = BitMatrix\n","/**\n * Alignment pattern are fixed reference pattern in defined positions\n * in a matrix symbology, which enables the decode software to re-synchronise\n * the coordinate mapping of the image modules in the event of moderate amounts\n * of distortion of the image.\n *\n * Alignment patterns are present only in QR Code symbols of version 2 or larger\n * and their number depends on the symbol version.\n */\n\nconst getSymbolSize = require('./utils').getSymbolSize\n\n/**\n * Calculate the row/column coordinates of the center module of each alignment pattern\n * for the specified QR Code version.\n *\n * The alignment patterns are positioned symmetrically on either side of the diagonal\n * running from the top left corner of the symbol to the bottom right corner.\n *\n * Since positions are simmetrical only half of the coordinates are returned.\n * Each item of the array will represent in turn the x and y coordinate.\n * @see {@link getPositions}\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinate\n */\nexports.getRowColCoords = function getRowColCoords (version) {\n if (version === 1) return []\n\n const posCount = Math.floor(version / 7) + 2\n const size = getSymbolSize(version)\n const intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2\n const positions = [size - 7] // Last coord is always (size - 7)\n\n for (let i = 1; i < posCount - 1; i++) {\n positions[i] = positions[i - 1] - intervals\n }\n\n positions.push(6) // First coord is always 6\n\n return positions.reverse()\n}\n\n/**\n * Returns an array containing the positions of each alignment pattern.\n * Each array's element represent the center point of the pattern as (x, y) coordinates\n *\n * Coordinates are calculated expanding the row/column coordinates returned by {@link getRowColCoords}\n * and filtering out the items that overlaps with finder pattern\n *\n * @example\n * For a Version 7 symbol {@link getRowColCoords} returns values 6, 22 and 38.\n * The alignment patterns, therefore, are to be centered on (row, column)\n * positions (6,22), (22,6), (22,22), (22,38), (38,22), (38,38).\n * Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns\n * and are not therefore used for alignment patterns.\n *\n * let pos = getPositions(7)\n * // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const coords = []\n const pos = exports.getRowColCoords(version)\n const posLength = pos.length\n\n for (let i = 0; i < posLength; i++) {\n for (let j = 0; j < posLength; j++) {\n // Skip if position is occupied by finder patterns\n if ((i === 0 && j === 0) || // top-left\n (i === 0 && j === posLength - 1) || // bottom-left\n (i === posLength - 1 && j === 0)) { // top-right\n continue\n }\n\n coords.push([pos[i], pos[j]])\n }\n }\n\n return coords\n}\n","const getSymbolSize = require('./utils').getSymbolSize\nconst FINDER_PATTERN_SIZE = 7\n\n/**\n * Returns an array containing the positions of each finder pattern.\n * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const size = getSymbolSize(version)\n\n return [\n // top-left\n [0, 0],\n // top-right\n [size - FINDER_PATTERN_SIZE, 0],\n // bottom-left\n [0, size - FINDER_PATTERN_SIZE]\n ]\n}\n","/**\n * Data mask pattern reference\n * @type {Object}\n */\nexports.Patterns = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n}\n\n/**\n * Weighted penalty scores for the undesirable features\n * @type {Object}\n */\nconst PenaltyScores = {\n N1: 3,\n N2: 3,\n N3: 40,\n N4: 10\n}\n\n/**\n * Check if mask pattern value is valid\n *\n * @param {Number} mask Mask pattern\n * @return {Boolean} true if valid, false otherwise\n */\nexports.isValid = function isValid (mask) {\n return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n}\n\n/**\n * Returns mask pattern from a value.\n * If value is not valid, returns undefined\n *\n * @param {Number|String} value Mask pattern value\n * @return {Number} Valid mask pattern or undefined\n */\nexports.from = function from (value) {\n return exports.isValid(value) ? parseInt(value, 10) : undefined\n}\n\n/**\n* Find adjacent modules in row/column with the same color\n* and assign a penalty value.\n*\n* Points: N1 + i\n* i is the amount by which the number of adjacent modules of the same color exceeds 5\n*/\nexports.getPenaltyN1 = function getPenaltyN1 (data) {\n const size = data.size\n let points = 0\n let sameCountCol = 0\n let sameCountRow = 0\n let lastCol = null\n let lastRow = null\n\n for (let row = 0; row < size; row++) {\n sameCountCol = sameCountRow = 0\n lastCol = lastRow = null\n\n for (let col = 0; col < size; col++) {\n let module = data.get(row, col)\n if (module === lastCol) {\n sameCountCol++\n } else {\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n lastCol = module\n sameCountCol = 1\n }\n\n module = data.get(col, row)\n if (module === lastRow) {\n sameCountRow++\n } else {\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n lastRow = module\n sameCountRow = 1\n }\n }\n\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n }\n\n return points\n}\n\n/**\n * Find 2x2 blocks with the same color and assign a penalty value\n *\n * Points: N2 * (m - 1) * (n - 1)\n */\nexports.getPenaltyN2 = function getPenaltyN2 (data) {\n const size = data.size\n let points = 0\n\n for (let row = 0; row < size - 1; row++) {\n for (let col = 0; col < size - 1; col++) {\n const last = data.get(row, col) +\n data.get(row, col + 1) +\n data.get(row + 1, col) +\n data.get(row + 1, col + 1)\n\n if (last === 4 || last === 0) points++\n }\n }\n\n return points * PenaltyScores.N2\n}\n\n/**\n * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n * preceded or followed by light area 4 modules wide\n *\n * Points: N3 * number of pattern found\n */\nexports.getPenaltyN3 = function getPenaltyN3 (data) {\n const size = data.size\n let points = 0\n let bitsCol = 0\n let bitsRow = 0\n\n for (let row = 0; row < size; row++) {\n bitsCol = bitsRow = 0\n for (let col = 0; col < size; col++) {\n bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col)\n if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++\n\n bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row)\n if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++\n }\n }\n\n return points * PenaltyScores.N3\n}\n\n/**\n * Calculate proportion of dark modules in entire symbol\n *\n * Points: N4 * k\n *\n * k is the rating of the deviation of the proportion of dark modules\n * in the symbol from 50% in steps of 5%\n */\nexports.getPenaltyN4 = function getPenaltyN4 (data) {\n let darkCount = 0\n const modulesCount = data.data.length\n\n for (let i = 0; i < modulesCount; i++) darkCount += data.data[i]\n\n const k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10)\n\n return k * PenaltyScores.N4\n}\n\n/**\n * Return mask value at given position\n *\n * @param {Number} maskPattern Pattern reference value\n * @param {Number} i Row\n * @param {Number} j Column\n * @return {Boolean} Mask value\n */\nfunction getMaskAt (maskPattern, i, j) {\n switch (maskPattern) {\n case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n case exports.Patterns.PATTERN001: return i % 2 === 0\n case exports.Patterns.PATTERN010: return j % 3 === 0\n case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n default: throw new Error('bad maskPattern:' + maskPattern)\n }\n}\n\n/**\n * Apply a mask pattern to a BitMatrix\n *\n * @param {Number} pattern Pattern reference number\n * @param {BitMatrix} data BitMatrix data\n */\nexports.applyMask = function applyMask (pattern, data) {\n const size = data.size\n\n for (let col = 0; col < size; col++) {\n for (let row = 0; row < size; row++) {\n if (data.isReserved(row, col)) continue\n data.xor(row, col, getMaskAt(pattern, row, col))\n }\n }\n}\n\n/**\n * Returns the best mask pattern for data\n *\n * @param {BitMatrix} data\n * @return {Number} Mask pattern reference number\n */\nexports.getBestMask = function getBestMask (data, setupFormatFunc) {\n const numPatterns = Object.keys(exports.Patterns).length\n let bestPattern = 0\n let lowerPenalty = Infinity\n\n for (let p = 0; p < numPatterns; p++) {\n setupFormatFunc(p)\n exports.applyMask(p, data)\n\n // Calculate penalty\n const penalty =\n exports.getPenaltyN1(data) +\n exports.getPenaltyN2(data) +\n exports.getPenaltyN3(data) +\n exports.getPenaltyN4(data)\n\n // Undo previously applied mask\n exports.applyMask(p, data)\n\n if (penalty < lowerPenalty) {\n lowerPenalty = penalty\n bestPattern = p\n }\n }\n\n return bestPattern\n}\n","const ECLevel = require('./error-correction-level')\r\n\r\nconst EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n]\r\n\r\nconst EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n]\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n","const EXP_TABLE = new Uint8Array(512)\nconst LOG_TABLE = new Uint8Array(256)\n/**\n * Precompute the log and anti-log tables for faster computation later\n *\n * For each possible value in the galois field 2^8, we will pre-compute\n * the logarithm and anti-logarithm (exponential) of this value\n *\n * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n */\n;(function initTables () {\n let x = 1\n for (let i = 0; i < 255; i++) {\n EXP_TABLE[i] = x\n LOG_TABLE[x] = i\n\n x <<= 1 // multiply by 2\n\n // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (let i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255]\n }\n}())\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n}\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n}\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n}\n","const GF = require('./galois-field')\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Uint8Array} p1 Polynomial\n * @param {Uint8Array} p2 Polynomial\n * @return {Uint8Array} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n const coeff = new Uint8Array(p1.length + p2.length - 1)\n\n for (let i = 0; i < p1.length; i++) {\n for (let j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j])\n }\n }\n\n return coeff\n}\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Uint8Array} divident Polynomial\n * @param {Uint8Array} divisor Polynomial\n * @return {Uint8Array} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n let result = new Uint8Array(divident)\n\n while ((result.length - divisor.length) >= 0) {\n const coeff = result[0]\n\n for (let i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff)\n }\n\n // remove all zeros from buffer head\n let offset = 0\n while (offset < result.length && result[offset] === 0) offset++\n result = result.slice(offset)\n }\n\n return result\n}\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Uint8Array} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n let poly = new Uint8Array([1])\n for (let i = 0; i < degree; i++) {\n poly = exports.mul(poly, new Uint8Array([1, GF.exp(i)]))\n }\n\n return poly\n}\n","const Polynomial = require('./polynomial')\n\nfunction ReedSolomonEncoder (degree) {\n this.genPoly = undefined\n this.degree = degree\n\n if (this.degree) this.initialize(this.degree)\n}\n\n/**\n * Initialize the encoder.\n * The input param should correspond to the number of error correction codewords.\n *\n * @param {Number} degree\n */\nReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n // create an irreducible generator polynomial\n this.degree = degree\n this.genPoly = Polynomial.generateECPolynomial(this.degree)\n}\n\n/**\n * Encodes a chunk of data\n *\n * @param {Uint8Array} data Buffer containing input data\n * @return {Uint8Array} Buffer containing encoded data\n */\nReedSolomonEncoder.prototype.encode = function encode (data) {\n if (!this.genPoly) {\n throw new Error('Encoder not initialized')\n }\n\n // Calculate EC for this data block\n // extends data size to data+genPoly size\n const paddedData = new Uint8Array(data.length + this.degree)\n paddedData.set(data)\n\n // The error correction codewords are the remainder after dividing the data codewords\n // by a generator polynomial\n const remainder = Polynomial.mod(paddedData, this.genPoly)\n\n // return EC data blocks (last n byte, where n is the degree of genPoly)\n // If coefficients number in remainder are less than genPoly degree,\n // pad with 0s to the left to reach the needed number of coefficients\n const start = this.degree - remainder.length\n if (start > 0) {\n const buff = new Uint8Array(this.degree)\n buff.set(remainder, start)\n\n return buff\n }\n\n return remainder\n}\n\nmodule.exports = ReedSolomonEncoder\n","/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n}\n","const numeric = '[0-9]+'\nconst alphanumeric = '[A-Z $%*+\\\\-./:]+'\nlet kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+'\nkanji = kanji.replace(/u/g, '\\\\u')\n\nconst byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+'\n\nexports.KANJI = new RegExp(kanji, 'g')\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g')\nexports.BYTE = new RegExp(byte, 'g')\nexports.NUMERIC = new RegExp(numeric, 'g')\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g')\n\nconst TEST_KANJI = new RegExp('^' + kanji + '$')\nconst TEST_NUMERIC = new RegExp('^' + numeric + '$')\nconst TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$')\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n}\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n}\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n}\n","const VersionCheck = require('./version-check')\nconst Regex = require('./regex')\n\n/**\n * Numeric mode encodes data from the decimal digit set (0 - 9)\n * (byte values 30HEX to 39HEX).\n * Normally, 3 data characters are represented by 10 bits.\n *\n * @type {Object}\n */\nexports.NUMERIC = {\n id: 'Numeric',\n bit: 1 << 0,\n ccBits: [10, 12, 14]\n}\n\n/**\n * Alphanumeric mode encodes data from a set of 45 characters,\n * i.e. 10 numeric digits (0 - 9),\n * 26 alphabetic characters (A - Z),\n * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n * Normally, two input characters are represented by 11 bits.\n *\n * @type {Object}\n */\nexports.ALPHANUMERIC = {\n id: 'Alphanumeric',\n bit: 1 << 1,\n ccBits: [9, 11, 13]\n}\n\n/**\n * In byte mode, data is encoded at 8 bits per character.\n *\n * @type {Object}\n */\nexports.BYTE = {\n id: 'Byte',\n bit: 1 << 2,\n ccBits: [8, 16, 16]\n}\n\n/**\n * The Kanji mode efficiently encodes Kanji characters in accordance with\n * the Shift JIS system based on JIS X 0208.\n * The Shift JIS values are shifted from the JIS X 0208 values.\n * JIS X 0208 gives details of the shift coded representation.\n * Each two-byte character value is compacted to a 13-bit binary codeword.\n *\n * @type {Object}\n */\nexports.KANJI = {\n id: 'Kanji',\n bit: 1 << 3,\n ccBits: [8, 10, 12]\n}\n\n/**\n * Mixed mode will contain a sequences of data in a combination of any of\n * the modes described above\n *\n * @type {Object}\n */\nexports.MIXED = {\n bit: -1\n}\n\n/**\n * Returns the number of bits needed to store the data length\n * according to QR Code specifications.\n *\n * @param {Mode} mode Data mode\n * @param {Number} version QR Code version\n * @return {Number} Number of bits\n */\nexports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid version: ' + version)\n }\n\n if (version >= 1 && version < 10) return mode.ccBits[0]\n else if (version < 27) return mode.ccBits[1]\n return mode.ccBits[2]\n}\n\n/**\n * Returns the most efficient mode to store the specified data\n *\n * @param {String} dataStr Input data string\n * @return {Mode} Best mode\n */\nexports.getBestModeForData = function getBestModeForData (dataStr) {\n if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n else if (Regex.testKanji(dataStr)) return exports.KANJI\n else return exports.BYTE\n}\n\n/**\n * Return mode name as string\n *\n * @param {Mode} mode Mode object\n * @returns {String} Mode name\n */\nexports.toString = function toString (mode) {\n if (mode && mode.id) return mode.id\n throw new Error('Invalid mode')\n}\n\n/**\n * Check if input param is a valid mode object\n *\n * @param {Mode} mode Mode object\n * @returns {Boolean} True if valid mode, false otherwise\n */\nexports.isValid = function isValid (mode) {\n return mode && mode.bit && mode.ccBits\n}\n\n/**\n * Get mode object from its name\n *\n * @param {String} string Mode name\n * @returns {Mode} Mode object\n */\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'numeric':\n return exports.NUMERIC\n case 'alphanumeric':\n return exports.ALPHANUMERIC\n case 'kanji':\n return exports.KANJI\n case 'byte':\n return exports.BYTE\n default:\n throw new Error('Unknown mode: ' + string)\n }\n}\n\n/**\n * Returns mode from a value.\n * If value is not a valid mode, returns defaultValue\n *\n * @param {Mode|String} value Encoding mode\n * @param {Mode} defaultValue Fallback value\n * @return {Mode} Encoding mode\n */\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","const Utils = require('./utils')\nconst ECCode = require('./error-correction-code')\nconst ECLevel = require('./error-correction-level')\nconst Mode = require('./mode')\nconst VersionCheck = require('./version-check')\n\n// Generator polynomial used to encode version information\nconst G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0)\nconst G18_BCH = Utils.getBCHDigit(G18)\n\nfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\nfunction getReservedBitsCount (mode, version) {\n // Character count indicator + mode indicator bits\n return Mode.getCharCountIndicator(mode, version) + 4\n}\n\nfunction getTotalBitsFromDataArray (segments, version) {\n let totalBits = 0\n\n segments.forEach(function (data) {\n const reservedBits = getReservedBitsCount(data.mode, version)\n totalBits += reservedBits + data.getBitsLength()\n })\n\n return totalBits\n}\n\nfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n const length = getTotalBitsFromDataArray(segments, currentVersion)\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\n/**\n * Returns version number from a value.\n * If value is not a valid version, returns defaultValue\n *\n * @param {Number|String} value QR Code version\n * @param {Number} defaultValue Fallback value\n * @return {Number} QR Code version number\n */\nexports.from = function from (value, defaultValue) {\n if (VersionCheck.isValid(value)) {\n return parseInt(value, 10)\n }\n\n return defaultValue\n}\n\n/**\n * Returns how much data can be stored with the specified QR code version\n * and error correction level\n *\n * @param {Number} version QR Code version (1-40)\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} Quantity of storable data\n */\nexports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid QR Code version')\n }\n\n // Use Byte mode as default\n if (typeof mode === 'undefined') mode = Mode.BYTE\n\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n const usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version)\n\n // Return max number of storable codewords\n switch (mode) {\n case Mode.NUMERIC:\n return Math.floor((usableBits / 10) * 3)\n\n case Mode.ALPHANUMERIC:\n return Math.floor((usableBits / 11) * 2)\n\n case Mode.KANJI:\n return Math.floor(usableBits / 13)\n\n case Mode.BYTE:\n default:\n return Math.floor(usableBits / 8)\n }\n}\n\n/**\n * Returns the minimum version needed to contain the amount of data\n *\n * @param {Segment} data Segment of data\n * @param {Number} [errorCorrectionLevel=H] Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} QR Code version\n */\nexports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n let seg\n\n const ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M)\n\n if (Array.isArray(data)) {\n if (data.length > 1) {\n return getBestVersionForMixedData(data, ecl)\n }\n\n if (data.length === 0) {\n return 1\n }\n\n seg = data[0]\n } else {\n seg = data\n }\n\n return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n}\n\n/**\n * Returns version information with relative error correction bits\n *\n * The version information is included in QR Code symbols of version 7 or larger.\n * It consists of an 18-bit sequence containing 6 data bits,\n * with 12 error correction bits calculated using the (18, 6) Golay code.\n *\n * @param {Number} version QR Code version\n * @return {Number} Encoded version info bits\n */\nexports.getEncodedBits = function getEncodedBits (version) {\n if (!VersionCheck.isValid(version) || version < 7) {\n throw new Error('Invalid QR Code version')\n }\n\n let d = version << 12\n\n while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH))\n }\n\n return (version << 12) | d\n}\n","const Utils = require('./utils')\n\nconst G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0)\nconst G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1)\nconst G15_BCH = Utils.getBCHDigit(G15)\n\n/**\n * Returns format information with relative error correction bits\n *\n * The format information is a 15-bit sequence containing 5 data bits,\n * with 10 error correction bits calculated using the (15, 5) BCH code.\n *\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Number} mask Mask pattern\n * @return {Number} Encoded format information bits\n */\nexports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n const data = ((errorCorrectionLevel.bit << 3) | mask)\n let d = data << 10\n\n while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH))\n }\n\n // xor final data with mask pattern in order to ensure that\n // no combination of Error Correction Level and data mask pattern\n // will result in an all-zero data string\n return ((data << 10) | d) ^ G15_MASK\n}\n","const Mode = require('./mode')\n\nfunction NumericData (data) {\n this.mode = Mode.NUMERIC\n this.data = data.toString()\n}\n\nNumericData.getBitsLength = function getBitsLength (length) {\n return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n}\n\nNumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nNumericData.prototype.getBitsLength = function getBitsLength () {\n return NumericData.getBitsLength(this.data.length)\n}\n\nNumericData.prototype.write = function write (bitBuffer) {\n let i, group, value\n\n // The input data string is divided into groups of three digits,\n // and each group is converted to its 10-bit binary equivalent.\n for (i = 0; i + 3 <= this.data.length; i += 3) {\n group = this.data.substr(i, 3)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, 10)\n }\n\n // If the number of input digits is not an exact multiple of three,\n // the final one or two digits are converted to 4 or 7 bits respectively.\n const remainingNum = this.data.length - i\n if (remainingNum > 0) {\n group = this.data.substr(i)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, remainingNum * 3 + 1)\n }\n}\n\nmodule.exports = NumericData\n","const Mode = require('./mode')\n\n/**\n * Array of characters available in alphanumeric mode\n *\n * As per QR Code specification, to each character\n * is assigned a value from 0 to 44 which in this case coincides\n * with the array index\n *\n * @type {Array}\n */\nconst ALPHA_NUM_CHARS = [\n '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n ' ', '$', '%', '*', '+', '-', '.', '/', ':'\n]\n\nfunction AlphanumericData (data) {\n this.mode = Mode.ALPHANUMERIC\n this.data = data\n}\n\nAlphanumericData.getBitsLength = function getBitsLength (length) {\n return 11 * Math.floor(length / 2) + 6 * (length % 2)\n}\n\nAlphanumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nAlphanumericData.prototype.getBitsLength = function getBitsLength () {\n return AlphanumericData.getBitsLength(this.data.length)\n}\n\nAlphanumericData.prototype.write = function write (bitBuffer) {\n let i\n\n // Input data characters are divided into groups of two characters\n // and encoded as 11-bit binary codes.\n for (i = 0; i + 2 <= this.data.length; i += 2) {\n // The character value of the first character is multiplied by 45\n let value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45\n\n // The character value of the second digit is added to the product\n value += ALPHA_NUM_CHARS.indexOf(this.data[i + 1])\n\n // The sum is then stored as 11-bit binary number\n bitBuffer.put(value, 11)\n }\n\n // If the number of input data characters is not a multiple of two,\n // the character value of the final character is encoded as a 6-bit binary number.\n if (this.data.length % 2) {\n bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i]), 6)\n }\n}\n\nmodule.exports = AlphanumericData\n","'use strict'\n\nmodule.exports = function encodeUtf8 (input) {\n var result = []\n var size = input.length\n\n for (var index = 0; index < size; index++) {\n var point = input.charCodeAt(index)\n\n if (point >= 0xD800 && point <= 0xDBFF && size > index + 1) {\n var second = input.charCodeAt(index + 1)\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n point = (point - 0xD800) * 0x400 + second - 0xDC00 + 0x10000\n index += 1\n }\n }\n\n // US-ASCII\n if (point < 0x80) {\n result.push(point)\n continue\n }\n\n // 2-byte UTF-8\n if (point < 0x800) {\n result.push((point >> 6) | 192)\n result.push((point & 63) | 128)\n continue\n }\n\n // 3-byte UTF-8\n if (point < 0xD800 || (point >= 0xE000 && point < 0x10000)) {\n result.push((point >> 12) | 224)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // 4-byte UTF-8\n if (point >= 0x10000 && point <= 0x10FFFF) {\n result.push((point >> 18) | 240)\n result.push(((point >> 12) & 63) | 128)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // Invalid character\n result.push(0xEF, 0xBF, 0xBD)\n }\n\n return new Uint8Array(result).buffer\n}\n","const encodeUtf8 = require('encode-utf8')\nconst Mode = require('./mode')\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE\n this.data = new Uint8Array(encodeUtf8(data))\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n}\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n}\n\nByteData.prototype.write = function (bitBuffer) {\n for (let i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8)\n }\n}\n\nmodule.exports = ByteData\n","const Mode = require('./mode')\nconst Utils = require('./utils')\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI\n this.data = data\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n}\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n}\n\nKanjiData.prototype.write = function (bitBuffer) {\n let i\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n let value = Utils.toSJIS(this.data[i])\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff)\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13)\n }\n}\n\nmodule.exports = KanjiData\n","'use strict';\n\n/******************************************************************************\n * Created 2008-08-19.\n *\n * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n *\n * Copyright (C) 2008\n * Wyatt Baldwin \n * All rights reserved\n *\n * Licensed under the MIT license.\n *\n * http://www.opensource.org/licenses/mit-license.php\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *****************************************************************************/\nvar dijkstra = {\n single_source_shortest_paths: function(graph, s, d) {\n // Predecessor map for each node that has been encountered.\n // node ID => predecessor node ID\n var predecessors = {};\n\n // Costs of shortest paths from s to all nodes encountered.\n // node ID => cost\n var costs = {};\n costs[s] = 0;\n\n // Costs of shortest paths from s to all nodes encountered; differs from\n // `costs` in that it provides easy access to the node that currently has\n // the known shortest path from s.\n // XXX: Do we actually need both `costs` and `open`?\n var open = dijkstra.PriorityQueue.make();\n open.push(s, 0);\n\n var closest,\n u, v,\n cost_of_s_to_u,\n adjacent_nodes,\n cost_of_e,\n cost_of_s_to_u_plus_cost_of_e,\n cost_of_s_to_v,\n first_visit;\n while (!open.empty()) {\n // In the nodes remaining in graph that have a known cost from s,\n // find the node, u, that currently has the shortest path from s.\n closest = open.pop();\n u = closest.value;\n cost_of_s_to_u = closest.cost;\n\n // Get nodes adjacent to u...\n adjacent_nodes = graph[u] || {};\n\n // ...and explore the edges that connect u to those nodes, updating\n // the cost of the shortest paths to any or all of those nodes as\n // necessary. v is the node across the current edge from u.\n for (v in adjacent_nodes) {\n if (adjacent_nodes.hasOwnProperty(v)) {\n // Get the cost of the edge running from u to v.\n cost_of_e = adjacent_nodes[v];\n\n // Cost of s to u plus the cost of u to v across e--this is *a*\n // cost from s to v that may or may not be less than the current\n // known cost to v.\n cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n // If we haven't visited v yet OR if the current known cost from s to\n // v is greater than the new cost we just found (cost of s to u plus\n // cost of u to v across e), update v's cost in the cost list and\n // update v's predecessor in the predecessor list (it's now u).\n cost_of_s_to_v = costs[v];\n first_visit = (typeof costs[v] === 'undefined');\n if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n costs[v] = cost_of_s_to_u_plus_cost_of_e;\n open.push(v, cost_of_s_to_u_plus_cost_of_e);\n predecessors[v] = u;\n }\n }\n }\n }\n\n if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n throw new Error(msg);\n }\n\n return predecessors;\n },\n\n extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n var nodes = [];\n var u = d;\n var predecessor;\n while (u) {\n nodes.push(u);\n predecessor = predecessors[u];\n u = predecessors[u];\n }\n nodes.reverse();\n return nodes;\n },\n\n find_path: function(graph, s, d) {\n var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n return dijkstra.extract_shortest_path_from_predecessor_list(\n predecessors, d);\n },\n\n /**\n * A very naive priority queue implementation.\n */\n PriorityQueue: {\n make: function (opts) {\n var T = dijkstra.PriorityQueue,\n t = {},\n key;\n opts = opts || {};\n for (key in T) {\n if (T.hasOwnProperty(key)) {\n t[key] = T[key];\n }\n }\n t.queue = [];\n t.sorter = opts.sorter || T.default_sorter;\n return t;\n },\n\n default_sorter: function (a, b) {\n return a.cost - b.cost;\n },\n\n /**\n * Add a new item to the queue and ensure the highest priority element\n * is at the front of the queue.\n */\n push: function (value, cost) {\n var item = {value: value, cost: cost};\n this.queue.push(item);\n this.queue.sort(this.sorter);\n },\n\n /**\n * Return the highest priority element in the queue.\n */\n pop: function () {\n return this.queue.shift();\n },\n\n empty: function () {\n return this.queue.length === 0;\n }\n }\n};\n\n\n// node.js module exports\nif (typeof module !== 'undefined') {\n module.exports = dijkstra;\n}\n","const Mode = require('./mode')\nconst NumericData = require('./numeric-data')\nconst AlphanumericData = require('./alphanumeric-data')\nconst ByteData = require('./byte-data')\nconst KanjiData = require('./kanji-data')\nconst Regex = require('./regex')\nconst Utils = require('./utils')\nconst dijkstra = require('dijkstrajs')\n\n/**\n * Returns UTF8 byte length\n *\n * @param {String} str Input string\n * @return {Number} Number of byte\n */\nfunction getStringByteLength (str) {\n return unescape(encodeURIComponent(str)).length\n}\n\n/**\n * Get a list of segments of the specified mode\n * from a string\n *\n * @param {Mode} mode Segment mode\n * @param {String} str String to process\n * @return {Array} Array of object with segments data\n */\nfunction getSegments (regex, mode, str) {\n const segments = []\n let result\n\n while ((result = regex.exec(str)) !== null) {\n segments.push({\n data: result[0],\n index: result.index,\n mode: mode,\n length: result[0].length\n })\n }\n\n return segments\n}\n\n/**\n * Extracts a series of segments with the appropriate\n * modes from a string\n *\n * @param {String} dataStr Input string\n * @return {Array} Array of object with segments data\n */\nfunction getSegmentsFromString (dataStr) {\n const numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr)\n const alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr)\n let byteSegs\n let kanjiSegs\n\n if (Utils.isKanjiModeEnabled()) {\n byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr)\n kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr)\n } else {\n byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr)\n kanjiSegs = []\n }\n\n const segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs)\n\n return segs\n .sort(function (s1, s2) {\n return s1.index - s2.index\n })\n .map(function (obj) {\n return {\n data: obj.data,\n mode: obj.mode,\n length: obj.length\n }\n })\n}\n\n/**\n * Returns how many bits are needed to encode a string of\n * specified length with the specified mode\n *\n * @param {Number} length String length\n * @param {Mode} mode Segment mode\n * @return {Number} Bit length\n */\nfunction getSegmentBitsLength (length, mode) {\n switch (mode) {\n case Mode.NUMERIC:\n return NumericData.getBitsLength(length)\n case Mode.ALPHANUMERIC:\n return AlphanumericData.getBitsLength(length)\n case Mode.KANJI:\n return KanjiData.getBitsLength(length)\n case Mode.BYTE:\n return ByteData.getBitsLength(length)\n }\n}\n\n/**\n * Merges adjacent segments which have the same mode\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction mergeSegments (segs) {\n return segs.reduce(function (acc, curr) {\n const prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null\n if (prevSeg && prevSeg.mode === curr.mode) {\n acc[acc.length - 1].data += curr.data\n return acc\n }\n\n acc.push(curr)\n return acc\n }, [])\n}\n\n/**\n * Generates a list of all possible nodes combination which\n * will be used to build a segments graph.\n *\n * Nodes are divided by groups. Each group will contain a list of all the modes\n * in which is possible to encode the given text.\n *\n * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n * The group for '12345' will contain then 3 objects, one for each\n * possible encoding mode.\n *\n * Each node represents a possible segment.\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction buildNodes (segs) {\n const nodes = []\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n\n switch (seg.mode) {\n case Mode.NUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.ALPHANUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.KANJI:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n break\n case Mode.BYTE:\n nodes.push([\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n }\n }\n\n return nodes\n}\n\n/**\n * Builds a graph from a list of nodes.\n * All segments in each node group will be connected with all the segments of\n * the next group and so on.\n *\n * At each connection will be assigned a weight depending on the\n * segment's byte length.\n *\n * @param {Array} nodes Array of object with segments data\n * @param {Number} version QR Code version\n * @return {Object} Graph of all possible segments\n */\nfunction buildGraph (nodes, version) {\n const table = {}\n const graph = { start: {} }\n let prevNodeIds = ['start']\n\n for (let i = 0; i < nodes.length; i++) {\n const nodeGroup = nodes[i]\n const currentNodeIds = []\n\n for (let j = 0; j < nodeGroup.length; j++) {\n const node = nodeGroup[j]\n const key = '' + i + j\n\n currentNodeIds.push(key)\n table[key] = { node: node, lastCount: 0 }\n graph[key] = {}\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n const prevNodeId = prevNodeIds[n]\n\n if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n graph[prevNodeId][key] =\n getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n getSegmentBitsLength(table[prevNodeId].lastCount, node.mode)\n\n table[prevNodeId].lastCount += node.length\n } else {\n if (table[prevNodeId]) table[prevNodeId].lastCount = node.length\n\n graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n 4 + Mode.getCharCountIndicator(node.mode, version) // switch cost\n }\n }\n }\n\n prevNodeIds = currentNodeIds\n }\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n graph[prevNodeIds[n]].end = 0\n }\n\n return { map: graph, table: table }\n}\n\n/**\n * Builds a segment from a specified data and mode.\n * If a mode is not specified, the more suitable will be used.\n *\n * @param {String} data Input data\n * @param {Mode | String} modesHint Data mode\n * @return {Segment} Segment\n */\nfunction buildSingleSegment (data, modesHint) {\n let mode\n const bestMode = Mode.getBestModeForData(data)\n\n mode = Mode.from(modesHint, bestMode)\n\n // Make sure data can be encoded\n if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n throw new Error('\"' + data + '\"' +\n ' cannot be encoded with mode ' + Mode.toString(mode) +\n '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n }\n\n // Use Mode.BYTE if Kanji support is disabled\n if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n mode = Mode.BYTE\n }\n\n switch (mode) {\n case Mode.NUMERIC:\n return new NumericData(data)\n\n case Mode.ALPHANUMERIC:\n return new AlphanumericData(data)\n\n case Mode.KANJI:\n return new KanjiData(data)\n\n case Mode.BYTE:\n return new ByteData(data)\n }\n}\n\n/**\n * Builds a list of segments from an array.\n * Array can contain Strings or Objects with segment's info.\n *\n * For each item which is a string, will be generated a segment with the given\n * string and the more appropriate encoding mode.\n *\n * For each item which is an object, will be generated a segment with the given\n * data and mode.\n * Objects must contain at least the property \"data\".\n * If property \"mode\" is not present, the more suitable mode will be used.\n *\n * @param {Array} array Array of objects with segments data\n * @return {Array} Array of Segments\n */\nexports.fromArray = function fromArray (array) {\n return array.reduce(function (acc, seg) {\n if (typeof seg === 'string') {\n acc.push(buildSingleSegment(seg, null))\n } else if (seg.data) {\n acc.push(buildSingleSegment(seg.data, seg.mode))\n }\n\n return acc\n }, [])\n}\n\n/**\n * Builds an optimized sequence of segments from a string,\n * which will produce the shortest possible bitstream.\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @return {Array} Array of segments\n */\nexports.fromString = function fromString (data, version) {\n const segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n\n const nodes = buildNodes(segs)\n const graph = buildGraph(nodes, version)\n const path = dijkstra.find_path(graph.map, 'start', 'end')\n\n const optimizedSegs = []\n for (let i = 1; i < path.length - 1; i++) {\n optimizedSegs.push(graph.table[path[i]].node)\n }\n\n return exports.fromArray(mergeSegments(optimizedSegs))\n}\n\n/**\n * Splits a string in various segments with the modes which\n * best represent their content.\n * The produced segments are far from being optimized.\n * The output of this function is only used to estimate a QR Code version\n * which may contain the data.\n *\n * @param {string} data Input string\n * @return {Array} Array of segments\n */\nexports.rawSplit = function rawSplit (data) {\n return exports.fromArray(\n getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n )\n}\n","const Utils = require('./utils')\nconst ECLevel = require('./error-correction-level')\nconst BitBuffer = require('./bit-buffer')\nconst BitMatrix = require('./bit-matrix')\nconst AlignmentPattern = require('./alignment-pattern')\nconst FinderPattern = require('./finder-pattern')\nconst MaskPattern = require('./mask-pattern')\nconst ECCode = require('./error-correction-code')\nconst ReedSolomonEncoder = require('./reed-solomon-encoder')\nconst Version = require('./version')\nconst FormatInfo = require('./format-info')\nconst Mode = require('./mode')\nconst Segments = require('./segments')\n\n/**\n * QRCode for JavaScript\n *\n * modified by Ryan Day for nodejs support\n * Copyright (c) 2011 Ryan Day\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n*/\n\n/**\n * Add finder patterns bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupFinderPattern (matrix, version) {\n const size = matrix.size\n const pos = FinderPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -1; r <= 7; r++) {\n if (row + r <= -1 || size <= row + r) continue\n\n for (let c = -1; c <= 7; c++) {\n if (col + c <= -1 || size <= col + c) continue\n\n if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add timing pattern bits to matrix\n *\n * Note: this function must be called before {@link setupAlignmentPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n */\nfunction setupTimingPattern (matrix) {\n const size = matrix.size\n\n for (let r = 8; r < size - 8; r++) {\n const value = r % 2 === 0\n matrix.set(r, 6, value, true)\n matrix.set(6, r, value, true)\n }\n}\n\n/**\n * Add alignment patterns bits to matrix\n *\n * Note: this function must be called after {@link setupTimingPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupAlignmentPattern (matrix, version) {\n const pos = AlignmentPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -2; r <= 2; r++) {\n for (let c = -2; c <= 2; c++) {\n if (r === -2 || r === 2 || c === -2 || c === 2 ||\n (r === 0 && c === 0)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add version info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupVersionInfo (matrix, version) {\n const size = matrix.size\n const bits = Version.getEncodedBits(version)\n let row, col, mod\n\n for (let i = 0; i < 18; i++) {\n row = Math.floor(i / 3)\n col = i % 3 + size - 8 - 3\n mod = ((bits >> i) & 1) === 1\n\n matrix.set(row, col, mod, true)\n matrix.set(col, row, mod, true)\n }\n}\n\n/**\n * Add format info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {Number} maskPattern Mask pattern reference value\n */\nfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n const size = matrix.size\n const bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern)\n let i, mod\n\n for (i = 0; i < 15; i++) {\n mod = ((bits >> i) & 1) === 1\n\n // vertical\n if (i < 6) {\n matrix.set(i, 8, mod, true)\n } else if (i < 8) {\n matrix.set(i + 1, 8, mod, true)\n } else {\n matrix.set(size - 15 + i, 8, mod, true)\n }\n\n // horizontal\n if (i < 8) {\n matrix.set(8, size - i - 1, mod, true)\n } else if (i < 9) {\n matrix.set(8, 15 - i - 1 + 1, mod, true)\n } else {\n matrix.set(8, 15 - i - 1, mod, true)\n }\n }\n\n // fixed module\n matrix.set(size - 8, 8, 1, true)\n}\n\n/**\n * Add encoded data bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Uint8Array} data Data codewords\n */\nfunction setupData (matrix, data) {\n const size = matrix.size\n let inc = -1\n let row = size - 1\n let bitIndex = 7\n let byteIndex = 0\n\n for (let col = size - 1; col > 0; col -= 2) {\n if (col === 6) col--\n\n while (true) {\n for (let c = 0; c < 2; c++) {\n if (!matrix.isReserved(row, col - c)) {\n let dark = false\n\n if (byteIndex < data.length) {\n dark = (((data[byteIndex] >>> bitIndex) & 1) === 1)\n }\n\n matrix.set(row, col - c, dark)\n bitIndex--\n\n if (bitIndex === -1) {\n byteIndex++\n bitIndex = 7\n }\n }\n }\n\n row += inc\n\n if (row < 0 || size <= row) {\n row -= inc\n inc = -inc\n break\n }\n }\n }\n}\n\n/**\n * Create encoded codewords from data input\n *\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {ByteData} data Data input\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createData (version, errorCorrectionLevel, segments) {\n // Prepare data buffer\n const buffer = new BitBuffer()\n\n segments.forEach(function (data) {\n // prefix data with mode indicator (4 bits)\n buffer.put(data.mode.bit, 4)\n\n // Prefix data with character count indicator.\n // The character count indicator is a string of bits that represents the\n // number of characters that are being encoded.\n // The character count indicator must be placed after the mode indicator\n // and must be a certain number of bits long, depending on the QR version\n // and data mode\n // @see {@link Mode.getCharCountIndicator}.\n buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version))\n\n // add binary data sequence to buffer\n data.write(buffer)\n })\n\n // Calculate required number of bits\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n // Add a terminator.\n // If the bit string is shorter than the total number of required bits,\n // a terminator of up to four 0s must be added to the right side of the string.\n // If the bit string is more than four bits shorter than the required number of bits,\n // add four 0s to the end.\n if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n buffer.put(0, 4)\n }\n\n // If the bit string is fewer than four bits shorter, add only the number of 0s that\n // are needed to reach the required number of bits.\n\n // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n // pad the string on the right with 0s to make the string's length a multiple of 8.\n while (buffer.getLengthInBits() % 8 !== 0) {\n buffer.putBit(0)\n }\n\n // Add pad bytes if the string is still shorter than the total number of required bits.\n // Extend the buffer to fill the data capacity of the symbol corresponding to\n // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n // and 00010001 (0x11) alternately.\n const remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8\n for (let i = 0; i < remainingByte; i++) {\n buffer.put(i % 2 ? 0x11 : 0xEC, 8)\n }\n\n return createCodewords(buffer, version, errorCorrectionLevel)\n}\n\n/**\n * Encode input data with Reed-Solomon and return codewords with\n * relative error correction bits\n *\n * @param {BitBuffer} bitBuffer Data to encode\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewords = totalCodewords - ecTotalCodewords\n\n // Total number of blocks\n const ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel)\n\n // Calculate how many blocks each group should contain\n const blocksInGroup2 = totalCodewords % ecTotalBlocks\n const blocksInGroup1 = ecTotalBlocks - blocksInGroup2\n\n const totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks)\n\n const dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks)\n const dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1\n\n // Number of EC codewords is the same for both groups\n const ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1\n\n // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n const rs = new ReedSolomonEncoder(ecCount)\n\n let offset = 0\n const dcData = new Array(ecTotalBlocks)\n const ecData = new Array(ecTotalBlocks)\n let maxDataSize = 0\n const buffer = new Uint8Array(bitBuffer.buffer)\n\n // Divide the buffer into the required number of blocks\n for (let b = 0; b < ecTotalBlocks; b++) {\n const dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2\n\n // extract a block of data from buffer\n dcData[b] = buffer.slice(offset, offset + dataSize)\n\n // Calculate EC codewords for this data block\n ecData[b] = rs.encode(dcData[b])\n\n offset += dataSize\n maxDataSize = Math.max(maxDataSize, dataSize)\n }\n\n // Create final data\n // Interleave the data and error correction codewords from each block\n const data = new Uint8Array(totalCodewords)\n let index = 0\n let i, r\n\n // Add data codewords\n for (i = 0; i < maxDataSize; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n if (i < dcData[r].length) {\n data[index++] = dcData[r][i]\n }\n }\n }\n\n // Apped EC codewords\n for (i = 0; i < ecCount; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n data[index++] = ecData[r][i]\n }\n }\n\n return data\n}\n\n/**\n * Build QR Code symbol\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n * @param {MaskPattern} maskPattern Mask pattern\n * @return {Object} Object containing symbol data\n */\nfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n let segments\n\n if (Array.isArray(data)) {\n segments = Segments.fromArray(data)\n } else if (typeof data === 'string') {\n let estimatedVersion = version\n\n if (!estimatedVersion) {\n const rawSegments = Segments.rawSplit(data)\n\n // Estimate best version that can contain raw splitted segments\n estimatedVersion = Version.getBestVersionForData(rawSegments, errorCorrectionLevel)\n }\n\n // Build optimized segments\n // If estimated version is undefined, try with the highest version\n segments = Segments.fromString(data, estimatedVersion || 40)\n } else {\n throw new Error('Invalid data')\n }\n\n // Get the min version that can contain data\n const bestVersion = Version.getBestVersionForData(segments, errorCorrectionLevel)\n\n // If no version is found, data cannot be stored\n if (!bestVersion) {\n throw new Error('The amount of data is too big to be stored in a QR Code')\n }\n\n // If not specified, use min version as default\n if (!version) {\n version = bestVersion\n\n // Check if the specified version can contain the data\n } else if (version < bestVersion) {\n throw new Error('\\n' +\n 'The chosen QR Code version cannot contain this amount of data.\\n' +\n 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n )\n }\n\n const dataBits = createData(version, errorCorrectionLevel, segments)\n\n // Allocate matrix buffer\n const moduleCount = Utils.getSymbolSize(version)\n const modules = new BitMatrix(moduleCount)\n\n // Add function modules\n setupFinderPattern(modules, version)\n setupTimingPattern(modules)\n setupAlignmentPattern(modules, version)\n\n // Add temporary dummy bits for format info just to set them as reserved.\n // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n // since the masking operation must be performed only on the encoding region.\n // These blocks will be replaced with correct values later in code.\n setupFormatInfo(modules, errorCorrectionLevel, 0)\n\n if (version >= 7) {\n setupVersionInfo(modules, version)\n }\n\n // Add data codewords\n setupData(modules, dataBits)\n\n if (isNaN(maskPattern)) {\n // Find best mask pattern\n maskPattern = MaskPattern.getBestMask(modules,\n setupFormatInfo.bind(null, modules, errorCorrectionLevel))\n }\n\n // Apply mask pattern\n MaskPattern.applyMask(maskPattern, modules)\n\n // Replace format info bits with correct values\n setupFormatInfo(modules, errorCorrectionLevel, maskPattern)\n\n return {\n modules: modules,\n version: version,\n errorCorrectionLevel: errorCorrectionLevel,\n maskPattern: maskPattern,\n segments: segments\n }\n}\n\n/**\n * QR Code\n *\n * @param {String | Array} data Input data\n * @param {Object} options Optional configurations\n * @param {Number} options.version QR Code version\n * @param {String} options.errorCorrectionLevel Error correction level\n * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n */\nexports.create = function create (data, options) {\n if (typeof data === 'undefined' || data === '') {\n throw new Error('No input text')\n }\n\n let errorCorrectionLevel = ECLevel.M\n let version\n let mask\n\n if (typeof options !== 'undefined') {\n // Use higher error correction level as default\n errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M)\n version = Version.from(options.version)\n mask = MaskPattern.from(options.maskPattern)\n\n if (options.toSJISFunc) {\n Utils.setToSJISFunction(options.toSJISFunc)\n }\n }\n\n return createSymbol(data, version, errorCorrectionLevel, mask)\n}\n","function hex2rgba (hex) {\n if (typeof hex === 'number') {\n hex = hex.toString()\n }\n\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n let hexCode = hex.slice().replace('#', '').split('')\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }))\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F')\n\n const hexValue = parseInt(hexCode.join(''), 16)\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {}\n if (!options.color) options.color = {}\n\n const margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0\n ? 4\n : options.margin\n\n const width = options.width && options.width >= 21 ? options.width : undefined\n const scale = options.scale || 4\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n}\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n}\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n const scale = exports.getScale(qrSize, opts)\n return Math.floor((qrSize + opts.margin * 2) * scale)\n}\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n const size = qr.modules.size\n const data = qr.modules.data\n const scale = exports.getScale(size, opts)\n const symbolSize = Math.floor((size + opts.margin * 2) * scale)\n const scaledMargin = opts.margin * scale\n const palette = [opts.color.light, opts.color.dark]\n\n for (let i = 0; i < symbolSize; i++) {\n for (let j = 0; j < symbolSize; j++) {\n let posDst = (i * symbolSize + j) * 4\n let pxColor = opts.color.light\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n const iSrc = Math.floor((i - scaledMargin) / scale)\n const jSrc = Math.floor((j - scaledMargin) / scale)\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0]\n }\n\n imgData[posDst++] = pxColor.r\n imgData[posDst++] = pxColor.g\n imgData[posDst++] = pxColor.b\n imgData[posDst] = pxColor.a\n }\n }\n}\n","const Utils = require('./utils')\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n\n if (!canvas.style) canvas.style = {}\n canvas.height = size\n canvas.width = size\n canvas.style.height = size + 'px'\n canvas.style.width = size + 'px'\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n let opts = options\n let canvasEl = canvas\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement()\n }\n\n opts = Utils.getOptions(opts)\n const size = Utils.getImageWidth(qrData.modules.size, opts)\n\n const ctx = canvasEl.getContext('2d')\n const image = ctx.createImageData(size, size)\n Utils.qrToImageData(image.data, qrData, opts)\n\n clearCanvas(ctx, canvasEl, size)\n ctx.putImageData(image, 0, 0)\n\n return canvasEl\n}\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n let opts = options\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!opts) opts = {}\n\n const canvasEl = exports.render(qrData, canvas, opts)\n\n const type = opts.type || 'image/png'\n const rendererOpts = opts.rendererOpts || {}\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\n}\n","const Utils = require('./utils')\n\nfunction getColorAttrib (color, attrib) {\n const alpha = color.a / 255\n const str = attrib + '=\"' + color.hex + '\"'\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n let str = cmd + x\n if (typeof y !== 'undefined') str += ' ' + y\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n let path = ''\n let moveBy = 0\n let newRow = false\n let lineLength = 0\n\n for (let i = 0; i < data.length; i++) {\n const col = Math.floor(i % size)\n const row = Math.floor(i / size)\n\n if (!col && !newRow) newRow = true\n\n if (data[i]) {\n lineLength++\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0)\n\n moveBy = 0\n newRow = false\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength)\n lineLength = 0\n }\n } else {\n moveBy++\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n const opts = Utils.getOptions(options)\n const size = qrData.modules.size\n const data = qrData.modules.data\n const qrcodesize = size + opts.margin * 2\n\n const bg = !opts.color.light.a\n ? ''\n : ''\n\n const path =\n ''\n\n const viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"'\n\n const width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" '\n\n const svgTag = '' + bg + path + '\\n'\n\n if (typeof cb === 'function') {\n cb(null, svgTag)\n }\n\n return svgTag\n}\n","\nconst canPromise = require('./can-promise')\n\nconst QRCode = require('./core/qrcode')\nconst CanvasRenderer = require('./renderer/canvas')\nconst SvgRenderer = require('./renderer/svg-tag.js')\n\nfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n const args = [].slice.call(arguments, 1)\n const argsNum = args.length\n const isLastArgCb = typeof args[argsNum - 1] === 'function'\n\n if (!isLastArgCb && !canPromise()) {\n throw new Error('Callback required as last argument')\n }\n\n if (isLastArgCb) {\n if (argsNum < 2) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 2) {\n cb = text\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 3) {\n if (canvas.getContext && typeof cb === 'undefined') {\n cb = opts\n opts = undefined\n } else {\n cb = opts\n opts = text\n text = canvas\n canvas = undefined\n }\n }\n } else {\n if (argsNum < 1) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 1) {\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 2 && !canvas.getContext) {\n opts = text\n text = canvas\n canvas = undefined\n }\n\n return new Promise(function (resolve, reject) {\n try {\n const data = QRCode.create(text, opts)\n resolve(renderFunc(data, canvas, opts))\n } catch (e) {\n reject(e)\n }\n })\n }\n\n try {\n const data = QRCode.create(text, opts)\n cb(null, renderFunc(data, canvas, opts))\n } catch (e) {\n cb(e)\n }\n}\n\nexports.create = QRCode.create\nexports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render)\nexports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL)\n\n// only svg for now.\nexports.toString = renderCanvas.bind(null, function (data, _, opts) {\n return SvgRenderer.render(data, opts)\n})\n","import { QrCode } from \"./qrCode\";\n\nclass QrCodeSvg {\n private qrCode: QrCode;\n\n constructor(object: QrCode) {\n this.qrCode = object;\n }\n\n public export(): string {\n return (\n this.openTag() + this.clipPath() + this.content() + QrCodeSvg.closeTag()\n );\n }\n\n private content(): string {\n if (!this.qrCode.image) return \"\";\n\n return ``;\n }\n\n private clipPath(): string {\n return ``;\n }\n\n private openTag(): string {\n return ``;\n }\n\n private static closeTag(): string {\n return \"\";\n }\n}\n\nexport { QrCodeSvg };\n","import { BrutObjectJSON } from \"../../interfaces/json/object\";\nimport { BaseObject } from \"../baseObject\";\nimport { BoundingBox } from \"../../util/boundingBox\";\nimport { Point } from \"../../util/point\";\nimport { Brut } from \"../../index\";\nimport colours from \"../../util/colours\";\nimport QRCode from \"qrcode\";\nimport { loadImage } from \"../../util/loadImage\";\nimport { QrCodeSvg } from \"./qrCodeSvg\";\n\nclass QrCode extends BaseObject {\n selectable = true;\n edited = true;\n\n image?: HTMLImageElement;\n private _url = \"https://www.papier.com\";\n foregroundColour = \"#000000ff\";\n backgroundColour = \"#00000000\";\n\n protected borderColour = colours.apricot;\n protected hoverColour = colours.apricot1;\n aspectRatio = 1;\n\n constructor(canvas: Brut, json: BrutObjectJSON) {\n super(canvas, json);\n }\n\n public init(): void {\n super.init();\n this.name = this.json.name;\n if (this.json.url) {\n this._url = this.json.url;\n }\n if (this.json.foregroundColour) {\n this.foregroundColour = this.json.foregroundColour;\n }\n if (this.json.backgroundColour) {\n this.backgroundColour = this.json.backgroundColour;\n }\n this.maximumSize = new BoundingBox(0, 0, 160, 160);\n this.load().then(() => this.canvas.renderAll());\n }\n\n public get hoverCursor(): string {\n return \"move\";\n }\n\n public get hoverDragCursor(): string {\n return \"move\";\n }\n\n public get url(): string {\n return this._url;\n }\n\n public set url(value: string) {\n this._url = value;\n this.load().then(() => {\n this.canvas.renderAll();\n });\n }\n\n public canMove(): boolean {\n return true;\n }\n\n public canScale(): boolean {\n return super.canScale() || this.selected;\n }\n\n public maintainAspectRatio(): boolean {\n return true;\n }\n\n public click(point: Point): void {\n super.click(point);\n this.canvas.deactivateAllWithDispatch();\n this.selected = true;\n this.canvas.fire(\"object:selected\", this);\n }\n\n public renderContents(): void {\n if (this.image) {\n this.renderImage();\n }\n }\n\n private renderImage(): void {\n if (this.image == null) return;\n this.context.save();\n this.context.beginPath();\n this.context.rect(0, 0, this.boundingBox.width, this.boundingBox.height);\n this.context.clip();\n this.context.drawImage(\n this.image,\n 0,\n 0,\n this.boundingBox.width,\n this.boundingBox.height\n );\n this.context.restore();\n }\n\n public toJSON(): Partial {\n return {\n ...super.toJSON(),\n name: this.name,\n url: this.url,\n foregroundColour: this.foregroundColour,\n backgroundColour: this.backgroundColour\n };\n }\n\n public toSVG(): string {\n return new QrCodeSvg(this).export();\n }\n\n public async load(): Promise {\n const data = await QRCode.toDataURL(this.url, {\n color: {\n dark: this.foregroundColour,\n light: this.backgroundColour\n },\n margin: 0\n });\n this.image = await loadImage(data);\n }\n}\n\nexport { QrCode };\n","import { PerspectiveImage } from \"./perspectiveImage\";\nimport { PerspectiveImagePoint } from \"./point\";\nimport { PerspectiveImageTextCoord } from \"./textCoord\";\n\nclass PerspectiveImageTriangle {\n perspectiveImage: PerspectiveImage;\n p0: PerspectiveImagePoint;\n p1: PerspectiveImagePoint;\n p2: PerspectiveImagePoint;\n t0: PerspectiveImageTextCoord;\n t1: PerspectiveImageTextCoord;\n t2: PerspectiveImageTextCoord;\n\n constructor(\n perspectiveImage: PerspectiveImage,\n p0: PerspectiveImagePoint,\n p1: PerspectiveImagePoint,\n p2: PerspectiveImagePoint,\n t0: PerspectiveImageTextCoord,\n t1: PerspectiveImageTextCoord,\n t2: PerspectiveImageTextCoord\n ) {\n this.perspectiveImage = perspectiveImage;\n this.p0 = p0;\n this.p1 = p1;\n this.p2 = p2;\n this.t0 = t0;\n this.t1 = t1;\n this.t2 = t2;\n }\n\n public draw(): void {\n if (!this.image) return;\n this.context.save();\n this.context.strokeStyle = \"transparent\";\n this.context.lineWidth = 0;\n\n // Clip the output to the on-screen triangle boundaries.\n this.context.beginPath();\n this.context.moveTo(this.p0.x, this.p0.y);\n this.context.lineTo(this.p1.x, this.p1.y);\n this.context.lineTo(this.p2.x, this.p2.y);\n this.context.closePath();\n this.context.clip();\n\n const denom =\n this.t0.u * (this.t2.v - this.t1.v) -\n this.t1.u * this.t2.v +\n this.t2.u * this.t1.v +\n (this.t1.u - this.t2.u) * this.t0.v;\n if (denom == 0) {\n return;\n }\n const m11 =\n -(\n this.t0.v * (this.p2.x - this.p1.x) -\n this.t1.v * this.p2.x +\n this.t2.v * this.p1.x +\n (this.t1.v - this.t2.v) * this.p0.x\n ) / denom;\n const m12 =\n (this.t1.v * this.p2.y +\n this.t0.v * (this.p1.y - this.p2.y) -\n this.t2.v * this.p1.y +\n (this.t2.v - this.t1.v) * this.p0.y) /\n denom;\n const m21 =\n (this.t0.u * (this.p2.x - this.p1.x) -\n this.t1.u * this.p2.x +\n this.t2.u * this.p1.x +\n (this.t1.u - this.t2.u) * this.p0.x) /\n denom;\n const m22 =\n -(\n this.t1.u * this.p2.y +\n this.t0.u * (this.p1.y - this.p2.y) -\n this.t2.u * this.p1.y +\n (this.t2.u - this.t1.u) * this.p0.y\n ) / denom;\n const dx =\n (this.t0.u * (this.t2.v * this.p1.x - this.t1.v * this.p2.x) +\n this.t0.v * (this.t1.u * this.p2.x - this.t2.u * this.p1.x) +\n (this.t2.u * this.t1.v - this.t1.u * this.t2.v) * this.p0.x) /\n denom;\n const dy =\n (this.t0.u * (this.t2.v * this.p1.y - this.t1.v * this.p2.y) +\n this.t0.v * (this.t1.u * this.p2.y - this.t2.u * this.p1.y) +\n (this.t2.u * this.t1.v - this.t1.u * this.t2.v) * this.p0.y) /\n denom;\n\n this.context.transform(m11, m12, m21, m22, dx, dy);\n\n if (this.perspectiveImage.buildingFoiling) {\n this.context.fillStyle = \"#ffffff\";\n this.context.fillRect(0, 0, this.image.width + 2, this.image.height + 2);\n this.context.fillRect(\n -1,\n -1,\n this.image.width + 2,\n this.image.height + 2\n );\n this.context.fillRect(1, 1, this.image.width + 2, this.image.height + 2);\n } else {\n if (this.perspectiveImage.foiled) {\n this.context.globalCompositeOperation = \"copy\";\n }\n\n this.context.drawImage(this.image, 0, 0);\n\n if (!this.perspectiveImage.foiled) {\n this.context.drawImage(this.image, -1, -1);\n this.context.drawImage(this.image, 1, 1);\n }\n }\n\n this.context.globalCompositeOperation = \"source-over\";\n this.context.restore();\n }\n\n private get context(): CanvasRenderingContext2D {\n return this.perspectiveImage.renderingContext;\n }\n\n private get image(): HTMLImageElement | undefined {\n return this.perspectiveImage.croppedImage || this.perspectiveImage.image;\n }\n}\n\nexport { PerspectiveImageTriangle };\n","class PerspectiveImagePoint {\n x: number;\n y: number;\n\n constructor(x = 0, y = 0) {\n this.x = x;\n this.y = y;\n }\n\n public length(point?: PerspectiveImagePoint): number {\n const comparisonPoint = point || new PerspectiveImagePoint();\n\n let xs = 0,\n ys = 0;\n xs = comparisonPoint.x - this.x;\n xs = xs * xs;\n\n ys = comparisonPoint.y - this.y;\n ys = ys * ys;\n\n return Math.sqrt(xs + ys);\n }\n}\n\nexport { PerspectiveImagePoint };\n","class PerspectiveImageTextCoord {\n u: number;\n v: number;\n\n constructor(u = 0, v = 0) {\n this.u = u;\n this.v = v;\n }\n}\n\nexport { PerspectiveImageTextCoord };\n","import { BrutObjectJSON } from \"../../interfaces/json/object\";\nimport { BaseObject } from \"../baseObject\";\nimport { Corner } from \"../../enums/corner\";\nimport { Brut } from \"../../index\";\nimport { loadCroppedImage, loadImage } from \"../../util/loadImage\";\nimport { Point } from \"../../util/point\";\nimport { PerspectiveImageCorners } from \"../../interfaces/perspectiveImageCorners\";\nimport { PerspectiveImageTriangle } from \"./triangle\";\nimport { PerspectiveImagePoint } from \"./point\";\nimport { PerspectiveImageTextCoord } from \"./textCoord\";\nimport { CroppedCoordinates } from \"../../interfaces/croppedCoordinates\";\nimport { BoundingBox } from \"@/components/brut/src/util/boundingBox\";\n\nclass PerspectiveImage extends BaseObject {\n corners: PerspectiveImageCorners;\n url: string;\n triangles: PerspectiveImageTriangle[] = [];\n cropped?: boolean = false;\n croppedCoordinates?: CroppedCoordinates;\n croppedNaturalWidth?: number;\n pageNumber?: number;\n pageHeight?: number;\n pageWidth?: number;\n productId?: number;\n groupOrder: number;\n // hidden is optional and controlled via the template builder\n hidden = false;\n // preventDisplay is controlled programmatically and only set when no image is available to display\n // this is used to prevent the object from being rendered when it is foiled but it is not a foiled product\n preventDisplay = false;\n foiled = false;\n buildingFoiling = false;\n\n image?: HTMLImageElement;\n croppedImage?: HTMLImageElement;\n dieCut:\n | \"scallop\"\n | \"scallopLandscape\"\n | \"cornice\"\n | \"corniceLandscape\"\n | \"arch\"\n | null;\n\n constructor(canvas: Brut, json: BrutObjectJSON) {\n super(canvas, json);\n this.url = json.url || \"\";\n this.context = canvas.perspectiveCanvasCtx;\n this.topContext = canvas.topContext as CanvasRenderingContext2D;\n this.cropped = json.cropped || false;\n this.croppedCoordinates = json.croppedCoordinates || {\n top: 0,\n left: 0,\n width: 0,\n height: 0\n };\n this.croppedNaturalWidth = json.croppedNaturalWidth;\n this.croppedCoordinates.roundedCorners = this.croppedCoordinates\n .roundedCorners || {\n topLeft: 0,\n topRight: 0,\n bottomLeft: 0,\n bottomRight: 0\n };\n this.name = json.name;\n this.corners = json.corners || {\n tl: [0, 0],\n tr: [0, 0],\n bl: [0, 0],\n br: [0, 0]\n };\n this.pageNumber = json.pageNumber;\n this.pageHeight = json.pageHeight;\n this.pageWidth = json.pageWidth;\n this.productId = json.productId || 12345;\n this.groupOrder = json.groupOrder || 0;\n this.foiled = json.foiled || false;\n this.dieCut = json.dieCut || null;\n }\n\n public get renderingContext(): CanvasRenderingContext2D {\n if (this.foiled) {\n return this.canvas.perspectiveFoilBlackCanvasCtx;\n }\n\n return this.context;\n }\n\n public init(): void {\n super.init();\n if (this.url) {\n if (this.cropped) {\n this.setCroppedImageUrl();\n } else {\n this.setImageUrl();\n }\n }\n }\n\n public click(point: Point): void {\n this.selected = true;\n super.click(point);\n }\n\n public toggleHidden(): void {\n this.hidden = !this.hidden;\n this.canvas.renderAll();\n }\n\n public toggleBuildingFoiling(): void {\n this.buildingFoiling = !this.buildingFoiling;\n this.canvas.renderAll();\n }\n\n public setPreventDisplay(flag: boolean): void {\n this.preventDisplay = flag;\n this.canvas.renderAll();\n }\n\n public deselect(): void {\n if (!this.perspectiveMode) {\n super.deselect();\n }\n }\n\n public toJSON(): Partial {\n return {\n ...super.toJSON(),\n url: this.url,\n corners: this.corners,\n cropped: this.cropped,\n croppedCoordinates: this.croppedCoordinates,\n croppedNaturalWidth: this.croppedNaturalWidth,\n pageNumber: this.pageNumber,\n pageWidth: this.pageWidth,\n pageHeight: this.pageHeight,\n productId: this.productId,\n groupOrder: this.groupOrder,\n foiled: this.foiled,\n dieCut: this.dieCut\n };\n }\n\n public async setCroppedImageUrl(url?: string): Promise {\n this.url = url || this.url;\n const { croppedImage, naturalWidth } = await loadCroppedImage(\n this.url,\n this.croppedCoordinates,\n this.croppedNaturalWidth,\n this.dieCut\n );\n this.croppedImage = croppedImage;\n // we only set the cropped naturalWidth if it is not already set\n // as the original image naturalWidth is used to calculate the aspect ratio\n // that should be used on other images being loaded in.\n this.croppedNaturalWidth = this.croppedNaturalWidth || naturalWidth;\n this.canvas.renderAll();\n }\n\n public async setImageUrl(url?: string): Promise {\n this.image = await loadImage(url || this.url);\n this.url = url || this.url;\n this.canvas.renderAll();\n }\n\n public togglePerspectiveMode(): void {\n this.setPerspectiveMode(!this.perspectiveMode);\n }\n\n public canMove(): boolean {\n return !this.hidden && super.canMove();\n }\n\n public canScale(): boolean {\n return !this.hidden && super.canScale();\n }\n\n public setPerspectiveMode(flag: boolean): void {\n if (flag) {\n super.select();\n }\n\n this.perspectiveMode = flag;\n this.canvas.renderAll();\n this.canvas.renderTop();\n }\n\n public renderTop() {\n if (this.hidden) return;\n\n super.renderTop();\n }\n\n public resetPerspective(): void {\n this.corners = { tl: [0, 0], tr: [0, 0], bl: [0, 0], br: [0, 0] };\n this.canvas.renderAll();\n this.canvas.renderTop();\n }\n\n public render(): void {\n this.withinRegion(this.renderingContext, this.renderContents.bind(this));\n }\n\n public renderContents(): void {\n if (this.hidden || this.preventDisplay) return;\n\n if (this.image || this.croppedImage) {\n this.calculateGeometry();\n this.renderTriangles();\n }\n }\n\n private calculateGeometry(): void {\n const imageToUse = this.croppedImage || this.image;\n if (!imageToUse) return;\n\n // clear triangles out\n this.triangles = [];\n\n // generate subdivision\n const subs = 20; // vertical subdivisions\n const divs = 20; // horizontal subdivisions\n\n const p1 = new PerspectiveImagePoint(\n -(this.boundingBox.width / 2) + this.corners[\"tl\"][0],\n -(this.boundingBox.height / 2) + this.corners[\"tl\"][1]\n );\n const p2 = new PerspectiveImagePoint(\n this.boundingBox.width / 2 + this.corners[\"tr\"][0],\n -(this.boundingBox.height / 2) + this.corners[\"tr\"][1]\n );\n const p3 = new PerspectiveImagePoint(\n this.boundingBox.width / 2 + this.corners[\"br\"][0],\n this.boundingBox.height / 2 + this.corners[\"br\"][1]\n );\n const p4 = new PerspectiveImagePoint(\n -(this.boundingBox.width / 2) + this.corners[\"bl\"][0],\n this.boundingBox.height / 2 + this.corners[\"bl\"][1]\n );\n\n const dx1 = p4.x - p1.x;\n const dy1 = p4.y - p1.y;\n const dx2 = p3.x - p2.x;\n const dy2 = p3.y - p2.y;\n\n const imgW = (imageToUse.width || this.boundingBox.width) - 1;\n const imgH = (imageToUse.height || this.boundingBox.height) - 1;\n\n for (let sub = 0; sub < subs; ++sub) {\n const curRow = sub / subs;\n const nextRow = (sub + 1) / subs;\n\n const curRowX1 = p1.x + dx1 * curRow;\n const curRowY1 = p1.y + dy1 * curRow;\n\n const curRowX2 = p2.x + dx2 * curRow;\n const curRowY2 = p2.y + dy2 * curRow;\n\n const nextRowX1 = p1.x + dx1 * nextRow;\n const nextRowY1 = p1.y + dy1 * nextRow;\n\n const nextRowX2 = p2.x + dx2 * nextRow;\n const nextRowY2 = p2.y + dy2 * nextRow;\n\n for (let div = 0; div < divs; ++div) {\n const curCol = div / divs;\n const nextCol = (div + 1) / divs;\n\n const dCurX = curRowX2 - curRowX1;\n const dCurY = curRowY2 - curRowY1;\n const dNextX = nextRowX2 - nextRowX1;\n const dNextY = nextRowY2 - nextRowY1;\n\n const p1x = curRowX1 + dCurX * curCol;\n const p1y = curRowY1 + dCurY * curCol;\n\n const p2x = curRowX1 + (curRowX2 - curRowX1) * nextCol;\n const p2y = curRowY1 + (curRowY2 - curRowY1) * nextCol;\n\n const p3x = nextRowX1 + dNextX * nextCol;\n const p3y = nextRowY1 + dNextY * nextCol;\n\n const p4x = nextRowX1 + dNextX * curCol;\n const p4y = nextRowY1 + dNextY * curCol;\n\n const u1 = curCol * imgW;\n const u2 = nextCol * imgW;\n const v1 = curRow * imgH;\n const v2 = nextRow * imgH;\n\n const triangle1 = new PerspectiveImageTriangle(\n this,\n new PerspectiveImagePoint(p1x, p1y),\n new PerspectiveImagePoint(p3x, p3y),\n new PerspectiveImagePoint(p4x, p4y),\n new PerspectiveImageTextCoord(u1, v1),\n new PerspectiveImageTextCoord(u2, v2),\n new PerspectiveImageTextCoord(u1, v2)\n );\n\n const triangle2 = new PerspectiveImageTriangle(\n this,\n new PerspectiveImagePoint(p1x, p1y),\n new PerspectiveImagePoint(p2x, p2y),\n new PerspectiveImagePoint(p3x, p3y),\n new PerspectiveImageTextCoord(u1, v1),\n new PerspectiveImageTextCoord(u2, v1),\n new PerspectiveImageTextCoord(u2, v2)\n );\n\n this.triangles.push(triangle1);\n this.triangles.push(triangle2);\n }\n }\n }\n\n private metaBoundingBox(): BoundingBox {\n const left = Math.min(\n this.corners[\"tl\"][0] + this.boundingBox.left,\n this.corners[\"tr\"][0] + this.boundingBox.right,\n this.corners[\"br\"][0] + this.boundingBox.right,\n this.corners[\"bl\"][0] + this.boundingBox.left\n );\n const top = Math.min(\n this.corners[\"tl\"][1] + this.boundingBox.top,\n this.corners[\"tr\"][1] + this.boundingBox.top,\n this.corners[\"br\"][1] + this.boundingBox.bottom,\n this.corners[\"bl\"][1] + this.boundingBox.bottom\n );\n const right = Math.max(\n this.corners[\"tl\"][0] + this.boundingBox.left,\n this.corners[\"tr\"][0] + this.boundingBox.right,\n this.corners[\"br\"][0] + this.boundingBox.right,\n this.corners[\"bl\"][0] + this.boundingBox.left\n );\n const bottom = Math.max(\n this.corners[\"tl\"][1] + this.boundingBox.top,\n this.corners[\"tr\"][1] + this.boundingBox.top,\n this.corners[\"br\"][1] + this.boundingBox.bottom,\n this.corners[\"bl\"][1] + this.boundingBox.bottom\n );\n\n return new BoundingBox(left, top, right - left, bottom - top);\n }\n\n public containsPoint(point: Point): boolean {\n return this.metaBoundingBox().containsPoint(point);\n }\n\n private renderTriangles(): void {\n this.renderingContext.save();\n\n this.renderingContext.translate(\n this.boundingBox.width / 2,\n this.boundingBox.height / 2\n );\n this.triangles.forEach(triangle => {\n triangle.draw();\n });\n this.renderingContext.restore();\n }\n\n public perspectiveModeDrag(point: Point, corner: Corner): void {\n switch (corner) {\n case Corner.BottomRight:\n this.corners[\"br\"][0] =\n point.left - this.boundingBox.left - this.boundingBox.width;\n this.corners[\"br\"][1] =\n point.top - this.boundingBox.top - this.boundingBox.height;\n this.canvas.renderAll();\n return;\n case Corner.BottomLeft:\n this.corners[\"bl\"][0] = point.left - this.boundingBox.left;\n this.corners[\"bl\"][1] =\n point.top - this.boundingBox.top - this.boundingBox.height;\n this.canvas.renderAll();\n return;\n case Corner.TopLeft:\n this.corners[\"tl\"][0] = point.left - this.boundingBox.left;\n this.corners[\"tl\"][1] = point.top - this.boundingBox.top;\n this.canvas.renderAll();\n return;\n case Corner.TopRight:\n this.corners[\"tr\"][0] =\n point.left - this.boundingBox.left - this.boundingBox.width;\n this.corners[\"tr\"][1] = point.top - this.boundingBox.top;\n this.canvas.renderAll();\n return;\n }\n }\n\n protected renderBorder(): void {\n if (this.selected || this.hovered || this.perspectiveMode) {\n this.withinRegion(this.topContext, () => {\n this.topContext.save();\n this.topContext.translate(\n this.boundingBox.width / 2,\n this.boundingBox.height / 2\n );\n const tl = [\n -(this.boundingBox.width / 2) + this.corners[\"tl\"][0],\n -(this.boundingBox.height / 2) + this.corners[\"tl\"][1]\n ];\n const tr = [\n this.boundingBox.width / 2 + this.corners[\"tr\"][0],\n -(this.boundingBox.height / 2) + this.corners[\"tr\"][1]\n ];\n const br = [\n this.boundingBox.width / 2 + this.corners[\"br\"][0],\n this.boundingBox.height / 2 + this.corners[\"br\"][1]\n ];\n const bl = [\n -(this.boundingBox.width / 2) + this.corners[\"bl\"][0],\n this.boundingBox.height / 2 + this.corners[\"bl\"][1]\n ];\n if (this.perspectiveMode) {\n this.topContext.lineWidth = 0;\n this.topContext.strokeStyle = \"transparent\";\n } else if (this.selected || this.hovered) {\n this.topContext.strokeStyle = this.selected\n ? this.borderColour\n : this.hoverColour;\n this.topContext.setLineDash([10, 10]);\n this.topContext.globalAlpha = 0.9;\n }\n\n this.topContext.beginPath();\n this.topContext.moveTo(tl[0], tl[1]);\n this.topContext.lineTo(tr[0], tr[1]);\n this.topContext.stroke();\n this.topContext.lineTo(br[0], br[1]);\n this.topContext.stroke();\n this.topContext.lineTo(bl[0], bl[1]);\n this.topContext.stroke();\n this.topContext.lineTo(tl[0], tl[1]);\n this.topContext.stroke();\n this.topContext.restore();\n\n this.renderPerspectiveHandles();\n });\n }\n }\n\n private renderPerspectiveHandles(): void {\n this.handles.forEach(handle =>\n handle.setPerspectiveAdjustment(this.corners)\n );\n }\n}\n\nexport { PerspectiveImage };\n","import { LogoFrame } from '@/components/brut/src/objects/logoFrame/logoFrame';\nimport { Brut } from '@/components/brut/src';\nimport { BrutObjectJSON } from '@/components/brut/src/interfaces/json/object';\nimport { Point } from '@/components/brut/src/util/point';\n\nclass Sticker extends LogoFrame {\n static defaultWidthRatio = 0.24;\n static maxScaleFromOriginal = 2;\n hidden: boolean;\n\n constructor(canvas: Brut, json: BrutObjectJSON) {\n super(canvas, json);\n this.type = 'sticker';\n this.boundingBox.centralOrigin = true;\n // eslint-disable-next-line\n this.selectable = !((window as any) && (window as any).responsiveMode);\n this.hidden = json.hidden || false;\n this.maxWidth = json.maxWidth;\n }\n\n public toJSON(): Partial {\n return {\n ...super.toJSON(),\n hidden: this.hidden,\n maxWidth: this.maxWidth\n };\n }\n\n public canRotate(): boolean {\n return true;\n }\n\n public click(point: Point): void {\n if (!this.selectable) return;\n super.click(point);\n this.canvas.fire('selection:cleared');\n this.canvas.fire('object:selected', this);\n }\n\n public renderTop(): void {\n if (this.selectable && !this.hidden) {\n super.renderTop();\n }\n }\n\n public fitBoxToImage(): void {\n if (!this.image) return;\n\n this.boundingBox.width = this.canvas.width * Sticker.defaultWidthRatio;\n this.maxWidth = this.boundingBox.width * Sticker.maxScaleFromOriginal;\n this.boundingBox.left =\n (this.canvas.width * (1 - Sticker.defaultWidthRatio)) / 2; // centers the sticker\n this.boundingBox.height = this.boundingBox.width / this.aspectRatio;\n }\n\n public hide(): void {\n this.hidden = true;\n }\n\n public show(): void {\n this.hidden = false;\n }\n\n public renderContents(): void {\n if (!this.hidden) {\n super.renderContents();\n }\n }\n\n public toSVG(forGiftcard = false): string {\n if (this.hidden) return '';\n\n return super.toSVG(forGiftcard);\n }\n}\n\nexport { Sticker };\n","export default class HistoryState {\n canvasJSON?: string;\n undoState?: HistoryState;\n redoState?: HistoryState;\n\n constructor(canvasJSON?: string, undoState?: HistoryState) {\n this.canvasJSON = canvasJSON;\n this.undoState = undoState;\n }\n}\n","import { Brut } from \"../index\";\nimport HistoryState from \"./historyState\";\n\nexport default class History {\n private canvas: Brut;\n private currentState: HistoryState;\n private initialState: HistoryState;\n private preventUndo = false;\n private preventRedo = false;\n private preventCapture = false;\n static readonly undoTimeout = 100;\n static readonly captureTimeout = 500;\n\n constructor(canvas: Brut) {\n this.canvas = canvas;\n this.currentState = new HistoryState();\n this.initialState = this.currentState;\n }\n\n public captureHistory(): void {\n // We should never capture history on sheets with lockedMode textboxes\n // as it is too slow to rebuild them as lockedMode when you undo/redo canvas state\n if (this.preventCapture || this.lockedMode) return;\n\n const canvasJSON = JSON.stringify(this.canvas.toJSON());\n\n if (this.currentState.canvasJSON) {\n if (this.currentState.canvasJSON === canvasJSON) return;\n\n this.currentState = new HistoryState(canvasJSON, this.currentState);\n this.setPreventCapture();\n } else {\n this.currentState.canvasJSON = canvasJSON;\n }\n }\n\n public get undoAvailable(): boolean {\n return !!this.currentState.undoState;\n }\n\n public get redoAvailable(): boolean {\n return !!this.currentState.redoState;\n }\n\n public get hideUndoRedoButtons(): boolean {\n return !this.canvas.editable || this.lockedMode;\n }\n\n public undo(): void {\n if (this.preventUndo || !this.currentState.undoState) return;\n\n this.currentState.undoState.redoState = this.currentState;\n this.currentState = this.currentState.undoState;\n this.setPreventUndo();\n this.loadCanvasFromCurrentState();\n }\n\n public redo(): void {\n if (this.preventRedo || !this.currentState.redoState) return;\n\n this.currentState = this.currentState.redoState;\n this.setPreventRedo();\n this.loadCanvasFromCurrentState();\n }\n\n public reset(): void {\n this.currentState = this.initialState;\n\n this.setPreventRedo();\n this.loadCanvasFromCurrentState();\n }\n\n private setPreventCapture(): void {\n this.preventCapture = true;\n window.setTimeout(() => {\n this.preventCapture = false;\n }, History.captureTimeout);\n }\n\n private setPreventUndo(): void {\n this.preventUndo = true;\n window.setTimeout(() => {\n this.preventUndo = false;\n }, History.undoTimeout);\n }\n\n private setPreventRedo(): void {\n this.preventUndo = true;\n window.setTimeout(() => {\n this.preventUndo = false;\n }, History.undoTimeout);\n }\n\n private loadCanvasFromCurrentState(): void {\n if (!this.currentState.canvasJSON) return;\n\n this.canvas.loadFromJSON(this.currentState.canvasJSON).then(() => {\n this.canvas.deactivateAllWithDispatch();\n this.canvas.renderAll(false);\n this.canvas.renderTop();\n this.canvas.fireEvent(\"sheet-edited\");\n });\n }\n\n private get lockedMode(): boolean {\n return this.canvas.objects.some(object => object.lockedMode);\n }\n}\n","import { Brut } from \"../index\";\nimport { BaseObject } from \"../objects/baseObject\";\n\nexport default class Pincer {\n private canvas: Brut;\n private activeObject: BaseObject | null = null;\n private previousDistance: number | null = null;\n\n constructor(canvas: Brut) {\n this.canvas = canvas;\n this.addEventListeners();\n }\n\n private addEventListeners(): void {\n this.canvas.element.addEventListener(\n \"touchstart\",\n this.touchStart.bind(this)\n );\n this.canvas.element.addEventListener(\n \"touchmove\",\n this.touchMove.bind(this),\n { passive: true }\n );\n this.canvas.element.addEventListener(\"touchend\", this.touchEnd.bind(this));\n }\n\n private touchStart(e: TouchEvent): void {\n if (e.touches.length === 2) {\n this.activeObject = this.findObjectFromTouches(e.touches);\n }\n }\n\n private touchMove(e: TouchEvent): void {\n if (e.touches.length === 2 && this.activeObject) {\n const pinchDistance = Pincer.getPinchDistance(e);\n if (this.previousDistance) {\n const scale = pinchDistance / this.previousDistance;\n this.activeObject.pinch(scale);\n }\n this.previousDistance = pinchDistance;\n }\n }\n\n private touchEnd(e: TouchEvent): void {\n if (e.touches.length < 2) {\n this.previousDistance = null;\n this.activeObject = null;\n }\n }\n\n private findObjectFromTouches(touches: TouchList): BaseObject | null {\n return (\n this.canvas.getSelectableObjects().find(object => {\n return Array.from(touches).every(touch => {\n const point = this.canvas.pointOnCanvas(touch);\n return object.containsPoint(point);\n });\n }) || null\n );\n }\n\n private static getPinchDistance(e: TouchEvent): number {\n return Math.hypot(\n e.touches[0].pageX - e.touches[1].pageX,\n e.touches[0].pageY - e.touches[1].pageY\n );\n }\n}\n","import { Brut } from '../index';\nimport { Point } from './point';\nimport colours from './colours';\nimport { BaseObject } from '../objects/baseObject';\n\nexport default class GroupDragger {\n private canvas: Brut;\n private startPoint: Point | null;\n private endPoint: Point | null;\n private topContext!: CanvasRenderingContext2D;\n\n constructor(canvas: Brut) {\n this.canvas = canvas;\n this.startPoint = null;\n this.endPoint = null;\n }\n\n public init(): void {\n this.topContext = this.canvas.topContext as CanvasRenderingContext2D;\n }\n\n public selectStart(point: Point): void {\n this.startPoint = point;\n }\n\n public dragMove(point: Point): void {\n if (!this.startPoint) return;\n\n this.endPoint = point;\n this.canvas.renderTop();\n }\n\n private objectsUnderSelection(): BaseObject[] {\n return this.canvas.objects.filter(\n object => object.selectable && object.boundingBox.overlapsWithRegion(this)\n );\n }\n\n public selectEnd(): void {\n if (!this.startPoint) return;\n\n this.canvas.selectedGroup.reset(this.objectsUnderSelection());\n this.clear();\n this.canvas.renderTop();\n }\n\n public clear(): void {\n this.startPoint = this.endPoint = null;\n }\n\n public renderTop(): void {\n if (!this.startPoint || !this.endPoint) return;\n\n this.topContext.save();\n this.topContext.translate(this.left + 0.5, this.top + 0.5);\n this.topContext.rect(...this.rect);\n this.topContext.lineWidth = 2;\n this.topContext.strokeStyle = colours.cyan3;\n this.topContext.fillStyle = colours.cyan2;\n this.topContext.globalAlpha = 0.9;\n this.topContext.strokeRect(0, 0, this.width, this.height);\n this.topContext.globalAlpha = 0.2;\n this.topContext.fillRect(0, 0, this.width, this.height);\n this.topContext.restore();\n }\n\n private boxEdge(edge: 'top' | 'left', minOperator = true): number {\n if (!this.startPoint || !this.endPoint) return 0;\n\n if (minOperator) {\n return Math.min(this.startPoint[edge], this.endPoint[edge]);\n } else {\n return Math.max(this.startPoint[edge], this.endPoint[edge]);\n }\n }\n\n public get left(): number {\n return this.boxEdge('left');\n }\n\n public get top(): number {\n return this.boxEdge('top');\n }\n\n public get right(): number {\n return this.boxEdge('left', false);\n }\n\n public get bottom(): number {\n return this.boxEdge('top', false);\n }\n\n private get width(): number {\n return this.right - this.left;\n }\n\n private get height(): number {\n return this.bottom - this.top;\n }\n\n private get rect(): [number, number, number, number] {\n return [this.left, this.top, this.width, this.height];\n }\n}\n","import { Brut } from '../index';\nimport { BaseObject } from '../objects/baseObject';\nimport { Handle } from '../objects/baseObject/handle';\n\nexport default class SelectedGroup {\n private canvas: Brut;\n objects: BaseObject[];\n dragging = false;\n initialLeft = 0;\n initialRight = 0;\n initialTop = 0;\n initialBottom = 0;\n\n constructor(canvas: Brut) {\n this.canvas = canvas;\n this.objects = [];\n }\n\n public setInitialCoords(): void {\n this.initialLeft = this.left;\n this.initialRight = this.right;\n this.initialTop = this.top;\n this.initialBottom = this.bottom;\n }\n\n public reset(initialObjects: BaseObject[] = [], selectObjects = true): void {\n this.objects = initialObjects;\n if (selectObjects) this.selectObjectsUnderSelection();\n this.setInitialCoords();\n this.canvas.renderTop();\n }\n\n private selectObjectsUnderSelection(): void {\n const objects = this.objects;\n this.canvas.deactivateAllWithDispatch();\n objects.forEach(object => {\n object.select();\n });\n this.objects = objects;\n }\n\n public addObject(object: BaseObject): void {\n this.objects.push(object);\n this.setInitialCoords();\n this.canvas.renderTop();\n }\n\n public get empty(): boolean {\n return this.objects.length === 0;\n }\n\n public get occupiedAsGroup(): boolean {\n return this.objects.length > 1;\n }\n\n private get left(): number {\n return this.dimension('left');\n }\n\n private get top(): number {\n return this.dimension('top');\n }\n\n private get right(): number {\n return this.dimension('right', false);\n }\n\n private get bottom(): number {\n return this.dimension('bottom', false);\n }\n\n private dimension(\n edge: 'top' | 'right' | 'bottom' | 'left',\n useMin = true\n ): number {\n if (this.empty) return 0;\n\n const edges = this.objects.map(\n ({ boundingBox }): number => boundingBox[edge]\n );\n\n return useMin ? Math.min(...edges) : Math.max(...edges);\n }\n\n private get width(): number {\n return this.right - this.left;\n }\n\n private get height(): number {\n return this.bottom - this.top;\n }\n\n private centerAlongAxis(property: 'top' | 'left', difference: number): void {\n this.objects.forEach(object => {\n object.boundingBox[property] += difference;\n });\n\n this.setInitialCoords();\n this.canvas.renderTop();\n }\n\n public centerH(): void {\n this.centerAlongAxis('left', this.centerDifferenceH);\n }\n\n public centerV(): void {\n this.centerAlongAxis('top', this.centerDifferenceV);\n }\n\n private get currentCenterH(): number {\n return this.left + this.width / 2;\n }\n\n private get currentCenterV(): number {\n return this.top + this.height / 2;\n }\n\n private get centerDifferenceH(): number {\n return this.canvas.width / 2 - this.currentCenterH;\n }\n\n private get centerDifferenceV(): number {\n return this.canvas.height / 2 - this.currentCenterV;\n }\n\n public get allGroupHandles(): Handle[] {\n const selectedHandle = this.canvas.selectedHandle;\n\n if (!selectedHandle || !this.objects.includes(selectedHandle.object))\n return [];\n\n return this.objects\n .filter(object => !object.handles.includes(selectedHandle))\n .map(object => object.handles)\n .flat()\n .filter(handle => handle.corner === selectedHandle.corner);\n }\n}\n","import { loadImage } from '../../util/loadImage';\nimport { StaticImage } from '@/components/brut/src/objects/staticImage/staticImage';\nimport { Brut } from '@/components/brut/src';\nimport { BrutObjectJSON } from '@/components/brut/src/interfaces/json/object';\n\nclass FoilImage extends StaticImage {\n isFoiled = true;\n static readonly speed = 0.002;\n\n constructor(canvas: Brut, json: BrutObjectJSON) {\n super(canvas, json);\n }\n\n public async load(): Promise {\n if (this.src) {\n this.image = await loadImage(this.src);\n this.draw();\n }\n }\n\n public draw(): void {\n if (!this.image || !this.canvas.foilBlackCanvasCtx) return;\n\n this.canvas.foilBlackCanvasCtx.drawImage(\n this.image,\n ...this.boundingBox.asAdjustedRect()\n );\n }\n\n public render(): void {\n this.withinRegion(this.canvas.foilBlackCanvasCtx, this.draw.bind(this));\n }\n}\n\nexport { FoilImage };\n","import { TextBox } from \"@/components/brut/src/objects/textBox/textBox\";\nimport { Brut } from \"@/components/brut/src\";\nimport { BrutObjectJSON } from \"@/components/brut/src/interfaces/json/object\";\nimport { TextBoxCharacter } from \"@/components/brut/src/objects/textBox/textBoxCharacter\";\nimport { TextBoxSvg } from \"@/components/brut/src/objects/textBox/textBoxSvg\";\n\nclass FoilTextBox extends TextBox {\n isFoiled = true;\n static readonly speed = 0.002;\n\n constructor(canvas: Brut, json: BrutObjectJSON) {\n super(canvas, json);\n this.json = json;\n }\n\n public init(): void {\n super.init();\n\n const text = this.json.text || \"\";\n const styles = this.json.selectionStyles || [];\n this.characters = text.split(\"\").map((char, index) => {\n return new TextBoxCharacter(\n this.foiledTextboxRenderingContext,\n char,\n styles[index]\n );\n });\n this.characters.push(\n new TextBoxCharacter(this.foiledTextboxRenderingContext, \"\\0\", styles[0])\n );\n }\n\n public async load(): Promise {\n this.render();\n }\n\n protected get drawContext(): CanvasRenderingContext2D {\n return this.foiledTextboxRenderingContext;\n }\n\n public toSVG(): string {\n return \"\";\n }\n\n public toSkodixSVG(): string {\n return new TextBoxSvg(this).export();\n }\n\n public draw(): void {\n if (!this.canvas.showDieCutCover) return;\n\n this.wrapText();\n this.renderText();\n }\n\n public canScale(): boolean {\n return false;\n }\n\n public render(): void {\n this.withinRegion(this.foiledTextboxRenderingContext, this.draw.bind(this));\n }\n\n private get foiledTextboxRenderingContext(): CanvasRenderingContext2D {\n return this.canvas.foilBlackCanvasCtx || this.context;\n }\n}\n\nexport { FoilTextBox };\n","interface FoilingColourGroup {\n linear: LinearFoilingColour;\n radial: RadialFoilingColour;\n}\n\ninterface LinearFoilingColour {\n type: \"linear\";\n topLeft: string;\n bottomRight: string;\n middle: string;\n}\n\ninterface RadialFoilingColour {\n type: \"radial\";\n topLeft: string;\n bottomRight: string;\n middleTopLeft: string;\n middleBottomRight: string;\n middle: string;\n}\n\ntype FoilingColour = LinearFoilingColour | RadialFoilingColour;\n\nclass FoilHexDefaults {\n static gold = {\n linear: {\n type: \"linear\",\n topLeft: \"#E3A548\",\n bottomRight: \"#CF8D2C\",\n middle: \"#ECBD65\"\n } as LinearFoilingColour,\n radial: {\n type: \"radial\",\n topLeft: \"#E9D186\",\n middleTopLeft: \"#DCC372\",\n middleBottomRight: \"#E3A548\",\n bottomRight: \"#ECBD65\",\n middle: \"#FFE082\"\n } as RadialFoilingColour\n } as FoilingColourGroup;\n\n // SILVER NOT USED AT THE MOMENT\n static silver = {\n linear: {\n type: \"linear\",\n topLeft: \"#BFBEBE\",\n bottomRight: \"#D8D8D8\",\n middle: \"#FDFDFD\"\n } as LinearFoilingColour,\n radial: {\n type: \"radial\",\n topLeft: \"#F7F7F7\",\n bottomRight: \"#BFBEBE\",\n middleTopLeft: \"#E0E0E0\",\n middleBottomRight: \"#FDFDFD\",\n middle: \"#D8D8D8\"\n } as RadialFoilingColour\n } as FoilingColourGroup;\n\n // ROSEGOLD NOT USED AT THE MOMENT\n static roseGold = {\n linear: {\n type: \"linear\",\n topLeft: \"#C58561\",\n bottomRight: \"#FFD1BB\",\n middle: \"#FAC4A8\"\n } as LinearFoilingColour,\n radial: {\n type: \"radial\",\n topLeft: \"#ecc9a4\",\n bottomRight: \"#dc9877\",\n middleTopLeft: \"#e0ab8c\",\n middleBottomRight: \"#dca98a\",\n middle: \"#c49273\"\n } as RadialFoilingColour\n } as FoilingColourGroup;\n}\n\nexport { FoilingColour, FoilHexDefaults };\n","class ObjectChecker {\n constructor(brut, object) {\n this.brut = brut;\n this.object = object;\n }\n\n static isEdited(brut, object) {\n return new ObjectChecker(brut, object).edited;\n }\n\n get edited() {\n return (\n this.markedAsEdited ||\n this.untrackedSavedDesign ||\n this.cardFrontTextBox ||\n this.changedFromOriginal\n );\n }\n\n static get editingSavedVersion() {\n return !window.location.pathname.includes(\"/customise/\");\n }\n\n get markedAsEdited() {\n return this.object.edited;\n }\n\n get untrackedSavedDesign() {\n // This is required for backward compatibility\n // Tracking (and persistence) of edited states of objects in Brut\n // only went live in January 2021. We therefore have to assume that\n // any editable objects in saved designs have already been edited\n return (\n ObjectChecker.editingSavedVersion && !this.object.trackingEditedState\n );\n }\n\n get cardFrontTextBox() {\n return this.isTextBox && this.brut.isCardFront;\n }\n\n get changedFromOriginal() {\n if (!this.originalObject) return true;\n\n return this.isChangedTextBox || this.isChangedImage;\n }\n\n get currentCanvasObjects() {\n return this.brut.getObjects();\n }\n\n get originalCanvasObjects() {\n return JSON.parse(this.brut.originalJson).objects;\n }\n\n get objectIndex() {\n return this.currentCanvasObjects.indexOf(this.object);\n }\n\n get originalObject() {\n return this.originalCanvasObjects[this.objectIndex];\n }\n\n get isTextBox() {\n return this.object.type === \"papierbox\";\n }\n\n get isChangedTextBox() {\n if (!this.isTextBox) return false;\n\n return this.object.text !== this.originalObject.text;\n }\n\n get isImage() {\n return [\"imageframe\", \"logoframe\"].includes(this.object.type);\n }\n\n get isChangedImage() {\n if (!this.isImage) return false;\n\n return this.object.imageUrl !== this.originalObject.imageUrl;\n }\n}\n\nexport default ObjectChecker;\n","/*!\n * MIT License\n * \n * Copyright (c) 2020 Filestack\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n * \n */\nvar filestack=function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"\",n(n.s=52)}([function(t,e,n){\"use strict\";n.d(e,\"c\",(function(){return r})),n.d(e,\"a\",(function(){return o})),n.d(e,\"b\",(function(){return a})),n.d(e,\"d\",(function(){return s})),n.d(e,\"f\",(function(){return c})),n.d(e,\"e\",(function(){return u}));\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\nvar i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function r(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var o=function(){return(o=Object.assign||function(t){for(var e,n=1,i=arguments.length;n0&&r[r.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function p(t,e){var n=\"function\"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var i,r,o=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(i=o.next()).done;)a.push(i.value)}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return a}function u(){for(var t=[],e=0;e-1){var i=w(e);if(i)return i}try{if(c(t))return\"text/plain\"}catch(t){console.warn(\"Additional mimetype checks (text/plain) are currently not supported for browsers\")}return n?n.mime:\"application/octet-stream\"},w=function(t){if(t&&0!==t.length){if(2===t.split(\"/\").length)return t;t.indexOf(\".\")>-1&&(t=t.split(\".\").pop()),t=t.toLocaleLowerCase();for(var e=Object.keys(o),n=e.length,i=0;i-1)return e[i]}},_=function(t,e){if(void 0===e&&(e=!0),\"boolean\"==typeof e&&!e)return t;var n,i=\"boolean\"!=typeof e&&e.replacement?e.replacement:\"-\",r=\"boolean\"!=typeof e&&e.exclude?e.exclude:[\"\\\\\",\"{\",\"}\",\"|\",\"%\",\"`\",'\"',\"'\",\"~\",\"[\",\"]\",\"#\",\"|\",\"^\",\"<\",\">\"];if(!t||0===t.length)return\"undefined\";var o=t.split(\".\");return o.length>1&&(n=o.pop()),o.join(\".\").split(\"\").map((function(t){return r.indexOf(t)>-1?i:t})).join(\"\")+(n?\".\"+n:\"\")},j=function(t,e){return e&&0!==e.length?0===Object.keys(t).length?t:Object.keys(t).filter((function(t){return e.indexOf(t)>-1})).reduce((function(e,n){var i;return Object(r.a)(Object(r.a)({},e),((i={})[n]=t[n],i))}),{}):t},O=function t(e){return e&&0!==Object.keys(e).length?(Object.keys(e).forEach((function(n){\"function\"==typeof e[n]&&(e[n]=void 0),e[n]===Object(e[n])&&(e[n]=t(e[n]))})),e):e}},function(t,e,n){\"use strict\";n.d(e,\"b\",(function(){return i})),n.d(e,\"a\",(function(){return o}));var i,r=n(0);!function(t){t.ABORTED=\"ABORTED\",t.NETWORK=\"NETWORK\",t.TIMEOUT=\"TIMEDOUT\",t.SERVER=\"SERVER\",t.REQUEST=\"REQUEST\",t.OTHER=\"OTHER\",t.REDIRECT=\"REDIRECT\"}(i||(i={}));var o=function(t){function e(e,n,i,r){var o,a,s,c=this.constructor,p=t.call(this,e)||this;return p.config=n,p.response=i,p.code=r,o=p,a=c.prototype,(s=Object.setPrototypeOf)?s(o,a):o.__proto__=a,p}return Object(r.c)(e,t),e}(Error)},function(t,e,n){(function(i){function r(t){return(r=\"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.log=function(){var t;return\"object\"===(\"undefined\"==typeof console?\"undefined\":r(console))&&console.log&&(t=console).log.apply(t,arguments)},e.formatArgs=function(e){if(e[0]=(this.useColors?\"%c\":\"\")+this.namespace+(this.useColors?\" %c\":\" \")+e[0]+(this.useColors?\"%c \":\" \")+\"+\"+t.exports.humanize(this.diff),!this.useColors)return;var n=\"color: \"+this.color;e.splice(1,0,n,\"color: inherit\");var i=0,r=0;e[0].replace(/%[a-zA-Z%]/g,(function(t){\"%%\"!==t&&(i++,\"%c\"===t&&(r=i))})),e.splice(r,0,n)},e.save=function(t){try{t?e.storage.setItem(\"debug\",t):e.storage.removeItem(\"debug\")}catch(t){}},e.load=function(){var t;try{t=e.storage.getItem(\"debug\")}catch(t){}!t&&void 0!==i&&\"env\"in i&&(t=i.env.DEBUG);return t},e.useColors=function(){if(\"undefined\"!=typeof window&&window.process&&(\"renderer\"===window.process.type||window.process.__nwjs))return!0;if(\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/))return!1;return\"undefined\"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||\"undefined\"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)},e.storage=function(){try{return localStorage}catch(t){}}(),e.colors=[\"#0000CC\",\"#0000FF\",\"#0033CC\",\"#0033FF\",\"#0066CC\",\"#0066FF\",\"#0099CC\",\"#0099FF\",\"#00CC00\",\"#00CC33\",\"#00CC66\",\"#00CC99\",\"#00CCCC\",\"#00CCFF\",\"#3300CC\",\"#3300FF\",\"#3333CC\",\"#3333FF\",\"#3366CC\",\"#3366FF\",\"#3399CC\",\"#3399FF\",\"#33CC00\",\"#33CC33\",\"#33CC66\",\"#33CC99\",\"#33CCCC\",\"#33CCFF\",\"#6600CC\",\"#6600FF\",\"#6633CC\",\"#6633FF\",\"#66CC00\",\"#66CC33\",\"#9900CC\",\"#9900FF\",\"#9933CC\",\"#9933FF\",\"#99CC00\",\"#99CC33\",\"#CC0000\",\"#CC0033\",\"#CC0066\",\"#CC0099\",\"#CC00CC\",\"#CC00FF\",\"#CC3300\",\"#CC3333\",\"#CC3366\",\"#CC3399\",\"#CC33CC\",\"#CC33FF\",\"#CC6600\",\"#CC6633\",\"#CC9900\",\"#CC9933\",\"#CCCC00\",\"#CCCC33\",\"#FF0000\",\"#FF0033\",\"#FF0066\",\"#FF0099\",\"#FF00CC\",\"#FF00FF\",\"#FF3300\",\"#FF3333\",\"#FF3366\",\"#FF3399\",\"#FF33CC\",\"#FF33FF\",\"#FF6600\",\"#FF6633\",\"#FF9900\",\"#FF9933\",\"#FFCC00\",\"#FFCC33\"],t.exports=n(41)(e),t.exports.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}}}).call(this,n(26))},function(t,e,n){\"use strict\";function i(t){return(i=\"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 r(t){switch(Object.prototype.toString.call(t)){case\"[object Error]\":case\"[object Exception]\":case\"[object DOMException]\":return!0;default:return d(t,Error)}}function o(t){return\"[object String]\"===Object.prototype.toString.call(t)}function a(t){return null===t||\"object\"!==i(t)&&\"function\"!=typeof t}function s(t){return\"[object Object]\"===Object.prototype.toString.call(t)}function c(t){return\"undefined\"!=typeof Event&&d(t,Event)}function p(t){return\"undefined\"!=typeof Element&&d(t,Element)}function u(t){return\"[object RegExp]\"===Object.prototype.toString.call(t)}function l(t){return Boolean(t&&t.then&&\"function\"==typeof t.then)}function f(t){return s(t)&&\"nativeEvent\"in t&&\"preventDefault\"in t&&\"stopPropagation\"in t}function d(t,e){try{return t instanceof e}catch(t){return!1}}n.d(e,\"b\",(function(){return r})),n.d(e,\"h\",(function(){return o})),n.d(e,\"f\",(function(){return a})),n.d(e,\"e\",(function(){return s})),n.d(e,\"c\",(function(){return c})),n.d(e,\"a\",(function(){return p})),n.d(e,\"g\",(function(){return u})),n.d(e,\"j\",(function(){return l})),n.d(e,\"i\",(function(){return f})),n.d(e,\"d\",(function(){return d}))},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return a})),n.d(e,\"f\",(function(){return s})),n.d(e,\"d\",(function(){return c})),n.d(e,\"b\",(function(){return p})),n.d(e,\"h\",(function(){return u})),n.d(e,\"e\",(function(){return l})),n.d(e,\"i\",(function(){return f})),n.d(e,\"c\",(function(){return i})),n.d(e,\"g\",(function(){return r}));var i=function(){return!1},r=function(){return!1};function o(t){return(o=\"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)}var a=function(t){return\"[object ArrayBuffer]\"===Object.prototype.toString.call(t)},s=function(t){return null!==t&&\"object\"===o(t)},c=function(t){return\"[object File]\"===Object.prototype.toString.call(t)},p=function(t){return\"[object Blob]\"===Object.prototype.toString.call(t)},u=function(t){return\"undefined\"!=typeof URLSearchParams&&t instanceof URLSearchParams},l=function(t){return\"undefined\"!=typeof FormData&&t instanceof FormData},f=function(t){return t.replace(/^\\s*/,\"\").replace(/\\s*$/,\"\")}},function(t,e,n){\"use strict\";var i;n.d(e,\"a\",(function(){return i})),function(t){t.GET=\"GET\",t.DELETE=\"DELETE\",t.HEAD=\"HEAD\",t.PURGE=\"PURGE\",t.OPTIONS=\"OPTIONS\",t.POST=\"POST\",t.PUT=\"PUT\",t.PATH=\"PATH\"}(i||(i={}))},function(t,e,n){\"use strict\";var i=\":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\",r=\"[\"+i+\"][:A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*\",o=new RegExp(\"^\"+r+\"$\");e.isExist=function(t){return void 0!==t},e.isEmptyObject=function(t){return 0===Object.keys(t).length},e.merge=function(t,e,n){if(e)for(var i=Object.keys(e),r=i.length,o=0;oi&&(e=i);var r=Math.max(e-60,0);r<5&&(r=0);var o=Math.min(r+140,i);return o>i-5&&(o=i),o===i&&(r=Math.max(o-140,0)),n=n.slice(r,o),r>0&&(n=\"'{snip} \"+n),o=0||(a[e]=\"set-cookie\"===e?(a[e]?a[e]:[]).concat([n]):a[e]?a[e]+\", \"+n:n))})),a):a},a=function(t,e,n,i){void 0===i&&(i=!1);var r=s(e);return t||(t={}),void 0===(t=JSON.parse(JSON.stringify(t)))[e]&&void 0===t[r]?t[r]=n:i&&(delete t[e],t[r]=n),t},s=function(t){var e={\"content-md5\":\"Content-MD5\",dnt:\"DNT\",etag:\"ETag\",\"last-event-id\":\"Last-Event-ID\",tcn:\"TCN\",te:\"TE\",\"www-authenticate\":\"WWW-Authenticate\",\"x-dnsprefetch-control\":\"X-DNSPrefetch-Control\"}[t.toLowerCase()];return e||t.split(\"-\").map((function(t){return t.charAt(0).toUpperCase()+t.substr(1).toLowerCase()})).join(\"-\")},c=n(0),p=n(1),u=n(21),l=n(3),f=n.n(l)()(\"fs:request:data\"),d=function(t){return t=m(t),Object(i.e)(t.data)||Object(i.c)(t.data)||Object(i.g)(t.data)||Object(i.d)(t.data)||Object(i.b)(t.data)||Object(i.a)(t.data)||(Object(i.h)(t.data)?(t.headers=a(t.headers,\"content-type\",\"application/x-www-form-urlencoded;charset=utf-8\"),t.data=t.data.toString()):Object(i.f)(t.data)&&(t.headers=a(t.headers,\"content-type\",\"application/json\",!0),t.data=JSON.stringify(t.data))),t},m=function(t){return t.filestackHeaders?(t.headers=a(t.headers,\"filestack-source\",Object(p.getVersion)()),t.headers=a(t.headers,\"filestack-trace-id\",Math.floor(Date.now()/1e3)+\"-\"+Object(p.uniqueId)()),t.headers=a(t.headers,\"filestack-trace-span\",\"jssdk-\"+Object(p.uniqueId)()),t):t},h=function(t){return Object(c.b)(void 0,void 0,void 0,(function(){var e,n;return Object(c.d)(this,(function(r){if(!t.headers||!t.headers[\"content-type\"])return[2,Promise.resolve(t)];if(e=t.headers[\"content-type\"],/application\\/json/.test(e))try{t.data=JSON.parse(t.data)}catch(e){f(\"Cannot parse response %O - %O\",t.data,t.headers)}else/text\\/(plain|html)/.test(e)?Object(i.c)(t.data)&&(t.data=y(t.data)):/application\\/xml/.test(e)&&(n=t.data,Object(i.c)(t.data)&&(n=y(t.data)),!0===u.validate(n)&&(t.data=u.parse(n,{ignoreAttributes:!0,trimValues:!0})));return[2,Promise.resolve(t)]}))}))};function y(t){for(var e=new Uint16Array(t),n=e.length,i=\"\",r=Math.pow(2,16)-1,o=0;on&&(r=n-o),i+=String.fromCharCode.apply(null,e.subarray(o,o+r));return i}var v=function(t,e){if(!e)return t;var n=g(e),i=t.indexOf(\"#\");return-1!==i&&(t=t.slice(0,i)),t+(-1===t.indexOf(\"?\")?\"?\":\"&\")+n},g=function(t){return Object.keys(t).filter((function(e){return e&&void 0!==t[e]})).map((function(e){return encodeURIComponent(e)+\"=\"+encodeURIComponent(t[e])})).join(\"&\")},b=n(16)},function(t,e,n){\"use strict\";function i(t){return(i=\"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)}var r=n(19),o=e.ValidationError=function(t,e,n,i,r,o){i&&(this.property=i),t&&(this.message=t),n&&(n.id?this.schema=n.id:this.schema=n),e&&(this.instance=e),this.name=r,this.argument=o,this.stack=this.toString()};o.prototype.toString=function(){return this.property+\" \"+this.message};var a=e.ValidatorResult=function(t,e,n,i){this.instance=t,this.schema=e,this.propertyPath=i.propertyPath,this.errors=[],this.throwError=n&&n.throwError,this.disableFormat=n&&!0===n.disableFormat};function s(t,e){return e+\": \"+t.toString()+\"\\n\"}a.prototype.addError=function(t){var e;if(\"string\"==typeof t)e=new o(t,this.instance,this.schema,this.propertyPath);else{if(!t)throw new Error(\"Missing error detail\");if(!t.message)throw new Error(\"Missing error message\");if(!t.name)throw new Error(\"Missing validator type\");e=new o(t.message,this.instance,this.schema,this.propertyPath,t.name,t.argument)}if(this.throwError)throw e;return this.errors.push(e),e},a.prototype.importErrors=function(t){\"string\"==typeof t||t&&t.validatorType?this.addError(t):t&&t.errors&&Array.prototype.push.apply(this.errors,t.errors)},a.prototype.toString=function(t){return this.errors.map(s).join(\"\")},Object.defineProperty(a.prototype,\"valid\",{get:function(){return!this.errors.length}});var c=e.SchemaError=function t(e,n){this.message=e,this.schema=n,Error.call(this,e),Error.captureStackTrace(this,t)};c.prototype=Object.create(Error.prototype,{constructor:{value:c,enumerable:!1},name:{value:\"SchemaError\",enumerable:!1}});var p=e.SchemaContext=function(t,e,n,i,r){this.schema=t,this.options=e,this.propertyPath=n,this.base=i,this.schemas=r};p.prototype.resolve=function(t){return r.resolve(this.base,t)},p.prototype.makeChild=function(t,e){var n=void 0===e?this.propertyPath:this.propertyPath+l(e),i=r.resolve(this.base,t.id||\"\"),o=new p(t,this.options,n,i,Object.create(this.schemas));return t.id&&!o.schemas[i]&&(o.schemas[i]=t),o};var u=e.FORMAT_REGEXPS={\"date-time\":/^\\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])[tT ](2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])(\\.\\d+)?([zZ]|[+-]([0-5][0-9]):(60|[0-5][0-9]))$/,date:/^\\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])$/,time:/^(2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])$/,email:/^(?:[\\w\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\`\\{\\|\\}\\~]+\\.)*[\\w\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\`\\{\\|\\}\\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\\-](?!\\.)){0,61}[a-zA-Z0-9]?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\\[(?:(?:[01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\.){3}(?:[01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\]))$/,\"ip-address\":/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,ipv6:/^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$/,uri:/^[a-zA-Z][a-zA-Z0-9+-.]*:[^\\s]*$/,color:/^(#?([0-9A-Fa-f]{3}){1,2}\\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\\(\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*,\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*,\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*\\))|(rgb\\(\\s*(\\d?\\d%|100%)+\\s*,\\s*(\\d?\\d%|100%)+\\s*,\\s*(\\d?\\d%|100%)+\\s*\\)))$/,hostname:/^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\\.?$/,\"host-name\":/^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\\.?$/,alpha:/^[a-zA-Z]+$/,alphanumeric:/^[a-zA-Z0-9]+$/,\"utc-millisec\":function(t){return\"string\"==typeof t&&parseFloat(t)===parseInt(t,10)&&!isNaN(t)},regex:function(t){var e=!0;try{new RegExp(t)}catch(t){e=!1}return e},style:/\\s*(.+?):\\s*([^;]+);?/,phone:/^\\+(?:[0-9] ?){6,14}[0-9]$/};u.regexp=u.regex,u.pattern=u.regex,u.ipv4=u[\"ip-address\"],e.isFormat=function(t,e,n){if(\"string\"==typeof t&&void 0!==u[e]){if(u[e]instanceof RegExp)return u[e].test(t);if(\"function\"==typeof u[e])return u[e](t)}else if(n&&n.customFormats&&\"function\"==typeof n.customFormats[e])return n.customFormats[e](t);return!0};var l=e.makeSuffix=function(t){return(t=t.toString()).match(/[.\\s\\[\\]]/)||t.match(/^[\\d]/)?t.match(/^\\d+$/)?\"[\"+t+\"]\":\"[\"+JSON.stringify(t)+\"]\":\".\"+t};function f(t,e,n,r){\"object\"===i(n)?e[r]=h(t[r],n):-1===t.indexOf(n)&&e.push(n)}function d(t,e,n){e[n]=t[n]}function m(t,e,n,r){\"object\"===i(e[r])&&e[r]&&t[r]?n[r]=h(t[r],e[r]):n[r]=e[r]}function h(t,e){var n=Array.isArray(e),r=n&&[]||{};return n?(t=t||[],r=r.concat(t),e.forEach(f.bind(null,t,r))):(t&&\"object\"===i(t)&&Object.keys(t).forEach(d.bind(null,t,r)),Object.keys(e).forEach(m.bind(null,t,e,r))),r}function y(t){return\"/\"+encodeURIComponent(t).replace(/~/g,\"%7E\")}e.deepCompareStrict=function t(e,n){if(i(e)!==i(n))return!1;if(e instanceof Array)return n instanceof Array&&(e.length===n.length&&e.every((function(i,r){return t(e[r],n[r])})));if(\"object\"===i(e)){if(!e||!n)return e===n;var r=Object.keys(e),o=Object.keys(n);return r.length===o.length&&r.every((function(i){return t(e[i],n[i])}))}return e===n},t.exports.deepMerge=h,e.objectGetPath=function(t,e){for(var n,i=e.split(\"/\").slice(1);\"string\"==typeof(n=i.shift());){var r=decodeURIComponent(n.replace(/~0/,\"~\").replace(/~1/g,\"/\"));if(!(r in t))return;t=t[r]}return t},e.encodePath=function(t){return t.map(y).join(\"\")},e.getDecimalPlaces=function(t){var e=0;if(isNaN(t))return e;\"number\"!=typeof t&&(t=Number(t));var n=t.toString().split(\"e\");if(2===n.length){if(\"-\"!==n[1][0])return e;e=Number(n[1].slice(1))}var i=n[0].split(\".\");return 2===i.length&&(e+=i[1].length),e}},function(t,e,n){\"use strict\";(function(t){function i(){return\"[object process]\"===Object.prototype.toString.call(void 0!==t?t:0)}function r(t,e){return t.require(e)}n.d(e,\"b\",(function(){return i})),n.d(e,\"a\",(function(){return r}))}).call(this,n(26))},function(t,e){function n(t){return(n=\"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)}var i;i=function(){return this}();try{i=i||new Function(\"return this\")()}catch(t){\"object\"===(\"undefined\"==typeof window?\"undefined\":n(window))&&(i=window)}t.exports=i},function(t,e,n){\"use strict\";var i=n(7),r=n(7).buildOptions,o=n(45),a=1,s=2,c=3,p=4,u=\"<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)\".replace(/NAME/g,i.nameRegexp);!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var l={attributeNamePrefix:\"@_\",attrNodeName:!1,textNodeName:\"#text\",ignoreAttributes:!0,ignoreNameSpace:!1,allowBooleanAttributes:!1,parseNodeValue:!0,parseAttributeValue:!1,arrayMode:!1,trimValues:!0,cdataTagName:!1,cdataPositionChar:\"\\\\c\",tagValueProcessor:function(t,e){return t},attrValueProcessor:function(t,e){return t},stopNodes:[]};e.defaultOptions=l;var f=[\"attributeNamePrefix\",\"attrNodeName\",\"textNodeName\",\"ignoreAttributes\",\"ignoreNameSpace\",\"allowBooleanAttributes\",\"parseNodeValue\",\"parseAttributeValue\",\"arrayMode\",\"trimValues\",\"cdataTagName\",\"cdataPositionChar\",\"tagValueProcessor\",\"attrValueProcessor\",\"parseTrueNumberOnly\",\"stopNodes\"];e.props=f;function d(t,e,n){var i=t[7]||n,r=t[12];return r&&(e.trimValues&&(r=r.trim()),r=y(r=e.tagValueProcessor(r,i),e.parseNodeValue,e.parseTrueNumberOnly)),r}function m(t){return\"]]>\"===t[4]?p:\"/\"===t[10]?s:void 0!==t[8]&&\"/\"===t[8].substr(t[8].length-1)?c:a}function h(t,e){if(e.ignoreNameSpace){var n=t.split(\":\"),i=\"/\"===t.charAt(0)?\"/\":\"\";if(\"xmlns\"===n[0])return\"\";2===n.length&&(t=i+n[1])}return t}function y(t,e,n){var r;return e&&\"string\"==typeof t?(\"\"===t.trim()||isNaN(t)?r=\"true\"===t||\"false\"!==t&&t:(-1!==t.indexOf(\"0x\")?r=Number.parseInt(t,16):-1!==t.indexOf(\".\")?(r=Number.parseFloat(t),t=t.replace(/0+$/,\"\")):r=Number.parseInt(t,10),n&&(r=String(r)===t?r:t)),r):i.isExist(t)?t:\"\"}var v=new RegExp(\"([^\\\\s=]+)\\\\s*(=\\\\s*(['\\\"])(.*?)\\\\3)?\",\"g\");function g(t,e){if(!e.ignoreAttributes&&\"string\"==typeof t){t=t.replace(/\\r?\\n/g,\" \");for(var n=i.getAllMatches(t,v),r=n.length,o={},a=0;a/g,\"\");for(var n=new o(\"!xml\"),a=n,h=new RegExp(u,\"g\"),y=h.exec(t),v=h.exec(t);y;){var b=m(y);if(b===s)a.parent&&y[12]&&(a.parent.val=i.getValue(a.parent.val)+\"\"+d(y,e,a.parent.tagname)),e.stopNodes.length&&e.stopNodes.includes(a.tagname)&&(a.child=[],null==a.attrsMap&&(a.attrsMap={}),a.val=t.substr(a.startIndex+1,y.index-a.startIndex-1)),a=a.parent;else if(b===p)if(e.cdataTagName){var x=new o(e.cdataTagName,a,y[3]);x.attrsMap=g(y[8],e),a.addChild(x),a.val=i.getValue(a.val)+e.cdataPositionChar,y[12]&&(a.val+=d(y,e))}else a.val=(a.val||\"\")+(y[3]||\"\")+d(y,e);else if(b===c){a&&y[12]&&(a.val=i.getValue(a.val)+\"\"+d(y,e));var k=new o(e.ignoreNameSpace?y[7]:y[5],a,\"\");y[8]&&y[8].length>0&&(y[8]=y[8].substr(0,y[8].length-1)),k.attrsMap=g(y[8],e),a.addChild(k)}else{var w=new o(e.ignoreNameSpace?y[7]:y[5],a,d(y,e));e.stopNodes.length&&e.stopNodes.includes(w.tagname)&&(w.startIndex=y.index+y[1].length),w.attrsMap=g(y[8],e),a.addChild(w),a=w}y=v,v=h.exec(t)}return n}},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return a}));var i=n(2),r=n(3),o=n.n(r)()(\"fs:request:shouldRetry\"),a=function(t){switch(o(\"Checking error for retry. Code: %n, type: %s\",t.response?t.response.status:\"Malformed response\",t.code),t.code){case i.b.NETWORK:case i.b.SERVER:case i.b.TIMEOUT:return!0;case i.b.ABORTED:return!1}return!!t.response&&(500<=t.response.status&&t.response.status<=599)}},function(module,exports,__webpack_require__){\"use strict\";function _typeof(t){return(_typeof=\"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 _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}function _iterableToArray(t){if(Symbol.iterator in Object(t)||\"[object Arguments]\"===Object.prototype.toString.call(t))return Array.from(t)}function _arrayWithoutHoles(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e1&&void 0!==arguments[1]?arguments[1]:0,n=t[e],i=1,r=0;++r<8;)i*=256,n+=t[e+r]*i;return n}var fileType=function(t){if(!(t instanceof Uint8Array||t instanceof ArrayBuffer||Buffer.isBuffer(t)))throw new TypeError(\"Expected the `input` argument to be of type `Uint8Array` or `Buffer` or `ArrayBuffer`, got `\".concat(_typeof(t),\"`\"));var e=t instanceof Uint8Array?t:new Uint8Array(t);if(!(e&&e.length>1))return null;var n=function(t,n){n=Object.assign({offset:0},n);for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:0;return t.findIndex((function(t,n,i){return n>=e&&80===i[n]&&75===i[n+1]&&3===i[n+2]&&4===i[n+3]}))},o=0,a=!1,s=null;do{var c=o+30;if(a||(a=n(oxmlContentTypes,{offset:c})||n(oxmlRels,{offset:c})),s||(i(\"word/\",{offset:c})?s={ext:\"docx\",mime:\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"}:i(\"ppt/\",{offset:c})?s={ext:\"pptx\",mime:\"application/vnd.openxmlformats-officedocument.presentationml.presentation\"}:i(\"xl/\",{offset:c})&&(s={ext:\"xlsx\",mime:\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"})),a&&s)return s;o=r(e,c)}while(o>=0);if(s)return s}if(n([80,75])&&(3===e[2]||5===e[2]||7===e[2])&&(4===e[3]||6===e[3]||8===e[3]))return{ext:\"zip\",mime:\"application/zip\"};if(n([117,115,116,97,114],{offset:257}))return{ext:\"tar\",mime:\"application/x-tar\"};if(n([82,97,114,33,26,7])&&(0===e[6]||1===e[6]))return{ext:\"rar\",mime:\"application/x-rar-compressed\"};if(n([31,139,8]))return{ext:\"gz\",mime:\"application/gzip\"};if(n([66,90,104]))return{ext:\"bz2\",mime:\"application/x-bzip2\"};if(n([55,122,188,175,39,28]))return{ext:\"7z\",mime:\"application/x-7z-compressed\"};if(n([120,1]))return{ext:\"dmg\",mime:\"application/x-apple-diskimage\"};if(n([51,103,112,53])||n([0,0,0])&&n([102,116,121,112],{offset:4})&&(n([109,112,52,49],{offset:8})||n([109,112,52,50],{offset:8})||n([105,115,111,109],{offset:8})||n([105,115,111,50],{offset:8})||n([109,109,112,52],{offset:8})||n([77,52,86],{offset:8})||n([100,97,115,104],{offset:8})))return{ext:\"mp4\",mime:\"video/mp4\"};if(n([77,84,104,100]))return{ext:\"mid\",mime:\"audio/midi\"};if(n([26,69,223,163])){var p=e.subarray(4,4100),u=p.findIndex((function(t,e,n){return 66===n[e]&&130===n[e+1]}));if(-1!==u){var l=u+3,f=function(t){return _toConsumableArray(t).every((function(t,e){return p[l+e]===t.charCodeAt(0)}))};if(f(\"matroska\"))return{ext:\"mkv\",mime:\"video/x-matroska\"};if(f(\"webm\"))return{ext:\"webm\",mime:\"video/webm\"}}}if(n([0,0,0,20,102,116,121,112,113,116,32,32])||n([102,114,101,101],{offset:4})||n([102,116,121,112,113,116,32,32],{offset:4})||n([109,100,97,116],{offset:4})||n([109,111,111,118],{offset:4})||n([119,105,100,101],{offset:4}))return{ext:\"mov\",mime:\"video/quicktime\"};if(n([82,73,70,70])){if(n([65,86,73],{offset:8}))return{ext:\"avi\",mime:\"video/vnd.avi\"};if(n([87,65,86,69],{offset:8}))return{ext:\"wav\",mime:\"audio/vnd.wave\"};if(n([81,76,67,77],{offset:8}))return{ext:\"qcp\",mime:\"audio/qcelp\"}}if(n([48,38,178,117,142,102,207,17,166,217])){var d=30;do{var m=readUInt64LE(e,d+16);if(n([145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101],{offset:d})){if(n([64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43],{offset:d+24}))return{ext:\"wma\",mime:\"audio/x-ms-wma\"};if(n([192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43],{offset:d+24}))return{ext:\"wmv\",mime:\"video/x-ms-asf\"};break}d+=m}while(d+24<=e.length);return{ext:\"asf\",mime:\"application/vnd.ms-asf\"}}if(n([0,0,1,186])||n([0,0,1,179]))return{ext:\"mpg\",mime:\"video/mpeg\"};if(n([102,116,121,112,51,103],{offset:4}))return{ext:\"3gp\",mime:\"video/3gpp\"};for(var h=0;h<2&&h\",'\"',\"`\",\" \",\"\\r\",\"\\n\",\"\\t\"]),l=[\"'\"].concat(u),f=[\"%\",\"/\",\"?\",\";\",\"#\"].concat(l),d=[\"/\",\"?\",\"#\"],m=/^[+a-z0-9A-Z_-]{0,63}$/,h=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,y={javascript:!0,\"javascript:\":!0},v={javascript:!0,\"javascript:\":!0},g={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,\"http:\":!0,\"https:\":!0,\"ftp:\":!0,\"gopher:\":!0,\"file:\":!0},b=n(37);function x(t,e,n){if(t&&o.isObject(t)&&t instanceof a)return t;var i=new a;return i.parse(t,e,n),i}a.prototype.parse=function(t,e,n){if(!o.isString(t))throw new TypeError(\"Parameter 'url' must be a string, not \"+i(t));var a=t.indexOf(\"?\"),c=-1!==a&&a127?z+=\"x\":z+=I[N];if(!z.match(m)){var R=P.slice(0,C),$=P.slice(C+1),q=I.match(h);q&&(R.push(q[1]),$.unshift(q[2])),$.length&&(x=\"/\"+$.join(\".\")+x),this.hostname=R.join(\".\");break}}}this.hostname.length>255?this.hostname=\"\":this.hostname=this.hostname.toLowerCase(),A||(this.hostname=r.toASCII(this.hostname));var U=this.port?\":\"+this.port:\"\",D=this.hostname||\"\";this.host=D+U,this.href+=this.host,A&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),\"/\"!==x[0]&&(x=\"/\"+x))}if(!y[_])for(C=0,F=l.length;C0)&&n.host.split(\"@\"))&&(n.auth=T.shift(),n.host=n.hostname=T.shift());return n.search=t.search,n.query=t.query,o.isNull(n.pathname)&&o.isNull(n.search)||(n.path=(n.pathname?n.pathname:\"\")+(n.search?n.search:\"\")),n.href=n.format(),n}if(!_.length)return n.pathname=null,n.search?n.path=\"/\"+n.search:n.path=null,n.href=n.format(),n;for(var O=_.slice(-1)[0],S=(n.host||t.host||_.length>1)&&(\".\"===O||\"..\"===O)||\"\"===O,E=0,C=_.length;C>=0;C--)\".\"===(O=_[C])?_.splice(C,1):\"..\"===O?(_.splice(C,1),E++):E&&(_.splice(C,1),E--);if(!k&&!w)for(;E--;E)_.unshift(\"..\");!k||\"\"===_[0]||_[0]&&\"/\"===_[0].charAt(0)||_.unshift(\"\"),S&&\"/\"!==_.join(\"/\").substr(-1)&&_.push(\"\");var T,A=\"\"===_[0]||_[0]&&\"/\"===_[0].charAt(0);j&&(n.hostname=n.host=A?\"\":_.length?_.shift():\"\",(T=!!(n.host&&n.host.indexOf(\"@\")>0)&&n.host.split(\"@\"))&&(n.auth=T.shift(),n.host=n.hostname=T.shift()));return(k=k||n.host&&_.length)&&!A&&_.unshift(\"\"),_.length?n.pathname=_.join(\"/\"):(n.pathname=null,n.path=null),o.isNull(n.pathname)&&o.isNull(n.search)||(n.path=(n.pathname?n.pathname:\"\")+(n.search?n.search:\"\")),n.auth=t.auth||n.auth,n.slashes=n.slashes||t.slashes,n.href=n.format(),n},a.prototype.parseHost=function(){var t=this.host,e=c.exec(t);e&&(\":\"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)}},function(t,e,n){function i(t){return(i=\"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)}var r=n(19),o=n(12);function a(t,e){this.id=t,this.ref=e}t.exports.SchemaScanResult=a,t.exports.scan=function(t,e){function n(t,e){if(e&&\"object\"==i(e))if(e.$ref){var a=r.resolve(t,e.$ref);u[a]=u[a]?u[a]+1:0}else{var l=e.id?r.resolve(t,e.id):t;if(l){if(l.indexOf(\"#\")<0&&(l+=\"#\"),p[l]){if(!o.deepCompareStrict(p[l],e))throw new Error(\"Schema <\"+e+\"> already exists with different definition\");return p[l]}p[l]=e,\"#\"==l[l.length-1]&&(p[l.substring(0,l.length-1)]=e)}s(l+\"/items\",e.items instanceof Array?e.items:[e.items]),s(l+\"/extends\",e.extends instanceof Array?e.extends:[e.extends]),n(l+\"/additionalItems\",e.additionalItems),c(l+\"/properties\",e.properties),n(l+\"/additionalProperties\",e.additionalProperties),c(l+\"/definitions\",e.definitions),c(l+\"/patternProperties\",e.patternProperties),c(l+\"/dependencies\",e.dependencies),s(l+\"/disallow\",e.disallow),s(l+\"/allOf\",e.allOf),s(l+\"/anyOf\",e.anyOf),s(l+\"/oneOf\",e.oneOf),n(l+\"/not\",e.not)}}function s(t,e){if(e instanceof Array)for(var i=0;i \".length,s=void 0;e&&i++<5&&!(\"html\"===(s=o(e))||i>1&&r+n.length*a+s.length>=80);)n.push(s),r+=s.length,e=e.parentNode;return n.reverse().join(\" > \")}catch(t){return\"\"}}function o(t){var e,n,r,o,a,s=t,c=[];if(!s||!s.tagName)return\"\";if(c.push(s.tagName.toLowerCase()),s.id&&c.push(\"#\"+s.id),(e=s.className)&&Object(i.h)(e))for(n=e.split(/\\s+/),a=0;a1)for(var n=1;n=194&&t[e]<=223){if(t[e+1]>>6==2){e+=2;continue}return!1}if((224===t[e]&&t[e+1]>=160&&t[e+1]<=191||237===t[e]&&t[e+1]>=128&&t[e+1]<=159)&&t[e+2]>>6==2)e+=3;else if((t[e]>=225&&t[e]<=236||t[e]>=238&&t[e]<=239)&&t[e+1]>>6==2&&t[e+2]>>6==2)e+=3;else{if(!(240===t[e]&&t[e+1]>=144&&t[e+1]<=191||t[e]>=241&&t[e]<=243&&t[e+1]>>6==2||244===t[e]&&t[e+1]>=128&&t[e+1]<=143)||t[e+2]>>6!=2||t[e+3]>>6!=2)return!1;e+=4}}return!0}},function(t,e,n){var i,r,o;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})(t)}o=function(t){\"use strict\";var e=[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\"];function n(t,e){var n=t[0],i=t[1],r=t[2],o=t[3];i=((i+=((r=((r+=((o=((o+=((n=((n+=(i&r|~i&o)+e[0]-680876936|0)<<7|n>>>25)+i|0)&i|~n&r)+e[1]-389564586|0)<<12|o>>>20)+n|0)&n|~o&i)+e[2]+606105819|0)<<17|r>>>15)+o|0)&o|~r&n)+e[3]-1044525330|0)<<22|i>>>10)+r|0,i=((i+=((r=((r+=((o=((o+=((n=((n+=(i&r|~i&o)+e[4]-176418897|0)<<7|n>>>25)+i|0)&i|~n&r)+e[5]+1200080426|0)<<12|o>>>20)+n|0)&n|~o&i)+e[6]-1473231341|0)<<17|r>>>15)+o|0)&o|~r&n)+e[7]-45705983|0)<<22|i>>>10)+r|0,i=((i+=((r=((r+=((o=((o+=((n=((n+=(i&r|~i&o)+e[8]+1770035416|0)<<7|n>>>25)+i|0)&i|~n&r)+e[9]-1958414417|0)<<12|o>>>20)+n|0)&n|~o&i)+e[10]-42063|0)<<17|r>>>15)+o|0)&o|~r&n)+e[11]-1990404162|0)<<22|i>>>10)+r|0,i=((i+=((r=((r+=((o=((o+=((n=((n+=(i&r|~i&o)+e[12]+1804603682|0)<<7|n>>>25)+i|0)&i|~n&r)+e[13]-40341101|0)<<12|o>>>20)+n|0)&n|~o&i)+e[14]-1502002290|0)<<17|r>>>15)+o|0)&o|~r&n)+e[15]+1236535329|0)<<22|i>>>10)+r|0,i=((i+=((r=((r+=((o=((o+=((n=((n+=(i&o|r&~o)+e[1]-165796510|0)<<5|n>>>27)+i|0)&r|i&~r)+e[6]-1069501632|0)<<9|o>>>23)+n|0)&i|n&~i)+e[11]+643717713|0)<<14|r>>>18)+o|0)&n|o&~n)+e[0]-373897302|0)<<20|i>>>12)+r|0,i=((i+=((r=((r+=((o=((o+=((n=((n+=(i&o|r&~o)+e[5]-701558691|0)<<5|n>>>27)+i|0)&r|i&~r)+e[10]+38016083|0)<<9|o>>>23)+n|0)&i|n&~i)+e[15]-660478335|0)<<14|r>>>18)+o|0)&n|o&~n)+e[4]-405537848|0)<<20|i>>>12)+r|0,i=((i+=((r=((r+=((o=((o+=((n=((n+=(i&o|r&~o)+e[9]+568446438|0)<<5|n>>>27)+i|0)&r|i&~r)+e[14]-1019803690|0)<<9|o>>>23)+n|0)&i|n&~i)+e[3]-187363961|0)<<14|r>>>18)+o|0)&n|o&~n)+e[8]+1163531501|0)<<20|i>>>12)+r|0,i=((i+=((r=((r+=((o=((o+=((n=((n+=(i&o|r&~o)+e[13]-1444681467|0)<<5|n>>>27)+i|0)&r|i&~r)+e[2]-51403784|0)<<9|o>>>23)+n|0)&i|n&~i)+e[7]+1735328473|0)<<14|r>>>18)+o|0)&n|o&~n)+e[12]-1926607734|0)<<20|i>>>12)+r|0,i=((i+=((r=((r+=((o=((o+=((n=((n+=(i^r^o)+e[5]-378558|0)<<4|n>>>28)+i|0)^i^r)+e[8]-2022574463|0)<<11|o>>>21)+n|0)^n^i)+e[11]+1839030562|0)<<16|r>>>16)+o|0)^o^n)+e[14]-35309556|0)<<23|i>>>9)+r|0,i=((i+=((r=((r+=((o=((o+=((n=((n+=(i^r^o)+e[1]-1530992060|0)<<4|n>>>28)+i|0)^i^r)+e[4]+1272893353|0)<<11|o>>>21)+n|0)^n^i)+e[7]-155497632|0)<<16|r>>>16)+o|0)^o^n)+e[10]-1094730640|0)<<23|i>>>9)+r|0,i=((i+=((r=((r+=((o=((o+=((n=((n+=(i^r^o)+e[13]+681279174|0)<<4|n>>>28)+i|0)^i^r)+e[0]-358537222|0)<<11|o>>>21)+n|0)^n^i)+e[3]-722521979|0)<<16|r>>>16)+o|0)^o^n)+e[6]+76029189|0)<<23|i>>>9)+r|0,i=((i+=((r=((r+=((o=((o+=((n=((n+=(i^r^o)+e[9]-640364487|0)<<4|n>>>28)+i|0)^i^r)+e[12]-421815835|0)<<11|o>>>21)+n|0)^n^i)+e[15]+530742520|0)<<16|r>>>16)+o|0)^o^n)+e[2]-995338651|0)<<23|i>>>9)+r|0,i=((i+=((o=((o+=(i^((n=((n+=(r^(i|~o))+e[0]-198630844|0)<<6|n>>>26)+i|0)|~r))+e[7]+1126891415|0)<<10|o>>>22)+n|0)^((r=((r+=(n^(o|~i))+e[14]-1416354905|0)<<15|r>>>17)+o|0)|~n))+e[5]-57434055|0)<<21|i>>>11)+r|0,i=((i+=((o=((o+=(i^((n=((n+=(r^(i|~o))+e[12]+1700485571|0)<<6|n>>>26)+i|0)|~r))+e[3]-1894986606|0)<<10|o>>>22)+n|0)^((r=((r+=(n^(o|~i))+e[10]-1051523|0)<<15|r>>>17)+o|0)|~n))+e[1]-2054922799|0)<<21|i>>>11)+r|0,i=((i+=((o=((o+=(i^((n=((n+=(r^(i|~o))+e[8]+1873313359|0)<<6|n>>>26)+i|0)|~r))+e[15]-30611744|0)<<10|o>>>22)+n|0)^((r=((r+=(n^(o|~i))+e[6]-1560198380|0)<<15|r>>>17)+o|0)|~n))+e[13]+1309151649|0)<<21|i>>>11)+r|0,i=((i+=((o=((o+=(i^((n=((n+=(r^(i|~o))+e[4]-145523070|0)<<6|n>>>26)+i|0)|~r))+e[11]-1120210379|0)<<10|o>>>22)+n|0)^((r=((r+=(n^(o|~i))+e[2]+718787259|0)<<15|r>>>17)+o|0)|~n))+e[9]-343485551|0)<<21|i>>>11)+r|0,t[0]=n+t[0]|0,t[1]=i+t[1]|0,t[2]=r+t[2]|0,t[3]=o+t[3]|0}function i(t){var e,n=[];for(e=0;e<64;e+=4)n[e>>2]=t.charCodeAt(e)+(t.charCodeAt(e+1)<<8)+(t.charCodeAt(e+2)<<16)+(t.charCodeAt(e+3)<<24);return n}function r(t){var e,n=[];for(e=0;e<64;e+=4)n[e>>2]=t[e]+(t[e+1]<<8)+(t[e+2]<<16)+(t[e+3]<<24);return n}function o(t){var e,r,o,a,s,c,p=t.length,u=[1732584193,-271733879,-1732584194,271733878];for(e=64;e<=p;e+=64)n(u,i(t.substring(e-64,e)));for(r=(t=t.substring(e-64)).length,o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e=0;e>2]|=t.charCodeAt(e)<<(e%4<<3);if(o[e>>2]|=128<<(e%4<<3),e>55)for(n(u,o),e=0;e<16;e+=1)o[e]=0;return a=(a=8*p).toString(16).match(/(.*?)(.{0,8})$/),s=parseInt(a[2],16),c=parseInt(a[1],16)||0,o[14]=s,o[15]=c,n(u,o),u}function a(t){var n,i=\"\";for(n=0;n<4;n+=1)i+=e[t>>8*n+4&15]+e[t>>8*n&15];return i}function s(t){var e;for(e=0;eu?new ArrayBuffer(0):(r=u-p,o=new ArrayBuffer(r),a=new Uint8Array(o),s=new Uint8Array(this,p,r),a.set(s),o)}}(),u.prototype.append=function(t){return this.appendBinary(c(t)),this},u.prototype.appendBinary=function(t){this._buff+=t,this._length+=t.length;var e,r=this._buff.length;for(e=64;e<=r;e+=64)n(this._hash,i(this._buff.substring(e-64,e)));return this._buff=this._buff.substring(e-64),this},u.prototype.end=function(t){var e,n,i=this._buff,r=i.length,o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e>2]|=i.charCodeAt(e)<<(e%4<<3);return this._finish(o,r),n=s(this._hash),t&&(n=p(n)),this.reset(),n},u.prototype.reset=function(){return this._buff=\"\",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},u.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash}},u.prototype.setState=function(t){return this._buff=t.buff,this._length=t.length,this._hash=t.hash,this},u.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},u.prototype._finish=function(t,e){var i,r,o,a=e;if(t[a>>2]|=128<<(a%4<<3),a>55)for(n(this._hash,t),a=0;a<16;a+=1)t[a]=0;i=(i=8*this._length).toString(16).match(/(.*?)(.{0,8})$/),r=parseInt(i[2],16),o=parseInt(i[1],16)||0,t[14]=r,t[15]=o,n(this._hash,t)},u.hash=function(t,e){return u.hashBinary(c(t),e)},u.hashBinary=function(t,e){var n=s(o(t));return e?p(n):n},u.ArrayBuffer=function(){this.reset()},u.ArrayBuffer.prototype.append=function(t){var e,i,o,a,s,c=(i=this._buff.buffer,o=t,a=!0,(s=new Uint8Array(i.byteLength+o.byteLength)).set(new Uint8Array(i)),s.set(new Uint8Array(o),i.byteLength),a?s:s.buffer),p=c.length;for(this._length+=t.byteLength,e=64;e<=p;e+=64)n(this._hash,r(c.subarray(e-64,e)));return this._buff=e-64>2]|=i[e]<<(e%4<<3);return this._finish(o,r),n=s(this._hash),t&&(n=p(n)),this.reset(),n},u.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},u.ArrayBuffer.prototype.getState=function(){var t,e=u.prototype.getState.call(this);return e.buff=(t=e.buff,String.fromCharCode.apply(null,new Uint8Array(t))),e},u.ArrayBuffer.prototype.setState=function(t){return t.buff=function(t,e){var n,i=t.length,r=new ArrayBuffer(i),o=new Uint8Array(r);for(n=0;n>2]|=t[e]<<(e%4<<3);if(o[e>>2]|=128<<(e%4<<3),e>55)for(n(u,o),e=0;e<16;e+=1)o[e]=0;return a=(a=8*p).toString(16).match(/(.*?)(.{0,8})$/),s=parseInt(a[2],16),c=parseInt(a[1],16)||0,o[14]=s,o[15]=c,n(u,o),u}(new Uint8Array(t)));return e?p(i):i},u},\"object\"===a(e)?t.exports=o():void 0===(r=\"function\"==typeof(i=o)?i.call(e,n,e,t):i)||(t.exports=r)},function(t,e,n){\"use strict\";function i(t){return(i=\"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 r(t,e){return!e||\"object\"!==i(e)&&\"function\"!=typeof e?function(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}(t):e}function o(t){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function a(t,e){return(a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function s(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function c(t,e){for(var n=0;n=e.priority)this._queue.push(n);else{var i=function(t,e,n){for(var i=0,r=t.length;r>0;){var o=r/2|0,a=i+o;n(t[a],e)<=0?(i=++a,r-=o+1):r=o}return i}(this._queue,n,(function(t,e){return e.priority-t.priority}));this._queue.splice(i,0,n)}}},{key:\"dequeue\",value:function(){return this._queue.shift().run}},{key:\"size\",get:function(){return this._queue.length}}]),t}(),f=function(t){function e(t){var n;if(s(this,e),n=r(this,o(e).call(this)),!(\"number\"==typeof(t=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:l},t)).concurrency&&t.concurrency>=1))throw new TypeError(\"Expected `concurrency` to be a number from 1 and up, got `\".concat(t.concurrency,\"` (\").concat(i(t.concurrency),\")\"));if(!(\"number\"==typeof t.intervalCap&&t.intervalCap>=1))throw new TypeError(\"Expected `intervalCap` to be a number from 1 and up, got `\".concat(t.intervalCap,\"` (\").concat(i(t.intervalCap),\")\"));if(!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(\"Expected `interval` to be a finite number >= 0, got `\".concat(t.interval,\"` (\").concat(i(t.interval),\")\"));return n._carryoverConcurrencyCount=t.carryoverConcurrencyCount,n._isIntervalIgnored=t.intervalCap===1/0||0===t.interval,n._intervalCount=0,n._intervalCap=t.intervalCap,n._interval=t.interval,n._intervalId=null,n._intervalEnd=0,n._timeoutId=null,n.queue=new t.queueClass,n._queueClass=t.queueClass,n._pendingCount=0,n._concurrency=t.concurrency,n._isPaused=!1===t.autoStart,n._resolveEmpty=function(){},n._resolveIdle=function(){},n}return function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&a(t,e)}(e,t),p(e,[{key:\"_next\",value:function(){this._pendingCount--,this._tryToStartAnother()}},{key:\"_resolvePromises\",value:function(){this._resolveEmpty(),this._resolveEmpty=function(){},0===this._pendingCount&&(this._resolveIdle(),this._resolveIdle=function(){})}},{key:\"_onResumeInterval\",value:function(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=null}},{key:\"_intervalPaused\",value:function(){var t=this,e=Date.now();if(null===this._intervalId){var n=this._intervalEnd-e;if(!(n<0))return null===this._timeoutId&&(this._timeoutId=setTimeout((function(){return t._onResumeInterval()}),n)),!0;this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0}return!1}},{key:\"_tryToStartAnother\",value:function(){if(0===this.queue.size)return clearInterval(this._intervalId),this._intervalId=null,this._resolvePromises(),!1;if(!this._isPaused){var t=!this._intervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother)return this.emit(\"active\"),this.queue.dequeue()(),t&&this._initializeIntervalIfNeeded(),!0}return!1}},{key:\"_initializeIntervalIfNeeded\",value:function(){var t=this;this._isIntervalIgnored||null!==this._intervalId||(this._intervalId=setInterval((function(){return t._onInterval()}),this._interval),this._intervalEnd=Date.now()+this._interval)}},{key:\"_onInterval\",value:function(){for(0===this._intervalCount&&0===this._pendingCount&&(clearInterval(this._intervalId),this._intervalId=null),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0;this._tryToStartAnother(););}},{key:\"add\",value:function(t,e){var n=this;return new Promise((function(i,r){n.queue.enqueue((function(){n._pendingCount++,n._intervalCount++;try{Promise.resolve(t()).then((function(t){i(t),n._next()}),(function(t){r(t),n._next()}))}catch(t){r(t),n._next()}}),e),n._tryToStartAnother()}))}},{key:\"addAll\",value:function(t,e){var n=this;return Promise.all(t.map((function(t){return n.add(t,e)})))}},{key:\"start\",value:function(){if(this._isPaused)for(this._isPaused=!1;this._tryToStartAnother(););}},{key:\"pause\",value:function(){this._isPaused=!0}},{key:\"clear\",value:function(){this.queue=new this._queueClass}},{key:\"onEmpty\",value:function(){var t=this;return 0===this.queue.size?Promise.resolve():new Promise((function(e){var n=t._resolveEmpty;t._resolveEmpty=function(){n(),e()}}))}},{key:\"onIdle\",value:function(){var t=this;return 0===this._pendingCount&&0===this.queue.size?Promise.resolve():new Promise((function(e){var n=t._resolveIdle;t._resolveIdle=function(){n(),e()}}))}},{key:\"_doesIntervalAllowAnother\",get:function(){return this._isIntervalIgnored||this._intervalCount-1},at.prototype.set=function(t,e){var n=this.__data__,i=lt(n,t);return i<0?n.push([t,e]):n[i][1]=e,this},st.prototype.clear=function(){this.__data__={hash:new ot,map:new(Z||at),string:new ot}},st.prototype.delete=function(t){return yt(this,t).delete(t)},st.prototype.get=function(t){return yt(this,t).get(t)},st.prototype.has=function(t){return yt(this,t).has(t)},st.prototype.set=function(t,e){return yt(this,t).set(t,e),this},ct.prototype.clear=function(){this.__data__=new at},ct.prototype.delete=function(t){return this.__data__.delete(t)},ct.prototype.get=function(t){return this.__data__.get(t)},ct.prototype.has=function(t){return this.__data__.has(t)},ct.prototype.set=function(t,e){var n=this.__data__;if(n instanceof at){var i=n.__data__;if(!Z||i.length<199)return i.push([t,e]),this;n=this.__data__=new st(i)}return n.set(t,e),this};var gt=B?j(B,Object):function(){return[]},bt=function(t){return z.call(t)};function xt(t,e){return!!(e=null==e?9007199254740991:e)&&(\"number\"==typeof t||l.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}(t.length)&&!Et(t)}var St=V||function(){return!1};function Et(t){var e=Ct(t)?z.call(t):\"\";return e==o||e==a}function Ct(t){var e=i(t);return!!t&&(\"object\"==e||\"function\"==e)}function Tt(t){return Ot(t)?pt(t):function(t){if(!kt(t))return H(t);var e=[];for(var n in Object(t))I.call(t,n)&&\"constructor\"!=n&&e.push(n);return e}(t)}n.exports=function(t){return ft(t,!0,!0)}}).call(this,n(14),n(24)(t))},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return i}));function i(t){try{return t&&\"function\"==typeof t&&t.name||\"\"}catch(t){return\"\"}}},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return i}));var i=function(){function t(){this._hasWeakSet=\"function\"==typeof WeakSet,this._inner=this._hasWeakSet?new WeakSet:[]}return t.prototype.memoize=function(t){if(this._hasWeakSet)return!!this._inner.has(t)||(this._inner.add(t),!1);for(var e=0;e\",t);var c=a.objectGetPath(n.schemas[s],o.substr(1));if(void 0===c)throw new p(\"no such schema \"+o+\" located in <\"+s+\">\",t);return{subschema:c,switchSchema:e}},l.prototype.testType=function(t,e,n,r,o){if(\"function\"==typeof this.types[o])return this.types[o].call(this,t);if(o&&\"object\"==i(o)){var a=this.validateSchema(t,o,n,r);return void 0===a||!(a&&a.errors.length)}return!0};var d=l.prototype.types={};d.string=function(t){return\"string\"==typeof t},d.number=function(t){return\"number\"==typeof t&&isFinite(t)},d.integer=function(t){return\"number\"==typeof t&&t%1==0},d.boolean=function(t){return\"boolean\"==typeof t},d.array=function(t){return Array.isArray(t)},d.null=function(t){return null===t},d.date=function(t){return t instanceof Date},d.any=function(t){return!0},d.object=function(t){return t&&\"object\"===i(t)&&!(t instanceof Array)&&!(t instanceof Date)},t.exports=l},function(t,e,n){(function(t,i){var r;function o(t){return(o=\"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)}\n/*! https://mths.be/punycode v1.3.2 by @mathias */!function(a){var s=\"object\"==o(e)&&e&&!e.nodeType&&e,c=\"object\"==o(t)&&t&&!t.nodeType&&t,p=\"object\"==(void 0===i?\"undefined\":o(i))&&i;p.global!==p&&p.window!==p&&p.self!==p||(a=p);var u,l,f=2147483647,d=/^xn--/,m=/[^\\x20-\\x7E]/,h=/[\\x2E\\u3002\\uFF0E\\uFF61]/g,y={overflow:\"Overflow: input needs wider integers to process\",\"not-basic\":\"Illegal input >= 0x80 (not a basic code point)\",\"invalid-input\":\"Invalid input\"},v=Math.floor,g=String.fromCharCode;function b(t){throw RangeError(y[t])}function x(t,e){for(var n=t.length,i=[];n--;)i[n]=e(t[n]);return i}function k(t,e){var n=t.split(\"@\"),i=\"\";return n.length>1&&(i=n[0]+\"@\",t=n[1]),i+x((t=t.replace(h,\".\")).split(\".\"),e).join(\".\")}function w(t){for(var e,n,i=[],r=0,o=t.length;r=55296&&e<=56319&&r65535&&(e+=g((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+=g(t)})).join(\"\")}function j(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function O(t,e,n){var i=0;for(t=n?v(t/700):t>>1,t+=v(t/e);t>455;i+=36)t=v(t/35);return v(i+36*t/(t+38))}function S(t){var e,n,i,r,o,a,s,c,p,u,l,d=[],m=t.length,h=0,y=128,g=72;for((n=t.lastIndexOf(\"-\"))<0&&(n=0),i=0;i=128&&b(\"not-basic\"),d.push(t.charCodeAt(i));for(r=n>0?n+1:0;r=m&&b(\"invalid-input\"),((c=(l=t.charCodeAt(r++))-48<10?l-22:l-65<26?l-65:l-97<26?l-97:36)>=36||c>v((f-h)/a))&&b(\"overflow\"),h+=c*a,!(c<(p=s<=g?1:s>=g+26?26:s-g));s+=36)a>v(f/(u=36-p))&&b(\"overflow\"),a*=u;g=O(h-o,e=d.length+1,0==o),v(h/e)>f-y&&b(\"overflow\"),y+=v(h/e),h%=e,d.splice(h++,0,y)}return _(d)}function E(t){var e,n,i,r,o,a,s,c,p,u,l,d,m,h,y,x=[];for(d=(t=w(t)).length,e=128,n=0,o=72,a=0;a=e&&lv((f-n)/(m=i+1))&&b(\"overflow\"),n+=(s-e)*m,e=s,a=0;af&&b(\"overflow\"),l==e){for(c=n,p=36;!(c<(u=p<=o?1:p>=o+26?26:p-o));p+=36)y=c-u,h=36-u,x.push(g(j(u+y%h,0))),c=v(y/h);x.push(g(j(c,0))),o=O(n,m,i==r),n=0,++i}++n,++e}return x.join(\"\")}if(u={version:\"1.3.2\",ucs2:{decode:w,encode:_},decode:S,encode:E,toASCII:function(t){return k(t,(function(t){return m.test(t)?\"xn--\"+E(t):t}))},toUnicode:function(t){return k(t,(function(t){return d.test(t)?S(t.slice(4).toLowerCase()):t}))}},\"object\"==o(n(25))&&n(25))void 0===(r=function(){return u}.call(e,n,e,t))||(t.exports=r);else if(s&&c)if(t.exports==s)c.exports=u;else for(l in u)u.hasOwnProperty(l)&&(s[l]=u[l]);else a.punycode=u}(this)}).call(this,n(24)(t),n(14))},function(t,e,n){\"use strict\";function i(t){return(i=\"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)}t.exports={isString:function(t){return\"string\"==typeof t},isObject:function(t){return\"object\"===i(t)&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},function(t,e,n){\"use strict\";e.decode=e.parse=n(38),e.encode=e.stringify=n(39)},function(t,e,n){\"use strict\";function i(t,e){return Object.prototype.hasOwnProperty.call(t,e)}t.exports=function(t,e,n,o){e=e||\"&\",n=n||\"=\";var a={};if(\"string\"!=typeof t||0===t.length)return a;var s=/\\+/g;t=t.split(e);var c=1e3;o&&\"number\"==typeof o.maxKeys&&(c=o.maxKeys);var p=t.length;c>0&&p>c&&(p=c);for(var u=0;u=0?(l=h.substr(0,y),f=h.substr(y+1)):(l=h,f=\"\"),d=decodeURIComponent(l),m=decodeURIComponent(f),i(a,d)?r(a[d])?a[d].push(m):a[d]=[a[d],m]:a[d]=m}return a};var r=Array.isArray||function(t){return\"[object Array]\"===Object.prototype.toString.call(t)}},function(t,e,n){\"use strict\";function i(t){return(i=\"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)}var r=function(t){switch(i(t)){case\"string\":return t;case\"boolean\":return t?\"true\":\"false\";case\"number\":return isFinite(t)?t:\"\";default:return\"\"}};t.exports=function(t,e,n,c){return e=e||\"&\",n=n||\"=\",null===t&&(t=void 0),\"object\"===i(t)?a(s(t),(function(i){var s=encodeURIComponent(r(i))+n;return o(t[i])?a(t[i],(function(t){return s+encodeURIComponent(r(t))})).join(e):s+encodeURIComponent(r(t[i]))})).join(e):c?encodeURIComponent(r(c))+n+encodeURIComponent(r(t)):\"\"};var o=Array.isArray||function(t){return\"[object Array]\"===Object.prototype.toString.call(t)};function a(t,e){if(t.map)return t.map(e);for(var n=[],i=0;i\"||t+\"\"}));o.addError({name:\"type\",argument:s,message:\"is not of a type(s) \"+s})}return o},s.anyOf=function(t,e,n,i){if(void 0===t)return null;var a=new r(t,e,n,i),s=new r(t,e,n,i);if(!Array.isArray(e.anyOf))throw new o(\"anyOf must be an array\");if(!e.anyOf.some(c.bind(this,t,n,i,(function(t){s.importErrors(t)})))){var p=e.anyOf.map((function(t,e){return t.id&&\"<\"+t.id+\">\"||t.title&&JSON.stringify(t.title)||t.$ref&&\"<\"+t.$ref+\">\"||\"[subschema \"+e+\"]\"}));n.nestedErrors&&a.importErrors(s),a.addError({name:\"anyOf\",argument:p,message:\"is not any of \"+p.join(\",\")})}return a},s.allOf=function(t,e,n,i){if(void 0===t)return null;if(!Array.isArray(e.allOf))throw new o(\"allOf must be an array\");var a=new r(t,e,n,i),s=this;return e.allOf.forEach((function(e,r){var o=s.validateSchema(t,e,n,i);if(!o.valid){var c=e.id&&\"<\"+e.id+\">\"||e.title&&JSON.stringify(e.title)||e.$ref&&\"<\"+e.$ref+\">\"||\"[subschema \"+r+\"]\";a.addError({name:\"allOf\",argument:{id:c,length:o.errors.length,valid:o},message:\"does not match allOf schema \"+c+\" with \"+o.errors.length+\" error[s]:\"}),a.importErrors(o)}})),a},s.oneOf=function(t,e,n,i){if(void 0===t)return null;if(!Array.isArray(e.oneOf))throw new o(\"oneOf must be an array\");var a=new r(t,e,n,i),s=new r(t,e,n,i),p=e.oneOf.filter(c.bind(this,t,n,i,(function(t){s.importErrors(t)}))).length,u=e.oneOf.map((function(t,e){return t.id&&\"<\"+t.id+\">\"||t.title&&JSON.stringify(t.title)||t.$ref&&\"<\"+t.$ref+\">\"||\"[subschema \"+e+\"]\"}));return 1!==p&&(n.nestedErrors&&a.importErrors(s),a.addError({name:\"oneOf\",argument:u,message:\"is not exactly one from \"+u.join(\",\")})),a},s.properties=function(t,e,n,i){if(this.types.object(t)){var o=new r(t,e,n,i),a=e.properties||{};for(var s in a){\"function\"==typeof n.preValidateProperty&&n.preValidateProperty(t,s,a[s],n,i);var c=Object.hasOwnProperty.call(t,s)?t[s]:void 0,p=this.validateSchema(c,a[s],n,i.makeChild(a[s],s));p.instance!==o.instance[s]&&(o.instance[s]=p.instance),o.importErrors(p)}return o}},s.patternProperties=function(t,e,n,i){if(this.types.object(t)){var o=new r(t,e,n,i),a=e.patternProperties||{};for(var s in t){var c=!0;for(var u in a){if(new RegExp(u).test(s)){c=!1,\"function\"==typeof n.preValidateProperty&&n.preValidateProperty(t,s,a[u],n,i);var l=this.validateSchema(t[s],a[u],n,i.makeChild(a[u],s));l.instance!==o.instance[s]&&(o.instance[s]=l.instance),o.importErrors(l)}}c&&p.call(this,t,e,n,i,s,o)}return o}},s.additionalProperties=function(t,e,n,i){if(this.types.object(t)){if(e.patternProperties)return null;var o=new r(t,e,n,i);for(var a in t)p.call(this,t,e,n,i,a,o);return o}},s.minProperties=function(t,e,n,i){if(this.types.object(t)){var o=new r(t,e,n,i);return Object.keys(t).length>=e.minProperties||o.addError({name:\"minProperties\",argument:e.minProperties,message:\"does not meet minimum property length of \"+e.minProperties}),o}},s.maxProperties=function(t,e,n,i){if(this.types.object(t)){var o=new r(t,e,n,i);return Object.keys(t).length<=e.maxProperties||o.addError({name:\"maxProperties\",argument:e.maxProperties,message:\"does not meet maximum property length of \"+e.maxProperties}),o}},s.items=function(t,e,n,i){var o=this;if(this.types.array(t)&&e.items){var a=new r(t,e,n,i);return t.every((function(t,r){var s=Array.isArray(e.items)?e.items[r]||e.additionalItems:e.items;if(void 0===s)return!0;if(!1===s)return a.addError({name:\"items\",message:\"additionalItems not permitted\"}),!1;var c=o.validateSchema(t,s,n,i.makeChild(s,r));return c.instance!==a.instance[r]&&(a.instance[r]=c.instance),a.importErrors(c),!0})),a}},s.minimum=function(t,e,n,i){if(this.types.number(t)){var o=new r(t,e,n,i);return(e.exclusiveMinimum&&!0===e.exclusiveMinimum?t>e.minimum:t>=e.minimum)||o.addError({name:\"minimum\",argument:e.minimum,message:\"must have a minimum value of \"+e.minimum}),o}},s.maximum=function(t,e,n,i){if(this.types.number(t)){var o=new r(t,e,n,i);return(e.exclusiveMaximum&&!0===e.exclusiveMaximum?t=e.minLength||o.addError({name:\"minLength\",argument:e.minLength,message:\"does not meet minimum length of \"+e.minLength}),o}},s.maxLength=function(t,e,n,i){if(this.types.string(t)){var o=new r(t,e,n,i),a=t.match(/[\\uDC00-\\uDFFF]/g);return t.length-(a?a.length:0)<=e.maxLength||o.addError({name:\"maxLength\",argument:e.maxLength,message:\"does not meet maximum length of \"+e.maxLength}),o}},s.minItems=function(t,e,n,i){if(this.types.array(t)){var o=new r(t,e,n,i);return t.length>=e.minItems||o.addError({name:\"minItems\",argument:e.minItems,message:\"does not meet minimum length of \"+e.minItems}),o}},s.maxItems=function(t,e,n,i){if(this.types.array(t)){var o=new r(t,e,n,i);return t.length<=e.maxItems||o.addError({name:\"maxItems\",argument:e.maxItems,message:\"does not meet maximum length of \"+e.maxItems}),o}},s.uniqueItems=function(t,e,n,o){if(this.types.array(t)){var a=new r(t,e,n,o);return t.every((function(t,e,n){for(var r=e+1;r\"||r;a.addError({name:\"not\",argument:s,message:\"is of prohibited type \"+s})}})),a):null},t.exports=a},function(t,e,n){function i(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e=1.5*n;return Math.round(t/n)+\" \"+i+(r?\"s\":\"\")}t.exports=function(t,e){e=e||{};var c=n(t);if(\"string\"===c&&t.length>0)return function(t){if((t=String(t)).length>100)return;var e=/^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(!e)return;var n=parseFloat(e[1]);switch((e[2]||\"ms\").toLowerCase()){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return 315576e5*n;case\"weeks\":case\"week\":case\"w\":return 6048e5*n;case\"days\":case\"day\":case\"d\":return n*a;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return n*o;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return n*r;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return n*i;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return n;default:return}}(t);if(\"number\"===c&&isFinite(t))return e.long?function(t){var e=Math.abs(t);if(e>=a)return s(t,e,a,\"day\");if(e>=o)return s(t,e,o,\"hour\");if(e>=r)return s(t,e,r,\"minute\");if(e>=i)return s(t,e,i,\"second\");return t+\" ms\"}(t):function(t){var e=Math.abs(t);if(e>=a)return Math.round(t/a)+\"d\";if(e>=o)return Math.round(t/o)+\"h\";if(e>=r)return Math.round(t/r)+\"m\";if(e>=i)return Math.round(t/i)+\"s\";return t+\"ms\"}(t);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(t))}},function(t,e,n){\"use strict\";n.r(e),n.d(e,\"XhrAdapter\",(function(){return l}));var i=n(0),r=n(3),o=n.n(r),a=n(5),s=n(6),c=n(2),p=n(11),u=o()(\"fs:request:xhr\"),l=function(){function t(){}return t.prototype.request=function(t){var e=this;void 0===t.filestackHeaders&&(t.filestackHeaders=!0),(t=Object(p.d)(t)).headers=t.headers||{};var n=t.data,r=t.headers;a.e(n)&&delete r[\"Content-Type\"];var o=new XMLHttpRequest;if(t.blobResponse&&(o.responseType=\"blob\"),t.auth){if(!t.auth.username||0===t.auth.username.length||!t.auth.password||0===t.auth.password.length)return Promise.reject(new c.a(\"Basic auth: username and password are required \"+t.auth,t));r.Authorization=\"Basic \"+btoa(unescape(encodeURIComponent(t.auth.username+\":\"+t.auth.password))),u(\"Set request authorization to %s\",t.auth.username+t.auth.password)}var l=t.url.trim();return/^http(s)?:\\/\\//.test(l)||(l=\"https://\"+l),l=Object(p.a)(l,t.params),u(\"Starting request to %s with options %O\",l,t),o.open(t.method.toUpperCase(),l,!0),o.timeout=t.timeout,new Promise((function(a,f){var d;if(t.cancelToken&&(d=t.cancelToken.once(\"cancel\",(function(e){return o&&(o.abort(),o=null),u(\"Request canceled by user %s, config: %O\",e,t),f(new c.a(\"Request aborted. Reason: \"+e,t,null,c.b.ABORTED))}))),o.onreadystatechange=function(){return Object(i.b)(e,void 0,void 0,(function(){var e,n,r;return Object(i.d)(this,(function(i){switch(i.label){case 0:return o&&4===o.readyState&&(0!==o.status||o.responseURL)?(e=Object(p.b)(o.getAllResponseHeaders()),n=o.response,r={data:n,status:o.status,statusText:o.statusText,headers:e,config:t},o=null,[4,Object(p.c)(r)]):[2];case 1:return 500<=(r=i.sent()).status&&r.status<=599?(u(\"Server error(5xx) - %O\",r),[2,f(new c.a(\"Server error \"+l,t,r,c.b.SERVER))]):400<=r.status&&r.status<=499?(u(\"Request error(4xx) - %O\",r),[2,f(new c.a(\"Request error \"+l,t,r,c.b.REQUEST))]):(t.cancelToken&&t.cancelToken.removeListener(d),[2,a(r)])}}))}))},o.onabort=function(){o&&(o=null,f(new c.a(\"Request aborted\",t,null,c.b.ABORTED)))},o.onerror=function(e){o=null,u(\"Request error! %O\",e),f(new c.a(\"Network Error\",t,null,c.b.NETWORK))},o.ontimeout=function(){o=null,u(\"Request timed out. %O\",t),f(new c.a(\"Request timeout\",t,null,c.b.TIMEOUT))},\"setRequestHeader\"in o&&r&&Object.keys(r).length)for(var m in r)void 0!==r[m]&&(u(\"Set request header %s to %s\",m,r[m]),o.setRequestHeader(m,r[m]));\"function\"==typeof t.onProgress&&[s.a.POST,s.a.PUT].indexOf(t.method)>-1&&(o.upload?(u(\"Bind to upload progress event\"),o.upload.addEventListener(\"progress\",t.onProgress)):(u(\"Bind to progress event\"),o.addEventListener(\"progress\",t.onProgress))),void 0===n&&(n=null),o.send(n)}))},t}()},function(t,e,n){\"use strict\";function i(t){return(i=\"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)}var r=n(7);e.convertToJson=function t(e,n){var o={};if(!(e.child&&!r.isEmptyObject(e.child)||e.attrsMap&&!r.isEmptyObject(e.attrsMap)))return r.isExist(e.val)?e.val:\"\";r.isExist(e.val)&&(\"string\"!=typeof e.val||\"\"!==e.val&&e.val!==n.cdataPositionChar)&&(\"strict\"===n.arrayMode?o[n.textNodeName]=[e.val]:o[n.textNodeName]=e.val),r.merge(o,e.attrsMap,n.arrayMode);for(var a=Object.keys(e.child),s=0;s1)for(var p in o[c]=[],e.child[c])o[c].push(t(e.child[c][p],n));else if(!0===n.arrayMode){var u=t(e.child[c][0],n);\"object\"===i(u)?o[c]=[u]:o[c]=u}else\"strict\"===n.arrayMode?o[c]=[t(e.child[c][0],n)]:o[c]=t(e.child[c][0],n)}return o}},function(t,e,n){\"use strict\";t.exports=function(t,e,n){this.tagname=t,this.parent=e,this.child={},this.attrsMap={},this.val=n,this.addChild=function(t){Array.isArray(this.child[t.tagname])?this.child[t.tagname].push(t):this.child[t.tagname]=[t]}}},function(t,e,n){\"use strict\";var i=n(7),r={allowBooleanAttributes:!1},o=[\"allowBooleanAttributes\"];function a(t,e){for(var n=e;e5&&\"xml\"===i)return f(\"InvalidXml\",\"XML declaration allowed only at the start of the document.\",m(t,e));if(\"?\"==t[e]&&\">\"==t[e+1]){e++;break}}return e}function s(t,e){if(t.length>e+5&&\"-\"===t[e+1]&&\"-\"===t[e+2]){for(e+=3;e\"===t[e+2]){e+=2;break}}else if(t.length>e+8&&\"D\"===t[e+1]&&\"O\"===t[e+2]&&\"C\"===t[e+3]&&\"T\"===t[e+4]&&\"Y\"===t[e+5]&&\"P\"===t[e+6]&&\"E\"===t[e+7]){var n=1;for(e+=8;e\"===t[e]&&0===--n)break}else if(t.length>e+9&&\"[\"===t[e+1]&&\"C\"===t[e+2]&&\"D\"===t[e+3]&&\"A\"===t[e+4]&&\"T\"===t[e+5]&&\"A\"===t[e+6]&&\"[\"===t[e+7])for(e+=8;e\"===t[e+2]){e+=2;break}return e}e.validate=function(t,e){e=i.buildOptions(e,r,o);var n,p=[],d=!1,h=!1;\"\\ufeff\"===t[0]&&(t=t.substr(1));for(var y=0;y\"!==t[y]&&\" \"!==t[y]&&\"\\t\"!==t[y]&&\"\\n\"!==t[y]&&\"\\r\"!==t[y];y++)g+=t[y];if(\"/\"===(g=g.trim())[g.length-1]&&(g=g.substring(0,g.length-1),y--),n=g,!i.isName(n)){return f(\"InvalidTag\",0===g.trim().length?\"There is an unnecessary space between tag name and backward slash '0)return f(\"InvalidTag\",\"Closing tag '\".concat(g,\"' can't have attributes or invalid starting.\"),m(t,y));var w=p.pop();if(g!==w)return f(\"InvalidTag\",\"Closing tag '\".concat(w,\"' is expected inplace of '\").concat(g,\"'.\"),m(t,y));0==p.length&&(h=!0)}else{var _=u(x,e);if(!0!==_)return f(_.err.code,_.err.msg,m(t,y-x.length+_.err.line));if(!0===h)return f(\"InvalidXml\",\"Multiple possible root nodes found.\",m(t,y));p.push(g),d=!0}for(y++;y0)||f(\"InvalidXml\",\"Invalid '\".concat(JSON.stringify(p,null,4).replace(/\\r?\\n/g,\"\"),\"' found.\"),1):f(\"InvalidXml\",\"Start tag expected.\",1)};function c(t,e){for(var n=\"\",i=\"\",r=!1;e\"===t[e]&&\"\"===i){r=!0;break}n+=t[e]}return\"\"===i&&{value:n,index:e,tagClosed:r}}var p=new RegExp(\"(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\\\"])(([\\\\s\\\\S])*?)\\\\5)?\",\"g\");function u(t,e){for(var n=i.getAllMatches(t,p),r={},o=0;o1){for(var u in a+='\"'+p+'\" : [ ',e.child[p])a+=t(e.child[p][u],n)+\" , \";a=a.substr(0,a.length-1)+\" ] \"}else a+='\"'+p+'\" : '+t(e.child[p][0],n)+\" ,\"}return i.merge(a,e.attrsMap),i.isEmptyObject(a)?i.isExist(e.val)?e.val:\"\":(i.isExist(e.val)&&(\"string\"!=typeof e.val||\"\"!==e.val&&e.val!==n.cdataPositionChar)&&(a+='\"'+n.textNodeName+'\" : '+(!0!==(o=e.val)&&!1!==o&&isNaN(o)?'\"'+o+'\"':o)),\",\"===a[a.length-1]&&(a=a.substr(0,a.length-2)),a+\"}\")};e.convertToJsonString=function(t,e){return(e=r(e,o.defaultOptions,o.props)).indentBy=e.indentBy||\"\",a(t,e,0)}},function(t,e,n){\"use strict\";function i(t){return(i=\"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)}var r=n(7).buildOptions,o={attributeNamePrefix:\"@_\",attrNodeName:!1,textNodeName:\"#text\",ignoreAttributes:!0,cdataTagName:!1,cdataPositionChar:\"\\\\c\",format:!1,indentBy:\" \",supressEmptyNode:!1,tagValueProcessor:function(t){return t},attrValueProcessor:function(t){return t}},a=[\"attributeNamePrefix\",\"attrNodeName\",\"textNodeName\",\"ignoreAttributes\",\"cdataTagName\",\"cdataPositionChar\",\"format\",\"indentBy\",\"supressEmptyNode\",\"tagValueProcessor\",\"attrValueProcessor\"];function s(t){this.options=r(t,o,a),this.options.ignoreAttributes||this.options.attrNodeName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=h),this.options.cdataTagName?this.isCDATA=y:this.isCDATA=function(){return!1},this.replaceCDATAstr=c,this.replaceCDATAarr=p,this.options.format?(this.indentate=m,this.tagEndChar=\">\\n\",this.newLine=\"\\n\"):(this.indentate=function(){return\"\"},this.tagEndChar=\">\",this.newLine=\"\"),this.options.supressEmptyNode?(this.buildTextNode=d,this.buildObjNode=l):(this.buildTextNode=f,this.buildObjNode=u),this.buildTextValNode=f,this.buildObjectNode=u}function c(t,e){return t=this.options.tagValueProcessor(\"\"+t),\"\"===this.options.cdataPositionChar||\"\"===t?t+\"\");return t+this.newLine}function u(t,e,n,i){return n&&!t.includes(\"<\")?this.indentate(i)+\"<\"+e+n+\">\"+t+\"\"+this.options.tagValueProcessor(t)+\"=0?Object(l.e)(this._breadcrumbs,[n]).slice(-e):Object(l.e)(this._breadcrumbs,[n]),this._notifyScopeListeners(),this},t.prototype.clearBreadcrumbs=function(){return this._breadcrumbs=[],this._notifyScopeListeners(),this},t.prototype.applyToEvent=function(t,e){var n;if(this._extra&&Object.keys(this._extra).length&&(t.extra=Object(l.a)(Object(l.a)({},this._extra),t.extra)),this._tags&&Object.keys(this._tags).length&&(t.tags=Object(l.a)(Object(l.a)({},this._tags),t.tags)),this._user&&Object.keys(this._user).length&&(t.user=Object(l.a)(Object(l.a)({},this._user),t.user)),this._contexts&&Object.keys(this._contexts).length&&(t.contexts=Object(l.a)(Object(l.a)({},this._contexts),t.contexts)),this._level&&(t.level=this._level),this._transactionName&&(t.transaction=this._transactionName),this._span){t.contexts=Object(l.a)({trace:this._span.getTraceContext()},t.contexts);var i=null===(n=this._span.transaction)||void 0===n?void 0:n.name;i&&(t.tags=Object(l.a)({transaction:i},t.tags))}return this._applyFingerprint(t),t.breadcrumbs=Object(l.e)(t.breadcrumbs||[],this._breadcrumbs),t.breadcrumbs=t.breadcrumbs.length>0?t.breadcrumbs:void 0,this._notifyEventProcessors(Object(l.e)(j(),this._eventProcessors),t,e)},t.prototype._notifyEventProcessors=function(t,e,n,i){var r=this;return void 0===i&&(i=0),new w((function(o,a){var s=t[i];if(null===e||\"function\"!=typeof s)o(e);else{var c=s(Object(l.a)({},e),n);Object(k.j)(c)?c.then((function(e){return r._notifyEventProcessors(t,e,n,i+1).then(o)})).then(null,a):r._notifyEventProcessors(t,c,n,i+1).then(o).then(null,a)}}))},t.prototype._notifyScopeListeners=function(){var t=this;this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach((function(e){e(t)})),this._notifyingListeners=!1)},t.prototype._applyFingerprint=function(t){t.fingerprint=t.fingerprint?Array.isArray(t.fingerprint)?t.fingerprint:[t.fingerprint]:[],this._fingerprint&&(t.fingerprint=t.fingerprint.concat(this._fingerprint)),t.fingerprint&&!t.fingerprint.length&&delete t.fingerprint},t}();function j(){var t=Object(d.b)();return t.__SENTRY__=t.__SENTRY__||{},t.__SENTRY__.globalEventProcessors=t.__SENTRY__.globalEventProcessors||[],t.__SENTRY__.globalEventProcessors}var O=n(55),S=function(){function t(t){this.errors=0,this.sid=Object(d.c)(),this.timestamp=Date.now(),this.started=Date.now(),this.duration=0,this.status=r.Ok,this.init=!0,t&&this.update(t)}return t.prototype.update=function(t){void 0===t&&(t={}),t.user&&(t.user.ip_address&&(this.ipAddress=t.user.ip_address),t.did||(this.did=t.user.id||t.user.email||t.user.username)),this.timestamp=t.timestamp||Date.now(),t.sid&&(this.sid=32===t.sid.length?t.sid:Object(d.c)()),void 0!==t.init&&(this.init=t.init),t.did&&(this.did=\"\"+t.did),\"number\"==typeof t.started&&(this.started=t.started),\"number\"==typeof t.duration?this.duration=t.duration:this.duration=this.timestamp-this.started,t.release&&(this.release=t.release),t.environment&&(this.environment=t.environment),t.ipAddress&&(this.ipAddress=t.ipAddress),t.userAgent&&(this.userAgent=t.userAgent),\"number\"==typeof t.errors&&(this.errors=t.errors),t.status&&(this.status=t.status)},t.prototype.close=function(t){t?this.update({status:t}):this.status===r.Ok?this.update({status:r.Exited}):this.update()},t.prototype.toJSON=function(){return Object(O.a)({sid:\"\"+this.sid,init:this.init,started:new Date(this.started).toISOString(),timestamp:new Date(this.timestamp).toISOString(),status:this.status,errors:this.errors,did:\"number\"==typeof this.did||\"string\"==typeof this.did?\"\"+this.did:void 0,duration:this.duration,attrs:Object(O.a)({release:this.release,environment:this.environment,ip_address:this.ipAddress,user_agent:this.userAgent})})},t}(),E=function(){function t(t,e,n){void 0===e&&(e=new _),void 0===n&&(n=3),this._version=n,this._stack=[{}],this.getStackTop().scope=e,this.bindClient(t)}return t.prototype.isOlderThan=function(t){return this._version-1};var V=function(t){return function(e){return B.addSchema(L),B.validate(e,t)}},H=n(1),W=n(3),Z=n.n(W);function J(t){return(J=\"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)}var Y,Q,G,K,X,tt,et,nt,it,rt,ot,at,st,ct,pt,ut,lt,ft,dt=Z()(\"fs:filelink\");!function(t){t.left=\"left\",t.right=\"right\",t.center=\"center\",t.bottom=\"bottom\",t.top=\"top\",t.faces=\"faces\",t.middle=\"middle\"}(Y||(Y={})),function(t){t.clip=\"clip\",t.crop=\"crop\",t.scale=\"scale\",t.max=\"max\"}(Q||(Q={})),function(t){t.linear=\"linear\",t.gaussian=\"gaussian\"}(G||(G={})),function(t){t.oval=\"oval\",t.rect=\"rect\"}(K||(K={})),function(t){t.none=\"none\",t.low=\"low\",t.medium=\"medium\",t.high=\"high\"}(X||(X={})),function(t){t.artwork=\"artwork\",t.photo=\"photo\"}(tt||(tt={})),function(t){t.RGB=\"RGB\",t.CMYK=\"CMYK\",t.Input=\"Input\"}(et||(et={})),function(t){t.thumb=\"thumb\",t.crop=\"crop\",t.fill=\"fill\"}(nt||(nt={})),function(t){t.top=\"top\",t.middle=\"middle\",t.bottom=\"bottom\",t.left=\"left\",t.center=\"center\",t.right=\"right\"}(it||(it={})),function(t){t.face=\"face\",t.auto=\"auto\"}(rt||(rt={})),function(t){t.h264=\"h264\",t.h264_hi=\"h264.hi\",t.webm=\"webm\",t[\"webm-hi\"]=\"webm.hi\",t.ogg=\"ogg\",t[\"ogg-hi\"]=\"ogg.hi\",t[\"hls-variant\"]=\"hls.variant\",t.mp3=\"mp3\",t.oga=\"oga\",t.m4a=\"m4a\",t.aac=\"aac\",t.hls=\"hls.variant.audio\"}(ot||(ot={})),function(t){t.desktop=\"desktop\",t.mobile=\"mobile\"}(at||(at={})),function(t){t.all=\"all\",t.window=\"window\"}(st||(st={})),function(t){t.portrait=\"portrait\",t.landscape=\"landscape\"}(ct||(ct={})),function(t){t.s3=\"s3\",t.azure=\"azure\",t.gcs=\"gcs\",t.rackspace=\"rackspace\",t.dropbox=\"dropbox\"}(pt||(pt={})),function(t){t.private=\"private\",t.public=\"public\"}(ut||(ut={})),function(t){t.preserve=\"preserve\",t.constrain=\"constrain\",t.letterbox=\"letterbox\",t.pad=\"pad\",t.crop=\"crop\"}(lt||(lt={})),function(t){t.auto=\"auto\",t.vivid=\"vivid\",t.beautify=\"beautify\",t.beautifyPlus=\"beautify_plus\",t.fixDark=\"fix_dark\",t.fixNoise=\"fix_noise\",t.fixTint=\"fix_tint\",t.outdor=\"outdoor\",t.fireworks=\"fireworks\"}(ft||(ft={}));var mt=/^[\\w\\-]{20}|wf:\\/\\/[\\w\\-\\/]{106}$/,ht=function(){function t(t,e){this.transforms=[],this.b64=!1,this.useValidator=!0,this.arrayToObject=function(t,e,n){return void 0===t&&(t=[]),t.reduce((function(t,i){return t[i[e]]=i[n],t}),{})},this.apikey=e,this.setSource(t)}return t.prototype.setBase64=function(t){return this.b64=t,this},t.prototype.setUseValidator=function(t){return this.useValidator=t,this},t.prototype.setCname=function(t){return this.cname=t,this},t.prototype.setCustomDomain=function(t){return this.customDomain=t,this},t.prototype.setSource=function(t){this.source=t;var e=this.isSourceExternal();if(dt(\"Source \"+t+\" - isExternal? \"+e),e&&!this.apikey)throw new q(\"External sources requires apikey to handle transforms\");if(!e&&\"string\"==typeof this.source&&!mt.test(this.source)&&-1===this.source.indexOf(\"filestackcontent\"))throw new q(\"Invalid filestack source provided\")},t.prototype.getValidationSchema=function(){return U},t.prototype.getTransformations=function(){return this.useValidator&&this.validateTasks(this.transforms),this.transforms},t.prototype.toString=function(){var t=[];t.push(this.getCdnHost()),this.useValidator&&this.validateTasks(this.transforms),this.apikey&&t.push(this.apikey);var e=this.generateTransformString(),n=this.source;return this.b64?(this.transforms.length>0&&(e=\"b64/\"+Object(H.b64)(JSON.stringify(this.transforms),!0)),Array.isArray(n)&&(n=this.arrayToString(n)),n=\"b64://\"+Object(H.b64)(n,!0)):n=Array.isArray(n)?this.arrayToString(n):this.escapeValue(n),e.length&&t.push(e),t.push(n),t.join(\"/\")},t.prototype.addTask=function(t,e){if(Z()(\"Add task \"+t+\" with params %O\",e),\"cache\"!==t&&\"boolean\"==typeof e){if(!e)return this;e=void 0}else\"object\"!==J(e)||Object.keys(e).length||(e=void 0);return this.transforms.push({name:t,params:e}),this},t.prototype.getTasks=function(){return this.transforms},t.prototype.reset=function(){return this.transforms=[],this},t.prototype.autoImage=function(){return this.addTask(\"auto_image\",!0)},t.prototype.flip=function(){return this.addTask(\"flip\",!0)},t.prototype.flop=function(){return this.addTask(\"flop\",!0)},t.prototype.imagesize=function(){return this.addTask(\"imagesize\",!0)},t.prototype.noMetadata=function(){return this.addTask(\"no_metadata\",!0)},t.prototype.pjpg=function(t){return this.addTask(\"pjpg\",t)},t.prototype.smartCrop=function(t){return this.addTask(\"smart_crop\",t)},t.prototype.watermark=function(t){return this.addTask(\"watermark\",t)},t.prototype.enhance=function(t){return this.addTask(\"enhance\",t||!0)},t.prototype.redeye=function(){return this.addTask(\"redeye\",!0)},t.prototype.monochrome=function(){return this.addTask(\"monochrome\",!0)},t.prototype.compress=function(t){return this.addTask(\"compress\",t||!0)},t.prototype.negative=function(){return this.addTask(\"negative\",!0)},t.prototype.tags=function(){return this.addTask(\"tags\",!0)},t.prototype.sfw=function(){return this.addTask(\"sfw\",!0)},t.prototype.animate=function(t){return this.addTask(\"animate\",t)},t.prototype.store=function(t){return this.addTask(\"store\",t)},t.prototype.cache=function(t){return this.addTask(\"cache\",t)},t.prototype.resize=function(t){return this.addTask(\"resize\",t)},t.prototype.crop=function(t){return this.addTask(\"crop\",t)},t.prototype.rotate=function(t){return this.addTask(\"rotate\",t)},t.prototype.detectFaces=function(t){return this.addTask(\"detect_faces\",t)},t.prototype.cropFaces=function(t){return this.addTask(\"crop_faces\",t)},t.prototype.pixelateFaces=function(t){return this.addTask(\"pixelate_faces\",t)},t.prototype.blurFaces=function(t){return this.addTask(\"blur_faces\",t)},t.prototype.roundedCorners=function(t){return this.addTask(\"rounded_corners\",t)},t.prototype.polaroid=function(t){return this.addTask(\"polaroid\",t)},t.prototype.vignette=function(t){return this.addTask(\"vignette\",t)},t.prototype.tornEdges=function(t){return this.addTask(\"torn_edges\",t)},t.prototype.shadow=function(t){return this.addTask(\"shadow\",t)},t.prototype.circle=function(t){return this.addTask(\"circle\",t)},t.prototype.border=function(t){return this.addTask(\"border\",t)},t.prototype.sharpen=function(t){return this.addTask(\"sharpen\",t)},t.prototype.blur=function(t){return this.addTask(\"blur\",t)},t.prototype.blackwhite=function(t){return this.addTask(\"blackwhite\",t)},t.prototype.sepia=function(t){return this.addTask(\"sepia\",t)},t.prototype.pixelate=function(t){return this.addTask(\"pixelate\",t)},t.prototype.oilPaint=function(t){return this.addTask(\"oil_paint\",t)},t.prototype.modulate=function(t){return this.addTask(\"modulate\",t)},t.prototype.partialPixelate=function(t){return this.addTask(\"partial_pixelate\",t)},t.prototype.partialBlur=function(t){return this.addTask(\"partial_blur\",t)},t.prototype.collage=function(t){return this.addTask(\"collage\",t)},t.prototype.upscale=function(t){return this.addTask(\"upscale\",t)},t.prototype.ascii=function(t){return this.addTask(\"ascii\",t)},t.prototype.quality=function(t){return this.addTask(\"quality\",t)},t.prototype.security=function(t){return this.addTask(\"security\",t)},t.prototype.output=function(t){return this.addTask(\"output\",t)},t.prototype.videoConvert=function(t){return this.addTask(\"video_convert\",t)},t.prototype.URLScreenshot=function(t){return this.addTask(\"urlscreenshot\",t)},t.prototype.PDFInfo=function(t){return this.addTask(\"pdfinfo\",t)},t.prototype.PDFConvert=function(t){return this.addTask(\"pdfconvert\",t)},t.prototype.fallback=function(t){return this.addTask(\"fallback\",t)},t.prototype.zip=function(){return this.addTask(\"zip\",!0)},t.prototype.minifyCss=function(t){return this.addTask(\"minify_css\",t)},t.prototype.minifyJs=function(t){return this.addTask(\"minify_js\",t)},t.prototype.isSourceExternal=function(){if(!this.source)throw new q(\"Source not Set\");var t=Array.isArray(this.source)?this.source:[this.source];for(var e in t)if(t.hasOwnProperty(e)&&(0===t[e].indexOf(\"src:\")||0===t[e].indexOf(\"http\")&&-1===t[e].indexOf(\"filestackcontent\")))return!0;return!1},t.prototype.validateTasks=function(e){var n=t.validator(this.arrayToObject(e,\"name\",\"params\"));if(n.errors.length)throw new q(\"Params validation error\",n.errors,R.VALIDATION)},t.prototype.getCdnHost=function(){var t=Object.assign({},$.urls);return this.customDomain&&(t.cdnUrl=this.customDomain),(t=Object(H.resolveHost)(t,this.cname)).cdnUrl},t.prototype.generateTransformString=function(){var t=this,e=[];return this.transforms.forEach((function(n){e.push(t.optionToString(n.name,n.params))})),e.join(\"/\")},t.prototype.optionToString=function(t,e){var n=this,i=[];return void 0===e?t:\"boolean\"==typeof e?e||\"cache\"!==t?t:\"cache=false\":(Object.keys(e).forEach((function(t){Array.isArray(e[t])?i.push(t+\":\"+n.arrayToString(e[t])):i.push(t+\":\"+n.escapeValue(e[t]))})),t+\"=\"+i.join(\",\"))},t.prototype.escapeValue=function(t){return\"string\"!=typeof t?t:t.indexOf(\"/\")>-1||t.indexOf(\",\")>-1?'\"'+t+'\"':t},t.prototype.arrayToString=function(t){var e=this;return\"[\"+t.map((function(t){return Array.isArray(t)?e.arrayToString(t):e.escapeValue(t)}))+\"]\"},t.validator=V(U),t}(),yt={$schema:\"http://json-schema.org/draft-07/schema#\",title:\"Filestack Store\",description:\"Filestack Store Options\",type:\"object\",additionalProperties:!1,properties:{filename:{oneOf:[{type:\"string\"},{format:\"callback\"}]},location:{$ref:\"locationsDef\"},path:{type:\"string\"},container:{type:\"string\"},region:{$ref:\"regionsDef\"},access:{type:\"string\",enum:[\"public\",\"private\"],default:\"private\"},base64decode:{type:\"boolean\"},workflows:{$ref:\"workflowsDef\"},disableStorageKey:{type:\"boolean\"},tags:{type:\"object\",additionalProperties:{type:\"string\"}},sanitizer:{oneOf:[{type:\"boolean\"},{type:\"object\",additionalProperties:!1,properties:{exclude:{type:\"array\",items:[{type:\"string\"}]},replacement:{type:\"string\"}}}]}}},vt={$schema:\"http://json-schema.org/draft-07/schema#\",title:\"Filestack Preview\",description:\"Filestack Preview Options\",type:\"object\",additionalProperties:!1,properties:{id:{type:\"string\"},css:{type:\"string\"}}},gt={$schema:\"http://json-schema.org/draft-07/schema#\",title:\"Filestack Upload\",description:\"Filestack Upload Options\",type:\"object\",additionalProperties:!1,properties:{partSize:{type:\"integer\",minimum:5242880},concurrency:{type:\"integer\",minimum:1,maximum:20},progressInterval:{type:\"integer\",minimum:1},retry:{type:\"integer\",minimum:0,maximum:20},retryFactor:{type:\"integer\"},retryMaxTime:{type:\"integer\"},timeout:{type:\"integer\",minimum:1,maximum:36e5},intelligent:{oneOf:[{type:\"boolean\"},{type:\"string\",enum:[\"fallback\"]}]},intelligentChunkSize:{type:\"integer\"},onProgress:{format:\"callback\"},onRetry:{format:\"callback\"},disableIntegrityCheck:{type:\"boolean\"},tags:{type:\"object\",maxItems:10,additionalProperties:{type:\"string\",maxlength:256}}}},bt={$schema:\"http://json-schema.org/draft-07/schema#\",title:\"Filestack Picker\",description:\"Filestack Picker Options\",type:\"object\",additionalProperties:!1,properties:{allowManualRetry:{type:\"boolean\"},accept:{additionalProperties:!1,oneOf:[{type:\"string\"},{type:\"array\",minItems:1,items:[{type:\"string\"}]}]},acceptFn:{format:\"callback\"},fromSources:{type:\"array\",items:[{type:[\"string\",\"object\"],additionalProperties:!1,enum:[\"local_file_system\",\"url\",\"imagesearch\",\"facebook\",\"instagram\",\"googledrive\",\"unsplash\",\"dropbox\",\"webcam\",\"video\",\"audio\",\"box\",\"github\",\"gmail\",\"picasa\",\"onedrive\",\"onedriveforbusiness\",\"clouddrive\",\"googlephotos\",\"customsource\",\"tint\"]}]},tags:{type:\"object\",additionalProperties:{type:\"string\"}},container:{format:\"HTMLContainer\"},cleanupImageExif:{oneOf:[{type:\"boolean\"},{type:\"object\",additionalProperties:!1,properties:{keepOrientation:{type:\"boolean\"},keepICCandAPP:{type:\"boolean\"}}}]},displayMode:{type:\"string\",enum:[\"inline\",\"overlay\",\"dropPane\"]},concurrency:{type:\"integer\",minimum:1,maximum:20},supportEmail:{type:\"string\"},customSourceContainer:{type:\"string\"},customSourcePath:{type:\"string\"},customSourceName:{type:\"string\"},disableStorageKey:{type:\"boolean\"},disableTransformer:{type:\"boolean\"},disableThumbnails:{type:\"boolean\"},exposeOriginalFile:{type:\"boolean\"},globalDropZone:{type:\"boolean\"},hideModalWhenUploading:{type:\"boolean\"},imageDim:{type:\"array\",minItems:2,maxItems:2,items:[{type:\"integer\",minimum:1}]},imageMax:{type:\"array\",minItems:2,maxItems:2,items:[{type:\"integer\",minimum:1}]},imageMin:{type:\"array\",minItems:2,maxItems:2,items:[{type:\"integer\",minimum:1}]},imageMinMaxBlock:{type:\"boolean\",default:!1},lang:{type:\"string\",enum:[\"ca\",\"da\",\"de\",\"en\",\"es\",\"fr\",\"he\",\"it\",\"ja\",\"ko\",\"nl\",\"no\",\"pl\",\"pt\",\"sv\",\"ru\",\"vi\",\"zh\",\"tr\",\"ar\"]},minFiles:{type:\"integer\",minimum:1,maximum:1e6},maxFiles:{type:\"integer\",minimum:1,maximum:1e6},maxSize:{type:\"integer\",minimum:1},modalSize:{type:\"array\",minItems:2,maxItems:2,items:[{type:\"integer\",minimum:1,maximum:1e6}]},rootId:{type:\"string\"},startUploadingWhenMaxFilesReached:{type:\"boolean\"},uploadInBackground:{type:\"boolean\"},videoResolution:{type:\"string\"},onCancel:{format:\"callback\"},onClose:{format:\"callback\"},onOpen:{format:\"callback\"},onFileSelected:{format:\"callback\"},onFileUploadStarted:{format:\"callback\"},onFileUploadFinished:{format:\"callback\"},onFileUploadFailed:{format:\"callback\"},onFileUploadProgress:{format:\"callback\"},onUploadStarted:{format:\"callback\"},onUploadDone:{format:\"callback\"},onFileCropped:{format:\"callback\"},storeTo:{additionalProperties:!1,type:\"object\",properties:{filename:{type:\"string\"},location:{$ref:\"locationsDef\"},container:{type:\"string\"},path:{type:\"string\"},region:{type:\"string\"},access:{type:\"string\",enum:[\"public\",\"private\"]},workflows:{$ref:\"workflowsDef\"}}},viewType:{type:\"string\",enum:[\"grid\",\"list\"]},transformations:{type:\"object\",additionalProperties:!1,properties:{circle:{type:\"boolean\"},rotate:{type:\"boolean\"},force:{type:\"boolean\"},crop:{oneOf:[{type:\"boolean\"},{type:\"object\",additionalProperties:!1,properties:{force:{type:\"boolean\"},aspectRatio:{type:\"number\"}}}]}}},customText:{type:\"object\",patternProperties:{\".*\":{type:\"string\"}}},cropFiles:{type:\"array\",minItems:1},loadCss:{type:\"string\"},failOverMaxFiles:{type:\"boolean\"},dropPane:{type:\"object\",properties:{cropFiles:{type:\"array\",minItems:1},customText:{type:\"string\"},disableClick:{type:\"boolean\"},overlay:{type:\"boolean\"},showIcon:{type:\"boolean\"},showProgress:{type:\"boolean\"},onDragEnter:{format:\"callback\"},onProgress:{format:\"callback\"},onDragLeave:{format:\"callback\"},onDragOver:{format:\"callback\"},onDrop:{format:\"callback\"},onSuccess:{format:\"callback\"},onError:{format:\"callback\"},onClick:{format:\"callback\"}}},errorsTimeout:{type:\"number\",minimum:0},customAuthText:{type:\"object\",patternProperties:{\".*\":{additionalProperties:!1,type:\"object\",required:[\"top\",\"bottom\"],properties:{top:{type:\"string\"},bottom:{type:\"string\"}}}}},uploadConfig:{type:\"object\",additionalProperties:!1,properties:gt.properties},useSentryBreadcrumbs:{type:\"boolean\"}}},xt={$schema:\"http://json-schema.org/draft-07/schema#\",title:\"Filestack Metadata\",description:\"Filestack Metadata Options\",type:\"object\",additionalProperties:!1,properties:{size:{type:\"boolean\"},mimetype:{type:\"boolean\"},filename:{type:\"boolean\"},width:{type:\"boolean\"},metadata:{type:\"boolean\"},height:{type:\"boolean\"},uploaded:{type:\"boolean\"},writeable:{type:\"boolean\"},cloud:{type:\"boolean\"},sourceUrl:{type:\"boolean\"},md5:{type:\"boolean\"},sha1:{type:\"boolean\"},sha224:{type:\"boolean\"},sha256:{type:\"boolean\"},sha384:{type:\"boolean\"},sha512:{type:\"boolean\"},location:{type:\"boolean\"},path:{type:\"boolean\"},container:{type:\"boolean\"},exif:{type:\"boolean\"}}},kt={$schema:\"http://json-schema.org/draft-07/schema#\",title:\"Filestack Retrieve\",description:\"Filestack Retrieve Options\",type:\"object\",additionalProperties:!1,properties:{metadata:{type:\"boolean\"},head:{type:\"boolean\"},dl:{type:\"boolean\"},cache:{type:\"boolean\"},extension:{type:\"string\"}}},wt=n(6),_t=n(16),jt=Z()(\"fs:request:dispatch\"),Ot=function(){function t(t){this.adapter=t}return t.prototype.request=function(t){var e=this;return t.headers=t.headers||{},jt(\"Dispatching request %O\",t),this.adapter.request(t).catch((function(t){return jt('Request error \"%s\": %O',t,t.response),e.retry(t)}))},t.prototype.retry=function(t){var e=this,n=t.config;if(!Object(_t.a)(t))return jt(\"[Retry] Request error is not retriable. Exiting\"),Promise.reject(t);if(!n.retry)return jt(\"[Retry] Retry config not found. Exiting\"),Promise.reject(t);var i=n.retry,r=n.runtime&&n.runtime.retryCount?n.runtime.retryCount:0;if(i.retry&&i.retry<=r)return jt(\"[Retry] Retry attempts reached %d. Exiting\",r),Promise.reject(t);var o=Math.max(Math.min(i.retryMaxTime,1e3*Math.pow(i.retryFactor,r)),1);return n.runtime=Object(l.a)(Object(l.a)({},n.runtime),{retryCount:r+1}),jt(\"[Retry] Retrying request to \"+n.url+\", count \"+r+\" of \"+i.retry+\" - Delay: \"+o),new Promise((function(t){setTimeout((function(){return t(e.request(n))}),o)}))},t}(),St=n(43).XhrAdapter,Et=function(){function t(t){this.defaults=t,this.dispatcher=new Ot(new St)}return t.getInstance=function(){return t.instance||(t.instance=new t),t.instance},t.prototype.dispatch=function(t){return t.method||(t.method=wt.a.GET),this.dispatcher.request(Object.assign({},this.defaults,t))},t.dispatch=function(e,n){return t.getInstance().dispatch(Object.assign({},n||{},{url:e}))},t.get=function(e,n){return t.getInstance().dispatch(Object.assign({},n||{},{method:wt.a.GET,url:e}))},t.head=function(e,n){return t.getInstance().dispatch(Object.assign({},n||{},{method:wt.a.HEAD,url:e}))},t.options=function(e,n){return t.getInstance().dispatch(Object.assign({},n||{},{method:wt.a.OPTIONS,url:e}))},t.purge=function(e,n){return t.getInstance().dispatch(Object.assign({},n||{},{method:wt.a.PURGE,url:e}))},t.delete=function(e,n){return t.getInstance().dispatch(Object.assign({},n||{},{method:wt.a.DELETE,url:e}))},t.post=function(e,n,i){return t.getInstance().dispatch(Object.assign({},i||{},{method:wt.a.POST,url:e,data:n}))},t.put=function(e,n,i){return t.getInstance().dispatch(Object.assign({},i||{},{method:wt.a.PUT,url:e,data:n}))},t.path=function(e,n,i){return t.getInstance().dispatch(Object.assign({},i||{},{method:wt.a.PATH,url:e,data:n}))},t}(),Ct=n(2),Tt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(l.c)(e,t),e.prototype.cancel=function(t){this.emit(\"cancel\",t),this.removeAllListeners()},e}(f.EventEmitter),At=function(t,e,n,i){if(!e||\"string\"!=typeof e)throw new q(\"A valid Filestack handle is required for remove\");if(!(t.policy&&t.signature||i&&i.policy&&i.signature))throw new q(\"Security policy and signature are required for remove\");var r=t.urls.fileApiUrl+\"/\"+e,o={key:t.apikey,policy:i&&i.policy||t.policy,signature:i&&i.signature||t.signature};return n&&(o.skip_storage=!0),Et.delete(r,{filestackHeaders:!1,params:Object(H.removeEmpty)(o)})};function Pt(t){return(Pt=\"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)}var Ft,It,zt,Nt,Mt,Rt,$t,qt,Ut,Dt,Lt,Bt,Vt,Ht,Wt,Zt,Jt,Yt;!function(t){t.left=\"left\",t.right=\"right\",t.center=\"center\",t.bottom=\"bottom\",t.top=\"top\"}(Ft||(Ft={})),function(t){t.left=\"left\",t.right=\"right\",t.center=\"center\",t.bottom=\"bottom\",t.top=\"top\",t.faces=\"faces\"}(It||(It={})),function(t){t.clip=\"clip\",t.crop=\"crop\",t.scale=\"scale\",t.max=\"max\"}(zt||(zt={})),function(t){t.linear=\"linear\",t.gaussian=\"gaussian\"}(Nt||(Nt={})),function(t){t.oval=\"oval\",t.rect=\"rect\"}(Mt||(Mt={})),function(t){t.none=\"none\",t.low=\"low\",t.medium=\"medium\",t.high=\"high\"}(Rt||(Rt={})),function(t){t.artwork=\"artwork\",t.photo=\"photo\"}($t||($t={})),function(t){t.RGB=\"RGB\",t.CMYK=\"CMYK\",t.Input=\"Input\"}(qt||(qt={})),function(t){t.thumb=\"thumb\",t.crop=\"crop\",t.fill=\"fill\"}(Ut||(Ut={})),function(t){t.fit=\"fit\",t.auto=\"auto\"}(Dt||(Dt={})),function(t){t.top=\"top\",t.middle=\"middle\",t.bottom=\"bottom\",t.left=\"left\",t.center=\"center\",t.right=\"right\"}(Lt||(Lt={})),function(t){t.h264=\"h264\",t.h264_hi=\"h264.hi\",t.webm=\"webm\",t[\"webm-hi\"]=\"webm.hi\",t.ogg=\"ogg\",t[\"ogg-hi\"]=\"ogg.hi\",t[\"hls-variant\"]=\"hls.variant\",t.mp3=\"mp3\",t.oga=\"oga\",t.m4a=\"m4a\",t.aac=\"aac\",t.hls=\"hls.variant.audio\"}(Bt||(Bt={})),function(t){t.desktop=\"desktop\",t.mobile=\"mobile\"}(Vt||(Vt={})),function(t){t.all=\"all\",t.window=\"window\"}(Ht||(Ht={})),function(t){t.portrait=\"portrait\",t.landscape=\"landscape\"}(Wt||(Wt={})),function(t){t.s3=\"s3\",t.azure=\"azure\",t.gcs=\"gcs\",t.rackspace=\"rackspace\",t.dropbox=\"dropbox\"}(Zt||(Zt={})),function(t){t.private=\"private\",t.public=\"public\"}(Jt||(Jt={})),function(t){t.preserve=\"preserve\",t.constrain=\"constrain\",t.letterbox=\"letterbox\",t.pad=\"pad\",t.crop=\"crop\"}(Yt||(Yt={}));var Qt=function(t,e,n,i){void 0===n&&(n={}),void 0===i&&(i=!1),n=function t(e){for(var n={},i=Object.keys(e),r=0;rthis._file.size)throw new Error(\"Start byte of the part is higher than buffer size\");var i=Math.min(n+e,this._file.size);return{partNumber:t,startByte:n,endByte:i,size:i-n}},t.prototype.getPartByMetadata=function(t,e){return void 0===e&&(e=!0),Object(l.b)(this,void 0,void 0,(function(){var n;return Object(l.d)(this,(function(i){switch(i.label){case 0:return[4,this._file.slice(t.startByte,t.endByte)];case 1:return n=i.sent(),[2,Promise.resolve(Object(l.a)(Object(l.a)({},t),{buffer:n,md5:e?Object(H.md5)(n):void 0}))]}}))}))},t.prototype.getChunkByMetadata=function(t,e,n,i){return void 0===i&&(i=!0),Object(l.b)(this,void 0,void 0,(function(){var r,o,a;return Object(l.d)(this,(function(s){switch(s.label){case 0:return r=t.startByte+e,o=Math.min(r+n,t.endByte),[4,this._file.slice(r,o)];case 1:return a=s.sent(),[2,Promise.resolve(Object(l.a)(Object(l.a)({},t),{buffer:a,md5:i?Object(H.md5)(a):void 0,size:a.byteLength,startByte:r,endByte:o,offset:e}))]}}))}))},t.prototype.release=function(){this._file.release&&this._file.release()},t.prototype.toJSON=function(){return{name:this.name,status:this.status,type:this.type,size:this.size,url:this.url,handle:this.handle,uploadTags:this.uploadTags}},t}(),te=n(17),ee=n.n(te),ne=/data:([a-zA-Z]*\\/[a-zA-Z]*);base64,([^\\\"]*)/i,ie=function(t,e,n){return new Promise((function(i,r){var o=new FileReader,a=n.slice(t,e);o.onload=function(){return i(o.result)},o.onerror=r,o.readAsArrayBuffer(a)}))},re=function(t,e){var n,i;if(function(t){return t&&t.file&&t.name}(t)&&(n=t.name,t=t.file),function(t){return t instanceof File}(t))i=t,n=t.name;else if(function(t){if(\"string\"!=typeof t)return!1;t.indexOf(\"base64\")>-1&&(t=t.match(ne).pop());try{return btoa(atob(t))===t}catch(t){return!1}}(t))i=function(t,e){void 0===e&&(e=512);var n=\"\";if(t.indexOf(\"base64\")>-1){var i=t.match(ne);t=i.pop(),n=i[1]}for(var r=atob(t),o=[],a=0;a-1&&(this.partSize=8388608);for(var n=e.getPartsCount(this.partSize),i=[],r=0;r-1&&(!i.upload_type||\"intelligent_ingestion\"!==i.upload_type)&&(ue(\"[\"+t+\"] Intelligent Ingestion is not enabled on account, switch back to regular upload and lock mode change\"),e.setUploadMode(\"default\",!0)),i):(ue(\"[\"+t+\"] Incorrect start response: \\n%O\\n\",i),e.setPayloadStatus(t,\"Failed\"),Promise.reject(new q(\"Incorrect start response\",i,R.REQUEST)))})).catch((function(n){return ue(\"[\"+t+\"] Start request error %O\",n),e.setPayloadStatus(t,\"Failed\"),Promise.reject(new q(\"Cannot upload file. Start request failed\",e.getErrorDetails(n),R.REQUEST))})))},e.prototype.startPartsQueue=function(t){return Object(l.b)(this,void 0,void 0,(function(){var e,n,i,r=this;return Object(l.d)(this,(function(o){return e=this.getPayloadById(t),n=e.parts,i=n.length,ue(\"[\"+t+\"] Create uploading queue from file. parts count - %d\",i),[2,new Promise((function(e,i){return Object(l.b)(r,void 0,void 0,(function(){var r,o=this;return Object(l.d)(this,(function(a){switch(a.label){case 0:return n.forEach((function(e){return o.partsQueue.add((function(){return o.startPart(t,e.partNumber)})).catch((function(e){return o.setPayloadStatus(t,\"Failed\"),ue(\"[\"+t+\"] Failed to upload part %s\",e.message),o.partsQueue.pause(),o.partsQueue.clear(),i(e)}))})),ue(\"[\"+t+\"] All tasks for %s enqueued. Start processing main upload queue\",t),this.partsQueue.start(),r=e,[4,this.partsQueue.onIdle()];case 1:return r.apply(void 0,[a.sent()]),[2]}}))}))}))]}))}))},e.prototype.startPart=function(t,e){return ue(\"[\"+t+\"] Start processing part \"+e+\" with mode \"+this.uploadMode),this.getPayloadById(t).file.status=\"Progress\",(\"intelligent\"!==this.uploadMode?this.uploadRegular:this.uploadIntelligent).apply(this,[t,e])},e.prototype.getS3PartMetadata=function(t,e,n){var i=this,r=this.getUploadUrl(t);ue(\"[\"+t+\"] Get data for part \"+e.partNumber+\", url \"+r+\", Md5: \"+e.md5+\", Size: \"+e.size);var o=Object(l.a)(Object(l.a)({},this.getDefaultFields(t,[\"apikey\",\"uri\",\"region\",\"signature\",\"policy\",\"upload_id\",\"fii\"])),{part:e.partNumber+1,size:e.size,offset:n});return this.integrityCheck&&e.md5&&(o.md5=e.md5),Et.post(r+\"/multipart/upload\",o,{headers:this.getDefaultHeaders(t),cancelToken:this.cancelToken,timeout:this.timeout,retry:this.retryConfig}).catch((function(e){return i.setPayloadStatus(t,\"Failed\"),Promise.reject(new q(\"Cannot get part metadata\",i.getErrorDetails(e),R.REQUEST))}))},e.prototype.uploadRegular=function(t,e){return Object(l.b)(this,void 0,void 0,(function(){var n,i,r,o,a,s,c=this;return Object(l.d)(this,(function(p){switch(p.label){case 0:return n=this.getPayloadById(t),i=n.parts[e],[4,n.file.getPartByMetadata(i,this.integrityCheck)];case 1:return r=p.sent(),[4,this.getS3PartMetadata(t,r)];case 2:return o=p.sent(),a=o.data,s=o.headers,ue(\"[\"+t+\"] Received part \"+e+\" info body: \\n%O\\n headers: \\n%O\\n\",a,s),[2,Et.put(a.url,r.buffer,{cancelToken:this.cancelToken,timeout:this.timeout,headers:a.headers,filestackHeaders:!1,onProgress:function(n){return c.onProgressUpdate(t,e,n.loaded)},retry:this.retryConfig&&\"fallback\"!==this.uploadMode?this.retryConfig:void 0}).then((function(n){if(!n.headers.etag)throw r=null,new q(\"Cannot upload file, check S3 bucket settings\",\"Etag header is not exposed in CORS settings\",R.REQUEST);return c.setPartETag(t,e,n.headers.etag),ue(\"[\"+t+\"] S3 Upload response headers for \"+e+\": \\n%O\\n\",n.headers),c.onProgressUpdate(t,e,r.size),r=null,n})).catch((function(n){var i=n&&n.response?n.response:null;if(i&&403===i.status&&i.data&&i.data.Error&&i.data.Error.code){var o=i.data.Error.code;switch(Array.isArray(o)&&(o=o.pop()),o){case\"RequestTimeTooSkewed\":return c.startPart(t,e);default:return Promise.reject(new q(\"Cannot upload file\",i.data.Error,R.REQUEST))}}return r=null,n instanceof q?Promise.reject(n):(c.onProgressUpdate(t,e,0),\"fallback\"===c.uploadMode&&!c.isModeLocked||\"intelligent\"===c.uploadMode?(ue(\"[\"+t+\"] Regular upload failed. Switching to intelligent ingestion mode\"),c.setUploadMode(\"intelligent\"),c.startPart(t,e)):Promise.reject(new q(\"Cannot upload file part\",c.getErrorDetails(n),R.REQUEST)))}))]}}))}))},e.prototype.uploadIntelligent=function(t,e){return Object(l.b)(this,void 0,void 0,(function(){var n=this;return Object(l.d)(this,(function(i){return[2,this.uploadNextChunk(t,e).then((function(){return n.commitPart(t,e)}))]}))}))},e.prototype.uploadNextChunk=function(t,e,n){return void 0===n&&(n=this.intelligentChunkSize),Object(l.b)(this,void 0,void 0,(function(){var i,r,o,a,s=this;return Object(l.d)(this,(function(c){switch(c.label){case 0:return i=this.getPayloadById(t),r=i.parts[e],n=Math.min(n,r.size-r.offset),[4,i.file.getChunkByMetadata(r,r.offset,n,this.integrityCheck)];case 1:return o=c.sent(),ue(\"[\"+t+\"] PartNum: \"+e+\", PartSize: \"+r.size+\", StartByte: \"+r.startByte+\", Offset: \"+r.offset+\", ChunkSize: \"+o.size+\",\\n Left: \"+(r.size-r.offset-o.size)),[4,this.getS3PartMetadata(t,o,r.offset).catch((function(i){return ue(\"[\"+t+\"] Getting chunk data for ii failed %O, Chunk size: \"+n+\", offset \"+r.offset+\", part \"+e,i),Promise.reject(i)}))];case 2:return a=c.sent().data,[2,Et.put(a.url,o.buffer,{cancelToken:this.cancelToken,timeout:this.timeout,headers:a.headers,filestackHeaders:!1,onProgress:function(n){return r?s.onProgressUpdate(t,e,r.offset+n.loaded):null}}).then((function(i){s.onProgressUpdate(t,e,r.offset+o.size);var a=Math.min(r.offset+n,r.size);return ue(\"[\"+t+\"] S3 Chunk uploaded! offset: \"+r.offset+\", part \"+e+\"! response headers for \"+e+\": \\n%O\\n\",i.headers),s.setPartData(t,e,\"offset\",a),a===r.size?Promise.resolve(i):(r=null,o=null,s.uploadNextChunk(t,e,n))})).catch((function(i){var a=i&&i.response?i.response:null;if(a&&403===a.status&&a.data&&a.data.Error&&a.data.Error.code){var c=a.data.Error.code;switch(Array.isArray(c)&&(c=c.pop()),c){case\"RequestTimeTooSkewed\":return s.startPart(t,e);default:return Promise.reject(new q(\"Cannot upload file\",a.data.Error,R.REQUEST))}}s.onProgressUpdate(t,e,r.offset);var p=n/2;return p<32768?(ue(\"[\"+t+\"] Minimal chunk size limit. Upload file failed!\"),Promise.reject(new q(\"Min chunk size reached\",i.data,R.REQUEST))):Object(pe.e)(i)?(ue(\"[\"+t+\"] Request network error. Retry with new chunk size: \"+p),s.uploadNextChunk(t,e,p)):(r=null,o=null,Promise.reject(new q(\"Cannot upload file part (FII)\",s.getErrorDetails(i),R.REQUEST)))}))]}}))}))},e.prototype.commitPart=function(t,e){var n=this,i=this.getPayloadById(t),r=i.parts[e];return Et.post(this.getUploadUrl(t)+\"/multipart/commit\",Object(l.a)(Object(l.a)({},this.getDefaultFields(t,[\"apikey\",\"region\",\"upload_id\",\"policy\",\"signature\",\"uri\"])),{size:i.file.size,part:r.partNumber+1}),{cancelToken:this.cancelToken,timeout:this.timeout,headers:this.getDefaultHeaders(t),retry:this.retryConfig}).then((function(e){return ue(\"[\"+t+\"] Commit Part number \"+r.partNumber+\". Response: %O\",e.data),e})).catch((function(t){return Promise.reject(new q(\"Cannot commit file part metadata\",n.getErrorDetails(t),R.REQUEST))}))},e.prototype.completeRequest=function(t){var e=this,n=this.getPayloadById(t),i=[];ue(\"[\"+t+\"] Run complete request\");for(var r=n.parts,o=r.length,a=0;a-1:!!this.availableTypes.length},t.prototype.getItem=function(t,e){var n=this.getStore(e);if(he(\"getItem %s from %O\",t,n),n)return n.getItem(t)},t.prototype.setItem=function(t,e,n){var i=this.getStore(n);if(he(\"setItem %s to %O\",t,i),i)return i.setItem(t,e)},t.prototype.removeItem=function(t,e){var n=this.getStore(e);if(he(\"removeItem %s from %O\",t,n),n)return n.removeItem(t)},t.prototype.getStore=function(t){if(he(\"get store with pref type - %s\",t),this.hasAccess(t))switch(t){case Kt.LOCAL:return window.localStorage;case Kt.SESSION:return window.sessionStorage;default:return window[this.availableTypes[0]]}else he(\"User dont have access to any storage\")},t}();!function(t){t.SESSION=\"sessionStorage\",t.LOCAL=\"localStorage\"}(Kt||(Kt={}));var ve,ge=\"__fs_picker_token\",be=function(){function t(t,e){this.cache=!1,this.session=t,this.storeAdapter=new ye,this.cloudApiUrl=t.urls.cloudApiUrl,e&&e.sessionCache&&(this.cache=e.sessionCache)}return Object.defineProperty(t.prototype,\"token\",{get:function(){if(this.cache){var t=this.storeAdapter.getItem(ge,Kt.LOCAL);if(t)return t}return this.isInAppBrowser?this.storeAdapter.getItem(ge,Kt.SESSION):this._token},set:function(t){this.cache&&this.storeAdapter.setItem(ge,t,Kt.LOCAL),this.isInAppBrowser&&this.storeAdapter.setItem(ge,t,Kt.SESSION),this._token=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"isInAppBrowser\",{get:function(){return!!(this.session&&this.session.prefetch&&this.session.prefetch.settings&&this.session.prefetch.settings.inapp_browser)&&this.session.prefetch.settings.inapp_browser},enumerable:!0,configurable:!0}),t.prototype.list=function(t,e,n){var i=this,r={apikey:this.session.apikey,clouds:t,flow:\"web\",token:this.token};n&&(Array.isArray(n)||(n=[n]),r.accept=n),this.isInAppBrowser&&(r.appurl=this.currentAppUrl()),this.session.policy&&this.session.signature&&(r.policy=this.session.policy,r.signature=this.session.signature);var o={};if(e){var a=new Tt;e.cancel=a.cancel.bind(a),o.cancelToken=a}return Et.post(this.cloudApiUrl+\"/folder/list\",r,o).then((function(t){return t.data&&t.data.token&&(i.token=t.data.token),t.data}))},t.prototype.store=function(t,e,n,i,r,o){var a,s=this;void 0===n&&(n={}),void 0===i&&(i={}),void 0===o&&(o=null),void 0===n.location&&(n.location=\"s3\");var c={apikey:this.session.apikey,token:this.token,flow:\"web\",upload_tags:o||void 0,clouds:(a={},a[t]={path:e,store:Object(H.removeEmpty)(n)},a)};\"customsource\"===t&&i.customSourcePath&&(c.clouds.customsource.customSourcePath=i.customSourcePath),\"customsource\"===t&&i.customSourceContainer&&(c.clouds.customsource.customSourceContainer=i.customSourceContainer),this.session.policy&&this.session.signature&&(c.policy=this.session.policy,c.signature=this.session.signature);var p={};if(r){var u=new Tt;r.cancel=u.cancel.bind(u),p.cancelToken=u}return Et.post(this.cloudApiUrl+\"/store/\",c,p).then((function(e){return e.data&&e.data.token&&(s.token=e.data.token),e.data&&e.data[t]?e.data[t]:e.data}))},t.prototype.logout=function(t){var e,n={apikey:this.session.apikey,flow:\"web\",token:this.token};return t?n.clouds=((e={})[t]={},e):(this.cache&&this.storeAdapter.removeItem(ge,Kt.LOCAL),this.isInAppBrowser&&this.storeAdapter.removeItem(ge,Kt.SESSION)),Et.post(this.cloudApiUrl+\"/auth/logout\",n).then((function(e){return e.data&&e.data[t]?e.data[t]:e.data}))},t.prototype.metadata=function(t,e){var n={apikey:this.session.apikey,url:t,headers:e};return this.session.policy&&this.session.signature&&(n.policy=this.session.policy,n.signature=this.session.signature),Et.post(this.cloudApiUrl+\"/metadata\",n).then((function(t){return t.data}))},t.prototype.tokInit=function(t){if(\"video\"!==t&&\"audio\"!==t)throw new q(\"Type must be one of video or audio.\");return Et.post(this.cloudApiUrl+\"/recording/\"+t+\"/init\").then((function(t){return t.data}))},t.prototype.tokStart=function(t,e,n){if(\"video\"!==t&&\"audio\"!==t)throw new q(\"Type must be one of video or audio.\");var i={apikey:e,session_id:n};return Et.post(this.cloudApiUrl+\"/recording/\"+t+\"/start\",i).then((function(t){return t.data}))},t.prototype.tokStop=function(t,e,n,i){if(\"video\"!==t&&\"audio\"!==t)throw new q(\"Type must be one of video or audio.\");var r={apikey:e,session_id:n,archive_id:i};return Et.post(this.cloudApiUrl+\"/recording/\"+t+\"/stop\",r).then((function(t){return t.data}))},t.prototype.currentAppUrl=function(){if(window.URLSearchParams){var t=new URLSearchParams(window.location.search);return t.set(\"fs-tab\",\"init\"),window.location.protocol+\"//\"+window.location.host+window.location.pathname+\"?\"+t.toString()}},t}(),xe=n(30);!function(t){t.PICKER=\"picker\",t.TRANSFORM_UI=\"transform_ui\"}(ve||(ve={}));var ke,we,_e=function(){function t(t){this.session=t instanceof Oe?t.session:t}return t.prototype.getConfig=function(t){var e=t.pickerOptions,n=t.settings,i=t.permissions,r=t.events;return Object(l.b)(this,void 0,void 0,(function(){var t,o,a=this;return Object(l.d)(this,(function(s){return t={apikey:this.session.apikey},this.session.policy&&this.session.signature&&(t.security={policy:this.session.policy,signature:this.session.signature}),n=n?(n=n.concat([\"inapp_browser\"])).filter((function(t,e){return n.indexOf(t)===e})):[\"inapp_browser\"],e&&Object.keys(e).length&&(o=Object(H.cleanUpCallbacks)(xe(Object(l.a)({},e)))),t=Object(l.a)(Object(l.a)({},t),{permissions:i,settings:n,picker_config:o,events:r}),this.session.prefetch=null,[2,Et.post(this.session.urls.uploadApiUrl+\"/prefetch\",t).then((function(t){if(200!==t.status)throw new q(\"There is a problem with prefetch request\");var n=t.data;return n.updated_config?(n.pickerOptions=a.reassignCallbacks(e,n.updated_config||{}),delete n.updated_config):n.pickerOptions=e,a.session.prefetch=n,n}))]}))}))},t.prototype.reassignCallbacks=function(t,e){if(!t||0===Object.keys(t).length)return t;for(var n in t)\"function\"==typeof t[n]&&(e[n]=t[n]),t[n]===Object(t[n])&&(e[n]=this.reassignCallbacks(t[n],e[n]));return e},t}();!function(t){t.cw=\"CW\",t.ccw=\"CCW\"}(ke||(ke={})),function(t){t.inline=\"inline\",t.overlay=\"overlay\",t.dropPane=\"dropPane\"}(we||(we={}));var je=function(){function t(t,e){var n=V(bt)(e);if(n.errors.length)throw new q(\"Invalid picker params\",n.errors,R.VALIDATION);this._initialized=this.loadModule(t,e)}return t.prototype.open=function(){return Object(l.b)(this,void 0,void 0,(function(){return Object(l.d)(this,(function(t){switch(t.label){case 0:return[4,this._initialized];case 1:return[4,t.sent().open()];case 2:return t.sent(),[2]}}))}))},t.prototype.crop=function(t){return Object(l.b)(this,void 0,void 0,(function(){return Object(l.d)(this,(function(e){switch(e.label){case 0:return[4,this._initialized];case 1:return[4,e.sent().crop(t)];case 2:return e.sent(),[2]}}))}))},t.prototype.close=function(){return Object(l.b)(this,void 0,void 0,(function(){return Object(l.d)(this,(function(t){switch(t.label){case 0:return[4,this._initialized];case 1:return[4,t.sent().close()];case 2:return t.sent(),[2]}}))}))},t.prototype.cancel=function(){return Object(l.b)(this,void 0,void 0,(function(){return Object(l.d)(this,(function(t){switch(t.label){case 0:return[4,this._initialized];case 1:return[4,t.sent().cancel()];case 2:return t.sent(),[2]}}))}))},t.prototype.loadModule=function(t,e){return Object(l.b)(this,void 0,void 0,(function(){var n;return Object(l.d)(this,(function(i){switch(i.label){case 0:return n=t.session.urls.pickerUrl,[4,a(c.PICKER,n)];case 1:return[2,new(i.sent())(t,e)]}}))}))},t}();z(\"addBreadcrumb\",{category:\"sdk\",message:\"filestack-js-sdk scope\"});var Oe=function(t){function e(e,n){var i=t.call(this)||this;if(i.options=n,i.forwardErrors=!0,n&&n.forwardErrors&&(i.forwardErrors=n.forwardErrors),!e||\"string\"!=typeof e||0===e.length)throw new Error(\"An apikey is required to initialize the Filestack client\");var r=$.urls;if(i.session={apikey:e,urls:r},n){var o=n.cname,a=n.security;i.setSecurity(a),i.setCname(o)}return i.prefetchInstance=new _e(i.session),i.cloud=new be(i.session,n),i}return Object(l.c)(e,t),Object.defineProperty(e.prototype,\"utils\",{get:function(){return H},enumerable:!0,configurable:!0}),e.prototype.prefetch=function(t){return this.prefetchInstance.getConfig(t)},e.prototype.setSecurity=function(t){if(t&&(!t.policy||!t.signature))throw new q(\"Both policy and signature are required for client security\");t&&t.policy&&t.signature&&(this.session.policy=t.policy,this.session.signature=t.signature)},e.prototype.setCname=function(t){t&&0!==t.length&&(this.session.cname=t,this.session.urls=H.resolveHost(this.session.urls,t))},e.prototype.logout=function(t){return this.cloud.logout(t)},e.prototype.metadata=function(t,e,n){return function(t,e,n,i){if(!e||\"string\"!=typeof e)throw new q(\"A valid Filestack handle is required for metadata\");var r=V(xt)(n);if(r.errors.length)throw new q(\"Invalid metadata params\",r.errors);var o=Object(l.a)({},n);o.source_url=o.sourceUrl,o.policy=i&&i.policy||t.policy,o.signature=i&&i.signature||t.signature;var a=t.urls.fileApiUrl+\"/\"+e+\"/metadata\";return new Promise((function(t,n){Et.get(a,{params:Object(H.removeEmpty)(o),filestackHeaders:!1}).then((function(n){return t(Object(l.a)(Object(l.a)({},n.data),{handle:e}))})).catch(n)}))}(this.session,t,e,n)},e.prototype.picker=function(t){return function(t,e){return new je(t,e)}(this,t)},e.prototype.preview=function(t,e){return me(this.session,t,e)},e.prototype.remove=function(t,e){return At(this.session,t,!1,e)},e.prototype.removeMetadata=function(t,e){return At(this.session,t,!0,e)},e.prototype.storeURL=function(t,e,n,i,r,o,a){return function(t){var e=t.session,n=t.url,i=t.storeParams,r=t.token,o=t.security,a=t.uploadTags,s=t.headers,c=t.workflowIds;if(!n||\"string\"!=typeof n)return Promise.reject(new q(\"url is required for storeURL\"));var p=V(yt)(i);if(p.errors.length)return Promise.reject(new q(\"Invalid store params\",p.errors));e.policy=o&&o.policy||e.policy,e.signature=o&&o.signature||e.signature;var u=new ht(n,e.apikey);u.store(i),e.policy&&e.signature&&u.security({policy:e.policy,signature:e.signature});var f={};if(r){var d=new Tt;r.cancel=d.cancel.bind(d),f.cancelToken=d}var m=[n];return s&&(m=[{source:n,headers:s}]),c&&c.length>0&&u.addTask(\"store\",{workflows:c}),Et.post(e.urls.processUrl+\"/process\",{apikey:e.apikey,sources:m,tasks:u.getTasks(),upload_tags:a},f).then((function(t){if(t.data&&t.data.handle)return t.data.upload_tags&&(t.data.uploadTags=t.data.upload_tags,delete t.data.upload_tags),Object(l.a)(Object(l.a)({},t.data),{mimetype:t.data.type});throw new q(\"Invalid store response \"+JSON.stringify(t.data))}))}({session:this.session,url:t,storeParams:e,token:n,security:i,uploadTags:r,headers:o,workflowIds:a})},e.prototype.retrieve=function(t,e,n){return function(t,e,n,i){if(void 0===n&&(n={}),!e||0===e.length||\"string\"!=typeof e)throw new q(\"File handle is required\");console.info(\"Retrieve method is deprecated and it will be removed. Please use metadata or download\");var r=V(kt)(n);if(r.errors.length)throw new q(\"Invalid retrieve params\",r.errors);var o=Object(l.a)({},n);o.key=t.apikey,o.policy=i&&i.policy||t.policy,o.signature=i&&i.signature||t.signature;var a,s,c=wt.a.GET;if(o.head&&(c=wt.a.HEAD,delete o.head),o.extension&&o.extension.length&&(a=o.extension,delete o.extension),o.metadata){if(c===wt.a.HEAD)throw new q(\"Head and metadata options cannot be used together\");s=o.metadata,delete o.metadata}var p=t.urls.fileApiUrl+\"/\"+e+(a?\"+\"+a:\"\")+(s?\"/metadata\":\"\");return new Promise((function(t,e){Et.dispatch(p,{method:c,filestackHeaders:!1,params:Object(H.removeEmpty)(o)}).then((function(e){return t(c===wt.a.HEAD?e.headers:e.data)})).catch(e)}))}(this.session,t,e,n)},e.prototype.download=function(t,e){return function(t,e,n){var i=new ht(e,t.apikey),r=n&&n.policy||t.policy,o=n&&n.signature||t.signature;return r&&o&&i.security({signature:o,policy:r}),Et.dispatch(i.toString(),{method:wt.a.GET,blobResponse:!0})}(this.session,t,e)},e.prototype.transform=function(t,e,n){return void 0===n&&(n=!1),Qt(this.session,t,e,n)},e.prototype.upload=function(t,e,n,i,r){var o=this,a=new de(e,n);return a.setSession(this.session),i&&a.setToken(i),r&&a.setSecurity(r),a.on(\"error\",(function(t){o.forwardErrors&&M((function(i){i.setTag(\"filestack-apikey\",o.session.apikey),i.setTag(\"filestack-version\",H.getVersion()),i.setExtra(\"filestack-options\",o.options),i.setExtras({uploadOptions:e,storeOptions:n,details:t.details}),t.message=\"FS-\"+t.message,N(t)})),o.emit(\"upload.error\",t)})),a.upload(t)},e.prototype.multiupload=function(t,e,n,i,r){var o=this,a=new de(e,n);return a.setSession(this.session),i&&a.setToken(i),r&&a.setSecurity(r),a.on(\"error\",(function(t){M((function(i){i.setTag(\"filestack-apikey\",o.session.apikey),i.setTag(\"filestack-version\",H.getVersion()),i.setExtra(\"filestack-options\",o.options),i.setExtras(t.details),i.setExtras({uploadOptions:e,storeOptions:n}),N(t)})),o.emit(\"upload.error\",t)})),a.multiupload(t)},e}(f.EventEmitter),Se=function(t,e){return new Oe(t,e)},Ee=Se,Ce=\"3.23.2\";s(c.FILESTACK_SDK,Se,{version:\"3.23.2\"})},,function(t,e,n){\"use strict\";(function(t){n.d(e,\"a\",(function(){return c}));var i=n(9),r=n(13),o={nowSeconds:function(){return Date.now()/1e3}};var a=Object(r.b)()?function(){try{return Object(r.a)(t,\"perf_hooks\").performance}catch(t){return}}():function(){var t=Object(i.b)().performance;if(t&&t.now)return{now:function(){return t.now()},timeOrigin:Date.now()-t.now()}}(),s=void 0===a?o:{nowSeconds:function(){return(a.timeOrigin+a.now())/1e3}},c=o.nowSeconds.bind(o);s.nowSeconds.bind(s),function(){var t=Object(i.b)().performance;if(t)t.timeOrigin?t.timeOrigin:t.timing&&t.timing.navigationStart||Date.now()}()}).call(this,n(51)(t))},function(t,e,n){\"use strict\";(function(t){n.d(e,\"a\",(function(){return o}));var i=n(0),r=(n(22),n(4));n(32),n(31),n(10);function o(t){var e,n;if(Object(r.e)(t)){var a=t,s={};try{for(var c=Object(i.f)(Object.keys(a)),p=c.next();!p.done;p=c.next()){var u=p.value;void 0!==a[u]&&(s[u]=o(a[u]))}}catch(t){e={error:t}}finally{try{p&&!p.done&&(n=c.return)&&n.call(c)}finally{if(e)throw e.error}}return s}return Array.isArray(t)?t.map(o):t}}).call(this,n(14))}]);const _filestack$Filestack=filestack.Filestack,_filestack$init=filestack.init,_filestack$version=filestack.version,_filestack$EAlignOptions=filestack.EAlignOptions,_filestack$EAlignFacesOptions=filestack.EAlignFacesOptions,_filestack$EFitOptions=filestack.EFitOptions,_filestack$EBlurMode=filestack.EBlurMode,_filestack$EShapeType=filestack.EShapeType,_filestack$ENoiseType=filestack.ENoiseType,_filestack$EStyleType=filestack.EStyleType,_filestack$EColorspaceType=filestack.EColorspaceType,_filestack$ECropfacesType=filestack.ECropfacesType,_filestack$ESmartCropMode=filestack.ESmartCropMode,_filestack$EImageWatermarkPosition=filestack.EImageWatermarkPosition,_filestack$EVideoTypes=filestack.EVideoTypes,_filestack$EUrlscreenshotAgent=filestack.EUrlscreenshotAgent,_filestack$EUrlscreenshotMode=filestack.EUrlscreenshotMode,_filestack$EUrlscreenshotOrientation=filestack.EUrlscreenshotOrientation,_filestack$EVideoLocations=filestack.EVideoLocations,_filestack$EVideoAccess=filestack.EVideoAccess,_filestack$EVideoAccessMode=filestack.EVideoAccessMode,_filestack$transform=filestack.transform,_filestack$Align=filestack.Align,_filestack$FitOptions=filestack.FitOptions,_filestack$BlurMode=filestack.BlurMode,_filestack$ShapeType=filestack.ShapeType,_filestack$NoiseType=filestack.NoiseType,_filestack$StyleType=filestack.StyleType,_filestack$ColorspaceType=filestack.ColorspaceType,_filestack$CropfacesType=filestack.CropfacesType,_filestack$ImageWatermarkPosition=filestack.ImageWatermarkPosition,_filestack$SmartCropMode=filestack.SmartCropMode,_filestack$VideoTypes=filestack.VideoTypes,_filestack$URLScreenshotAgent=filestack.URLScreenshotAgent,_filestack$URLScreenshotMode=filestack.URLScreenshotMode,_filestack$URLScreenshotOrientation=filestack.URLScreenshotOrientation,_filestack$Locations=filestack.Locations,_filestack$VideoAccess=filestack.VideoAccess,_filestack$VideoAccessMode=filestack.VideoAccessMode,_filestack$EnhancePreset=filestack.EnhancePreset,_filestack$Filelink=filestack.Filelink,_filestack$FilestackErrorType=filestack.FilestackErrorType,_filestack$FsHttpMethod=filestack.FsHttpMethod,_filestack$FsRequest=filestack.FsRequest,_filestack$FsRequestErrorCode=filestack.FsRequestErrorCode,_filestack$FsRequestError=filestack.FsRequestError,_filestack$FsCancelToken=filestack.FsCancelToken,_filestack$resolveCdnUrl=filestack.resolveCdnUrl,_filestack$resolveHost=filestack.resolveHost,_filestack$removeEmpty=filestack.removeEmpty,_filestack$uniqueTime=filestack.uniqueTime,_filestack$uniqueId=filestack.uniqueId,_filestack$extensionToMime=filestack.extensionToMime,_filestack$sanitizeName=filestack.sanitizeName,_filestack$filterObject=filestack.filterObject,_filestack$cleanUpCallbacks=filestack.cleanUpCallbacks,_filestack$md5=filestack.md5,_filestack$b64=filestack.b64,_filestack$getVersion=filestack.getVersion,_filestack$isMobile=filestack.isMobile,_filestack$isFacebook=filestack.isFacebook,_filestack$TransformSchema=filestack.TransformSchema,_filestack$getSecurity=filestack.getSecurity,_filestack$validateWebhookSignature=filestack.validateWebhookSignature,_filestack$Client=filestack.Client,_filestack$FilestackError=filestack.FilestackError,_filestack$PickerDisplayMode=filestack.PickerDisplayMode,_filestack$getMimetype=filestack.getMimetype,_filestack$PrefetchEvents=filestack.PrefetchEvents;export{_filestack$Filestack as Filestack,_filestack$init as init,_filestack$version as version,_filestack$EAlignOptions as EAlignOptions,_filestack$EAlignFacesOptions as EAlignFacesOptions,_filestack$EFitOptions as EFitOptions,_filestack$EBlurMode as EBlurMode,_filestack$EShapeType as EShapeType,_filestack$ENoiseType as ENoiseType,_filestack$EStyleType as EStyleType,_filestack$EColorspaceType as EColorspaceType,_filestack$ECropfacesType as ECropfacesType,_filestack$ESmartCropMode as ESmartCropMode,_filestack$EImageWatermarkPosition as EImageWatermarkPosition,_filestack$EVideoTypes as EVideoTypes,_filestack$EUrlscreenshotAgent as EUrlscreenshotAgent,_filestack$EUrlscreenshotMode as EUrlscreenshotMode,_filestack$EUrlscreenshotOrientation as EUrlscreenshotOrientation,_filestack$EVideoLocations as EVideoLocations,_filestack$EVideoAccess as EVideoAccess,_filestack$EVideoAccessMode as EVideoAccessMode,_filestack$transform as transform,_filestack$Align as Align,_filestack$FitOptions as FitOptions,_filestack$BlurMode as BlurMode,_filestack$ShapeType as ShapeType,_filestack$NoiseType as NoiseType,_filestack$StyleType as StyleType,_filestack$ColorspaceType as ColorspaceType,_filestack$CropfacesType as CropfacesType,_filestack$ImageWatermarkPosition as ImageWatermarkPosition,_filestack$SmartCropMode as SmartCropMode,_filestack$VideoTypes as VideoTypes,_filestack$URLScreenshotAgent as URLScreenshotAgent,_filestack$URLScreenshotMode as URLScreenshotMode,_filestack$URLScreenshotOrientation as URLScreenshotOrientation,_filestack$Locations as Locations,_filestack$VideoAccess as VideoAccess,_filestack$VideoAccessMode as VideoAccessMode,_filestack$EnhancePreset as EnhancePreset,_filestack$Filelink as Filelink,_filestack$FilestackErrorType as FilestackErrorType,_filestack$FsHttpMethod as FsHttpMethod,_filestack$FsRequest as FsRequest,_filestack$FsRequestErrorCode as FsRequestErrorCode,_filestack$FsRequestError as FsRequestError,_filestack$FsCancelToken as FsCancelToken,_filestack$resolveCdnUrl as resolveCdnUrl,_filestack$resolveHost as resolveHost,_filestack$removeEmpty as removeEmpty,_filestack$uniqueTime as uniqueTime,_filestack$uniqueId as uniqueId,_filestack$extensionToMime as extensionToMime,_filestack$sanitizeName as sanitizeName,_filestack$filterObject as filterObject,_filestack$cleanUpCallbacks as cleanUpCallbacks,_filestack$md5 as md5,_filestack$b64 as b64,_filestack$getVersion as getVersion,_filestack$isMobile as isMobile,_filestack$isFacebook as isFacebook,_filestack$TransformSchema as TransformSchema,_filestack$getSecurity as getSecurity,_filestack$validateWebhookSignature as validateWebhookSignature,_filestack$Client as Client,_filestack$FilestackError as FilestackError,_filestack$PickerDisplayMode as PickerDisplayMode,_filestack$getMimetype as getMimetype,_filestack$PrefetchEvents as PrefetchEvents};\n//# sourceMappingURL=filestack.esm.js.map","var e=\"undefined\"!=typeof self?self:global;const t=\"undefined\"!=typeof navigator,i=t&&\"undefined\"==typeof HTMLImageElement,n=!(\"undefined\"==typeof global||\"undefined\"==typeof process||!process.versions||!process.versions.node),s=e.Buffer,r=e.BigInt,a=!!s,o=e=>e;function l(e,t=o){if(n)try{return\"function\"==typeof require?Promise.resolve(t(require(e))):import(/* webpackIgnore: true */ e).then(t)}catch(t){console.warn(`Couldn't load ${e}`)}}let h=e.fetch;const u=e=>h=e;if(!e.fetch){const e=l(\"http\",(e=>e)),t=l(\"https\",(e=>e)),i=(n,{headers:s}={})=>new Promise((async(r,a)=>{let{port:o,hostname:l,pathname:h,protocol:u,search:c}=new URL(n);const f={method:\"GET\",hostname:l,path:encodeURI(h)+c,headers:s};\"\"!==o&&(f.port=Number(o));const d=(\"https:\"===u?await t:await e).request(f,(e=>{if(301===e.statusCode||302===e.statusCode){let t=new URL(e.headers.location,n).toString();return i(t,{headers:s}).then(r).catch(a)}r({status:e.statusCode,arrayBuffer:()=>new Promise((t=>{let i=[];e.on(\"data\",(e=>i.push(e))),e.on(\"end\",(()=>t(Buffer.concat(i))))}))})}));d.on(\"error\",a),d.end()}));u(i)}function c(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}const f=e=>p(e)?void 0:e,d=e=>void 0!==e;function p(e){return void 0===e||(e instanceof Map?0===e.size:0===Object.values(e).filter(d).length)}function g(e){let t=new Error(e);throw delete t.stack,t}function m(e){return\"\"===(e=function(e){for(;e.endsWith(\"\\0\");)e=e.slice(0,-1);return e}(e).trim())?void 0:e}function S(e){let t=function(e){let t=0;return e.ifd0.enabled&&(t+=1024),e.exif.enabled&&(t+=2048),e.makerNote&&(t+=2048),e.userComment&&(t+=1024),e.gps.enabled&&(t+=512),e.interop.enabled&&(t+=100),e.ifd1.enabled&&(t+=1024),t+2048}(e);return e.jfif.enabled&&(t+=50),e.xmp.enabled&&(t+=2e4),e.iptc.enabled&&(t+=14e3),e.icc.enabled&&(t+=6e3),t}const C=e=>String.fromCharCode.apply(null,e),y=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf-8\"):void 0;function b(e){return y?y.decode(e):a?Buffer.from(e).toString(\"utf8\"):decodeURIComponent(escape(C(e)))}class I{static from(e,t){return e instanceof this&&e.le===t?e:new I(e,void 0,void 0,t)}constructor(e,t=0,i,n){if(\"boolean\"==typeof n&&(this.le=n),Array.isArray(e)&&(e=new Uint8Array(e)),0===e)this.byteOffset=0,this.byteLength=0;else if(e instanceof ArrayBuffer){void 0===i&&(i=e.byteLength-t);let n=new DataView(e,t,i);this._swapDataView(n)}else if(e instanceof Uint8Array||e instanceof DataView||e instanceof I){void 0===i&&(i=e.byteLength-t),(t+=e.byteOffset)+i>e.byteOffset+e.byteLength&&g(\"Creating view outside of available memory in ArrayBuffer\");let n=new DataView(e.buffer,t,i);this._swapDataView(n)}else if(\"number\"==typeof e){let t=new DataView(new ArrayBuffer(e));this._swapDataView(t)}else g(\"Invalid input argument for BufferView: \"+e)}_swapArrayBuffer(e){this._swapDataView(new DataView(e))}_swapBuffer(e){this._swapDataView(new DataView(e.buffer,e.byteOffset,e.byteLength))}_swapDataView(e){this.dataView=e,this.buffer=e.buffer,this.byteOffset=e.byteOffset,this.byteLength=e.byteLength}_lengthToEnd(e){return this.byteLength-e}set(e,t,i=I){return e instanceof DataView||e instanceof I?e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e instanceof ArrayBuffer&&(e=new Uint8Array(e)),e instanceof Uint8Array||g(\"BufferView.set(): Invalid data argument.\"),this.toUint8().set(e,t),new i(this,t,e.byteLength)}subarray(e,t){return t=t||this._lengthToEnd(e),new I(this,e,t)}toUint8(){return new Uint8Array(this.buffer,this.byteOffset,this.byteLength)}getUint8Array(e,t){return new Uint8Array(this.buffer,this.byteOffset+e,t)}getString(e=0,t=this.byteLength){return b(this.getUint8Array(e,t))}getLatin1String(e=0,t=this.byteLength){let i=this.getUint8Array(e,t);return C(i)}getUnicodeString(e=0,t=this.byteLength){const i=[];for(let n=0;n1e4?v(e,i,\"base64\"):n&&e.includes(\"://\")?x(e,i,\"url\",M):n?v(e,i,\"fs\"):t?x(e,i,\"url\",M):void g(\"Invalid input argument\");var s}async function x(e,t,i,n){return A.has(i)?v(e,t,i):n?async function(e,t){let i=await t(e);return new I(i)}(e,n):void g(`Parser ${i} is not loaded`)}async function v(e,t,i){let n=new(A.get(i))(e,t);return await n.read(),n}const M=e=>h(e).then((e=>e.arrayBuffer())),R=e=>new Promise(((t,i)=>{let n=new FileReader;n.onloadend=()=>t(n.result||new ArrayBuffer),n.onerror=i,n.readAsArrayBuffer(e)}));class L extends Map{get tagKeys(){return this.allKeys||(this.allKeys=Array.from(this.keys())),this.allKeys}get tagValues(){return this.allValues||(this.allValues=Array.from(this.values())),this.allValues}}function U(e,t,i){let n=new L;for(let[e,t]of i)n.set(e,t);if(Array.isArray(t))for(let i of t)e.set(i,n);else e.set(t,n);return n}function F(e,t,i){let n,s=e.get(t);for(n of i)s.set(n[0],n[1])}const E=new Map,B=new Map,N=new Map,G=[\"chunked\",\"firstChunkSize\",\"firstChunkSizeNode\",\"firstChunkSizeBrowser\",\"chunkSize\",\"chunkLimit\"],V=[\"jfif\",\"xmp\",\"icc\",\"iptc\",\"ihdr\"],z=[\"tiff\",...V],H=[\"ifd0\",\"ifd1\",\"exif\",\"gps\",\"interop\"],j=[...z,...H],W=[\"makerNote\",\"userComment\"],K=[\"translateKeys\",\"translateValues\",\"reviveValues\",\"multiSegment\"],X=[...K,\"sanitize\",\"mergeOutput\",\"silentErrors\"];class _{get translate(){return this.translateKeys||this.translateValues||this.reviveValues}}class Y extends _{get needed(){return this.enabled||this.deps.size>0}constructor(e,t,i,n){if(super(),c(this,\"enabled\",!1),c(this,\"skip\",new Set),c(this,\"pick\",new Set),c(this,\"deps\",new Set),c(this,\"translateKeys\",!1),c(this,\"translateValues\",!1),c(this,\"reviveValues\",!1),this.key=e,this.enabled=t,this.parse=this.enabled,this.applyInheritables(n),this.canBeFiltered=H.includes(e),this.canBeFiltered&&(this.dict=E.get(e)),void 0!==i)if(Array.isArray(i))this.parse=this.enabled=!0,this.canBeFiltered&&i.length>0&&this.translateTagSet(i,this.pick);else if(\"object\"==typeof i){if(this.enabled=!0,this.parse=!1!==i.parse,this.canBeFiltered){let{pick:e,skip:t}=i;e&&e.length>0&&this.translateTagSet(e,this.pick),t&&t.length>0&&this.translateTagSet(t,this.skip)}this.applyInheritables(i)}else!0===i||!1===i?this.parse=this.enabled=i:g(`Invalid options argument: ${i}`)}applyInheritables(e){let t,i;for(t of K)i=e[t],void 0!==i&&(this[t]=i)}translateTagSet(e,t){if(this.dict){let i,n,{tagKeys:s,tagValues:r}=this.dict;for(i of e)\"string\"==typeof i?(n=r.indexOf(i),-1===n&&(n=s.indexOf(Number(i))),-1!==n&&t.add(Number(s[n]))):t.add(i)}else for(let i of e)t.add(i)}finalizeFilters(){!this.enabled&&this.deps.size>0?(this.enabled=!0,ee(this.pick,this.deps)):this.enabled&&this.pick.size>0&&ee(this.pick,this.deps)}}var $={jfif:!1,tiff:!0,xmp:!1,icc:!1,iptc:!1,ifd0:!0,ifd1:!1,exif:!0,gps:!0,interop:!1,ihdr:void 0,makerNote:!1,userComment:!1,multiSegment:!1,skip:[],pick:[],translateKeys:!0,translateValues:!0,reviveValues:!0,sanitize:!0,mergeOutput:!0,silentErrors:!0,chunked:!0,firstChunkSize:void 0,firstChunkSizeNode:512,firstChunkSizeBrowser:65536,chunkSize:65536,chunkLimit:5},J=new Map;class q extends _{static useCached(e){let t=J.get(e);return void 0!==t||(t=new this(e),J.set(e,t)),t}constructor(e){super(),!0===e?this.setupFromTrue():void 0===e?this.setupFromUndefined():Array.isArray(e)?this.setupFromArray(e):\"object\"==typeof e?this.setupFromObject(e):g(`Invalid options argument ${e}`),void 0===this.firstChunkSize&&(this.firstChunkSize=t?this.firstChunkSizeBrowser:this.firstChunkSizeNode),this.mergeOutput&&(this.ifd1.enabled=!1),this.filterNestedSegmentTags(),this.traverseTiffDependencyTree(),this.checkLoadedPlugins()}setupFromUndefined(){let e;for(e of G)this[e]=$[e];for(e of X)this[e]=$[e];for(e of W)this[e]=$[e];for(e of j)this[e]=new Y(e,$[e],void 0,this)}setupFromTrue(){let e;for(e of G)this[e]=$[e];for(e of X)this[e]=$[e];for(e of W)this[e]=!0;for(e of j)this[e]=new Y(e,!0,void 0,this)}setupFromArray(e){let t;for(t of G)this[t]=$[t];for(t of X)this[t]=$[t];for(t of W)this[t]=$[t];for(t of j)this[t]=new Y(t,!1,void 0,this);this.setupGlobalFilters(e,void 0,H)}setupFromObject(e){let t;for(t of(H.ifd0=H.ifd0||H.image,H.ifd1=H.ifd1||H.thumbnail,Object.assign(this,e),G))this[t]=Z(e[t],$[t]);for(t of X)this[t]=Z(e[t],$[t]);for(t of W)this[t]=Z(e[t],$[t]);for(t of z)this[t]=new Y(t,$[t],e[t],this);for(t of H)this[t]=new Y(t,$[t],e[t],this.tiff);this.setupGlobalFilters(e.pick,e.skip,H,j),!0===e.tiff?this.batchEnableWithBool(H,!0):!1===e.tiff?this.batchEnableWithUserValue(H,e):Array.isArray(e.tiff)?this.setupGlobalFilters(e.tiff,void 0,H):\"object\"==typeof e.tiff&&this.setupGlobalFilters(e.tiff.pick,e.tiff.skip,H)}batchEnableWithBool(e,t){for(let i of e)this[i].enabled=t}batchEnableWithUserValue(e,t){for(let i of e){let e=t[i];this[i].enabled=!1!==e&&void 0!==e}}setupGlobalFilters(e,t,i,n=i){if(e&&e.length){for(let e of n)this[e].enabled=!1;let t=Q(e,i);for(let[e,i]of t)ee(this[e].pick,i),this[e].enabled=!0}else if(t&&t.length){let e=Q(t,i);for(let[t,i]of e)ee(this[t].skip,i)}}filterNestedSegmentTags(){let{ifd0:e,exif:t,xmp:i,iptc:n,icc:s}=this;this.makerNote?t.deps.add(37500):t.skip.add(37500),this.userComment?t.deps.add(37510):t.skip.add(37510),i.enabled||e.skip.add(700),n.enabled||e.skip.add(33723),s.enabled||e.skip.add(34675)}traverseTiffDependencyTree(){let{ifd0:e,exif:t,gps:i,interop:n}=this;n.needed&&(t.deps.add(40965),e.deps.add(40965)),t.needed&&e.deps.add(34665),i.needed&&e.deps.add(34853),this.tiff.enabled=H.some((e=>!0===this[e].enabled))||this.makerNote||this.userComment;for(let e of H)this[e].finalizeFilters()}get onlyTiff(){return!V.map((e=>this[e].enabled)).some((e=>!0===e))&&this.tiff.enabled}checkLoadedPlugins(){for(let e of z)this[e].enabled&&!T.has(e)&&P(\"segment parser\",e)}}function Q(e,t){let i,n,s,r,a=[];for(s of t){for(r of(i=E.get(s),n=[],i))(e.includes(r[0])||e.includes(r[1]))&&n.push(r[0]);n.length&&a.push([s,n])}return a}function Z(e,t){return void 0!==e?e:void 0!==t?t:void 0}function ee(e,t){for(let i of t)e.add(i)}c(q,\"default\",$);class te{constructor(e){c(this,\"parsers\",{}),c(this,\"output\",{}),c(this,\"errors\",[]),c(this,\"pushToErrors\",(e=>this.errors.push(e))),this.options=q.useCached(e)}async read(e){this.file=await D(e,this.options)}setup(){if(this.fileParser)return;let{file:e}=this,t=e.getUint16(0);for(let[i,n]of w)if(n.canHandle(e,t))return this.fileParser=new n(this.options,this.file,this.parsers),e[i]=!0;this.file.close&&this.file.close(),g(\"Unknown file format\")}async parse(){let{output:e,errors:t}=this;return this.setup(),this.options.silentErrors?(await this.executeParsers().catch(this.pushToErrors),t.push(...this.fileParser.errors)):await this.executeParsers(),this.file.close&&this.file.close(),this.options.silentErrors&&t.length>0&&(e.errors=t),f(e)}async executeParsers(){let{output:e}=this;await this.fileParser.parse();let t=Object.values(this.parsers).map((async t=>{let i=await t.parse();t.assignToOutput(e,i)}));this.options.silentErrors&&(t=t.map((e=>e.catch(this.pushToErrors)))),await Promise.all(t)}async extractThumbnail(){this.setup();let{options:e,file:t}=this,i=T.get(\"tiff\",e);var n;if(t.tiff?n={start:0,type:\"tiff\"}:t.jpeg&&(n=await this.fileParser.getOrFindSegment(\"tiff\")),void 0===n)return;let s=await this.fileParser.ensureSegmentChunk(n),r=this.parsers.tiff=new i(s,e,t),a=await r.extractThumbnail();return t.close&&t.close(),a}}async function ie(e,t){let i=new te(t);return await i.read(e),i.parse()}var ne=Object.freeze({__proto__:null,parse:ie,Exifr:te,fileParsers:w,segmentParsers:T,fileReaders:A,tagKeys:E,tagValues:B,tagRevivers:N,createDictionary:U,extendDictionary:F,fetchUrlAsArrayBuffer:M,readBlobAsArrayBuffer:R,chunkedProps:G,otherSegments:V,segments:z,tiffBlocks:H,segmentsAndBlocks:j,tiffExtractables:W,inheritables:K,allFormatters:X,Options:q});class se{constructor(e,t,i){c(this,\"errors\",[]),c(this,\"ensureSegmentChunk\",(async e=>{let t=e.start,i=e.size||65536;if(this.file.chunked)if(this.file.available(t,i))e.chunk=this.file.subarray(t,i);else try{e.chunk=await this.file.readChunk(t,i)}catch(t){g(`Couldn't read segment: ${JSON.stringify(e)}. ${t.message}`)}else this.file.byteLength>t+i?e.chunk=this.file.subarray(t,i):void 0===e.size?e.chunk=this.file.subarray(t):g(\"Segment unreachable: \"+JSON.stringify(e));return e.chunk})),this.extendOptions&&this.extendOptions(e),this.options=e,this.file=t,this.parsers=i}injectSegment(e,t){this.options[e].enabled&&this.createParser(e,t)}createParser(e,t){let i=new(T.get(e))(t,this.options,this.file);return this.parsers[e]=i}createParsers(e){for(let t of e){let{type:e,chunk:i}=t,n=this.options[e];if(n&&n.enabled){let t=this.parsers[e];t&&t.append||t||this.createParser(e,i)}}}async readSegments(e){let t=e.map(this.ensureSegmentChunk);await Promise.all(t)}}class re{static findPosition(e,t){let i=e.getUint16(t+2)+2,n=\"function\"==typeof this.headerLength?this.headerLength(e,t,i):this.headerLength,s=t+n,r=i-n;return{offset:t,length:i,headerLength:n,start:s,size:r,end:s+r}}static parse(e,t={}){return new this(e,new q({[this.type]:t}),e).parse()}normalizeInput(e){return e instanceof I?e:new I(e)}constructor(e,t={},i){c(this,\"errors\",[]),c(this,\"raw\",new Map),c(this,\"handleError\",(e=>{if(!this.options.silentErrors)throw e;this.errors.push(e.message)})),this.chunk=this.normalizeInput(e),this.file=i,this.type=this.constructor.type,this.globalOptions=this.options=t,this.localOptions=t[this.type],this.canTranslate=this.localOptions&&this.localOptions.translate}translate(){this.canTranslate&&(this.translated=this.translateBlock(this.raw,this.type))}get output(){return this.translated?this.translated:this.raw?Object.fromEntries(this.raw):void 0}translateBlock(e,t){let i=N.get(t),n=B.get(t),s=E.get(t),r=this.options[t],a=r.reviveValues&&!!i,o=r.translateValues&&!!n,l=r.translateKeys&&!!s,h={};for(let[t,r]of e)a&&i.has(t)?r=i.get(t)(r):o&&n.has(t)&&(r=this.translateValue(r,n.get(t))),l&&s.has(t)&&(t=s.get(t)||t),h[t]=r;return h}translateValue(e,t){return t[e]||t.DEFAULT||e}assignToOutput(e,t){this.assignObjectToOutput(e,this.constructor.type,t)}assignObjectToOutput(e,t,i){if(this.globalOptions.mergeOutput)return Object.assign(e,i);e[t]?Object.assign(e[t],i):e[t]=i}}c(re,\"headerLength\",4),c(re,\"type\",void 0),c(re,\"multiSegment\",!1),c(re,\"canHandle\",(()=>!1));function ae(e){return 192===e||194===e||196===e||219===e||221===e||218===e||254===e}function oe(e){return e>=224&&e<=239}function le(e,t,i){for(let[n,s]of T)if(s.canHandle(e,t,i))return n}class he extends se{constructor(...e){super(...e),c(this,\"appSegments\",[]),c(this,\"jpegSegments\",[]),c(this,\"unknownSegments\",[])}static canHandle(e,t){return 65496===t}async parse(){await this.findAppSegments(),await this.readSegments(this.appSegments),this.mergeMultiSegments(),this.createParsers(this.mergedAppSegments||this.appSegments)}setupSegmentFinderArgs(e){!0===e?(this.findAll=!0,this.wanted=new Set(T.keyList())):(e=void 0===e?T.keyList().filter((e=>this.options[e].enabled)):e.filter((e=>this.options[e].enabled&&T.has(e))),this.findAll=!1,this.remaining=new Set(e),this.wanted=new Set(e)),this.unfinishedMultiSegment=!1}async findAppSegments(e=0,t){this.setupSegmentFinderArgs(t);let{file:i,findAll:n,wanted:s,remaining:r}=this;if(!n&&this.file.chunked&&(n=Array.from(s).some((e=>{let t=T.get(e),i=this.options[e];return t.multiSegment&&i.multiSegment})),n&&await this.file.readWhole()),e=this.findAppSegmentsInRange(e,i.byteLength),!this.options.onlyTiff&&i.chunked){let t=!1;for(;r.size>0&&!t&&(i.canReadNextChunk||this.unfinishedMultiSegment);){let{nextChunkOffset:n}=i,s=this.appSegments.some((e=>!this.file.available(e.offset||e.start,e.length||e.size)));if(t=e>n&&!s?!await i.readNextChunk(e):!await i.readNextChunk(n),void 0===(e=this.findAppSegmentsInRange(e,i.byteLength)))return}}}findAppSegmentsInRange(e,t){t-=2;let i,n,s,r,a,o,{file:l,findAll:h,wanted:u,remaining:c,options:f}=this;for(;ee.multiSegment)))return;let e=function(e,t){let i,n,s,r=new Map;for(let a=0;a{let i=T.get(e,this.options);if(i.handleMultiSegments){return{type:e,chunk:i.handleMultiSegments(t)}}return t[0]}))}getSegment(e){return this.appSegments.find((t=>t.type===e))}async getOrFindSegment(e){let t=this.getSegment(e);return void 0===t&&(await this.findAppSegments(0,[e]),t=this.getSegment(e)),t}}c(he,\"type\",\"jpeg\"),w.set(\"jpeg\",he);const ue=[void 0,1,1,2,4,8,1,1,2,4,8,4,8,4];class ce extends re{parseHeader(){var e=this.chunk.getUint16();18761===e?this.le=!0:19789===e&&(this.le=!1),this.chunk.le=this.le,this.headerParsed=!0}parseTags(e,t,i=new Map){let{pick:n,skip:s}=this.options[t];n=new Set(n);let r=n.size>0,a=0===s.size,o=this.chunk.getUint16(e);e+=2;for(let l=0;l13)&&g(`Invalid TIFF value type. block: ${i.toUpperCase()}, tag: ${t.toString(16)}, type: ${s}, offset ${e}`),e>n.byteLength&&g(`Invalid TIFF value offset. block: ${i.toUpperCase()}, tag: ${t.toString(16)}, type: ${s}, offset ${e} is outside of chunk size ${n.byteLength}`),1===s)return n.getUint8Array(e,r);if(2===s)return m(n.getString(e,r));if(7===s)return n.getUint8Array(e,r);if(1===r)return this.parseTagValue(s,e);{let t=new(function(e){switch(e){case 1:return Uint8Array;case 3:return Uint16Array;case 4:return Uint32Array;case 5:return Array;case 6:return Int8Array;case 8:return Int16Array;case 9:return Int32Array;case 10:return Array;case 11:return Float32Array;case 12:return Float64Array;default:return Array}}(s))(r),i=a;for(let n=0;ne.byteLength&&g(`IFD0 offset points to outside of file.\\nthis.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e.byteLength}`),e.tiff&&await e.ensureChunk(this.ifd0Offset,S(this.options));let t=this.parseBlock(this.ifd0Offset,\"ifd0\");return 0!==t.size?(this.exifOffset=t.get(34665),this.interopOffset=t.get(40965),this.gpsOffset=t.get(34853),this.xmp=t.get(700),this.iptc=t.get(33723),this.icc=t.get(34675),this.options.sanitize&&(t.delete(34665),t.delete(40965),t.delete(34853),t.delete(700),t.delete(33723),t.delete(34675)),t):void 0}async parseExifBlock(){if(this.exif)return;if(this.ifd0||await this.parseIfd0Block(),void 0===this.exifOffset)return;this.file.tiff&&await this.file.ensureChunk(this.exifOffset,S(this.options));let e=this.parseBlock(this.exifOffset,\"exif\");return this.interopOffset||(this.interopOffset=e.get(40965)),this.makerNote=e.get(37500),this.userComment=e.get(37510),this.options.sanitize&&(e.delete(40965),e.delete(37500),e.delete(37510)),this.unpack(e,41728),this.unpack(e,41729),e}unpack(e,t){let i=e.get(t);i&&1===i.length&&e.set(t,i[0])}async parseGpsBlock(){if(this.gps)return;if(this.ifd0||await this.parseIfd0Block(),void 0===this.gpsOffset)return;let e=this.parseBlock(this.gpsOffset,\"gps\");return e&&e.has(2)&&e.has(4)&&(e.set(\"latitude\",de(...e.get(2),e.get(1))),e.set(\"longitude\",de(...e.get(4),e.get(3)))),e}async parseInteropBlock(){if(!this.interop&&(this.ifd0||await this.parseIfd0Block(),void 0!==this.interopOffset||this.exif||await this.parseExifBlock(),void 0!==this.interopOffset))return this.parseBlock(this.interopOffset,\"interop\")}async parseThumbnailBlock(e=!1){if(!this.ifd1&&!this.ifd1Parsed&&(!this.options.mergeOutput||e))return this.findIfd1Offset(),this.ifd1Offset>0&&(this.parseBlock(this.ifd1Offset,\"ifd1\"),this.ifd1Parsed=!0),this.ifd1}async extractThumbnail(){if(this.headerParsed||this.parseHeader(),this.ifd1Parsed||await this.parseThumbnailBlock(!0),void 0===this.ifd1)return;let e=this.ifd1.get(513),t=this.ifd1.get(514);return this.chunk.getUint8Array(e,t)}get image(){return this.ifd0}get thumbnail(){return this.ifd1}createOutput(){let e,t,i,n={};for(t of H)if(e=this[t],!p(e))if(i=this.canTranslate?this.translateBlock(e,t):Object.fromEntries(e),this.options.mergeOutput){if(\"ifd1\"===t)continue;Object.assign(n,i)}else n[t]=i;return this.makerNote&&(n.makerNote=this.makerNote),this.userComment&&(n.userComment=this.userComment),n}assignToOutput(e,t){if(this.globalOptions.mergeOutput)Object.assign(e,t);else for(let[i,n]of Object.entries(t))this.assignObjectToOutput(e,i,n)}}function de(e,t,i,n){var s=e+t/60+i/3600;return\"S\"!==n&&\"W\"!==n||(s*=-1),s}c(fe,\"type\",\"tiff\"),c(fe,\"headerLength\",10),T.set(\"tiff\",fe);var pe=Object.freeze({__proto__:null,default:ne,Exifr:te,fileParsers:w,segmentParsers:T,fileReaders:A,tagKeys:E,tagValues:B,tagRevivers:N,createDictionary:U,extendDictionary:F,fetchUrlAsArrayBuffer:M,readBlobAsArrayBuffer:R,chunkedProps:G,otherSegments:V,segments:z,tiffBlocks:H,segmentsAndBlocks:j,tiffExtractables:W,inheritables:K,allFormatters:X,Options:q,parse:ie});const ge={ifd0:!1,ifd1:!1,exif:!1,gps:!1,interop:!1,sanitize:!1,reviveValues:!0,translateKeys:!1,translateValues:!1,mergeOutput:!1},me=Object.assign({},ge,{firstChunkSize:4e4,gps:[1,2,3,4]});async function Se(e){let t=new te(me);await t.read(e);let i=await t.parse();if(i&&i.gps){let{latitude:e,longitude:t}=i.gps;return{latitude:e,longitude:t}}}const Ce=Object.assign({},ge,{tiff:!1,ifd1:!0,mergeOutput:!1});async function ye(e){let t=new te(Ce);await t.read(e);let i=await t.extractThumbnail();return i&&a?s.from(i):i}async function be(e){let t=await this.thumbnail(e);if(void 0!==t){let e=new Blob([t]);return URL.createObjectURL(e)}}const Ie=Object.assign({},ge,{firstChunkSize:4e4,ifd0:[274]});async function Pe(e){let t=new te(Ie);await t.read(e);let i=await t.parse();if(i&&i.ifd0)return i.ifd0[274]}const ke=Object.freeze({1:{dimensionSwapped:!1,scaleX:1,scaleY:1,deg:0,rad:0},2:{dimensionSwapped:!1,scaleX:-1,scaleY:1,deg:0,rad:0},3:{dimensionSwapped:!1,scaleX:1,scaleY:1,deg:180,rad:180*Math.PI/180},4:{dimensionSwapped:!1,scaleX:-1,scaleY:1,deg:180,rad:180*Math.PI/180},5:{dimensionSwapped:!0,scaleX:1,scaleY:-1,deg:90,rad:90*Math.PI/180},6:{dimensionSwapped:!0,scaleX:1,scaleY:1,deg:90,rad:90*Math.PI/180},7:{dimensionSwapped:!0,scaleX:1,scaleY:-1,deg:270,rad:270*Math.PI/180},8:{dimensionSwapped:!0,scaleX:1,scaleY:1,deg:270,rad:270*Math.PI/180}});let we=!0,Te=!0;if(\"object\"==typeof navigator){let e=navigator.userAgent;if(e.includes(\"iPad\")||e.includes(\"iPhone\")){let t=e.match(/OS (\\d+)_(\\d+)/);if(t){let[,e,i]=t,n=Number(e)+.1*Number(i);we=n<13.4,Te=!1}}else if(e.includes(\"OS X 10\")){let[,t]=e.match(/OS X 10[_.](\\d+)/);we=Te=Number(t)<15}if(e.includes(\"Chrome/\")){let[,t]=e.match(/Chrome\\/(\\d+)/);we=Te=Number(t)<81}else if(e.includes(\"Firefox/\")){let[,t]=e.match(/Firefox\\/(\\d+)/);we=Te=Number(t)<77}}async function Ae(e){let t=await Pe(e);return Object.assign({canvas:we,css:Te},ke[t])}class De extends I{constructor(...e){super(...e),c(this,\"ranges\",new Oe),0!==this.byteLength&&this.ranges.add(0,this.byteLength)}_tryExtend(e,t,i){if(0===e&&0===this.byteLength&&i){let e=new DataView(i.buffer||i,i.byteOffset,i.byteLength);this._swapDataView(e)}else{let i=e+t;if(i>this.byteLength){let{dataView:e}=this._extend(i);this._swapDataView(e)}}}_extend(e){let t;t=a?s.allocUnsafe(e):new Uint8Array(e);let i=new DataView(t.buffer,t.byteOffset,t.byteLength);return t.set(new Uint8Array(this.buffer,this.byteOffset,this.byteLength),0),{uintView:t,dataView:i}}subarray(e,t,i=!1){return t=t||this._lengthToEnd(e),i&&this._tryExtend(e,t),this.ranges.add(e,t),super.subarray(e,t)}set(e,t,i=!1){i&&this._tryExtend(t,e.byteLength,e);let n=super.set(e,t);return this.ranges.add(t,n.byteLength),n}async ensureChunk(e,t){this.chunked&&(this.ranges.available(e,t)||await this.readChunk(e,t))}available(e,t){return this.ranges.available(e,t)}}class Oe{constructor(){c(this,\"list\",[])}get length(){return this.list.length}add(e,t,i=0){let n=e+t,s=this.list.filter((t=>xe(e,t.offset,n)||xe(e,t.end,n)));if(s.length>0){e=Math.min(e,...s.map((e=>e.offset))),n=Math.max(n,...s.map((e=>e.end))),t=n-e;let i=s.shift();i.offset=e,i.length=t,i.end=n,this.list=this.list.filter((e=>!s.includes(e)))}else this.list.push({offset:e,length:t,end:n})}available(e,t){let i=e+t;return this.list.some((t=>t.offset<=e&&i<=t.end))}}function xe(e,t,i){return e<=t&&t<=i}class ve extends De{constructor(e,t){super(0),c(this,\"chunksRead\",0),this.input=e,this.options=t}async readWhole(){this.chunked=!1,await this.readChunk(this.nextChunkOffset)}async readChunked(){this.chunked=!0,await this.readChunk(0,this.options.firstChunkSize)}async readNextChunk(e=this.nextChunkOffset){if(this.fullyRead)return this.chunksRead++,!1;let t=this.options.chunkSize,i=await this.readChunk(e,t);return!!i&&i.byteLength===t}async readChunk(e,t){if(this.chunksRead++,0!==(t=this.safeWrapAddress(e,t)))return this._readChunk(e,t)}safeWrapAddress(e,t){return void 0!==this.size&&e+t>this.size?Math.max(0,this.size-e):t}get nextChunkOffset(){if(0!==this.ranges.list.length)return this.ranges.list[0].length}get canReadNextChunk(){return this.chunksReade.kind===t))}parseBoxHead(e){let t=this.file.getUint32(e),i=this.file.getString(e+4,4),n=e+8;return 1===t&&(t=this.file.getUint64(e+8),n+=8),{offset:e,length:t,kind:i,start:n}}parseBoxFullHead(e){if(void 0!==e.version)return;let t=this.file.getUint32(e.start);e.version=t>>24,e.start+=4}}class Le extends Re{static canHandle(e,t){if(0!==t)return!1;let i=e.getUint16(2);if(i>50)return!1;let n=16,s=[];for(;n=2&&(n=3===t.version?4:2,s=this.file.getString(i+n+2,4),\"Exif\"===s))return this.file.getUintBytes(i,n);r+=t.length}}get8bits(e){let t=this.file.getUint8(e);return[t>>4,15&t]}findExtentInIloc(e,t){this.parseBoxFullHead(e);let i=e.start,[n,s]=this.get8bits(i++),[r,a]=this.get8bits(i++),o=2===e.version?4:2,l=1===e.version||2===e.version?2:0,h=a+n+s,u=2===e.version?4:2,c=this.file.getUintBytes(i,u);for(i+=u;c--;){let e=this.file.getUintBytes(i,o);i+=o+l+2+r;let u=this.file.getUint16(i);if(i+=2,e===t)return u>1&&console.warn(\"ILOC box has more than one extent but we're only processing one\\nPlease create an issue at https://github.com/MikeKovarik/exifr with this file\"),[this.file.getUintBytes(i+a,n),this.file.getUintBytes(i+a+n,s)];i+=u*h}}}class Ue extends Le{}c(Ue,\"type\",\"heic\");class Fe extends Le{}c(Fe,\"type\",\"avif\"),w.set(\"heic\",Ue),w.set(\"avif\",Fe),U(E,[\"ifd0\",\"ifd1\"],[[256,\"ImageWidth\"],[257,\"ImageHeight\"],[258,\"BitsPerSample\"],[259,\"Compression\"],[262,\"PhotometricInterpretation\"],[270,\"ImageDescription\"],[271,\"Make\"],[272,\"Model\"],[273,\"StripOffsets\"],[274,\"Orientation\"],[277,\"SamplesPerPixel\"],[278,\"RowsPerStrip\"],[279,\"StripByteCounts\"],[282,\"XResolution\"],[283,\"YResolution\"],[284,\"PlanarConfiguration\"],[296,\"ResolutionUnit\"],[301,\"TransferFunction\"],[305,\"Software\"],[306,\"ModifyDate\"],[315,\"Artist\"],[316,\"HostComputer\"],[317,\"Predictor\"],[318,\"WhitePoint\"],[319,\"PrimaryChromaticities\"],[513,\"ThumbnailOffset\"],[514,\"ThumbnailLength\"],[529,\"YCbCrCoefficients\"],[530,\"YCbCrSubSampling\"],[531,\"YCbCrPositioning\"],[532,\"ReferenceBlackWhite\"],[700,\"ApplicationNotes\"],[33432,\"Copyright\"],[33723,\"IPTC\"],[34665,\"ExifIFD\"],[34675,\"ICC\"],[34853,\"GpsIFD\"],[330,\"SubIFD\"],[40965,\"InteropIFD\"],[40091,\"XPTitle\"],[40092,\"XPComment\"],[40093,\"XPAuthor\"],[40094,\"XPKeywords\"],[40095,\"XPSubject\"]]),U(E,\"exif\",[[33434,\"ExposureTime\"],[33437,\"FNumber\"],[34850,\"ExposureProgram\"],[34852,\"SpectralSensitivity\"],[34855,\"ISO\"],[34858,\"TimeZoneOffset\"],[34859,\"SelfTimerMode\"],[34864,\"SensitivityType\"],[34865,\"StandardOutputSensitivity\"],[34866,\"RecommendedExposureIndex\"],[34867,\"ISOSpeed\"],[34868,\"ISOSpeedLatitudeyyy\"],[34869,\"ISOSpeedLatitudezzz\"],[36864,\"ExifVersion\"],[36867,\"DateTimeOriginal\"],[36868,\"CreateDate\"],[36873,\"GooglePlusUploadCode\"],[36880,\"OffsetTime\"],[36881,\"OffsetTimeOriginal\"],[36882,\"OffsetTimeDigitized\"],[37121,\"ComponentsConfiguration\"],[37122,\"CompressedBitsPerPixel\"],[37377,\"ShutterSpeedValue\"],[37378,\"ApertureValue\"],[37379,\"BrightnessValue\"],[37380,\"ExposureCompensation\"],[37381,\"MaxApertureValue\"],[37382,\"SubjectDistance\"],[37383,\"MeteringMode\"],[37384,\"LightSource\"],[37385,\"Flash\"],[37386,\"FocalLength\"],[37393,\"ImageNumber\"],[37394,\"SecurityClassification\"],[37395,\"ImageHistory\"],[37396,\"SubjectArea\"],[37500,\"MakerNote\"],[37510,\"UserComment\"],[37520,\"SubSecTime\"],[37521,\"SubSecTimeOriginal\"],[37522,\"SubSecTimeDigitized\"],[37888,\"AmbientTemperature\"],[37889,\"Humidity\"],[37890,\"Pressure\"],[37891,\"WaterDepth\"],[37892,\"Acceleration\"],[37893,\"CameraElevationAngle\"],[40960,\"FlashpixVersion\"],[40961,\"ColorSpace\"],[40962,\"ExifImageWidth\"],[40963,\"ExifImageHeight\"],[40964,\"RelatedSoundFile\"],[41483,\"FlashEnergy\"],[41486,\"FocalPlaneXResolution\"],[41487,\"FocalPlaneYResolution\"],[41488,\"FocalPlaneResolutionUnit\"],[41492,\"SubjectLocation\"],[41493,\"ExposureIndex\"],[41495,\"SensingMethod\"],[41728,\"FileSource\"],[41729,\"SceneType\"],[41730,\"CFAPattern\"],[41985,\"CustomRendered\"],[41986,\"ExposureMode\"],[41987,\"WhiteBalance\"],[41988,\"DigitalZoomRatio\"],[41989,\"FocalLengthIn35mmFormat\"],[41990,\"SceneCaptureType\"],[41991,\"GainControl\"],[41992,\"Contrast\"],[41993,\"Saturation\"],[41994,\"Sharpness\"],[41996,\"SubjectDistanceRange\"],[42016,\"ImageUniqueID\"],[42032,\"OwnerName\"],[42033,\"SerialNumber\"],[42034,\"LensInfo\"],[42035,\"LensMake\"],[42036,\"LensModel\"],[42037,\"LensSerialNumber\"],[42080,\"CompositeImage\"],[42081,\"CompositeImageCount\"],[42082,\"CompositeImageExposureTimes\"],[42240,\"Gamma\"],[59932,\"Padding\"],[59933,\"OffsetSchema\"],[65e3,\"OwnerName\"],[65001,\"SerialNumber\"],[65002,\"Lens\"],[65100,\"RawFile\"],[65101,\"Converter\"],[65102,\"WhiteBalance\"],[65105,\"Exposure\"],[65106,\"Shadows\"],[65107,\"Brightness\"],[65108,\"Contrast\"],[65109,\"Saturation\"],[65110,\"Sharpness\"],[65111,\"Smoothness\"],[65112,\"MoireFilter\"],[40965,\"InteropIFD\"]]),U(E,\"gps\",[[0,\"GPSVersionID\"],[1,\"GPSLatitudeRef\"],[2,\"GPSLatitude\"],[3,\"GPSLongitudeRef\"],[4,\"GPSLongitude\"],[5,\"GPSAltitudeRef\"],[6,\"GPSAltitude\"],[7,\"GPSTimeStamp\"],[8,\"GPSSatellites\"],[9,\"GPSStatus\"],[10,\"GPSMeasureMode\"],[11,\"GPSDOP\"],[12,\"GPSSpeedRef\"],[13,\"GPSSpeed\"],[14,\"GPSTrackRef\"],[15,\"GPSTrack\"],[16,\"GPSImgDirectionRef\"],[17,\"GPSImgDirection\"],[18,\"GPSMapDatum\"],[19,\"GPSDestLatitudeRef\"],[20,\"GPSDestLatitude\"],[21,\"GPSDestLongitudeRef\"],[22,\"GPSDestLongitude\"],[23,\"GPSDestBearingRef\"],[24,\"GPSDestBearing\"],[25,\"GPSDestDistanceRef\"],[26,\"GPSDestDistance\"],[27,\"GPSProcessingMethod\"],[28,\"GPSAreaInformation\"],[29,\"GPSDateStamp\"],[30,\"GPSDifferential\"],[31,\"GPSHPositioningError\"]]),U(B,[\"ifd0\",\"ifd1\"],[[274,{1:\"Horizontal (normal)\",2:\"Mirror horizontal\",3:\"Rotate 180\",4:\"Mirror vertical\",5:\"Mirror horizontal and rotate 270 CW\",6:\"Rotate 90 CW\",7:\"Mirror horizontal and rotate 90 CW\",8:\"Rotate 270 CW\"}],[296,{1:\"None\",2:\"inches\",3:\"cm\"}]]);let Ee=U(B,\"exif\",[[34850,{0:\"Not defined\",1:\"Manual\",2:\"Normal program\",3:\"Aperture priority\",4:\"Shutter priority\",5:\"Creative program\",6:\"Action program\",7:\"Portrait mode\",8:\"Landscape mode\"}],[37121,{0:\"-\",1:\"Y\",2:\"Cb\",3:\"Cr\",4:\"R\",5:\"G\",6:\"B\"}],[37383,{0:\"Unknown\",1:\"Average\",2:\"CenterWeightedAverage\",3:\"Spot\",4:\"MultiSpot\",5:\"Pattern\",6:\"Partial\",255:\"Other\"}],[37384,{0:\"Unknown\",1:\"Daylight\",2:\"Fluorescent\",3:\"Tungsten (incandescent light)\",4:\"Flash\",9:\"Fine weather\",10:\"Cloudy weather\",11:\"Shade\",12:\"Daylight fluorescent (D 5700 - 7100K)\",13:\"Day white fluorescent (N 4600 - 5400K)\",14:\"Cool white fluorescent (W 3900 - 4500K)\",15:\"White fluorescent (WW 3200 - 3700K)\",17:\"Standard light A\",18:\"Standard light B\",19:\"Standard light C\",20:\"D55\",21:\"D65\",22:\"D75\",23:\"D50\",24:\"ISO studio tungsten\",255:\"Other\"}],[37385,{0:\"Flash did not fire\",1:\"Flash fired\",5:\"Strobe return light not detected\",7:\"Strobe return light detected\",9:\"Flash fired, compulsory flash mode\",13:\"Flash fired, compulsory flash mode, return light not detected\",15:\"Flash fired, compulsory flash mode, return light detected\",16:\"Flash did not fire, compulsory flash mode\",24:\"Flash did not fire, auto mode\",25:\"Flash fired, auto mode\",29:\"Flash fired, auto mode, return light not detected\",31:\"Flash fired, auto mode, return light detected\",32:\"No flash function\",65:\"Flash fired, red-eye reduction mode\",69:\"Flash fired, red-eye reduction mode, return light not detected\",71:\"Flash fired, red-eye reduction mode, return light detected\",73:\"Flash fired, compulsory flash mode, red-eye reduction mode\",77:\"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected\",79:\"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected\",89:\"Flash fired, auto mode, red-eye reduction mode\",93:\"Flash fired, auto mode, return light not detected, red-eye reduction mode\",95:\"Flash fired, auto mode, return light detected, red-eye reduction mode\"}],[41495,{1:\"Not defined\",2:\"One-chip color area sensor\",3:\"Two-chip color area sensor\",4:\"Three-chip color area sensor\",5:\"Color sequential area sensor\",7:\"Trilinear sensor\",8:\"Color sequential linear sensor\"}],[41728,{1:\"Film Scanner\",2:\"Reflection Print Scanner\",3:\"Digital Camera\"}],[41729,{1:\"Directly photographed\"}],[41985,{0:\"Normal\",1:\"Custom\",2:\"HDR (no original saved)\",3:\"HDR (original saved)\",4:\"Original (for HDR)\",6:\"Panorama\",7:\"Portrait HDR\",8:\"Portrait\"}],[41986,{0:\"Auto\",1:\"Manual\",2:\"Auto bracket\"}],[41987,{0:\"Auto\",1:\"Manual\"}],[41990,{0:\"Standard\",1:\"Landscape\",2:\"Portrait\",3:\"Night\",4:\"Other\"}],[41991,{0:\"None\",1:\"Low gain up\",2:\"High gain up\",3:\"Low gain down\",4:\"High gain down\"}],[41996,{0:\"Unknown\",1:\"Macro\",2:\"Close\",3:\"Distant\"}],[42080,{0:\"Unknown\",1:\"Not a Composite Image\",2:\"General Composite Image\",3:\"Composite Image Captured While Shooting\"}]]);const Be={1:\"No absolute unit of measurement\",2:\"Inch\",3:\"Centimeter\"};Ee.set(37392,Be),Ee.set(41488,Be);const Ne={0:\"Normal\",1:\"Low\",2:\"High\"};function Ge(e){return\"object\"==typeof e&&void 0!==e.length?e[0]:e}function Ve(e){let t=Array.from(e).slice(1);return t[1]>15&&(t=t.map((e=>String.fromCharCode(e)))),\"0\"!==t[2]&&0!==t[2]||t.pop(),t.join(\".\")}function ze(e){if(\"string\"==typeof e){var[t,i,n,s,r,a]=e.trim().split(/[-: ]/g).map(Number),o=new Date(t,i-1,n);return Number.isNaN(s)||Number.isNaN(r)||Number.isNaN(a)||(o.setHours(s),o.setMinutes(r),o.setSeconds(a)),Number.isNaN(+o)?e:o}}function He(e){if(\"string\"==typeof e)return e;let t=[];if(0===e[1]&&0===e[e.length-1])for(let i=0;iArray.from(e).join(\".\")],[7,e=>Array.from(e).join(\":\")]]);class We extends re{static canHandle(e,t){return 225===e.getUint8(t+1)&&1752462448===e.getUint32(t+4)&&\"http://ns.adobe.com/\"===e.getString(t+4,\"http://ns.adobe.com/\".length)}static headerLength(e,t){return\"http://ns.adobe.com/xmp/extension/\"===e.getString(t+4,\"http://ns.adobe.com/xmp/extension/\".length)?79:4+\"http://ns.adobe.com/xap/1.0/\".length+1}static findPosition(e,t){let i=super.findPosition(e,t);return i.multiSegment=i.extended=79===i.headerLength,i.multiSegment?(i.chunkCount=e.getUint8(t+72),i.chunkNumber=e.getUint8(t+76),0!==e.getUint8(t+77)&&i.chunkNumber++):(i.chunkCount=1/0,i.chunkNumber=-1),i}static handleMultiSegments(e){return e.map((e=>e.chunk.getString())).join(\"\")}normalizeInput(e){return\"string\"==typeof e?e:I.from(e).getString()}parse(e=this.chunk){if(!this.localOptions.parse)return e;e=function(e){let t={},i={};for(let e of Ze)t[e]=[],i[e]=0;return e.replace(et,((e,n,s)=>{if(\"<\"===n){let n=++i[s];return t[s].push(n),`${e}#${n}`}return`${e}#${t[s].pop()}`}))}(e);let t=Xe.findAll(e,\"rdf\",\"Description\");0===t.length&&t.push(new Xe(\"rdf\",\"Description\",void 0,e));let i,n={};for(let e of t)for(let t of e.properties)i=Je(t.ns,n),_e(t,i);return function(e){let t;for(let i in e)t=e[i]=f(e[i]),void 0===t&&delete e[i];return f(e)}(n)}assignToOutput(e,t){if(this.localOptions.parse)for(let[i,n]of Object.entries(t))switch(i){case\"tiff\":this.assignObjectToOutput(e,\"ifd0\",n);break;case\"exif\":this.assignObjectToOutput(e,\"exif\",n);break;case\"xmlns\":break;default:this.assignObjectToOutput(e,i,n)}else e.xmp=t}}c(We,\"type\",\"xmp\"),c(We,\"multiSegment\",!0),T.set(\"xmp\",We);class Ke{static findAll(e){return qe(e,/([a-zA-Z0-9-]+):([a-zA-Z0-9-]+)=(\"[^\"]*\"|'[^']*')/gm).map(Ke.unpackMatch)}static unpackMatch(e){let t=e[1],i=e[2],n=e[3].slice(1,-1);return n=Qe(n),new Ke(t,i,n)}constructor(e,t,i){this.ns=e,this.name=t,this.value=i}serialize(){return this.value}}class Xe{static findAll(e,t,i){if(void 0!==t||void 0!==i){t=t||\"[\\\\w\\\\d-]+\",i=i||\"[\\\\w\\\\d-]+\";var n=new RegExp(`<(${t}):(${i})(#\\\\d+)?((\\\\s+?[\\\\w\\\\d-:]+=(\"[^\"]*\"|'[^']*'))*\\\\s*)(\\\\/>|>([\\\\s\\\\S]*?)<\\\\/\\\\1:\\\\2\\\\3>)`,\"gm\")}else n=/<([\\w\\d-]+):([\\w\\d-]+)(#\\d+)?((\\s+?[\\w\\d-:]+=(\"[^\"]*\"|'[^']*'))*\\s*)(\\/>|>([\\s\\S]*?)<\\/\\1:\\2\\3>)/gm;return qe(e,n).map(Xe.unpackMatch)}static unpackMatch(e){let t=e[1],i=e[2],n=e[4],s=e[8];return new Xe(t,i,n,s)}constructor(e,t,i,n){this.ns=e,this.name=t,this.attrString=i,this.innerXml=n,this.attrs=Ke.findAll(i),this.children=Xe.findAll(n),this.value=0===this.children.length?Qe(n):void 0,this.properties=[...this.attrs,...this.children]}get isPrimitive(){return void 0!==this.value&&0===this.attrs.length&&0===this.children.length}get isListContainer(){return 1===this.children.length&&this.children[0].isList}get isList(){let{ns:e,name:t}=this;return\"rdf\"===e&&(\"Seq\"===t||\"Bag\"===t||\"Alt\"===t)}get isListItem(){return\"rdf\"===this.ns&&\"li\"===this.name}serialize(){if(0===this.properties.length&&void 0===this.value)return;if(this.isPrimitive)return this.value;if(this.isListContainer)return this.children[0].serialize();if(this.isList)return $e(this.children.map(Ye));if(this.isListItem&&1===this.children.length&&0===this.attrs.length)return this.children[0].serialize();let e={};for(let t of this.properties)_e(t,e);return void 0!==this.value&&(e.value=this.value),f(e)}}function _e(e,t){let i=e.serialize();void 0!==i&&(t[e.name]=i)}var Ye=e=>e.serialize(),$e=e=>1===e.length?e[0]:e,Je=(e,t)=>t[e]?t[e]:t[e]={};function qe(e,t){let i,n=[];if(!e)return n;for(;null!==(i=t.exec(e));)n.push(i);return n}function Qe(e){if(function(e){return null==e||\"null\"===e||\"undefined\"===e||\"\"===e||\"\"===e.trim()}(e))return;let t=Number(e);if(!Number.isNaN(t))return t;let i=e.toLowerCase();return\"true\"===i||\"false\"!==i&&e.trim()}const Ze=[\"rdf:li\",\"rdf:Seq\",\"rdf:Bag\",\"rdf:Alt\",\"rdf:Description\"],et=new RegExp(`(<|\\\\/)(${Ze.join(\"|\")})`,\"g\");var tt=Object.freeze({__proto__:null,default:Me,Exifr:te,fileParsers:w,segmentParsers:T,fileReaders:A,tagKeys:E,tagValues:B,tagRevivers:N,createDictionary:U,extendDictionary:F,fetchUrlAsArrayBuffer:M,readBlobAsArrayBuffer:R,chunkedProps:G,otherSegments:V,segments:z,tiffBlocks:H,segmentsAndBlocks:j,tiffExtractables:W,inheritables:K,allFormatters:X,Options:q,parse:ie,gpsOnlyOptions:me,gps:Se,thumbnailOnlyOptions:Ce,thumbnail:ye,thumbnailUrl:be,orientationOnlyOptions:Ie,orientation:Pe,rotations:ke,get rotateCanvas(){return we},get rotateCss(){return Te},rotation:Ae});const it=[\"xmp\",\"icc\",\"iptc\",\"tiff\"],nt=()=>{};async function st(e,t,i){let n=new q(t);n.chunked=!1,void 0===i&&\"string\"==typeof e&&(i=function(e){let t=e.toLowerCase().split(\".\").pop();if(function(e){return\"exif\"===e||\"tiff\"===e||\"tif\"===e}(t))return\"tiff\";if(it.includes(t))return t}(e));let s=await D(e,n);if(i){if(it.includes(i))return rt(i,s,n);g(\"Invalid segment type\")}else{if(function(e){let t=e.getString(0,50).trim();return t.includes(\"e.promises));A.set(\"fs\",class extends ve{async readWhole(){this.chunked=!1,this.fs=await at;let e=await this.fs.readFile(this.input);this._swapBuffer(e)}async readChunked(){this.chunked=!0,this.fs=await at,await this.open(),await this.readChunk(0,this.options.firstChunkSize)}async open(){void 0===this.fh&&(this.fh=await this.fs.open(this.input,\"r\"),this.size=(await this.fh.stat(this.input)).size)}async _readChunk(e,t){void 0===this.fh&&await this.open(),e+t>this.size&&(t=this.size-e);var i=this.subarray(e,t,!0);return await this.fh.read(i.dataView,0,t,e),i}async close(){if(this.fh){let e=this.fh;this.fh=void 0,await e.close()}}});A.set(\"base64\",class extends ve{constructor(...e){super(...e),this.input=this.input.replace(/^data:([^;]+);base64,/gim,\"\"),this.size=this.input.length/4*3,this.input.endsWith(\"==\")?this.size-=2:this.input.endsWith(\"=\")&&(this.size-=1)}async _readChunk(e,t){let i,n,r=this.input;void 0===e?(e=0,i=0,n=0):(i=4*Math.floor(e/3),n=e-i/4*3),void 0===t&&(t=this.size);let o=e+t,l=i+4*Math.ceil(o/3);r=r.slice(i,l);let h=Math.min(t,this.size-e);if(a){let t=s.from(r,\"base64\").slice(n,n+h);return this.set(t,e,!0)}{let t=this.subarray(e,h,!0),i=atob(r),s=t.toUint8();for(let e=0;ethis.errors.push(e))),c(this,\"metaChunks\",[]),c(this,\"unknownChunks\",[])}static canHandle(e,t){return 35152===t&&2303741511===e.getUint32(0)&&218765834===e.getUint32(4)}async parse(){let{file:e}=this;await this.findPngChunksInRange(\"‰PNG\\r\\n\u001a\\n\".length,e.byteLength),await this.readSegments(this.metaChunks),this.findIhdr(),this.parseTextChunks(),await this.findExif().catch(this.catchError),await this.findXmp().catch(this.catchError),await this.findIcc().catch(this.catchError)}async findPngChunksInRange(e,t){let{file:i}=this;for(;e\"text\"===e.type));for(let t of e){let[e,i]=this.file.getString(t.start,t.size).split(\"\\0\");this.injectKeyValToIhdr(e,i)}}injectKeyValToIhdr(e,t){let i=this.parsers.ihdr;i&&i.raw.set(e,t)}findIhdr(){let e=this.metaChunks.find((e=>\"ihdr\"===e.type));e&&!1!==this.options.ihdr.enabled&&this.createParser(\"ihdr\",e.chunk)}async findExif(){let e=this.metaChunks.find((e=>\"exif\"===e.type));e&&this.injectSegment(\"tiff\",e.chunk)}async findXmp(){let e=this.metaChunks.filter((e=>\"itxt\"===e.type));for(let t of e){\"XML:com.adobe.xmp\"===t.chunk.getString(0,\"XML:com.adobe.xmp\".length)&&this.injectSegment(\"xmp\",t.chunk)}}async findIcc(){let e=this.metaChunks.find((e=>\"iccp\"===e.type));if(!e)return;let{chunk:t}=e,i=t.getUint8Array(0,81),s=0;for(;s<80&&0!==i[s];)s++;let r=s+2,a=t.getString(0,s);if(this.injectKeyValToIhdr(\"ProfileName\",a),n){let e=await lt,i=t.getUint8Array(r);i=e.inflateSync(i),this.injectSegment(\"icc\",i)}}}c(ut,\"type\",\"png\"),w.set(\"png\",ut),U(E,\"interop\",[[1,\"InteropIndex\"],[2,\"InteropVersion\"],[4096,\"RelatedImageFileFormat\"],[4097,\"RelatedImageWidth\"],[4098,\"RelatedImageHeight\"]]),F(E,\"ifd0\",[[11,\"ProcessingSoftware\"],[254,\"SubfileType\"],[255,\"OldSubfileType\"],[263,\"Thresholding\"],[264,\"CellWidth\"],[265,\"CellLength\"],[266,\"FillOrder\"],[269,\"DocumentName\"],[280,\"MinSampleValue\"],[281,\"MaxSampleValue\"],[285,\"PageName\"],[286,\"XPosition\"],[287,\"YPosition\"],[290,\"GrayResponseUnit\"],[297,\"PageNumber\"],[321,\"HalftoneHints\"],[322,\"TileWidth\"],[323,\"TileLength\"],[332,\"InkSet\"],[337,\"TargetPrinter\"],[18246,\"Rating\"],[18249,\"RatingPercent\"],[33550,\"PixelScale\"],[34264,\"ModelTransform\"],[34377,\"PhotoshopSettings\"],[50706,\"DNGVersion\"],[50707,\"DNGBackwardVersion\"],[50708,\"UniqueCameraModel\"],[50709,\"LocalizedCameraModel\"],[50736,\"DNGLensInfo\"],[50739,\"ShadowScale\"],[50740,\"DNGPrivateData\"],[33920,\"IntergraphMatrix\"],[33922,\"ModelTiePoint\"],[34118,\"SEMInfo\"],[34735,\"GeoTiffDirectory\"],[34736,\"GeoTiffDoubleParams\"],[34737,\"GeoTiffAsciiParams\"],[50341,\"PrintIM\"],[50721,\"ColorMatrix1\"],[50722,\"ColorMatrix2\"],[50723,\"CameraCalibration1\"],[50724,\"CameraCalibration2\"],[50725,\"ReductionMatrix1\"],[50726,\"ReductionMatrix2\"],[50727,\"AnalogBalance\"],[50728,\"AsShotNeutral\"],[50729,\"AsShotWhiteXY\"],[50730,\"BaselineExposure\"],[50731,\"BaselineNoise\"],[50732,\"BaselineSharpness\"],[50734,\"LinearResponseLimit\"],[50735,\"CameraSerialNumber\"],[50741,\"MakerNoteSafety\"],[50778,\"CalibrationIlluminant1\"],[50779,\"CalibrationIlluminant2\"],[50781,\"RawDataUniqueID\"],[50827,\"OriginalRawFileName\"],[50828,\"OriginalRawFileData\"],[50831,\"AsShotICCProfile\"],[50832,\"AsShotPreProfileMatrix\"],[50833,\"CurrentICCProfile\"],[50834,\"CurrentPreProfileMatrix\"],[50879,\"ColorimetricReference\"],[50885,\"SRawType\"],[50898,\"PanasonicTitle\"],[50899,\"PanasonicTitle2\"],[50931,\"CameraCalibrationSig\"],[50932,\"ProfileCalibrationSig\"],[50933,\"ProfileIFD\"],[50934,\"AsShotProfileName\"],[50936,\"ProfileName\"],[50937,\"ProfileHueSatMapDims\"],[50938,\"ProfileHueSatMapData1\"],[50939,\"ProfileHueSatMapData2\"],[50940,\"ProfileToneCurve\"],[50941,\"ProfileEmbedPolicy\"],[50942,\"ProfileCopyright\"],[50964,\"ForwardMatrix1\"],[50965,\"ForwardMatrix2\"],[50966,\"PreviewApplicationName\"],[50967,\"PreviewApplicationVersion\"],[50968,\"PreviewSettingsName\"],[50969,\"PreviewSettingsDigest\"],[50970,\"PreviewColorSpace\"],[50971,\"PreviewDateTime\"],[50972,\"RawImageDigest\"],[50973,\"OriginalRawFileDigest\"],[50981,\"ProfileLookTableDims\"],[50982,\"ProfileLookTableData\"],[51043,\"TimeCodes\"],[51044,\"FrameRate\"],[51058,\"TStop\"],[51081,\"ReelName\"],[51089,\"OriginalDefaultFinalSize\"],[51090,\"OriginalBestQualitySize\"],[51091,\"OriginalDefaultCropSize\"],[51105,\"CameraLabel\"],[51107,\"ProfileHueSatMapEncoding\"],[51108,\"ProfileLookTableEncoding\"],[51109,\"BaselineExposureOffset\"],[51110,\"DefaultBlackRender\"],[51111,\"NewRawImageDigest\"],[51112,\"RawToPreviewGain\"]]);let ct=[[273,\"StripOffsets\"],[279,\"StripByteCounts\"],[288,\"FreeOffsets\"],[289,\"FreeByteCounts\"],[291,\"GrayResponseCurve\"],[292,\"T4Options\"],[293,\"T6Options\"],[300,\"ColorResponseUnit\"],[320,\"ColorMap\"],[324,\"TileOffsets\"],[325,\"TileByteCounts\"],[326,\"BadFaxLines\"],[327,\"CleanFaxData\"],[328,\"ConsecutiveBadFaxLines\"],[330,\"SubIFD\"],[333,\"InkNames\"],[334,\"NumberofInks\"],[336,\"DotRange\"],[338,\"ExtraSamples\"],[339,\"SampleFormat\"],[340,\"SMinSampleValue\"],[341,\"SMaxSampleValue\"],[342,\"TransferRange\"],[343,\"ClipPath\"],[344,\"XClipPathUnits\"],[345,\"YClipPathUnits\"],[346,\"Indexed\"],[347,\"JPEGTables\"],[351,\"OPIProxy\"],[400,\"GlobalParametersIFD\"],[401,\"ProfileType\"],[402,\"FaxProfile\"],[403,\"CodingMethods\"],[404,\"VersionYear\"],[405,\"ModeNumber\"],[433,\"Decode\"],[434,\"DefaultImageColor\"],[435,\"T82Options\"],[437,\"JPEGTables\"],[512,\"JPEGProc\"],[515,\"JPEGRestartInterval\"],[517,\"JPEGLosslessPredictors\"],[518,\"JPEGPointTransforms\"],[519,\"JPEGQTables\"],[520,\"JPEGDCTables\"],[521,\"JPEGACTables\"],[559,\"StripRowCounts\"],[999,\"USPTOMiscellaneous\"],[18247,\"XP_DIP_XML\"],[18248,\"StitchInfo\"],[28672,\"SonyRawFileType\"],[28688,\"SonyToneCurve\"],[28721,\"VignettingCorrection\"],[28722,\"VignettingCorrParams\"],[28724,\"ChromaticAberrationCorrection\"],[28725,\"ChromaticAberrationCorrParams\"],[28726,\"DistortionCorrection\"],[28727,\"DistortionCorrParams\"],[29895,\"SonyCropTopLeft\"],[29896,\"SonyCropSize\"],[32781,\"ImageID\"],[32931,\"WangTag1\"],[32932,\"WangAnnotation\"],[32933,\"WangTag3\"],[32934,\"WangTag4\"],[32953,\"ImageReferencePoints\"],[32954,\"RegionXformTackPoint\"],[32955,\"WarpQuadrilateral\"],[32956,\"AffineTransformMat\"],[32995,\"Matteing\"],[32996,\"DataType\"],[32997,\"ImageDepth\"],[32998,\"TileDepth\"],[33300,\"ImageFullWidth\"],[33301,\"ImageFullHeight\"],[33302,\"TextureFormat\"],[33303,\"WrapModes\"],[33304,\"FovCot\"],[33305,\"MatrixWorldToScreen\"],[33306,\"MatrixWorldToCamera\"],[33405,\"Model2\"],[33421,\"CFARepeatPatternDim\"],[33422,\"CFAPattern2\"],[33423,\"BatteryLevel\"],[33424,\"KodakIFD\"],[33445,\"MDFileTag\"],[33446,\"MDScalePixel\"],[33447,\"MDColorTable\"],[33448,\"MDLabName\"],[33449,\"MDSampleInfo\"],[33450,\"MDPrepDate\"],[33451,\"MDPrepTime\"],[33452,\"MDFileUnits\"],[33589,\"AdventScale\"],[33590,\"AdventRevision\"],[33628,\"UIC1Tag\"],[33629,\"UIC2Tag\"],[33630,\"UIC3Tag\"],[33631,\"UIC4Tag\"],[33918,\"IntergraphPacketData\"],[33919,\"IntergraphFlagRegisters\"],[33921,\"INGRReserved\"],[34016,\"Site\"],[34017,\"ColorSequence\"],[34018,\"IT8Header\"],[34019,\"RasterPadding\"],[34020,\"BitsPerRunLength\"],[34021,\"BitsPerExtendedRunLength\"],[34022,\"ColorTable\"],[34023,\"ImageColorIndicator\"],[34024,\"BackgroundColorIndicator\"],[34025,\"ImageColorValue\"],[34026,\"BackgroundColorValue\"],[34027,\"PixelIntensityRange\"],[34028,\"TransparencyIndicator\"],[34029,\"ColorCharacterization\"],[34030,\"HCUsage\"],[34031,\"TrapIndicator\"],[34032,\"CMYKEquivalent\"],[34152,\"AFCP_IPTC\"],[34232,\"PixelMagicJBIGOptions\"],[34263,\"JPLCartoIFD\"],[34306,\"WB_GRGBLevels\"],[34310,\"LeafData\"],[34687,\"TIFF_FXExtensions\"],[34688,\"MultiProfiles\"],[34689,\"SharedData\"],[34690,\"T88Options\"],[34732,\"ImageLayer\"],[34750,\"JBIGOptions\"],[34856,\"Opto-ElectricConvFactor\"],[34857,\"Interlace\"],[34908,\"FaxRecvParams\"],[34909,\"FaxSubAddress\"],[34910,\"FaxRecvTime\"],[34929,\"FedexEDR\"],[34954,\"LeafSubIFD\"],[37387,\"FlashEnergy\"],[37388,\"SpatialFrequencyResponse\"],[37389,\"Noise\"],[37390,\"FocalPlaneXResolution\"],[37391,\"FocalPlaneYResolution\"],[37392,\"FocalPlaneResolutionUnit\"],[37397,\"ExposureIndex\"],[37398,\"TIFF-EPStandardID\"],[37399,\"SensingMethod\"],[37434,\"CIP3DataFile\"],[37435,\"CIP3Sheet\"],[37436,\"CIP3Side\"],[37439,\"StoNits\"],[37679,\"MSDocumentText\"],[37680,\"MSPropertySetStorage\"],[37681,\"MSDocumentTextPosition\"],[37724,\"ImageSourceData\"],[40965,\"InteropIFD\"],[40976,\"SamsungRawPointersOffset\"],[40977,\"SamsungRawPointersLength\"],[41217,\"SamsungRawByteOrder\"],[41218,\"SamsungRawUnknown\"],[41484,\"SpatialFrequencyResponse\"],[41485,\"Noise\"],[41489,\"ImageNumber\"],[41490,\"SecurityClassification\"],[41491,\"ImageHistory\"],[41494,\"TIFF-EPStandardID\"],[41995,\"DeviceSettingDescription\"],[42112,\"GDALMetadata\"],[42113,\"GDALNoData\"],[44992,\"ExpandSoftware\"],[44993,\"ExpandLens\"],[44994,\"ExpandFilm\"],[44995,\"ExpandFilterLens\"],[44996,\"ExpandScanner\"],[44997,\"ExpandFlashLamp\"],[46275,\"HasselbladRawImage\"],[48129,\"PixelFormat\"],[48130,\"Transformation\"],[48131,\"Uncompressed\"],[48132,\"ImageType\"],[48256,\"ImageWidth\"],[48257,\"ImageHeight\"],[48258,\"WidthResolution\"],[48259,\"HeightResolution\"],[48320,\"ImageOffset\"],[48321,\"ImageByteCount\"],[48322,\"AlphaOffset\"],[48323,\"AlphaByteCount\"],[48324,\"ImageDataDiscard\"],[48325,\"AlphaDataDiscard\"],[50215,\"OceScanjobDesc\"],[50216,\"OceApplicationSelector\"],[50217,\"OceIDNumber\"],[50218,\"OceImageLogic\"],[50255,\"Annotations\"],[50459,\"HasselbladExif\"],[50547,\"OriginalFileName\"],[50560,\"USPTOOriginalContentType\"],[50656,\"CR2CFAPattern\"],[50710,\"CFAPlaneColor\"],[50711,\"CFALayout\"],[50712,\"LinearizationTable\"],[50713,\"BlackLevelRepeatDim\"],[50714,\"BlackLevel\"],[50715,\"BlackLevelDeltaH\"],[50716,\"BlackLevelDeltaV\"],[50717,\"WhiteLevel\"],[50718,\"DefaultScale\"],[50719,\"DefaultCropOrigin\"],[50720,\"DefaultCropSize\"],[50733,\"BayerGreenSplit\"],[50737,\"ChromaBlurRadius\"],[50738,\"AntiAliasStrength\"],[50752,\"RawImageSegmentation\"],[50780,\"BestQualityScale\"],[50784,\"AliasLayerMetadata\"],[50829,\"ActiveArea\"],[50830,\"MaskedAreas\"],[50935,\"NoiseReductionApplied\"],[50974,\"SubTileBlockSize\"],[50975,\"RowInterleaveFactor\"],[51008,\"OpcodeList1\"],[51009,\"OpcodeList2\"],[51022,\"OpcodeList3\"],[51041,\"NoiseProfile\"],[51114,\"CacheVersion\"],[51125,\"DefaultUserCrop\"],[51157,\"NikonNEFInfo\"],[65024,\"KdcIFD\"]];F(E,\"ifd0\",ct),F(E,\"exif\",ct),U(B,\"gps\",[[23,{M:\"Magnetic North\",T:\"True North\"}],[25,{K:\"Kilometers\",M:\"Miles\",N:\"Nautical Miles\"}]]);class ft extends re{static canHandle(e,t){return 224===e.getUint8(t+1)&&1246120262===e.getUint32(t+4)&&0===e.getUint8(t+8)}parse(){return this.parseTags(),this.translate(),this.output}parseTags(){this.raw=new Map([[0,this.chunk.getUint16(0)],[2,this.chunk.getUint8(2)],[3,this.chunk.getUint16(3)],[5,this.chunk.getUint16(5)],[7,this.chunk.getUint8(7)],[8,this.chunk.getUint8(8)]])}}c(ft,\"type\",\"jfif\"),c(ft,\"headerLength\",9),T.set(\"jfif\",ft),U(E,\"jfif\",[[0,\"JFIFVersion\"],[2,\"ResolutionUnit\"],[3,\"XResolution\"],[5,\"YResolution\"],[7,\"ThumbnailWidth\"],[8,\"ThumbnailHeight\"]]);class dt extends re{parse(){return this.parseTags(),this.translate(),this.output}parseTags(){this.raw=new Map([[0,this.chunk.getUint32(0)],[4,this.chunk.getUint32(4)],[8,this.chunk.getUint8(8)],[9,this.chunk.getUint8(9)],[10,this.chunk.getUint8(10)],[11,this.chunk.getUint8(11)],[12,this.chunk.getUint8(12)],...Array.from(this.raw)])}}c(dt,\"type\",\"ihdr\"),T.set(\"ihdr\",dt),U(E,\"ihdr\",[[0,\"ImageWidth\"],[4,\"ImageHeight\"],[8,\"BitDepth\"],[9,\"ColorType\"],[10,\"Compression\"],[11,\"Filter\"],[12,\"Interlace\"]]),U(B,\"ihdr\",[[9,{0:\"Grayscale\",2:\"RGB\",3:\"Palette\",4:\"Grayscale with Alpha\",6:\"RGB with Alpha\",DEFAULT:\"Unknown\"}],[10,{0:\"Deflate/Inflate\",DEFAULT:\"Unknown\"}],[11,{0:\"Adaptive\",DEFAULT:\"Unknown\"}],[12,{0:\"Noninterlaced\",1:\"Adam7 Interlace\",DEFAULT:\"Unknown\"}]]);class pt extends re{static canHandle(e,t){return 226===e.getUint8(t+1)&&1229144927===e.getUint32(t+4)}static findPosition(e,t){let i=super.findPosition(e,t);return i.chunkNumber=e.getUint8(t+16),i.chunkCount=e.getUint8(t+17),i.multiSegment=i.chunkCount>1,i}static handleMultiSegments(e){return function(e){let t=function(e){let t=e[0].constructor,i=0;for(let t of e)i+=t.length;let n=new t(i),s=0;for(let t of e)n.set(t,s),s+=t.length;return n}(e.map((e=>e.chunk.toUint8())));return new I(t)}(e)}parse(){return this.raw=new Map,this.parseHeader(),this.parseTags(),this.translate(),this.output}parseHeader(){let{raw:e}=this;this.chunk.byteLength<84&&g(\"ICC header is too short\");for(let[t,i]of Object.entries(gt)){t=parseInt(t,10);let n=i(this.chunk,t);\"\\0\\0\\0\\0\"!==n&&e.set(t,n)}}parseTags(){let e,t,i,n,s,{raw:r}=this,a=this.chunk.getUint32(128),o=132,l=this.chunk.byteLength;for(;a--;){if(e=this.chunk.getString(o,4),t=this.chunk.getUint32(o+4),i=this.chunk.getUint32(o+8),n=this.chunk.getString(t,4),t+i>l)return void console.warn(\"reached the end of the first ICC chunk. Enable options.tiff.multiSegment to read all ICC segments.\");s=this.parseTag(n,t,i),void 0!==s&&\"\\0\\0\\0\\0\"!==s&&r.set(e,s),o+=12}}parseTag(e,t,i){switch(e){case\"desc\":return this.parseDesc(t);case\"mluc\":return this.parseMluc(t);case\"text\":return this.parseText(t,i);case\"sig \":return this.parseSig(t)}if(!(t+i>this.chunk.byteLength))return this.chunk.getUint8Array(t,i)}parseDesc(e){let t=this.chunk.getUint32(e+8)-1;return m(this.chunk.getString(e+12,t))}parseText(e,t){return m(this.chunk.getString(e+8,t-8))}parseSig(e){return m(this.chunk.getString(e+8,4))}parseMluc(e){let{chunk:t}=this,i=t.getUint32(e+8),n=t.getUint32(e+12),s=e+16,r=[];for(let a=0;a>4,e.getUint8(t+1)%16].map((e=>e.toString(10))).join(\".\")},12:mt,16:mt,20:mt,24:function(e,t){const i=e.getUint16(t),n=e.getUint16(t+2)-1,s=e.getUint16(t+4),r=e.getUint16(t+6),a=e.getUint16(t+8),o=e.getUint16(t+10);return new Date(Date.UTC(i,n,s,r,a,o))},36:mt,40:mt,48:mt,52:mt,64:(e,t)=>e.getUint32(t),80:mt};function mt(e,t){return m(e.getString(t,4))}T.set(\"icc\",pt),U(E,\"icc\",[[4,\"ProfileCMMType\"],[8,\"ProfileVersion\"],[12,\"ProfileClass\"],[16,\"ColorSpaceData\"],[20,\"ProfileConnectionSpace\"],[24,\"ProfileDateTime\"],[36,\"ProfileFileSignature\"],[40,\"PrimaryPlatform\"],[44,\"CMMFlags\"],[48,\"DeviceManufacturer\"],[52,\"DeviceModel\"],[56,\"DeviceAttributes\"],[64,\"RenderingIntent\"],[68,\"ConnectionSpaceIlluminant\"],[80,\"ProfileCreator\"],[84,\"ProfileID\"],[\"Header\",\"ProfileHeader\"],[\"MS00\",\"WCSProfiles\"],[\"bTRC\",\"BlueTRC\"],[\"bXYZ\",\"BlueMatrixColumn\"],[\"bfd\",\"UCRBG\"],[\"bkpt\",\"MediaBlackPoint\"],[\"calt\",\"CalibrationDateTime\"],[\"chad\",\"ChromaticAdaptation\"],[\"chrm\",\"Chromaticity\"],[\"ciis\",\"ColorimetricIntentImageState\"],[\"clot\",\"ColorantTableOut\"],[\"clro\",\"ColorantOrder\"],[\"clrt\",\"ColorantTable\"],[\"cprt\",\"ProfileCopyright\"],[\"crdi\",\"CRDInfo\"],[\"desc\",\"ProfileDescription\"],[\"devs\",\"DeviceSettings\"],[\"dmdd\",\"DeviceModelDesc\"],[\"dmnd\",\"DeviceMfgDesc\"],[\"dscm\",\"ProfileDescriptionML\"],[\"fpce\",\"FocalPlaneColorimetryEstimates\"],[\"gTRC\",\"GreenTRC\"],[\"gXYZ\",\"GreenMatrixColumn\"],[\"gamt\",\"Gamut\"],[\"kTRC\",\"GrayTRC\"],[\"lumi\",\"Luminance\"],[\"meas\",\"Measurement\"],[\"meta\",\"Metadata\"],[\"mmod\",\"MakeAndModel\"],[\"ncl2\",\"NamedColor2\"],[\"ncol\",\"NamedColor\"],[\"ndin\",\"NativeDisplayInfo\"],[\"pre0\",\"Preview0\"],[\"pre1\",\"Preview1\"],[\"pre2\",\"Preview2\"],[\"ps2i\",\"PS2RenderingIntent\"],[\"ps2s\",\"PostScript2CSA\"],[\"psd0\",\"PostScript2CRD0\"],[\"psd1\",\"PostScript2CRD1\"],[\"psd2\",\"PostScript2CRD2\"],[\"psd3\",\"PostScript2CRD3\"],[\"pseq\",\"ProfileSequenceDesc\"],[\"psid\",\"ProfileSequenceIdentifier\"],[\"psvm\",\"PS2CRDVMSize\"],[\"rTRC\",\"RedTRC\"],[\"rXYZ\",\"RedMatrixColumn\"],[\"resp\",\"OutputResponse\"],[\"rhoc\",\"ReflectionHardcopyOrigColorimetry\"],[\"rig0\",\"PerceptualRenderingIntentGamut\"],[\"rig2\",\"SaturationRenderingIntentGamut\"],[\"rpoc\",\"ReflectionPrintOutputColorimetry\"],[\"sape\",\"SceneAppearanceEstimates\"],[\"scoe\",\"SceneColorimetryEstimates\"],[\"scrd\",\"ScreeningDesc\"],[\"scrn\",\"Screening\"],[\"targ\",\"CharTarget\"],[\"tech\",\"Technology\"],[\"vcgt\",\"VideoCardGamma\"],[\"view\",\"ViewingConditions\"],[\"vued\",\"ViewingCondDesc\"],[\"wtpt\",\"MediaWhitePoint\"]]);const St={\"4d2p\":\"Erdt Systems\",AAMA:\"Aamazing Technologies\",ACER:\"Acer\",ACLT:\"Acolyte Color Research\",ACTI:\"Actix Sytems\",ADAR:\"Adara Technology\",ADBE:\"Adobe\",ADI:\"ADI Systems\",AGFA:\"Agfa Graphics\",ALMD:\"Alps Electric\",ALPS:\"Alps Electric\",ALWN:\"Alwan Color Expertise\",AMTI:\"Amiable Technologies\",AOC:\"AOC International\",APAG:\"Apago\",APPL:\"Apple Computer\",AST:\"AST\",\"AT&T\":\"AT&T\",BAEL:\"BARBIERI electronic\",BRCO:\"Barco NV\",BRKP:\"Breakpoint\",BROT:\"Brother\",BULL:\"Bull\",BUS:\"Bus Computer Systems\",\"C-IT\":\"C-Itoh\",CAMR:\"Intel\",CANO:\"Canon\",CARR:\"Carroll Touch\",CASI:\"Casio\",CBUS:\"Colorbus PL\",CEL:\"Crossfield\",CELx:\"Crossfield\",CGS:\"CGS Publishing Technologies International\",CHM:\"Rochester Robotics\",CIGL:\"Colour Imaging Group, London\",CITI:\"Citizen\",CL00:\"Candela\",CLIQ:\"Color IQ\",CMCO:\"Chromaco\",CMiX:\"CHROMiX\",COLO:\"Colorgraphic Communications\",COMP:\"Compaq\",COMp:\"Compeq/Focus Technology\",CONR:\"Conrac Display Products\",CORD:\"Cordata Technologies\",CPQ:\"Compaq\",CPRO:\"ColorPro\",CRN:\"Cornerstone\",CTX:\"CTX International\",CVIS:\"ColorVision\",CWC:\"Fujitsu Laboratories\",DARI:\"Darius Technology\",DATA:\"Dataproducts\",DCP:\"Dry Creek Photo\",DCRC:\"Digital Contents Resource Center, Chung-Ang University\",DELL:\"Dell Computer\",DIC:\"Dainippon Ink and Chemicals\",DICO:\"Diconix\",DIGI:\"Digital\",\"DL&C\":\"Digital Light & Color\",DPLG:\"Doppelganger\",DS:\"Dainippon Screen\",DSOL:\"DOOSOL\",DUPN:\"DuPont\",EPSO:\"Epson\",ESKO:\"Esko-Graphics\",ETRI:\"Electronics and Telecommunications Research Institute\",EVER:\"Everex Systems\",EXAC:\"ExactCODE\",Eizo:\"Eizo\",FALC:\"Falco Data Products\",FF:\"Fuji Photo Film\",FFEI:\"FujiFilm Electronic Imaging\",FNRD:\"Fnord Software\",FORA:\"Fora\",FORE:\"Forefront Technology\",FP:\"Fujitsu\",FPA:\"WayTech Development\",FUJI:\"Fujitsu\",FX:\"Fuji Xerox\",GCC:\"GCC Technologies\",GGSL:\"Global Graphics Software\",GMB:\"Gretagmacbeth\",GMG:\"GMG\",GOLD:\"GoldStar Technology\",GOOG:\"Google\",GPRT:\"Giantprint\",GTMB:\"Gretagmacbeth\",GVC:\"WayTech Development\",GW2K:\"Sony\",HCI:\"HCI\",HDM:\"Heidelberger Druckmaschinen\",HERM:\"Hermes\",HITA:\"Hitachi America\",HP:\"Hewlett-Packard\",HTC:\"Hitachi\",HiTi:\"HiTi Digital\",IBM:\"IBM\",IDNT:\"Scitex\",IEC:\"Hewlett-Packard\",IIYA:\"Iiyama North America\",IKEG:\"Ikegami Electronics\",IMAG:\"Image Systems\",IMI:\"Ingram Micro\",INTC:\"Intel\",INTL:\"N/A (INTL)\",INTR:\"Intra Electronics\",IOCO:\"Iocomm International Technology\",IPS:\"InfoPrint Solutions Company\",IRIS:\"Scitex\",ISL:\"Ichikawa Soft Laboratory\",ITNL:\"N/A (ITNL)\",IVM:\"IVM\",IWAT:\"Iwatsu Electric\",Idnt:\"Scitex\",Inca:\"Inca Digital Printers\",Iris:\"Scitex\",JPEG:\"Joint Photographic Experts Group\",JSFT:\"Jetsoft Development\",JVC:\"JVC Information Products\",KART:\"Scitex\",KFC:\"KFC Computek Components\",KLH:\"KLH Computers\",KMHD:\"Konica Minolta\",KNCA:\"Konica\",KODA:\"Kodak\",KYOC:\"Kyocera\",Kart:\"Scitex\",LCAG:\"Leica\",LCCD:\"Leeds Colour\",LDAK:\"Left Dakota\",LEAD:\"Leading Technology\",LEXM:\"Lexmark International\",LINK:\"Link Computer\",LINO:\"Linotronic\",LITE:\"Lite-On\",Leaf:\"Leaf\",Lino:\"Linotronic\",MAGC:\"Mag Computronic\",MAGI:\"MAG Innovision\",MANN:\"Mannesmann\",MICN:\"Micron Technology\",MICR:\"Microtek\",MICV:\"Microvitec\",MINO:\"Minolta\",MITS:\"Mitsubishi Electronics America\",MITs:\"Mitsuba\",MNLT:\"Minolta\",MODG:\"Modgraph\",MONI:\"Monitronix\",MONS:\"Monaco Systems\",MORS:\"Morse Technology\",MOTI:\"Motive Systems\",MSFT:\"Microsoft\",MUTO:\"MUTOH INDUSTRIES\",Mits:\"Mitsubishi Electric\",NANA:\"NANAO\",NEC:\"NEC\",NEXP:\"NexPress Solutions\",NISS:\"Nissei Sangyo America\",NKON:\"Nikon\",NONE:\"none\",OCE:\"Oce Technologies\",OCEC:\"OceColor\",OKI:\"Oki\",OKID:\"Okidata\",OKIP:\"Okidata\",OLIV:\"Olivetti\",OLYM:\"Olympus\",ONYX:\"Onyx Graphics\",OPTI:\"Optiquest\",PACK:\"Packard Bell\",PANA:\"Matsushita Electric Industrial\",PANT:\"Pantone\",PBN:\"Packard Bell\",PFU:\"PFU\",PHIL:\"Philips Consumer Electronics\",PNTX:\"HOYA\",POne:\"Phase One A/S\",PREM:\"Premier Computer Innovations\",PRIN:\"Princeton Graphic Systems\",PRIP:\"Princeton Publishing Labs\",QLUX:\"Hong Kong\",QMS:\"QMS\",QPCD:\"QPcard AB\",QUAD:\"QuadLaser\",QUME:\"Qume\",RADI:\"Radius\",RDDx:\"Integrated Color Solutions\",RDG:\"Roland DG\",REDM:\"REDMS Group\",RELI:\"Relisys\",RGMS:\"Rolf Gierling Multitools\",RICO:\"Ricoh\",RNLD:\"Edmund Ronald\",ROYA:\"Royal\",RPC:\"Ricoh Printing Systems\",RTL:\"Royal Information Electronics\",SAMP:\"Sampo\",SAMS:\"Samsung\",SANT:\"Jaime Santana Pomares\",SCIT:\"Scitex\",SCRN:\"Dainippon Screen\",SDP:\"Scitex\",SEC:\"Samsung\",SEIK:\"Seiko Instruments\",SEIk:\"Seikosha\",SGUY:\"ScanGuy.com\",SHAR:\"Sharp Laboratories\",SICC:\"International Color Consortium\",SONY:\"Sony\",SPCL:\"SpectraCal\",STAR:\"Star\",STC:\"Sampo Technology\",Scit:\"Scitex\",Sdp:\"Scitex\",Sony:\"Sony\",TALO:\"Talon Technology\",TAND:\"Tandy\",TATU:\"Tatung\",TAXA:\"TAXAN America\",TDS:\"Tokyo Denshi Sekei\",TECO:\"TECO Information Systems\",TEGR:\"Tegra\",TEKT:\"Tektronix\",TI:\"Texas Instruments\",TMKR:\"TypeMaker\",TOSB:\"Toshiba\",TOSH:\"Toshiba\",TOTK:\"TOTOKU ELECTRIC\",TRIU:\"Triumph\",TSBT:\"Toshiba\",TTX:\"TTX Computer Products\",TVM:\"TVM Professional Monitor\",TW:\"TW Casper\",ULSX:\"Ulead Systems\",UNIS:\"Unisys\",UTZF:\"Utz Fehlau & Sohn\",VARI:\"Varityper\",VIEW:\"Viewsonic\",VISL:\"Visual communication\",VIVO:\"Vivo Mobile Communication\",WANG:\"Wang\",WLBR:\"Wilbur Imaging\",WTG2:\"Ware To Go\",WYSE:\"WYSE Technology\",XERX:\"Xerox\",XRIT:\"X-Rite\",ZRAN:\"Zoran\",Zebr:\"Zebra Technologies\",appl:\"Apple Computer\",bICC:\"basICColor\",berg:\"bergdesign\",ceyd:\"Integrated Color Solutions\",clsp:\"MacDermid ColorSpan\",ds:\"Dainippon Screen\",dupn:\"DuPont\",ffei:\"FujiFilm Electronic Imaging\",flux:\"FluxData\",iris:\"Scitex\",kart:\"Scitex\",lcms:\"Little CMS\",lino:\"Linotronic\",none:\"none\",ob4d:\"Erdt Systems\",obic:\"Medigraph\",quby:\"Qubyx Sarl\",scit:\"Scitex\",scrn:\"Dainippon Screen\",sdp:\"Scitex\",siwi:\"SIWI GRAFIKA\",yxym:\"YxyMaster\"},Ct={scnr:\"Scanner\",mntr:\"Monitor\",prtr:\"Printer\",link:\"Device Link\",abst:\"Abstract\",spac:\"Color Space Conversion Profile\",nmcl:\"Named Color\",cenc:\"ColorEncodingSpace profile\",mid:\"MultiplexIdentification profile\",mlnk:\"MultiplexLink profile\",mvis:\"MultiplexVisualization profile\",nkpf:\"Nikon Input Device Profile (NON-STANDARD!)\"};U(B,\"icc\",[[4,St],[12,Ct],[40,Object.assign({},St,Ct)],[48,St],[80,St],[64,{0:\"Perceptual\",1:\"Relative Colorimetric\",2:\"Saturation\",3:\"Absolute Colorimetric\"}],[\"tech\",{amd:\"Active Matrix Display\",crt:\"Cathode Ray Tube Display\",kpcd:\"Photo CD\",pmd:\"Passive Matrix Display\",dcam:\"Digital Camera\",dcpj:\"Digital Cinema Projector\",dmpc:\"Digital Motion Picture Camera\",dsub:\"Dye Sublimation Printer\",epho:\"Electrophotographic Printer\",esta:\"Electrostatic Printer\",flex:\"Flexography\",fprn:\"Film Writer\",fscn:\"Film Scanner\",grav:\"Gravure\",ijet:\"Ink Jet Printer\",imgs:\"Photo Image Setter\",mpfr:\"Motion Picture Film Recorder\",mpfs:\"Motion Picture Film Scanner\",offs:\"Offset Lithography\",pjtv:\"Projection Television\",rpho:\"Photographic Paper Printer\",rscn:\"Reflective Scanner\",silk:\"Silkscreen\",twax:\"Thermal Wax Printer\",vidc:\"Video Camera\",vidm:\"Video Monitor\"}]]);class yt extends re{static canHandle(e,t,i){return 237===e.getUint8(t+1)&&\"Photoshop\"===e.getString(t+4,9)&&void 0!==this.containsIptc8bim(e,t,i)}static headerLength(e,t,i){let n,s=this.containsIptc8bim(e,t,i);if(void 0!==s)return n=e.getUint8(t+s+7),n%2!=0&&(n+=1),0===n&&(n=4),s+8+n}static containsIptc8bim(e,t,i){for(let n=0;n {\n let formattedTimestamp = null;\n if (exifTimestamp) {\n try {\n formattedTimestamp = new Date(exifTimestamp);\n } catch {\n const [date, time] = exifTimestamp.split(\" \");\n const [year, month, day] = date.split(\":\");\n const [hours, minutes, seconds] = time.split(\":\");\n formattedTimestamp = new Date(\n year,\n month - 1,\n day,\n hours,\n minutes,\n seconds\n );\n }\n }\n return formattedTimestamp;\n};\n\nconst extractExifData = url => {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = async () => {\n const exifData = await exifr.parse(img);\n const timestamp = exifData.DateTimeOriginal;\n resolve({ timestamp });\n };\n img.onerror = e => {\n reject(e);\n };\n img.src = url;\n });\n};\n\nexport { exifTimestampToDate, extractExifData };\n","import * as filestack from \"filestack-js/build/browser/filestack.esm\";\nimport { clone } from \"lodash-es\";\n\nimport { exifTimestampToDate, extractExifData } from \"./exifUtils\";\n\nclass Photo {\n constructor(\n { handle, mimetype, size, takenAt, processedImage },\n rotation = 0,\n colourFilters = {}\n ) {\n this.client = filestack.init(\"AuX8hFmn2R3akeCHzdLXwz\");\n this.handle = handle;\n this.rotation = rotation;\n this.colourFilters = colourFilters;\n this.takenAt = takenAt;\n this.mimetype = mimetype;\n this.size = size;\n this.directUrl = processedImage\n ? URL.createObjectURL(processedImage)\n : null;\n }\n\n async load() {\n if (this.takenAt) return;\n\n try {\n // we build the photo and then load it to check the timestamp\n // to ensure that we are doing so in a compatible photo format (not heic)\n const exifData = await extractExifData(this.newCdnUrl);\n if (exifData.timestamp) {\n this.takenAt = exifTimestampToDate(exifData.timestamp);\n }\n } catch {\n console.error(\"Failed to load exif data for photo\");\n }\n }\n\n get requiresFormatTransformation() {\n return this.mimetype?.includes(\"heic\");\n }\n\n get thumbUrl() {\n if (this.directUrl) return this.directUrl;\n\n const transformation = { resize: { width: 200, height: 200 } };\n\n if (this.rotation !== 0) {\n transformation.rotate = { deg: this.rotation };\n } else {\n transformation.rotate = { exif: true };\n }\n\n if (this.requiresFormatTransformation) {\n transformation.output = { format: \"jpg\" };\n }\n\n return this.client\n .transform(this.handle, transformation)\n .replace(\"cdn.filestackcontent.com\", \"cdn.filepicker.io\");\n }\n\n get url() {\n const transformation = clone(this.colourFilters);\n if (this.rotation !== 0) {\n transformation.rotate = { deg: this.rotation };\n } else {\n transformation.rotate = { exif: true };\n }\n\n if (this.requiresFormatTransformation) {\n transformation.output = { format: \"jpg\" };\n }\n\n return this.client.transform(this.handle, transformation);\n }\n\n get newCdnUrl() {\n return this.url.replace(\"cdn.filestackcontent.com\", \"cdn.filepicker.io\");\n }\n\n get forcePngUrl() {\n const transformation = {\n output: { format: \"png\" },\n cache: { expiry: 3600 }\n };\n\n if (this.rotation !== 0) {\n transformation.rotate = { deg: this.rotation };\n } else {\n transformation.rotate = { exif: true };\n }\n\n return this.client\n .transform(this.handle, transformation)\n .replace(\"cdn.filestackcontent.com\", \"cdn.filepicker.io\");\n }\n\n get activeFilter() {\n return Object.keys(this.colourFilters)[0];\n }\n\n rotateLeft() {\n if (this.rotation === 0) {\n this.rotation = 270;\n } else {\n this.rotation -= 90;\n }\n }\n\n rotateRight() {\n if (this.rotation === 270) {\n this.rotation = 0;\n } else {\n this.rotation += 90;\n }\n }\n\n transform(options) {\n this.colourFilters = options;\n const transformation = clone(this.colourFilters);\n if (this.rotation !== 0) {\n transformation.rotate = { deg: this.rotation };\n } else {\n transformation.rotate = { exif: true };\n }\n\n if (this.requiresFormatTransformation) {\n transformation.output = { format: \"jpg\" };\n }\n\n return this.client.transform(this.handle, transformation);\n }\n\n toJSON() {\n return {\n handle: this.handle,\n rotation: this.rotation,\n colourFilters: this.colourFilters,\n takenAt: this.takenAt,\n size: this.size,\n mimetype: this.mimetype\n };\n }\n}\n\nexport default Photo;\n","// This is a service which takes a canvas, looks at its image data and fills in any 'straggler' transparent pixels\n// with the color of the nearest opaque pixel. It's used to combat the famous and horrible windmill effect\n// where the grid of perspective image triangles leaves transparent pixels in the corners of the image.\nexport class FillTransparentStragglers {\n ctx: CanvasRenderingContext2D;\n imageData: ImageData;\n data: Uint8ClampedArray;\n width: number;\n height: number;\n\n constructor(ctx: CanvasRenderingContext2D) {\n this.ctx = ctx;\n this.imageData = ctx.getImageData(\n 0,\n 0,\n ctx.canvas.width,\n ctx.canvas.height\n );\n this.data = this.imageData.data;\n this.width = ctx.canvas.width;\n this.height = ctx.canvas.height;\n }\n\n private isOpaque(x: number, y: number): boolean {\n const index = (y * this.width + x) * 4;\n return this.data[index + 3] === 255;\n }\n\n private findNearestOpaquePixel(x: number, y: number): [number, number] {\n const directions = [\n [-1, 0],\n [1, 0],\n [0, -1],\n [0, 1], // left, right, up, down\n [-1, -1],\n [1, -1],\n [-1, 1],\n [1, 1] // diagonals\n ];\n\n for (const [dx, dy] of directions) {\n const nx = x + dx;\n const ny = y + dy;\n\n if (\n nx >= 0 &&\n nx < this.width &&\n ny >= 0 &&\n ny < this.height &&\n this.isOpaque(nx, ny)\n ) {\n return [nx, ny];\n }\n }\n\n return [-1, -1]; // If no opaque neighbor is found (shouldn't happen if used correctly)\n }\n\n private isIsolatedTransparent(x: number, y: number): boolean {\n if (this.isOpaque(x, y)) return false;\n\n const surroundingPixels = [\n [-1, 0],\n [1, 0],\n [0, -1],\n [0, 1], // left, right, up, down\n [-1, -1],\n [1, -1],\n [-1, 1],\n [1, 1], // diagonals\n [-2, 0],\n [2, 0],\n [0, -2],\n [0, 2], // 2 steps away\n [-2, -2],\n [2, -2],\n [-2, 2],\n [2, 2] // 2 steps diagonals\n ];\n\n let opaqueCount = 0;\n let transparentCount = 0;\n\n for (const [dx, dy] of surroundingPixels) {\n const nx = x + dx;\n const ny = y + dy;\n\n if (nx >= 0 && nx < this.width && ny >= 0 && ny < this.height) {\n if (this.isOpaque(nx, ny)) {\n opaqueCount++;\n } else {\n transparentCount++;\n }\n }\n }\n\n return opaqueCount > transparentCount; // Consider isolated if surrounded by more opaque pixels\n }\n\n public fill(): Promise {\n return new Promise(resolve => {\n for (let y = 0; y < this.height; y++) {\n for (let x = 0; x < this.width; x++) {\n if (this.isIsolatedTransparent(x, y)) {\n const [nx, ny] = this.findNearestOpaquePixel(x, y);\n\n if (nx !== -1 && ny !== -1) {\n const index = (y * this.width + x) * 4;\n const neighborIndex = (ny * this.width + nx) * 4;\n\n // Replace the current pixel with the neighbor's color\n this.data[index] = this.data[neighborIndex];\n this.data[index + 1] = this.data[neighborIndex + 1];\n this.data[index + 2] = this.data[neighborIndex + 2];\n this.data[index + 3] = this.data[neighborIndex + 3]; // Copy the alpha value too\n }\n }\n }\n }\n\n resolve(this.imageData);\n });\n }\n}\n","import FontFaceObserver from \"fontfaceobserver\";\nimport { BrutJSON } from \"./interfaces/json/index\";\nimport { BaseObject } from \"./objects/baseObject\";\nimport { ImageFrame } from \"./objects/imageFrame/imageFrame\";\nimport { TextBox } from \"./objects/textBox/textBox\";\nimport { StaticImage } from \"./objects/staticImage/staticImage\";\nimport { QrCode } from \"./objects/qrCode/qrCode\";\nimport { PerspectiveImage } from \"./objects/perspectiveImage/perspectiveImage\";\nimport { Point } from \"./util/point\";\nimport { BrutObjectJSON } from \"./interfaces/json/object\";\nimport { BrutEvent } from \"./interfaces/event\";\nimport { BrutOptions } from \"./interfaces/options\";\nimport { LogoFrame } from \"./objects/logoFrame/logoFrame\";\nimport { Sticker } from \"./objects/sticker/sticker\";\nimport { Handle } from \"./objects/baseObject/handle\";\nimport History from \"./util/history\";\nimport Pincer from \"./util/pincer\";\nimport GroupDragger from \"./util/groupDragger\";\nimport SelectedGroup from \"./util/selectedGroup\";\nimport { Giftcard } from \"@/components/brut/src/objects/giftcard/giftcard\";\nimport { uniq } from \"lodash-es\";\nimport { FoilImage } from \"@/components/brut/src/objects/foilImage/foilImage\";\nimport { FoilTextBox } from \"@/components/brut/src/objects/foilTextBox/foilTextBox\";\nimport {\n FoilHexDefaults,\n FoilingColour\n} from \"@/components/brut/src/objects/foilImage/utils/hexDefaults\";\nimport { RoundedCorners } from \"@/components/brut/src/interfaces/roundedCorners\";\nimport ObjectChecker from \"@/app/javascript/utils/objectChecker\";\nimport Photo from \"@/app/javascript/utils/photo\";\nimport { BoundingBox } from \"./util/boundingBox\";\nimport { BrutStyleJSON } from \"./interfaces/json/style\";\nimport { BrutEnabledStylesJSON } from \"./interfaces/json/enabledStyles\";\nimport { FilestackImage } from \"./interfaces/filestackImage\";\nimport { ImageOptions } from \"./interfaces/imageOptions\";\nimport { PredefinedString } from \"./objects/textBox/predefinedString\";\nimport { loadImage } from \"@/components/brut/src/util/loadImage\";\nimport { FillTransparentStragglers } from \"@/components/brut/src/util/fillTransparentStragglers\";\nimport colours from \"@/components/brut/src/util/colours\";\n\ndeclare global {\n interface Window {\n responsiveMode: boolean;\n }\n}\n\nclass Brut {\n context!: CanvasRenderingContext2D;\n topContext?: CanvasRenderingContext2D;\n foilCanvas!: HTMLCanvasElement | null;\n foilCanvasCtx!: CanvasRenderingContext2D;\n foilBlackCanvas!: HTMLCanvasElement | null;\n foilBlackCanvasCtx!: CanvasRenderingContext2D;\n perspectiveFoilCanvas!: HTMLCanvasElement | null;\n perspectiveFoilCanvasCtx!: CanvasRenderingContext2D;\n perspectiveFoilBlackCanvas!: HTMLCanvasElement | null;\n perspectiveFoilBlackCanvasCtx!: CanvasRenderingContext2D;\n perspectiveCanvas!: HTMLCanvasElement | null;\n perspectiveCanvasCtx!: CanvasRenderingContext2D;\n foilGradientX = 0;\n foilGradientY = 0;\n foilIntensity = 50;\n objects: BaseObject[] = [];\n selectedHandle: Handle | null = null;\n width = 0;\n height = 0;\n responsiveMode = false;\n admin = false;\n _offscreen = false;\n isFlexibleEditor = false;\n nameInjector = false;\n amendingAsCs = false;\n element: HTMLCanvasElement | OffscreenCanvas | null;\n private topElement?: HTMLCanvasElement;\n private container?: HTMLDivElement;\n private eventListeners: Record void> = {};\n history!: History;\n pincer!: Pincer;\n selectedGroup!: SelectedGroup;\n groupDragger?: GroupDragger;\n freezeInteractionsFlag = false;\n snappingEnabled = true;\n editingFoiledText = false;\n foilingColour?: FoilingColour;\n foiling?: \"gold\" | \"silver\" | \"roseGold\";\n roundedCorners?: RoundedCorners;\n multiplyBlendMode = false;\n keepAspectRatio = false;\n currentlyEditing:\n | \"text\"\n | \"image\"\n | \"emptyimage\"\n | \"logoframe\"\n | \"qrcode\"\n | \"giftcard\"\n | null = null;\n currentText?: string;\n currentStyle?: BrutStyleJSON;\n selection?: BrutStyleJSON;\n selectedObject?: BaseObject | null;\n hoveredObject?: BaseObject | null;\n selectedImage?: ImageFrame | null;\n selectedTextbox?: TextBox;\n isCardFront = false;\n originalJson?: string;\n ratio = 1;\n canvasBorder = 0;\n errors: string[] = [];\n mergeFlow = false;\n compressImage = false;\n enabledStyles?: BrutEnabledStylesJSON | null;\n filestackImage?: FilestackImage | null;\n editable = true;\n showDieCutCover = true;\n foilTextureAsset?: HTMLImageElement;\n useRadialGradient = false;\n useFoilingTimeout = false;\n private fillFoilingStragglers = true;\n private requiresNewStragglerFilling = true;\n perspectiveCanvasRequired = false;\n foilCanvasRequired = false;\n private longPressTimeout: ReturnType | null = null;\n static longPressDuration = 500;\n longPressObject: ImageFrame | null = null;\n longPressPointOrigin: Point | null = null;\n longPressModeActivated = false;\n\n // Unprintable characters are defined by the regex below. It allows any\n // ASCII character as well as some specific characters we know print well\n // outside the ASCII set\n unprintableRegex =\n /[^\\x00-\\x7F£€èéêëàáâäæãåîïíìôöòóœøõûüùúūñÿłßšžçÈÉÊËÀÁÂÄÆÃÅÎÏÍÌÔÖÒÓŒØÕÛÜÙÚŪÑŸŁŠŽÇ“”‘’–—·]/; // eslint-disable-line no-control-regex\n /**\n * Initialise a Brut object by passing in a canvas element that you want\n * to draw to.\n * @param element\n * @param options\n */\n constructor(\n element: HTMLCanvasElement | OffscreenCanvas,\n options: BrutOptions\n ) {\n this.element = element;\n this.admin = options.admin;\n this._offscreen = options.offscreen;\n this.isFlexibleEditor = options.isFlexibleEditor;\n this.nameInjector = options.nameInjector || false;\n this.amendingAsCs = options.amendingAsCs;\n this.roundedCorners = options.roundedCorners;\n this.isCardFront = options.isCardFront;\n this.mergeFlow = options.mergeFlow || false;\n this.objects = [];\n this.multiplyBlendMode = options.multiplyBlendMode || false;\n this.currentlyEditing = null;\n this.canvasBorder = options.canvasBorder || 0;\n this.compressImage = options.compressImage || false;\n this.useRadialGradient = options.useRadialGradient || false;\n this.useFoilingTimeout = options.useFoilingTimeout || false;\n this.perspectiveCanvasRequired = options.perspectiveCanvasRequired || false;\n this.foilCanvasRequired = options.foilCanvasRequired || false;\n }\n\n static foilLeatherAssetUrl =\n \"https://d1o785do8fyxgx.cloudfront.net/uploaded_photos/images/000/000/160/original/FOIL_SMALLER_SMALLER_WHITE_copy-min.jpg?1724172051\";\n static foilSkodixAssetUrl =\n \"https://d1o785do8fyxgx.cloudfront.net/uploaded_photos/images/000/000/164/original/WHITE_CURRENT_FOIL-min.jpg?1725359509\";\n\n public toggleMultiplyBlendMode(): void {\n this.multiplyBlendMode = !this.multiplyBlendMode;\n this.renderAll();\n }\n\n public init(): void {\n if (!this.element) return;\n\n this.context = this.element.getContext(\"2d\", {\n alpha: true\n }) as CanvasRenderingContext2D;\n\n this.history = new History(this);\n\n if (this.offscreen) {\n if (this.foilCanvasRequired) {\n this.foilCanvas = document.createElement(\"canvas\");\n this.foilCanvasCtx = this.foilCanvas.getContext(\n \"2d\"\n ) as CanvasRenderingContext2D;\n this.foilBlackCanvas = document.createElement(\"canvas\");\n this.foilBlackCanvasCtx = this.foilBlackCanvas.getContext(\n \"2d\"\n ) as CanvasRenderingContext2D;\n // We add the class to the canvas and insert in the DOM such that it can inherit\n // the font-feature-settings required to standardise the rendering of the fonts across canvas and PDF.\n // Font Feature settings can't be added with inline CSS or through manipulating the canvas context\n // https://github.com/papier-ltd/website/pull/9693/\n this.foilBlackCanvas.classList.add(\"temporarily-onscreen-foil-canvas\");\n this.foilBlackCanvas.style.display = \"none\";\n document.body.append(this.foilBlackCanvas);\n }\n\n if (this.perspectiveCanvasRequired) {\n this.perspectiveFoilCanvas = document.createElement(\"canvas\");\n this.perspectiveFoilCanvasCtx = this.perspectiveFoilCanvas.getContext(\n \"2d\"\n ) as CanvasRenderingContext2D;\n this.perspectiveFoilBlackCanvas = document.createElement(\"canvas\");\n this.perspectiveFoilBlackCanvasCtx =\n this.perspectiveFoilBlackCanvas.getContext(\"2d\", {\n willReadFrequently: true\n }) as CanvasRenderingContext2D;\n this.perspectiveCanvas = document.createElement(\"canvas\");\n this.perspectiveCanvasCtx = this.perspectiveCanvas.getContext(\n \"2d\"\n ) as CanvasRenderingContext2D;\n }\n\n this.ensureRetina();\n return;\n }\n\n this.addTopCanvas();\n this.addEventListeners();\n this.setupListeners();\n\n if (window.responsiveMode) {\n this.responsiveMode = true;\n }\n\n // Required for basic animation like flashing cursor\n window.setInterval(() => this.renderTop(), 500);\n this.pincer = new Pincer(this);\n this.selectedGroup = new SelectedGroup(this);\n\n this.foilCanvas = document.createElement(\"canvas\");\n this.foilCanvasCtx = this.foilCanvas.getContext(\n \"2d\"\n ) as CanvasRenderingContext2D;\n this.foilBlackCanvas = document.createElement(\"canvas\");\n this.foilBlackCanvasCtx = this.foilBlackCanvas.getContext(\n \"2d\"\n ) as CanvasRenderingContext2D;\n\n this.foilBlackCanvas.classList.add(\"foil-canvas\");\n this.foilBlackCanvas.style.display = \"none\";\n document.body.append(this.foilBlackCanvas);\n\n this.perspectiveFoilCanvas = document.createElement(\"canvas\");\n this.perspectiveFoilCanvasCtx = this.perspectiveFoilCanvas.getContext(\n \"2d\"\n ) as CanvasRenderingContext2D;\n this.perspectiveFoilBlackCanvas = document.createElement(\"canvas\");\n this.perspectiveFoilBlackCanvasCtx =\n this.perspectiveFoilBlackCanvas.getContext(\"2d\", {\n willReadFrequently: true\n }) as CanvasRenderingContext2D;\n this.perspectiveCanvas = document.createElement(\"canvas\");\n this.perspectiveCanvasCtx = this.perspectiveCanvas.getContext(\n \"2d\"\n ) as CanvasRenderingContext2D;\n\n this.ensureRetina();\n\n if (this.admin) {\n this.groupDragger = new GroupDragger(this);\n this.groupDragger.init();\n }\n\n if (this.useFoilingTimeout) {\n this.setUpFoilingTimeout();\n }\n }\n\n public setCanvasBorder(border: number): void {\n this.canvasBorder = border;\n this.renderAll();\n }\n\n private get offscreenCanvasEnabled(): boolean {\n return (\n \"OffscreenCanvas\" in window && this.element instanceof OffscreenCanvas\n );\n }\n\n public get offscreen(): boolean {\n if (this.offscreenCanvasEnabled) {\n return true;\n }\n\n return this._offscreen;\n }\n\n public set offscreen(flag: boolean) {\n this._offscreen = flag;\n }\n\n private setUpFoilingTimeout(): void {\n window.setInterval(() => {\n if (this.requiresNewStragglerFilling) {\n this.fillFoilingStragglers = true;\n this.renderAll(false);\n }\n }, 2500);\n }\n\n public load(json: string, originalJson: string, callback: () => void) {\n this.fireEvent(\"loading\");\n this.originalJson = JSON.parse(JSON.stringify(originalJson));\n\n const onLoad = () => {\n this.setCanvasEditability();\n this.resetObjectsEdited();\n this.rehydrateImages();\n this.refreshObjects();\n if (this.admin) {\n if (!this.nameInjector) {\n this.renderPredefinedStrings(true);\n }\n } else {\n this.lockTextboxes();\n }\n this.loadFonts(() => {\n this.fireEvent(\"loading-finished\");\n this.renderAll();\n setTimeout(() => {\n this.renderAll();\n if (callback) callback();\n }, 100);\n });\n };\n\n this.loadFromJSON(json).then(onLoad);\n }\n\n public get editingText() {\n return this.currentlyEditing === \"text\";\n }\n\n public get editingImage() {\n return this.currentlyEditing === \"image\";\n }\n\n public get editingEmptyImage() {\n return this.currentlyEditing === \"emptyimage\";\n }\n\n public get editingLogoFrame() {\n return this.currentlyEditing === \"logoframe\";\n }\n\n public get editingQrCode() {\n return this.currentlyEditing === \"qrcode\";\n }\n\n public get hoveringImage() {\n return this.editableObjects().some(\n obj => obj.hovered && obj.type === \"imageframe\"\n );\n }\n\n public get unprintableCharacters() {\n const result = this.unprintableRegex.exec(this.text());\n if (result) {\n return result[0];\n }\n return null;\n }\n\n public setupListeners() {\n if (this.offscreen) return;\n\n this.on(\"giftcard:editing\", e => {\n this.currentlyEditing = \"giftcard\";\n this.selectedObject = e.target;\n this.fireEvent(\"giftcard-click\");\n });\n this.on(\"text:editing:entered\", e => {\n if (!e.target) return;\n if (!this.isTextBox(e.target)) return;\n\n this.selectedTextbox = e.target;\n this.currentlyEditing = \"text\";\n this.selectedObject = e.target;\n this.fireEvent(\"editing-text\");\n });\n this.on(\"text:selection:changed\", () => {\n const activeObject = this.getActiveObject();\n if (!activeObject) return;\n if (!this.isTextBox(activeObject)) return;\n\n this.selection = activeObject.getSelectionStyles();\n this.currentStyle = activeObject.getSelectionStyles();\n this.checkObjectEdited();\n });\n this.on(\"selection:cleared\", () => {\n this.currentlyEditing = null;\n this.selectedImage = null;\n this.selectedObject = null;\n });\n this.on(\"text:overflowing\", () => {\n if (this.currentObject && !this.currentObject.lockedMode) {\n this.addError(\"overflowing\");\n }\n });\n this.on(\"text:notoverflowing\", () => {\n this.removeError(\"overflowing\");\n });\n this.on(\"text:responsiveedit\", e => {\n if (!e.target) return;\n if (!this.isTextBox(e.target)) return;\n\n this.currentText = e.text;\n this.currentStyle = e.target.getSelectionStyles();\n });\n this.on(\"imageframe:toosmall\", () => {\n this.addError(\"toosmall\");\n });\n this.on(\"imageframe:nottoosmall\", () => {\n this.removeError(\"toosmall\");\n });\n this.on(\"text:locked-mode-edit\", e => {\n if (!e.target) return;\n if (!this.isTextBox(e.target)) return;\n\n this.selectedTextbox = e.target;\n this.currentlyEditing = \"text\";\n this.fireEvent(\"editing-text\");\n });\n this.on(\"image:clear\", () => {\n this.clearSelection();\n this.clearCurrentlyEditing();\n this.filestackImage = null;\n });\n this.on(\"image:select\", e => {\n if (!e.target) return;\n if (!this.isImageFrame(e.target)) return;\n\n this.selectedImage = e.target;\n if (e.target.image) {\n this.currentlyEditing = \"image\";\n this.filestackImage = e.target.filestackImage;\n } else {\n this.currentlyEditing = \"emptyimage\";\n this.filestackImage = null;\n }\n });\n this.on(\"object:selected\", e => {\n const object = e.target;\n if (!object) return;\n\n this.selectedObject = object;\n\n if (object.type === \"logoframe\") {\n this.currentlyEditing = \"logoframe\";\n this.selectedImage = null;\n } else if (object.type === \"qrcode\") {\n this.currentlyEditing = \"qrcode\";\n this.selectedImage = null;\n }\n if (this.isTextBox(object) && object.enabledStyles) {\n this.enabledStyles = object.enabledStyles;\n } else {\n this.enabledStyles = null;\n }\n\n this.editingFoiledText = this.isTextBox(object) && object.foiled;\n });\n this.on(\"mouse:over\", e => {\n if (!e.target) return;\n\n if (e.target.type === \"papierbox\") {\n this.hoveredObject = e.target;\n }\n });\n this.on(\"mouse:out\", () => {\n this.hoveredObject = null;\n });\n this.on(\"object:moving\", () => {\n this.refreshObjects();\n this.fireEvent(\"objects-changed\");\n });\n this.on(\"logo:uploaded\", e => {\n if (!e.target) return;\n\n this.checkObjectEdited(e.target);\n });\n this.on(\"imageframe:faulty-url\", e => {\n this.fireEvent(\"faulty-image-detected\", { object: e.target });\n });\n }\n\n public loadOffscreen(json: string, callback: () => void) {\n this.loadFromJSON(json).then(() => this.offscreenLoadCallback(callback));\n }\n\n private offscreenLoadCallback(callback: () => void) {\n this.renderAll();\n setTimeout(() => {\n this.renderAll();\n if (callback) callback();\n }, 100);\n }\n\n public setCanvasEditability() {\n this.editable = this.editableObjects().length > 0;\n }\n\n public setSelection(selection: BrutStyleJSON, keepFocus = true) {\n const activeObject = this.getActiveObject();\n if (!activeObject) return;\n if (!this.isTextBox(activeObject)) return;\n\n if (selection.fontFamily) {\n this.fireEvent(\"loading\");\n new FontFaceObserver(selection.fontFamily)\n .load(null, 5000)\n .then(() => {\n activeObject.setSelectionStyles(selection);\n this.renderAll();\n this.renderAll();\n this.fireEvent(\"loading-finished\");\n // TODO: selection and currentStyle appear to be the same thing\n // so we can probably remove one of them\n this.selection = activeObject.getSelectionStyles();\n this.currentStyle = activeObject.getSelectionStyles();\n if (keepFocus) {\n activeObject.refocus();\n }\n })\n .catch(() => {\n this.fireEvent(\"loading-finished\");\n this.selection = activeObject.getSelectionStyles();\n this.currentStyle = activeObject.getSelectionStyles();\n if (keepFocus) {\n activeObject.refocus();\n }\n });\n } else {\n activeObject.setSelectionStyles(selection);\n this.renderAll();\n this.selection = activeObject.getSelectionStyles();\n this.currentStyle = activeObject.getSelectionStyles();\n if (keepFocus) {\n activeObject.refocus();\n }\n }\n }\n\n public setImageUrl(\n url: string,\n filestackImage: FilestackImage,\n recenter: boolean\n ) {\n if (!this.selectedImage) return;\n\n this.setImageframeImage(this.selectedImage, url, filestackImage, {\n recenter,\n selectImage: true,\n imageOptions: null\n });\n }\n\n public setImageframeImage(\n obj: ImageFrame,\n url: string,\n filestackImage: FilestackImage,\n options: {\n recenter?: boolean;\n selectImage?: boolean;\n imageOptions?: ImageOptions | null;\n userRotation?: number;\n scale?: number;\n },\n callback?: () => void\n ): void {\n if (filestackImage) {\n obj.filestackImage = filestackImage;\n this.filestackImage = filestackImage;\n }\n obj.widthInMm = obj.width / this.ratio;\n\n this.fireEvent(\"loading\");\n obj.setImageUrl(\n url,\n false,\n () => {\n obj.stockImage = false;\n if (options.userRotation) {\n obj.autoSetToRotation(options.userRotation);\n }\n if (options.scale) {\n // annoying workaround here. we have to multiply it by 10\n // due to the way the front end/brut has handled displaying/manipulating scale in the past\n // the setScale method reconciles this by multiplying the value by 0.1...\n obj.setScale(options.scale * 10);\n }\n this.fireEvent(\"loading-finished\");\n if (options.selectImage) {\n obj.select();\n this.currentlyEditing = \"image\";\n this.checkObjectEdited();\n } else if (options.imageOptions && !options.recenter) {\n obj.imageOptions = options.imageOptions;\n }\n this.renderAll();\n // TODO: Remove this once filestack/chrome issue where\n // the image is not downloading properly on initial load\n // is sorted\n setTimeout(() => {\n this.renderAll();\n callback && callback();\n }, 100);\n },\n options.recenter\n );\n }\n\n // TODO: Refactor to ObjectChecker\n private isTextBox(obj: BaseObject): obj is TextBox {\n return obj.type === \"papierbox\";\n }\n\n private isImageObject(obj: BaseObject): obj is ImageFrame | LogoFrame {\n return obj && (obj.type === \"imageframe\" || obj.type === \"logoframe\");\n }\n\n private isImageFrame(obj: BaseObject): obj is ImageFrame {\n return obj && obj.type === \"imageframe\";\n }\n\n private isStaticImage(obj: BaseObject): obj is StaticImage {\n return obj && obj.type === \"image\";\n }\n\n private isLogoFrame(obj: BaseObject): obj is LogoFrame {\n return obj && obj.type === \"logoframe\";\n }\n\n private isSticker(obj: BaseObject): obj is Sticker {\n return obj && obj.type === \"sticker\";\n }\n\n private isQrCode(obj: BaseObject): obj is QrCode {\n return obj && obj.type === \"qrcode\";\n }\n\n private isPerspectiveImage(obj: BaseObject): obj is PerspectiveImage {\n return obj && obj.type === \"perspectiveImage\";\n }\n\n private isGiftcard(obj: BaseObject): obj is Giftcard {\n return obj && obj.type === \"giftcard\";\n }\n\n private isFoilImage(obj: BaseObject): obj is FoilImage {\n return obj && obj.type === \"foilimage\";\n }\n\n public get textBoxSelectionCoordinates() {\n if (!this.selectedObject || !this.isTextBox(this.selectedObject)) {\n return null;\n }\n return this.selectedObject.selection.coordinates;\n }\n\n public set cursor(cursor: string) {\n if (this.element instanceof HTMLCanvasElement) {\n this.element.style.cursor = cursor;\n }\n }\n\n public addError(error: string) {\n if (!this.errors.includes(error)) {\n this.errors.push(error);\n }\n }\n\n public removeError(error: string) {\n this.errors = this.errors.filter(e => e !== error);\n }\n\n public clearCurrentlyEditing() {\n this.currentlyEditing = null;\n }\n\n /**\n * Set the height and width of the canvas element. This includes\n * setting up any retina scaling\n * @param width\n * @param height\n * @param scale\n */\n public setDimensions(width: number, height: number, scale: number): void {\n if (!this.element) return;\n\n this.width = width;\n this.height = height;\n this.element.width = this.width * scale;\n this.element.height = this.height * scale;\n\n if (this.element instanceof HTMLCanvasElement) {\n this.element.style.aspectRatio = `${this.width}/${this.height}`;\n }\n\n this.context.scale(scale, scale);\n\n if (this.container) {\n this.container.style.maxWidth = `${this.width}px`;\n this.container.style.aspectRatio = `${this.width}/${this.height}`;\n }\n\n if (this.topElement && this.topContext) {\n this.topElement.width = this.width * scale;\n this.topElement.height = this.height * scale;\n this.topElement.style.aspectRatio = `${this.width}/${this.height}`;\n this.topContext.scale(scale, scale);\n }\n\n if (this.foilCanvas && this.foilBlackCanvas) {\n this.foilCanvas.width = width * scale;\n this.foilCanvas.height = height * scale;\n this.foilCanvasCtx.scale(scale, scale);\n this.foilBlackCanvas.width = width * scale;\n this.foilBlackCanvas.height = height * scale;\n this.foilBlackCanvasCtx.scale(scale, scale);\n }\n\n if (\n this.perspectiveCanvas &&\n this.perspectiveFoilCanvas &&\n this.perspectiveFoilBlackCanvas\n ) {\n this.perspectiveFoilCanvas.width = width * scale;\n this.perspectiveFoilCanvas.height = height * scale;\n this.perspectiveFoilCanvasCtx.scale(scale, scale);\n this.perspectiveFoilBlackCanvas.width = width * scale;\n this.perspectiveFoilBlackCanvas.height = height * scale;\n this.perspectiveFoilBlackCanvasCtx.scale(scale, scale);\n this.perspectiveCanvas.width = width * scale;\n this.perspectiveCanvas.height = height * scale;\n this.perspectiveCanvasCtx.scale(scale, scale);\n }\n }\n\n public setPixelRatio(ratio: number) {\n this.ratio = ratio;\n }\n\n private ensureRetina() {\n const element = this.getElement();\n if (!element) return;\n const { width, height } = element;\n const scale = this.offscreen ? 1 : 2;\n this.setDimensions(width, height, scale);\n }\n\n public async setFoiling(\n foiling: \"gold\" | \"silver\" | \"roseGold\",\n addLeather = false\n ): Promise {\n this.foiling = foiling;\n if (this.useRadialGradient) {\n this.foilingColour = FoilHexDefaults[foiling].radial;\n } else {\n this.foilingColour = FoilHexDefaults[foiling].linear;\n }\n if (addLeather) {\n this.foilTextureAsset = await loadImage(Brut.foilLeatherAssetUrl);\n } else {\n this.foilTextureAsset = await loadImage(Brut.foilSkodixAssetUrl);\n }\n this.renderAll(false); // skip setting history to avoid having only one state to undo/redo from.\n }\n\n /**\n * Accepts JSON (backwardly compatible with Fabric.js JSON) and sets up the various\n * objects required to render correctly. This function is async, and it waits for\n * each created object to load before finally rendering\n *\n * For example:\n *\n * ```\n * const brut = new Brut();\n * brut.loadFromJson(json).then(() => {\n * console.log(\"Finished loading and rendering\");\n * }\n * ```\n *\n * @param jsonString\n * @returns {Promise}\n */\n public async loadFromJSON(jsonString?: string): Promise {\n this.initializeFoiling(jsonString);\n\n this.objects = this.allObjectsFromJson(jsonString)\n .map(object => {\n let obj;\n switch (object.type) {\n case \"image\":\n obj = new StaticImage(this, object);\n obj.init();\n return obj;\n case \"foilimage\":\n obj = new FoilImage(this, object);\n obj.init();\n return obj;\n case \"imageframe\":\n obj = new ImageFrame(this, object);\n obj.init();\n return obj;\n case \"qrcode\":\n obj = new QrCode(this, object);\n obj.init();\n return obj;\n case \"logoframe\":\n obj = new LogoFrame(this, object);\n obj.init();\n return obj;\n case \"sticker\":\n obj = new Sticker(this, object);\n obj.init();\n return obj;\n case \"papierbox\":\n if (object.foiled) {\n obj = new FoilTextBox(this, object);\n obj.init();\n return obj;\n } else {\n obj = new TextBox(this, object);\n obj.init();\n return obj;\n }\n case \"perspectiveImage\":\n obj = new PerspectiveImage(this, object);\n obj.init();\n return obj;\n default:\n return null;\n }\n })\n .filter(object => object !== null) as BaseObject[];\n return await Promise.all(this.objects.map(obj => obj.load()));\n }\n\n public loadFonts(callback: () => void) {\n if (this.fonts().length === 0) {\n callback();\n }\n\n const observers = this.fonts().map(font =>\n new FontFaceObserver(font).load(null, 5000)\n );\n\n Promise.all(observers).then(() => {\n callback();\n });\n }\n\n private async initializeFoiling(jsonString?: string): Promise {\n if (!jsonString) return;\n\n const json = JSON.parse(jsonString);\n this.setFoiling(json.foiling || \"gold\");\n this.foilGradientX = json.foilGradientX || 0;\n this.foilGradientY = json.foilGradientY || 0;\n this.foilIntensity = Math.min(json.foilIntensity || 100, 100);\n }\n\n public setFoilIntensity(intensity: number): void {\n const handledIntensity = Math.abs(intensity || 0);\n this.foilIntensity = Math.min(handledIntensity, 100);\n this.perspectiveFoilCanvasCtx.filter = `saturate(${this.foilingSaturationPercentage}%)`;\n this.renderAll();\n }\n\n private allObjectsFromJson(jsonString?: string): BrutObjectJSON[] {\n if (!jsonString) return [];\n\n const json = JSON.parse(jsonString) as BrutJSON;\n let objects = [];\n\n if (json.background) {\n objects.push({ ...json.background, name: \"background\" });\n }\n\n objects = objects.concat(json.objects);\n\n if (json.overlayImage) {\n objects.push({ ...json.overlayImage, name: \"overlay\" });\n }\n\n return objects;\n }\n\n /**\n * Render all of the objects onto the main canvas. Note that this doesn't\n * render anything which should appear on the top canvas (ie things like\n * borders, cursors, basically anything which reflects interactivity)\n */\n public renderAll(captureHistory = true): void {\n if (captureHistory) this.history.captureHistory();\n this.context.clearRect(0, 0, this.width, this.height);\n this.drawRoundedCorners();\n this.setupAuxiliaryCanvases();\n this.renderLowerCanvasObjects();\n if (\n this.element instanceof HTMLCanvasElement ||\n this.perspectiveCanvasRequired\n ) {\n if (this.perspectiveImages().length > 0) {\n this.renderPerspectiveCanvas();\n }\n }\n this.renderStaticOverlay();\n this.renderTextboxes();\n if (this.longPressObject) {\n // we add a wash to the lower canvas when we are dragging around a long press object\n // to make the top canvas (where the dragged image is rendered) pop out more clearly\n this.context.save();\n this.context.fillStyle = colours.lightBlue1;\n this.context.globalAlpha = 0.4;\n this.context.fillRect(0, 0, this.width, this.height);\n this.context.restore();\n }\n }\n\n private renderLowerCanvasObjects(): void {\n this.lowerCanvasObjects.forEach(object => object.render());\n }\n\n private renderLongPressedImageframe() {\n // we render the long pressed image frame on the top canvas\n // and ensure that it is the last object rendered\n // so that it sits atop everything (including object borders etc)\n const longPressedImageFrame = this.objects.find(obj => obj.isLongPressed);\n\n if (longPressedImageFrame) {\n longPressedImageFrame.renderTop();\n }\n }\n\n private setupAuxiliaryCanvases(): void {\n if (this.foilCanvas && this.foilBlackCanvas) {\n this.foilBlackCanvasCtx.clearRect(0, 0, this.width, this.height);\n this.foilCanvasCtx.clearRect(0, 0, this.width, this.height);\n this.foilCanvasCtx.globalCompositeOperation = \"source-over\";\n this.foilCanvasCtx.fillStyle = this.shimmerGradient;\n this.foilCanvasCtx.fillRect(0, 0, this.width, this.height);\n }\n\n if (\n this.perspectiveCanvas &&\n this.perspectiveFoilCanvas &&\n this.perspectiveFoilBlackCanvas\n ) {\n this.perspectiveFoilBlackCanvasCtx.clearRect(\n 0,\n 0,\n this.width,\n this.height\n );\n this.perspectiveFoilCanvasCtx.clearRect(0, 0, this.width, this.height);\n this.perspectiveFoilCanvasCtx.globalCompositeOperation = \"source-over\";\n this.perspectiveFoilCanvasCtx.fillStyle = this.shimmerGradient;\n this.perspectiveFoilCanvasCtx.fillRect(0, 0, this.width, this.height);\n if (this.foilTextureAsset) {\n this.perspectiveFoilCanvasCtx.globalCompositeOperation = \"multiply\";\n this.perspectiveFoilCanvasCtx.drawImage(\n this.foilTextureAsset,\n 0,\n 0,\n this.width,\n this.height\n );\n }\n }\n }\n\n private async renderPerspectiveCanvas(): Promise {\n if (\n !this.perspectiveCanvas ||\n !this.perspectiveFoilCanvas ||\n !this.perspectiveFoilBlackCanvas\n ) {\n Promise.resolve();\n return;\n }\n if (!this.perspectiveImages().length) Promise.resolve();\n\n this.renderPerspectiveImages();\n this.perspectiveFoilCanvasCtx.globalCompositeOperation = \"destination-in\";\n this.perspectiveFoilCanvasCtx.drawImage(\n this.perspectiveFoilBlackCanvas,\n 0,\n 0,\n this.width,\n this.height\n );\n this.context.globalCompositeOperation = \"source-over\";\n if (this.fillFoilingStragglers) {\n // this is a quite intensive operation, so we only do it every 2.5 seconds\n // and when a flag is passed to Brut that says to do it\n // this is to avoid the performance hit of doing it every time the canvas is rendered\n // which is every time the user interacts with the canvas\n // We only do this in the admin tool for creating ecommerce images\n const handledImageData = await new FillTransparentStragglers(\n this.perspectiveFoilCanvasCtx\n ).fill();\n this.perspectiveFoilCanvasCtx.putImageData(handledImageData, 0, 0);\n this.fillFoilingStragglers = false;\n this.requiresNewStragglerFilling = false;\n } else {\n this.requiresNewStragglerFilling = true;\n }\n this.context.drawImage(\n this.perspectiveFoilCanvas,\n 0,\n 0,\n this.width,\n this.height\n );\n }\n\n private renderPerspectiveImages(): void {\n if (\n !this.perspectiveCanvas ||\n !this.perspectiveFoilCanvas ||\n !this.perspectiveFoilBlackCanvas\n ) {\n return;\n }\n\n this.context.globalCompositeOperation = this.multiplyBlendMode\n ? \"multiply\"\n : \"source-over\";\n this.context.drawImage(\n this.perspectiveCanvas,\n 0,\n 0,\n this.width,\n this.height\n );\n this.perspectiveCanvasCtx.clearRect(0, 0, this.width, this.height);\n }\n\n private renderStaticOverlay(): void {\n const overlay = this.overlayObject();\n\n if (!overlay) return;\n\n if (!this.perspectiveCanvas) {\n // we might not have a perspective canvas in offscreen mode\n // so we should just draw the overlay directly onto the main canvas\n overlay.render(this.context);\n return;\n }\n\n this.context.globalCompositeOperation = \"source-over\";\n overlay.render(this.perspectiveCanvasCtx);\n this.context.drawImage(\n this.perspectiveCanvas,\n 0,\n 0,\n this.width,\n this.height\n );\n this.perspectiveCanvasCtx.clearRect(0, 0, this.width, this.height);\n }\n\n private renderTextboxes(): void {\n this.textObjects().forEach(textBox => textBox.render());\n if (this.foilCanvas && this.foilBlackCanvas && this.foilCanvasCtx) {\n this.foilCanvasCtx.globalCompositeOperation = \"destination-in\";\n this.foilCanvasCtx.drawImage(\n this.foilBlackCanvas,\n 0,\n 0,\n this.width,\n this.height\n );\n this.context.drawImage(this.foilCanvas, 0, 0, this.width, this.height);\n }\n }\n\n private get lowerCanvasObjects(): BaseObject[] {\n return this.objects.filter(object => {\n if (object.type === \"papierbox\") {\n return false;\n }\n\n return object.type !== \"image\" || object.name !== \"overlay\";\n });\n }\n\n private get nonLongPressedObjects(): BaseObject[] {\n return this.objects.filter(object => !object.isLongPressed);\n }\n\n public editableObjects() {\n return this.getObjects().filter(obj =>\n [\"imageframe\", \"logoframe\", \"papierbox\", \"sticker\", \"qrcode\"].includes(\n obj.type\n )\n );\n }\n\n public hasEditedTextboxes() {\n return this.textObjects().some(obj => obj.edited);\n }\n\n public uneditedEditableObjects() {\n return this.editableObjects().filter(\n obj => !obj.edited && !obj.optionallyEditable\n );\n }\n\n public editedEditableObjects() {\n return this.editableObjects().filter(\n obj => obj.edited || obj.optionallyEditable\n );\n }\n\n public fireEvent(name: string, detail = {}): void {\n if (!this.element) return;\n const event = new CustomEvent(name, { detail });\n this.element.dispatchEvent(event);\n }\n\n private isObjectEdited(object: BaseObject) {\n if (this.admin) return false; // all objects should be marked as edited false in design tool!\n if (this.offscreen) return true; // skip this check for offscreen canvases\n\n return ObjectChecker.isEdited(this, object);\n }\n\n public checkObjectEdited(objectPassed?: BaseObject) {\n const object = objectPassed || this.getActiveObject();\n if (this.isObjectEdited(object)) {\n object.edited = true;\n this.fireEvent(\"sheet-edited\");\n }\n }\n\n public resetObjectsEdited() {\n this.editableObjects().forEach(obj => {\n const objCopy = obj;\n objCopy.selectable = true;\n objCopy.edited = this.isObjectEdited(objCopy);\n });\n }\n\n public resizeTextToFit() {\n this.textObjects().forEach(textBox => {\n if (!textBox.lockedMode) {\n textBox.overflowFit();\n }\n });\n this.renderAll();\n this.fireEvent(\"sheet-edited\");\n }\n\n public replaceText(text: string, object: TextBox) {\n if (!object) return;\n if (!this.isTextBox(object)) return;\n if (object.lockedMode) return;\n\n object.replaceText(text);\n this.currentText = text;\n this.renderAll();\n }\n\n public clearText() {\n this.textObjects().forEach(textbox => {\n textbox.clearText();\n textbox.edited = this.isObjectEdited(textbox);\n });\n this.renderAll();\n this.fireEvent(\"sheet-edited\");\n }\n\n public setMobileCardMessage() {\n // If there is > 1 text box, we do nothing\n if (this.textObjects().length !== 1) return;\n\n this.textObjects()[0].standardiseFormatting();\n }\n\n public clearAllImages() {\n this.nonLogoImageObjects().forEach(imageframe => {\n imageframe.clearImage();\n });\n }\n\n public rotateImageFrameLeft() {\n if (!this.selectedImage) return;\n\n this.selectedImage.rotate(\"left\");\n }\n\n public rotateImageFrameRight() {\n if (!this.selectedImage) return;\n\n this.selectedImage.rotate(\"right\");\n }\n\n private offsetClone(clone: BrutObjectJSON) {\n return this.objects.some(\n object => clone.left === object.left && clone.top === object.top\n );\n }\n\n public copy() {\n const clipboard = this.selectedGroup.objects\n .map(obj => obj.clone())\n .filter(Boolean);\n\n window.localStorage.setItem(\"clipboard\", JSON.stringify(clipboard));\n }\n\n public paste() {\n if (this.editingText) return;\n if (!window.localStorage.getItem(\"clipboard\")) return;\n\n const clipboardItem = window.localStorage.getItem(\"clipboard\");\n const clipboard = clipboardItem\n ? (JSON.parse(clipboardItem) as BrutObjectJSON[])\n : null;\n\n if (!clipboard) return;\n\n const promises = clipboard.map(object => {\n if (this.offsetClone(object)) {\n object.left += 20;\n object.top += 20;\n }\n return this.add(object);\n });\n Promise.all(promises).then(() => {\n this.refreshObjects();\n this.renderAll();\n });\n }\n\n public duplicate() {\n this.copy();\n this.paste();\n }\n\n public undo() {\n this.updateHistory(true);\n }\n\n public redo() {\n this.updateHistory(false);\n }\n\n public reset() {\n this.history.reset();\n this.refreshObjects();\n }\n\n public startAgain(): void {\n if (!this.originalJson) return;\n\n this.fireEvent(\"loading\");\n\n this.loadFromJSON(this.originalJson).then(() => {\n this.renderAll();\n this.fireEvent(\"loading-finished\");\n this.fireEvent(\"sheet-edited\");\n this.lockTextboxes();\n this.rehydrateImages();\n this.resetObjectsEdited();\n });\n }\n\n private updateHistory(rollback: boolean) {\n if (rollback) {\n this.history.undo();\n } else {\n this.history.redo();\n }\n\n this.refreshObjects();\n }\n\n public refreshObjects() {\n this.objects = this.getObjects();\n }\n\n public selectedPerspectiveImages(): PerspectiveImage[] {\n return this.perspectiveImages().filter(image => image.selected);\n }\n\n public rehydrateImages() {\n this.imageObjects().forEach(image => {\n if (image.filestackImage && image.filestackImage.handle) {\n image.filestackImage = new Photo(\n image.filestackImage as Photo,\n image.filestackImage.rotation || 0,\n image.filestackImage.colourFilters || {}\n );\n }\n });\n }\n\n private drawRoundedCorners(): void {\n if (!this.roundedCorners) return;\n if (!this.isRounded) return;\n\n const { topLeft, topRight, bottomLeft, bottomRight } = this.roundedCorners;\n this.context.beginPath();\n this.context.moveTo(topLeft, 0);\n this.context.lineTo(this.width - topRight, 0);\n this.context.quadraticCurveTo(this.width, 0, this.width, topRight);\n this.context.lineTo(this.width, this.height - bottomRight);\n this.context.quadraticCurveTo(\n this.width,\n this.height,\n this.width - bottomRight,\n this.height\n );\n this.context.lineTo(bottomLeft, this.height);\n this.context.quadraticCurveTo(0, this.height, 0, this.height - bottomLeft);\n this.context.lineTo(0, topLeft);\n this.context.quadraticCurveTo(0, 0, topLeft, 0);\n this.context.closePath();\n this.context.clip();\n }\n\n public get isRounded(): boolean {\n if (!this.roundedCorners) return false;\n\n return Object.values(this.roundedCorners).some(value => value > 0);\n }\n\n public renderTop(): void {\n if (this.topContext == null) return;\n\n this.topContext.clearRect(0, 0, this.width, this.height);\n this.nonLongPressedObjects.forEach(object => object.renderTop());\n this.renderLongPressedImageframe();\n this.groupDragger && this.groupDragger.renderTop();\n }\n\n public get currentObject() {\n return this.getActiveObject();\n }\n\n getObjects = (): BaseObject[] => this.objects;\n\n getSelectableObjects = (): BaseObject[] =>\n this.objects.filter(obj => obj.selectable);\n\n getActiveObject = (): BaseObject =>\n this.objects.filter(obj => obj.selected)[0];\n\n public giftcardObject() {\n return this.getObjects().find(this.isGiftcard);\n }\n\n public qrCodes(): QrCode[] {\n return this.getObjects().filter(this.isQrCode);\n }\n\n public imageObjects(): (ImageFrame | LogoFrame)[] {\n return this.getObjects().filter(this.isImageObject);\n }\n\n public nonLogoImageObjects(): ImageFrame[] {\n return this.getObjects().filter(this.isImageFrame);\n }\n\n public staticImageObjects(): StaticImage[] {\n return this.getObjects().filter(this.isStaticImage);\n }\n\n public stickerObjects(): Sticker[] {\n return this.getObjects().filter(this.isSticker);\n }\n\n public perspectiveImages(): PerspectiveImage[] {\n return this.objects.filter(this.isPerspectiveImage);\n }\n\n public backgroundSrc() {\n if (\n this.staticImageObjects().length === 1 &&\n this.staticImageObjects()[0].name !== \"overlay\"\n ) {\n this.staticImageObjects()[0].name = \"background\";\n }\n\n const background = this.staticImageObjects().find(\n object => object.name === \"background\"\n );\n\n return background ? background.src : null;\n }\n\n private overlayObject(): StaticImage | undefined {\n return this.staticImageObjects().find(object => object.name === \"overlay\");\n }\n\n public overlaySrc() {\n return this.overlayObject()?.src;\n }\n\n public foilSrc() {\n const foilImage = this.foilImage();\n return foilImage ? foilImage.src : null;\n }\n\n private foilImage(): FoilImage | undefined {\n const object = this.getObjects().find(obj => obj.type === \"foilimage\");\n if (object && this.isFoilImage(object)) {\n return object;\n }\n return undefined;\n }\n\n getElement = (): HTMLCanvasElement | OffscreenCanvas | undefined =>\n this.element;\n\n public on(eventName: string, callback: (e: BrutEvent) => void): void {\n this.eventListeners[eventName] = callback;\n }\n\n public fire(\n eventName: string,\n target?: BaseObject,\n properties?: object\n ): void {\n const event = { ...properties, target: target } as BrutEvent;\n if (this.eventListeners[eventName]) {\n this.eventListeners[eventName].call(this, event);\n }\n }\n\n public toDataURL(\n format: string,\n quality?: number,\n backgroundColour?: string\n ): string {\n if (backgroundColour) {\n const bgObject = this.temporaryBackgroundColour(backgroundColour);\n this.objects.unshift(bgObject);\n this.renderAll();\n const url = this.getCanvasSnapshot(format, quality);\n bgObject.remove();\n this.renderAll();\n return url;\n }\n\n return this.getCanvasSnapshot(format, quality);\n }\n\n public async toOffscreenDataUrl(\n format: string,\n quality?: number,\n backgroundColour?: string\n ): Promise {\n if (backgroundColour) {\n const bgObject = this.temporaryBackgroundColour(backgroundColour);\n this.objects.unshift(bgObject);\n this.renderAll();\n const url = await this.getOffscreenCanvasSnapshot(format, quality);\n bgObject.remove();\n this.renderAll();\n return url;\n }\n\n const url = await this.getOffscreenCanvasSnapshot(format, quality);\n return url;\n }\n\n private staticCanvasWithBorderCropped(): HTMLCanvasElement {\n // Everything is doubled to account for retina\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\") as CanvasRenderingContext2D;\n const cropWidth = (this.width - this.canvasBorder * 2) * 2;\n const cropHeight = (this.height - this.canvasBorder * 2) * 2;\n canvas.width = cropWidth;\n canvas.height = cropHeight;\n if (this.element) {\n context.drawImage(\n this.element,\n this.canvasBorder * 2,\n this.canvasBorder * 2,\n cropWidth,\n cropHeight,\n 0,\n 0,\n cropWidth,\n cropHeight\n );\n }\n return canvas;\n }\n\n private convertBlobToBase64(\n blob: Blob\n ): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n resolve(reader.result);\n };\n reader.onerror = reject;\n reader.readAsDataURL(blob);\n });\n }\n\n public async getOffscreenCanvasSnapshot(\n format: string,\n quality?: number\n ): Promise {\n if (this.element && this.offscreenCanvasEnabled) {\n const blob = await this.element.convertToBlob({\n type: `image/${format}`,\n quality: quality || 1\n });\n const base64 = await this.convertBlobToBase64(blob);\n\n return base64 as string;\n }\n\n return new Promise(resolve => {\n if (this.element) {\n this.element.toBlob(\n (blob: Blob) => {\n this.convertBlobToBase64(blob).then(base64 => {\n resolve(base64 as string);\n });\n },\n `image/${format}`,\n quality\n );\n } else {\n resolve(\"\");\n }\n });\n }\n\n public getCanvasSnapshot(format: string, quality?: number): string {\n if (this.element instanceof HTMLCanvasElement) {\n if (this.canvasBorder === 0) {\n return quality\n ? this.element.toDataURL(format, quality)\n : this.element.toDataURL(format);\n }\n\n const croppedCanvas = this.staticCanvasWithBorderCropped();\n\n return quality\n ? croppedCanvas.toDataURL(format, quality)\n : croppedCanvas.toDataURL(format);\n }\n\n return \"\";\n }\n\n private temporaryBackgroundColour(backgroundColour: string): StaticImage {\n return new StaticImage(this, {\n left: 0,\n top: 0,\n width: this.width,\n height: this.height,\n angle: 0,\n type: \"image\",\n name: \"temporaryBackground\",\n backgroundColour\n });\n }\n\n public toJSON(): BrutJSON {\n return {\n objects: this.objects.map(obj => obj.toJSON() as BrutObjectJSON),\n foiling: this.foilObjects.length > 0 ? this.foiling : undefined,\n foilGradientX: this.foilGradientX,\n foilGradientY: this.foilGradientY,\n foilIntensity: this.foilIntensity\n };\n }\n\n public deactivateAll(): void {\n this.objects.forEach(object => (object.selected = false));\n }\n\n public deactivateAllWithDispatch(): void {\n this.objects.forEach(object => object.deselect());\n this.selectedGroup.objects = [];\n this.selectedHandle = null;\n this.fire(\"selection:cleared\");\n this.renderTop();\n }\n\n public dispose(): void {\n this.removeEventListeners();\n this.element = null;\n this.perspectiveCanvas = null;\n this.perspectiveFoilCanvas = null;\n this.foilCanvas = null;\n this.foilBlackCanvas = null;\n }\n\n public setActiveObject(object: BaseObject): void {\n object.selected = true;\n this.fire(\"object:selected\", object);\n this.renderTop();\n }\n\n public addGiftcard(amount: number): Giftcard | undefined {\n if (!this.hasGiftcard) {\n const giftcard = new Giftcard(\n this,\n {\n type: \"giftcard\",\n name: \"Giftcard\",\n left: Giftcard.offset,\n top: Giftcard.offset,\n width: this.width - Giftcard.offset * 2,\n height: this.height - Giftcard.offset * 2,\n angle: 0\n },\n amount\n );\n this.objects.push(giftcard);\n giftcard.load();\n\n return giftcard;\n }\n }\n\n private get hasGiftcard(): boolean {\n return this.objects.some(obj => obj.type === \"giftcard\");\n }\n\n private addEventListeners(): void {\n if (!this.element) return;\n this.element.addEventListener(\"mousedown\", this.onMousedown.bind(this));\n this.element.addEventListener(\"touchstart\", this.onTouchstart.bind(this));\n\n window.addEventListener(\"mousemove\", this.onMousemove.bind(this));\n window.addEventListener(\"touchmove\", this.onTouchmove.bind(this));\n\n this.element.addEventListener(\"mouseup\", this.onMouseup.bind(this));\n this.element.addEventListener(\"touchend\", this.onTouchend.bind(this));\n this.element.addEventListener(\"mouseleave\", this.onMouseLeave.bind(this));\n }\n\n private removeEventListeners(): void {\n if (!this.element) return;\n this.element.removeEventListener(\"mousedown\", this.onMousedown.bind(this));\n this.element.removeEventListener(\n \"touchstart\",\n this.onTouchstart.bind(this)\n );\n window.removeEventListener(\"mousemove\", this.onMousemove.bind(this));\n window.removeEventListener(\"touchmove\", this.onTouchmove.bind(this));\n window.removeEventListener(\"mouseup\", this.onMouseup.bind(this));\n this.element.removeEventListener(\"touchend\", this.onTouchend.bind(this));\n this.element.removeEventListener(\n \"mouseleave\",\n this.onMouseLeave.bind(this)\n );\n }\n\n private onMouseLeave(e: MouseEvent): void {\n const point = this.pointOnCanvas(e);\n this.groupDragger && this.groupDragger.clear();\n this.objects.forEach(obj => obj.mouseLeave(point));\n }\n\n private onTouchstart(e: TouchEvent): void {\n const point = this.pointOnCanvasForTouch(e);\n if (!point) return;\n\n const object = this.objectAtPoint(point);\n if (object) {\n object.touchStart(point);\n\n this.initiateLongPress(object, point);\n }\n }\n\n private onMousedown(e: MouseEvent): void {\n const point = this.pointOnCanvas(e);\n const object = this.objectAtPoint(point);\n\n this.initiateLongPress(object, point);\n\n for (const obj of this.objects.filter(obj => obj.selected)) {\n for (const handle of obj.handles) {\n if (\n handle\n .touchBoundingBox()\n .containsPoint(point.minus(obj.boundingBox.origin()))\n ) {\n this.selectedHandle = handle;\n this.selectedHandle.click(point);\n this.selectedGroup.allGroupHandles.forEach(handle =>\n handle.click(point)\n );\n this.renderTop();\n return;\n }\n }\n }\n\n if (object) {\n object.interacting = true;\n if (!this.admin && !this.isFlexibleEditor) {\n this.selectedGroup.reset([object], false);\n } else if (\n this.selectedGroup.objects.map(obj => obj.uuid).includes(object.uuid)\n ) {\n this.selectedGroup.objects.forEach(obj => obj.click(point));\n return;\n } else if (e.shiftKey) {\n this.selectedGroup.addObject(object);\n } else {\n this.selectedGroup.reset([object]);\n }\n }\n\n if (this.selectedGroup.occupiedAsGroup) {\n this.selectedGroup.objects.forEach(object => object.click(point));\n return;\n }\n\n this.objects.forEach(obj => obj.deselect());\n\n if (object) {\n object.click(point);\n } else if (!e.shiftKey) {\n this.groupDragger && this.groupDragger.selectStart(point);\n }\n\n if (this.objects.filter(obj => obj.selected).length === 0) {\n this.fire(\"selection:cleared\");\n }\n this.renderTop();\n }\n\n private onMousemove(e: MouseEvent): void {\n if (e.target !== this.element) return;\n this.keepAspectRatio = !!e.shiftKey;\n\n let allowDragMove = true;\n\n const point = this.pointOnCanvas(e);\n\n if (\n this.longPressTimeout &&\n this.longPressPointOrigin &&\n this.longPressPointOrigin.distanceTo(point) > 10\n ) {\n clearTimeout(this.longPressTimeout);\n }\n\n if (this.longPressModeActivated && this.longPressObject) {\n this.longPressObject.mouseMove(point);\n return;\n }\n\n this.setNewGradientPosition(point);\n\n if (this.selectedHandle) {\n const difference = this.selectedHandle.calculateDifference(point);\n this.selectedHandle.programmaticallyDrag(difference, point);\n this.selectedGroup.allGroupHandles.forEach(handle =>\n handle.programmaticallyDrag(difference, point)\n );\n allowDragMove = false;\n }\n\n this.objects\n .filter(obj => obj.canScale())\n .forEach(obj => {\n obj.handles.forEach(handle => {\n if (\n handle\n .touchBoundingBox()\n .containsPoint(point.minus(obj.boundingBox.origin()))\n ) {\n handle.hovered = true;\n this.cursor = handle.cursor();\n this.renderTop();\n } else if (handle.hovered) {\n handle.hovered = false;\n this.cursor = \"default\";\n this.renderTop();\n }\n });\n });\n\n if (allowDragMove && this.selectedGroup.occupiedAsGroup && !e.shiftKey) {\n this.selectedGroup.objects.forEach(obj => {\n obj.globalMouseMove(point, true);\n obj.mouseMove(point);\n });\n } else {\n this.objects.forEach(obj => obj.globalMouseMove(point));\n this.objects\n .filter(obj => obj.containsPoint(point))\n .forEach(obj => obj.mouseMove(point));\n this.objects\n .filter(obj => !obj.containsPoint(point))\n .filter(obj => obj.hovered)\n .forEach(obj => obj.mouseLeave(point));\n this.objects\n .filter(obj => obj.containsPoint(point))\n .filter(obj => !obj.hovered)\n .forEach(obj => obj.mouseEnter(point));\n }\n\n this.groupDragger && this.groupDragger.dragMove(point);\n }\n\n private setNewGradientPosition(point: Point): void {\n if (!this.foilObjects.length) return;\n\n this.foilGradientX = point.left;\n this.foilGradientY = point.top;\n\n this.renderAll();\n }\n\n public get foilObjects(): BaseObject[] {\n return this.objects.filter(obj => obj.isFoiled);\n }\n\n public get topMostEditableObject(): BaseObject | null {\n return (\n this.editableObjects().sort((a, b) => (a.top > b.top ? 1 : -1))[0] || null\n );\n }\n\n public textObjects(): TextBox[] {\n return this.objects.filter(this.isTextBox);\n }\n\n private get shimmerGradient(): CanvasGradient | \"#fff\" {\n if (!this.foilCanvasCtx) return \"#fff\";\n if (this.useRadialGradient) {\n return this.radialGradient;\n } else {\n return this.linearGradient;\n }\n }\n\n private get linearGradient(): CanvasGradient {\n const gradient = this.foilCanvasCtx.createLinearGradient(\n 0,\n 0,\n this.width,\n this.height\n );\n\n if (this.foilingColour && this.foilingColour.type === \"linear\") {\n gradient.addColorStop(0, this.foilingColour.topLeft);\n gradient.addColorStop(this.centralGradient, this.foilingColour.middle);\n gradient.addColorStop(1, this.foilingColour.bottomRight);\n }\n\n return gradient;\n }\n\n private get centralGradient(): number {\n return (\n this.pythagoranPoint(this.foilGradientX, this.foilGradientY) /\n this.pythagoranPoint(this.width, this.height)\n );\n }\n\n private pythagoranPoint(x: number, y: number): number {\n return Math.sqrt(x * x + y * y);\n }\n\n private get radialGradient(): CanvasGradient {\n const gradient = this.foilCanvasCtx.createRadialGradient(\n this.foilGradientX, // x0\n this.foilGradientY, // y0\n 0, // r0\n this.foilGradientX, // x1\n this.foilGradientY, // y1\n Math.max(this.width, this.height) // r1\n );\n\n if (this.foilingColour && this.foilingColour.type === \"radial\") {\n gradient.addColorStop(0, this.foilingColour.topLeft);\n gradient.addColorStop(0.2, this.foilingColour.middleTopLeft);\n gradient.addColorStop(0.4, this.foilingColour.middle);\n gradient.addColorStop(0.6, this.foilingColour.middleBottomRight);\n gradient.addColorStop(1, this.foilingColour.bottomRight);\n }\n\n return gradient;\n }\n\n private get foilingSaturationPercentage(): number {\n if (!this.foilIntensity && this.foilIntensity !== 0) return 100;\n\n const intensityDifferentiator = (this.foilIntensity - 50) * 2;\n\n return 100 + intensityDifferentiator;\n }\n\n private onTouchmove(e: TouchEvent): void {\n if (e.touches.length > 1) {\n e.preventDefault();\n return;\n }\n\n const point = this.pointOnCanvasForTouch(e);\n if (!point) return;\n\n const object = this.objectAtPoint(point);\n if (object) {\n this.objects.forEach(obj => obj.globalMouseMove(point));\n }\n\n if (this.longPressModeActivated && this.longPressObject) {\n this.longPressObject.mouseMove(point);\n }\n }\n\n private onMouseup(e: MouseEvent): void {\n if (this.selectedHandle) {\n this.selectedHandle = null;\n this.renderTop();\n }\n const point = this.pointOnCanvas(e);\n\n // Note that here we fire mouseUp on all the objects regardless.\n // This is because if you try and drag select outside\n // a textbox (for example) you still want to listen to mouse up events in\n // order to cancel the selection action.\n this.objects.forEach(obj => obj.mouseUp(point));\n\n if (\n this.admin &&\n !this.objectAtPoint(point) &&\n !this.selectedGroup.dragging\n ) {\n this.selectedGroup.reset();\n } else {\n this.selectedGroup.dragging = false;\n }\n\n !e.shiftKey && this.groupDragger && this.groupDragger.selectEnd();\n\n this.clearLongPress();\n }\n\n private initiateLongPress(object: BaseObject | null, point: Point) {\n if (object && object.type === \"imageframe\") {\n this.longPressPointOrigin = point;\n this.longPressTimeout = setTimeout(() => {\n // this timeout ensures that the long press is only activated after a certain duration\n // it is cleared if the user drags too far from the origin of the long press\n // or if the user releases the mouse / stops touching before the timeout\n object.setAsLongPress();\n }, Brut.longPressDuration);\n }\n }\n\n public clearLongPress(): void {\n this.longPressPointOrigin = null;\n if (this.longPressObject) {\n this.longPressObject.longPressXOffset = 0;\n this.longPressObject.longPressYOffset = 0;\n }\n this.longPressObject = null;\n this.longPressModeActivated = false;\n\n if (this.longPressTimeout) {\n clearTimeout(this.longPressTimeout);\n }\n\n this.renderAll();\n }\n\n private onTouchend(e: TouchEvent): void {\n const point = this.pointOnCanvasForTouch(e);\n if (!point) return;\n\n this.objects.forEach(obj => obj.mouseUp(point));\n\n this.clearLongPress();\n }\n\n private pointOnCanvasForTouch(e: TouchEvent): Point | null {\n if (e.changedTouches.length === 0) return null;\n\n return this.pointOnCanvas(e.changedTouches[0]);\n }\n\n public pointOnCanvas(coordinates: MouseEvent | Touch): Point {\n if (this.element instanceof HTMLCanvasElement) {\n const rect = this.element.getBoundingClientRect();\n const ratio = this.width / rect.width;\n\n return new Point(\n (coordinates.clientX - rect.left) * ratio,\n (coordinates.clientY - rect.top) * ratio\n ).minus(new Point(this.canvasBorder, this.canvasBorder));\n }\n\n return Point.origin();\n }\n\n private objectAtPoint(point: Point): BaseObject | null {\n // We want to find the topmost object that contains the point\n return this.getSelectableObjects()\n .slice()\n .reverse()\n .filter(obj => obj.containsPoint(point))[0];\n }\n\n private addTopCanvas(): void {\n if (this.element instanceof HTMLCanvasElement) {\n if (this.element.parentNode == null) return;\n if (this.offscreen) return;\n\n // Wrap our canvas element inside a container div\n this.container = document.createElement(\"div\");\n this.container.classList.add(\"brut-container\");\n this.container.style.position = \"relative\";\n this.element.parentNode.insertBefore(this.container, this.element);\n this.container.appendChild(this.element);\n\n this.topElement = document.createElement(\"canvas\");\n this.topElement.style.position = \"absolute\";\n this.topElement.style.left = \"0\";\n this.topElement.style.top = \"0\";\n this.topElement.style.pointerEvents = \"none\";\n this.container.appendChild(this.topElement);\n\n this.topContext = this.topElement.getContext(\"2d\", {\n alpha: true\n }) as CanvasRenderingContext2D;\n }\n }\n\n public remove(object: BaseObject): void {\n const index = this.objects.findIndex(\n obj => JSON.stringify(obj) === JSON.stringify(object)\n );\n this.objects.splice(index, 1);\n this.renderTop();\n this.renderAll();\n this.fireEvent(\"sheet-edited\");\n }\n\n public deleteSelectedObjects(): void {\n if (this.currentlyEditingText) return;\n\n this.selectedGroup.objects.forEach(object => {\n this.remove(object);\n });\n }\n\n public clearSelection() {\n this.deactivateAllWithDispatch();\n this.renderAll();\n this.renderAll();\n }\n\n private get currentlyEditingText(): boolean {\n return this.objects.some(object => object.editing);\n }\n\n public clone(object: BaseObject): BaseObject | null {\n let newObject;\n switch (object.type) {\n case \"image\":\n newObject = new StaticImage(this, {\n ...object.toJSON()\n } as BrutObjectJSON);\n newObject.init();\n return newObject;\n case \"imageframe\":\n newObject = new ImageFrame(this, {\n ...object.toJSON()\n } as BrutObjectJSON);\n newObject.init();\n return newObject;\n case \"logoframe\":\n newObject = new LogoFrame(this, {\n ...object.toJSON()\n } as BrutObjectJSON);\n newObject.init();\n return newObject;\n case \"papierbox\":\n newObject = new TextBox(this, { ...object.toJSON() } as BrutObjectJSON);\n newObject.init();\n return newObject;\n default:\n return null;\n }\n }\n\n public async add(object: BrutObjectJSON): Promise {\n let newObject;\n switch (object.type) {\n case \"image\":\n newObject = new StaticImage(this, object);\n break;\n case \"foilimage\":\n newObject = new FoilImage(this, object);\n break;\n case \"imageframe\":\n newObject = new ImageFrame(this, object);\n break;\n case \"qrcode\":\n newObject = new QrCode(this, object);\n break;\n case \"logoframe\":\n newObject = new LogoFrame(this, object);\n break;\n case \"sticker\":\n newObject = new Sticker(this, object);\n break;\n case \"papierbox\":\n newObject = new TextBox(this, object);\n break;\n case \"perspectiveImage\":\n newObject = new PerspectiveImage(this, object);\n break;\n default:\n break;\n }\n if (newObject) {\n newObject.init();\n this.objects.push(newObject);\n return await newObject.load();\n }\n }\n\n public addQrCode({\n url,\n foregroundColour = \"#000000ff\",\n boundingBox = new BoundingBox(70, 70, 100, 100)\n }: {\n url: string;\n foregroundColour?: string;\n boundingBox?: BoundingBox;\n }) {\n const { left, top, width, height } = boundingBox;\n const qrCode = new QrCode(this, {\n type: \"qrcode\",\n left,\n top,\n width,\n height,\n angle: 0,\n name: \"qrcode\"\n });\n qrCode.init();\n qrCode.url = url;\n qrCode.foregroundColour = foregroundColour;\n this.add(qrCode);\n this.renderAll();\n }\n\n public selectQrCode() {\n const [qrCode] = this.qrCodes();\n\n if (qrCode) qrCode.select();\n }\n\n public insertAt(newObject: BaseObject, index: number): Promise {\n this.objects.splice(index, 0, newObject);\n return newObject.load();\n }\n\n public moveObjectTo(object: BaseObject, index: number): void {\n this.insertAt(this.extractObject(object), index);\n this.renderAll();\n }\n\n public bringToFront(object: BaseObject): void {\n this.objects.push(this.extractObject(object));\n this.renderAll();\n }\n\n public sendToBack(object: BaseObject): void {\n this.objects.unshift(this.extractObject(object));\n this.renderAll();\n }\n\n private extractObject(object: BaseObject): BaseObject {\n const index = this.objects.findIndex(obj => obj.uuid === object.uuid);\n const [extractedObject] = this.objects.splice(index, 1);\n return extractedObject;\n }\n\n public get center(): Point {\n return new Point(this.width / 2, this.height / 2);\n }\n\n public setSnappingEnabled(flag: boolean): void {\n this.snappingEnabled = flag;\n }\n\n public unFreezeInteractions() {\n this.freezeInteractionsFlag = false;\n }\n\n public freezeInteractions() {\n this.freezeInteractionsFlag = true;\n }\n\n public lockTextboxes(): void {\n this.textObjects().forEach(obj => {\n if (this.shouldApplyLockedMode(obj)) {\n obj.lockedMode = true;\n }\n });\n this.renderAll();\n }\n\n private shouldApplyLockedMode(object: TextBox): boolean {\n if (this.amendingAsCs) return false;\n\n if (this.mergeFlow) {\n return object.predefinedStrings && object.predefinedStrings.length > 0;\n }\n\n return (\n object.predefinedStrings &&\n object.predefinedStrings.filter(string => !string.mergeOnly).length > 0\n );\n }\n\n public get objectsBeingMoved(): boolean {\n return this.objects.some(obj => obj.mover.moving);\n }\n\n public fonts(): string[] {\n return uniq(this.objects.map(object => object.fonts()).flat());\n }\n\n public hideStickers(): void {\n this.objects.forEach(obj => {\n if (obj.type === \"sticker\") {\n obj.hide();\n }\n });\n }\n\n public showStickers(): void {\n this.objects.forEach(obj => {\n if (obj.type === \"sticker\") {\n obj.show();\n }\n });\n }\n\n public text() {\n return this.textObjects()\n .map(obj => obj.text)\n .join(\"\");\n }\n\n public renderPredefinedStrings(flag: boolean): void {\n this.textObjects().forEach(obj => {\n obj.showPredefinedStringsMode = flag;\n });\n this.renderAll();\n }\n\n public updatePredefinedString(string: PredefinedString, style = {}): void {\n this.fireEvent(\"loading\");\n this.selectedTextbox?.setPredefinedString(string.key, string.text, style);\n this.loadFonts(() => {\n this.fireEvent(\"loading-finished\");\n this.renderAll();\n });\n }\n\n public async updateElephantString(string: PredefinedString, text: string) {\n const oldText = `${string.text}`;\n\n // update to the new text and check if it means that the textbox is now overflowing\n const textboxIsOverflowing = await this.updateElephantAndCheckOverflowing(\n string,\n text\n );\n\n // if it is overflowing, revert to the old Text and return the old text\n if (textboxIsOverflowing) {\n await this.updateElephantAndCheckOverflowing(string, oldText);\n return oldText;\n }\n\n // If the function is still executing, the new text is fine. So return it\n return text;\n }\n\n private updateElephantAndCheckOverflowing(\n string: PredefinedString,\n text: string\n ) {\n return new Promise(resolve => {\n this.fireEvent(\"loading\");\n this.selectedTextbox?.setPredefinedString(string.key, text, {});\n this.loadFonts(() => {\n this.fireEvent(\"loading-finished\");\n this.renderAll();\n resolve(this.selectedTextbox?.overflowing);\n });\n });\n }\n\n public resetPredefinedStrings(strings: { [key: string]: string } = {}) {\n this.textObjects().forEach(obj => {\n this.setActiveObject(obj);\n Object.keys(strings).forEach(key => {\n obj.setPredefinedString(key, strings[key], {});\n obj.fitPredefinedString(key);\n this.renderAll();\n });\n });\n }\n\n public snapBlankPredefinedStringSvg() {\n const strings = [] as PredefinedString[];\n this.textObjects().forEach(obj => {\n obj.predefinedStrings.forEach(string => {\n strings.push(string);\n obj.setPredefinedString(string.key, \"\", {});\n this.renderAll();\n });\n });\n const returnSvg = this.svgRepresentation();\n this.textObjects().forEach(obj => {\n strings.forEach(string => {\n const style: Partial = string.style.toJSON();\n obj.setPredefinedString(string.key, string.text, style);\n obj.fitPredefinedString(string.key);\n this.renderAll();\n });\n });\n return returnSvg;\n }\n\n public async offscreenImageRepresentation(\n backgroundColour?: string,\n forcePng = false\n ): Promise {\n this.renderPredefinedStrings(false);\n if (!this.offscreen) this.clearSelection();\n const quality = this.compressImage ? 0.5 : 0.92; // 0.92 is the default for toDataURL quality\n const format = this.isRounded || forcePng ? \"image/png\" : \"image/jpeg\";\n const image = await this.toOffscreenDataUrl(\n format,\n quality,\n backgroundColour\n );\n if (this.admin) {\n this.renderPredefinedStrings(true);\n }\n return image;\n }\n\n // The five main outputs which we need for the rest of the\n // website. These are the preview image (a JPEG), the JSON\n // (to load other fabric objects from), SVG (for text PDF),\n // the skodix SVG (for foiling PDF)\n // and an array of image objects (for image PDF)\n\n public imageRepresentation(backgroundColour = undefined, forcePng = false) {\n this.renderPredefinedStrings(false);\n if (!this.offscreen) this.clearSelection();\n const quality = this.compressImage ? 0.5 : 0.92; // 0.92 is the default for toDataURL quality\n const format = this.isRounded || forcePng ? \"image/png\" : \"image/jpeg\";\n const image = this.toDataURL(format, quality, backgroundColour);\n if (this.admin) {\n this.renderPredefinedStrings(true);\n }\n return image;\n }\n\n public jsonRepresentation() {\n return JSON.stringify(this.toJSON());\n }\n\n public svgRepresentation() {\n return this.getObjects()\n .map(obj => obj.toSVG())\n .join(\" \");\n }\n\n public skodixSvgRepresentation() {\n return this.getObjects()\n .map(obj => obj.toSkodixSVG())\n .join(\" \");\n }\n\n public imageArrayRepresentation() {\n return this.getObjects()\n .filter(this.isImageFrame)\n .filter(image => !image.stockImage)\n .map(image => ({\n url: image.imageUrl,\n left: image.left,\n top: image.top,\n width: image.width,\n height: image.height,\n originTop: image.imageOptions.top,\n originLeft: image.imageOptions.left,\n renderedWidth: image.imageOptions.renderedWidth,\n renderedHeight: image.imageOptions.renderedHeight,\n angle: image.angle\n }));\n }\n}\n\n// eslint-disable-next-line\n(window as any).Brut = Brut;\n\nexport { Brut };\n"],"names":["array","l","a","b","m","c","k","t","u","z","A","B","C","D","E","F","G","J","K","L","r","n","H","M","e","N","v","f","g","h","w","x","y","d","I","p","q","module","left","top","point","origin","degrees","radians","baseWidth","baseHeight","angle","scaleX","scaleY","object","adjustmentCheck","adjustment","groupDragger","rotatedPoint","boxes","box","width","height","oldBaseWidth","oldBaseHeight","oldLeft","oldTop","oldAngle","oldHeight","rads","newAngle","extraCos","extraSin","oldWidth","extraTop","extraLeft","properties","property","value","dim","Corner","Corner2","boundingBox","borderRadius","context","corner","corners","difference","newDifference","originalPoint","originalCornerPoint","bottom","right","skipSnap","_point","snapType","pointFromOrigin","angleInRadians","_BaseObject","canvas","json","uuidv4","_context","longPressMode","_scale","callback","handle","flag","_difference","_corner","src","options","resolve","reject","image","erroredImageEvent","coordinates","croppedNaturalWidth","dieCut","inputWidth","inputHeight","naturalImageRatio","coordinatesWidth","coordinatesHeight","coordinatesX","coordinatesY","outputImage","ctx","topLeft","topRight","bottomLeft","bottomRight","outputImageURL","finalImage","dieCutImage","finalDieCutOutput","finalDieCutContext","finalDieCutUrl","finalDieCutImage","dieCutImageSrc","url","stock","recenter","scale","prevScale","renderingLongPress","_a","diff","initialTop","initialLeft","hasBounced","interval","data","imageUrl","longPressSwapImageOptions","stockImage","filestackImage","userRotation","target","ratio","targetData","sourceData","newScale","radius","rotation","cornerRadius","canvasClientWidth","size","_b","imgWidth","imgHeight","imgAspect","drawWidth","drawHeight","offsetX","offsetY","direction","rerender","_arg","TextAlign","TextAlign2","_TextBoxStyleDefaults","style","_TextBoxCharacter","char","newPoint","textBox","characters","topOffset","string","newLines","charsForWrap","character","newCharacter","line","spaces","lastSpaceIndex","total","lastChar","index","self","ln","ch","chars","colour","hideColour","_PredefinedString","key","start","end","originalSizeStyles","text","global","mergeOnly","multiline","maxLength","useRegexAZ","forElephantPrinter","fontSize","lineHeight","textAlign","colourIndex","boundaryChangeAmount","shouldFit","breakCounter","elephantPrinter","fontFamily","textColour","textAlignment","fontStyle","letterSpacing","textBoxBoundingBox","lockedMode","minY","maxY","minX","maxX","selection","shiftKey","altKey","metaKey","forwards","newValue","maxSelectionPoint","charactersToApplyStyles","newSelection","lastVisibleCharacter","newCursor","newReg","newStart","newEnd","boundary","lowestIndex","highestIndex","event","copiedCharacters","_e","currentLine","previousLine","newChar","nextLine","supportsPreventScrollOption","focusElem","calcScrollableElements","element","parent","scrollableElements","rootScrollingElement","restoreScrollPosition","i","patchedFocus","args","evScrollableElements","thisElem","brutData","type","adjustedPoint","position","amount","printAsFullText","forGiftcard","baseDimension","_Giftcard","mainBox","codeBox","lowerBox","float","helperNum","_TextBox","styles","offset","minimum","largeCharacters","previousSelectionLength","replacementStyle","replacementChars","preWrappedLines","predefinedString","nameInjectionString","heightToAdjust","newString","toSJISFunction","CODEWORDS_COUNT","utils","version","digit","kanji","exports","fromString","level","defaultValue","BitBuffer","bufIndex","num","length","bit","BitMatrix","row","col","reserved","getSymbolSize","require$$0","posCount","intervals","positions","coords","pos","posLength","j","FINDER_PATTERN_SIZE","PenaltyScores","mask","points","sameCountCol","sameCountRow","lastCol","lastRow","last","bitsCol","bitsRow","darkCount","modulesCount","getMaskAt","maskPattern","pattern","setupFormatFunc","numPatterns","bestPattern","lowerPenalty","penalty","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","errorCorrectionLevel","EXP_TABLE","LOG_TABLE","GF","p1","p2","coeff","divident","divisor","result","degree","poly","Polynomial","ReedSolomonEncoder","paddedData","remainder","buff","numeric","alphanumeric","byte","TEST_KANJI","TEST_NUMERIC","TEST_ALPHANUMERIC","str","VersionCheck","Regex","require$$1","mode","dataStr","Utils","ECCode","require$$2","Mode","require$$3","require$$4","G18","G18_BCH","getBestVersionForDataLength","currentVersion","getReservedBitsCount","getTotalBitsFromDataArray","segments","totalBits","reservedBits","getBestVersionForMixedData","totalCodewords","ecTotalCodewords","dataTotalCodewordsBits","usableBits","seg","ecl","G15","G15_MASK","G15_BCH","NumericData","bitBuffer","group","remainingNum","ALPHA_NUM_CHARS","AlphanumericData","input","second","encodeUtf8","ByteData","KanjiData","dijkstra","graph","s","predecessors","costs","open","closest","cost_of_s_to_u","adjacent_nodes","cost_of_e","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","first_visit","msg","nodes","opts","T","cost","item","require$$5","require$$6","require$$7","getStringByteLength","getSegments","regex","getSegmentsFromString","numSegs","alphaNumSegs","byteSegs","kanjiSegs","s1","s2","obj","getSegmentBitsLength","mergeSegments","segs","acc","curr","prevSeg","buildNodes","buildGraph","table","prevNodeIds","nodeGroup","currentNodeIds","node","prevNodeId","buildSingleSegment","modesHint","bestMode","path","optimizedSegs","AlignmentPattern","FinderPattern","MaskPattern","require$$8","Version","require$$9","FormatInfo","require$$10","require$$11","Segments","require$$12","setupFinderPattern","matrix","setupTimingPattern","setupAlignmentPattern","setupVersionInfo","bits","mod","setupFormatInfo","setupData","inc","bitIndex","byteIndex","dark","createData","buffer","remainingByte","createCodewords","dataTotalCodewords","ecTotalBlocks","blocksInGroup2","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","ecData","maxDataSize","dataSize","createSymbol","estimatedVersion","rawSegments","bestVersion","dataBits","moduleCount","modules","hex2rgba","hex","hexCode","hexValue","margin","qrSize","imgData","qr","symbolSize","scaledMargin","palette","posDst","pxColor","iSrc","jSrc","clearCanvas","getCanvasElement","qrData","canvasEl","rendererOpts","getColorAttrib","color","attrib","alpha","svgCmd","cmd","qrToPath","moveBy","newRow","lineLength","cb","qrcodesize","bg","viewBox","svgTag","canPromise","QRCode","CanvasRenderer","SvgRenderer","renderCanvas","renderFunc","argsNum","isLastArgCb","_","perspectiveImage","p0","t0","t1","t2","denom","m11","m12","m21","m22","dx","dy","comparisonPoint","xs","ys","croppedImage","naturalWidth","imageToUse","subs","divs","p3","p4","dx1","dy1","dx2","dy2","imgW","imgH","sub","curRow","nextRow","curRowX1","curRowY1","curRowX2","curRowY2","nextRowX1","nextRowY1","nextRowX2","nextRowY2","div","curCol","nextCol","dCurX","dCurY","dNextX","dNextY","p1x","p1y","p2x","p2y","p3x","p3y","p4x","p4y","u1","u2","v1","v2","triangle1","triangle2","triangle","tl","tr","br","bl","_Sticker","canvasJSON","undoState","_History","pinchDistance","touches","touch","edge","minOperator","initialObjects","selectObjects","objects","useMin","edges","selectedHandle","_FoilImage","_FoilTextBox","_FoilHexDefaults","brut","o","O","S","P","R","$","U","V","W","vt","Z","Y","Q","wt","X","tt","et","nt","it","rt","ot","at","st","ct","pt","jt","Ot","xt","ut","_t","lt","ft","Ct","bt","St","kt","ht","gt","Tt","mt","dt","Et","yt","Se","Ee","Ce","Ft","It","zt","Nt","Mt","Rt","$t","qt","Ut","Dt","Lt","Bt","Vt","Ht","Wt","Zt","Jt","Yt","Qt","Oe","we","ve","At","Pt","Gt","Kt","Xt","te","ee","ne","ie","re","oe","ae","se","ce","pe","ue","le","fe","de","me","he","ye","ge","be","xe","ke","je","exifTimestamp","formattedTimestamp","date","time","year","month","day","hours","minutes","seconds","img","timestamp","exifr.parse","mimetype","takenAt","processedImage","colourFilters","filestack.init","exifData","transformation","directions","nx","ny","surroundingPixels","opaqueCount","transparentCount","neighborIndex","_Brut","border","originalJson","onLoad","activeObject","keepFocus","cursor","error","foiling","addLeather","jsonString","observers","font","intensity","handledIntensity","captureHistory","longPressedImageFrame","handledImageData","overlay","name","detail","objectPassed","objCopy","textbox","imageframe","clone","clipboard","clipboardItem","promises","rollback","background","foilImage","eventName","format","quality","backgroundColour","bgObject","cropWidth","cropHeight","blob","reader","base64","croppedCanvas","giftcard","allowDragMove","gradient","rect","newObject","foregroundColour","qrCode","extractedObject","oldText","strings","returnSvg","forcePng"],"mappings":"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","x_google_ignoreList":[0,1,29,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,86,87]}