{"version":3,"file":"canvas-sketch.esm.mjs","sources":["../node_modules/.deno/right-now@1.0.0/node_modules/right-now/browser.js","../node_modules/.deno/is-promise@2.2.2/node_modules/is-promise/index.js","../node_modules/.deno/is-object@1.0.2/node_modules/is-object/index.js","../node_modules/.deno/is-window@1.0.2/node_modules/is-window/index.js","../node_modules/.deno/is-dom@1.1.0/node_modules/is-dom/index.js","../lib/util.js","../node_modules/.deno/object-keys@1.1.1/node_modules/object-keys/isArguments.js","../node_modules/.deno/object-keys@1.1.1/node_modules/object-keys/implementation.js","../node_modules/.deno/object-keys@1.1.1/node_modules/object-keys/index.js","../node_modules/.deno/has-symbols@1.1.0/node_modules/has-symbols/shams.js","../node_modules/.deno/has-tostringtag@1.0.2/node_modules/has-tostringtag/shams.js","../node_modules/.deno/es-object-atoms@1.1.2/node_modules/es-object-atoms/index.js","../node_modules/.deno/es-errors@1.3.0/node_modules/es-errors/index.js","../node_modules/.deno/es-errors@1.3.0/node_modules/es-errors/eval.js","../node_modules/.deno/es-errors@1.3.0/node_modules/es-errors/range.js","../node_modules/.deno/es-errors@1.3.0/node_modules/es-errors/ref.js","../node_modules/.deno/es-errors@1.3.0/node_modules/es-errors/syntax.js","../node_modules/.deno/es-errors@1.3.0/node_modules/es-errors/type.js","../node_modules/.deno/es-errors@1.3.0/node_modules/es-errors/uri.js","../node_modules/.deno/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js","../node_modules/.deno/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js","../node_modules/.deno/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js","../node_modules/.deno/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js","../node_modules/.deno/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js","../node_modules/.deno/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js","../node_modules/.deno/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js","../node_modules/.deno/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js","../node_modules/.deno/gopd@1.2.0/node_modules/gopd/gOPD.js","../node_modules/.deno/gopd@1.2.0/node_modules/gopd/index.js","../node_modules/.deno/es-define-property@1.0.1/node_modules/es-define-property/index.js","../node_modules/.deno/has-symbols@1.1.0/node_modules/has-symbols/index.js","../node_modules/.deno/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js","../node_modules/.deno/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js","../node_modules/.deno/function-bind@1.1.2/node_modules/function-bind/implementation.js","../node_modules/.deno/function-bind@1.1.2/node_modules/function-bind/index.js","../node_modules/.deno/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js","../node_modules/.deno/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js","../node_modules/.deno/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js","../node_modules/.deno/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js","../node_modules/.deno/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js","../node_modules/.deno/dunder-proto@1.0.1/node_modules/dunder-proto/get.js","../node_modules/.deno/get-proto@1.0.1/node_modules/get-proto/index.js","../node_modules/.deno/hasown@2.0.3/node_modules/hasown/index.js","../node_modules/.deno/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js","../node_modules/.deno/call-bound@1.0.4/node_modules/call-bound/index.js","../node_modules/.deno/is-arguments@1.2.0/node_modules/is-arguments/index.js","../node_modules/.deno/define-data-property@1.1.4/node_modules/define-data-property/index.js","../node_modules/.deno/has-property-descriptors@1.0.2/node_modules/has-property-descriptors/index.js","../node_modules/.deno/define-properties@1.2.1/node_modules/define-properties/index.js","../node_modules/.deno/set-function-length@1.2.2/node_modules/set-function-length/index.js","../node_modules/.deno/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/applyBind.js","../node_modules/.deno/call-bind@1.0.9/node_modules/call-bind/index.js","../node_modules/.deno/object-is@1.1.6/node_modules/object-is/implementation.js","../node_modules/.deno/object-is@1.1.6/node_modules/object-is/polyfill.js","../node_modules/.deno/object-is@1.1.6/node_modules/object-is/shim.js","../node_modules/.deno/object-is@1.1.6/node_modules/object-is/index.js","../node_modules/.deno/is-regex@1.2.1/node_modules/is-regex/index.js","../node_modules/.deno/functions-have-names@1.2.3/node_modules/functions-have-names/index.js","../node_modules/.deno/set-function-name@2.0.2/node_modules/set-function-name/index.js","../node_modules/.deno/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/implementation.js","../node_modules/.deno/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/polyfill.js","../node_modules/.deno/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/shim.js","../node_modules/.deno/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/index.js","../node_modules/.deno/is-date-object@1.1.0/node_modules/is-date-object/index.js","../node_modules/.deno/deep-equal@1.1.2/node_modules/deep-equal/index.js","../node_modules/.deno/dateformat@3.0.3/node_modules/dateformat/lib/dateformat.js","../lib/save.js","../lib/accessibility.js","../lib/core/keyboardShortcuts.js","../lib/paper-sizes.js","../node_modules/.deno/defined@1.0.1/node_modules/defined/index.js","../node_modules/.deno/convert-length@1.0.1/node_modules/convert-length/convert-length.js","../lib/distances.js","../lib/core/resizeCanvas.js","../node_modules/.deno/get-canvas-context@1.0.2/node_modules/get-canvas-context/index.js","../lib/core/createCanvas.js","../lib/core/SketchManager.js","../lib/canvas-sketch.js"],"sourcesContent":["module.exports =\n  global.performance &&\n  global.performance.now ? function now() {\n    return performance.now()\n  } : Date.now || function now() {\n    return +new Date\n  }\n","module.exports = isPromise;\nmodule.exports.default = isPromise;\n\nfunction isPromise(obj) {\n  return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';\n}\n","'use strict';\n\nmodule.exports = function isObject(x) {\n\treturn typeof x === 'object' && x !== null;\n};\n","'use strict';\n\nmodule.exports = function (obj) {\n\n  if (obj == null) {\n    return false;\n  }\n\n  var o = Object(obj);\n\n  return o === o.window;\n};\n","var isObject = require('is-object')\nvar isWindow = require('is-window')\n\nfunction isNode (val) {\n  if (!isObject(val) || !isWindow(window) || typeof window.Node !== 'function') {\n    return false\n  }\n\n  return typeof val.nodeType === 'number' &&\n    typeof val.nodeName === 'string'\n}\n\nmodule.exports = isNode\n","// TODO: We can remove a huge chunk of bundle size by using a smaller\n// utility module for converting units.\nimport isDOM from \"is-dom\";\n\nexport function getClientAPI() {\n  return typeof window !== \"undefined\" && window[\"canvas-sketch-cli\"];\n}\n\nexport function defined() {\n  for (let i = 0; i < arguments.length; i++) {\n    if (arguments[i] != null) {\n      return arguments[i];\n    }\n  }\n  return undefined;\n}\n\nexport function isBrowser() {\n  return typeof document !== \"undefined\";\n}\n\nexport function isWebGLContext(ctx) {\n  return (\n    ctx &&\n    typeof ctx.clear === \"function\" &&\n    typeof ctx.clearColor === \"function\" &&\n    typeof ctx.bufferData === \"function\"\n  );\n}\n\nexport function is2DContext(ctx) {\n  return (\n    ctx &&\n    typeof ctx.save === \"function\" &&\n    typeof ctx.scale === \"function\" &&\n    typeof ctx.restore === \"function\"\n  );\n}\n\nexport function isCanvas(element) {\n  return (\n    isDOM(element) &&\n    /canvas/i.test(element.nodeName) &&\n    typeof element.getContext === \"function\"\n  );\n}\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n    var arr = [];\n\n    for (var i = 0; i < a.length; i += 1) {\n        arr[i] = a[i];\n    }\n    for (var j = 0; j < b.length; j += 1) {\n        arr[j + a.length] = b[j];\n    }\n\n    return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n    var arr = [];\n    for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n        arr[j] = arrLike[i];\n    }\n    return arr;\n};\n\nvar joiny = function (arr, joiner) {\n    var str = '';\n    for (var i = 0; i < arr.length; i += 1) {\n        str += arr[i];\n        if (i + 1 < arr.length) {\n            str += joiner;\n        }\n    }\n    return str;\n};\n\nmodule.exports = function bind(that) {\n    var target = this;\n    if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n        throw new TypeError(ERROR_MESSAGE + target);\n    }\n    var args = slicy(arguments, 1);\n\n    var bound;\n    var binder = function () {\n        if (this instanceof bound) {\n            var result = target.apply(\n                this,\n                concatty(args, arguments)\n            );\n            if (Object(result) === result) {\n                return result;\n            }\n            return this;\n        }\n        return target.apply(\n            that,\n            concatty(args, arguments)\n        );\n\n    };\n\n    var boundLength = max(0, target.length - args.length);\n    var boundArgs = [];\n    for (var i = 0; i < boundLength; i++) {\n        boundArgs[i] = '$' + i;\n    }\n\n    bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n    if (target.prototype) {\n        var Empty = function Empty() {};\n        Empty.prototype = target.prototype;\n        bound.prototype = new Empty();\n        Empty.prototype = null;\n    }\n\n    return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBindBasic = require('call-bind-apply-helpers');\n\n/** @type {(thisArg: string, searchString: string, position?: number) => number} */\nvar $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]);\n\n/** @type {import('.')} */\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\t/* eslint no-extra-parens: 0 */\n\n\tvar intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing));\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBindBasic(/** @type {const} */ ([intrinsic]));\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bound');\n\nvar $toString = callBound('Object.prototype.toString');\n\n/** @type {import('.')} */\nvar isStandardArguments = function isArguments(value) {\n\tif (\n\t\thasToStringTag\n\t\t&& value\n\t\t&& typeof value === 'object'\n\t\t&& Symbol.toStringTag in value\n\t) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\n/** @type {import('.')} */\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null\n\t\t&& typeof value === 'object'\n\t\t&& 'length' in value\n\t\t&& typeof value.length === 'number'\n\t\t&& value.length >= 0\n\t\t&& $toString(value) !== '[object Array]'\n\t\t&& 'callee' in value\n\t\t&& $toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\n// @ts-expect-error TODO make this not error\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\n/** @type {import('.')} */\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor<unknown>} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar defineDataProperty = require('define-data-property');\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar supportsDescriptors = require('has-property-descriptors')();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (supportsDescriptors) {\n\t\tdefineDataProperty(object, name, value, true);\n\t} else {\n\t\tdefineDataProperty(object, name, value);\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar $apply = require('./functionApply');\nvar actualApply = require('./actualApply');\n\n/** @type {import('./applyBind')} */\nmodule.exports = function applyBind() {\n\treturn actualApply(bind, $apply, arguments);\n};\n","'use strict';\n\nvar setFunctionLength = require('set-function-length');\n\nvar $defineProperty = require('es-define-property');\n\nvar callBindBasic = require('call-bind-apply-helpers');\nvar applyBind = require('call-bind-apply-helpers/applyBind');\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = callBindBasic(arguments);\n\tvar adjustedLength = 1 + originalFunction.length - (arguments.length - 1);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\tadjustedLength > 0 ? adjustedLength : 0,\n\t\ttrue\n\t);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar numberIsNaN = function (value) {\n\treturn value !== value;\n};\n\nmodule.exports = function is(a, b) {\n\tif (a === 0 && b === 0) {\n\t\treturn 1 / a === 1 / b;\n\t}\n\tif (a === b) {\n\t\treturn true;\n\t}\n\tif (numberIsNaN(a) && numberIsNaN(b)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.is === 'function' ? Object.is : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimObjectIs() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { is: polyfill }, {\n\t\tis: function testObjectIs() {\n\t\t\treturn Object.is !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar callBound = require('call-bound');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\nvar gOPD = require('gopd');\n\n/** @type {import('.')} */\nvar fn;\n\nif (hasToStringTag) {\n\t/** @type {(receiver: ThisParameterType<typeof RegExp.prototype.exec>, ...args: Parameters<typeof RegExp.prototype.exec>) => ReturnType<typeof RegExp.prototype.exec>} */\n\tvar $exec = callBound('RegExp.prototype.exec');\n\t/** @type {object} */\n\tvar isRegexMarker = {};\n\n\tvar throwRegexMarker = function () {\n\t\tthrow isRegexMarker;\n\t};\n\t/** @type {{ toString(): never, valueOf(): never, [Symbol.toPrimitive]?(): never }} */\n\tvar badStringifier = {\n\t\ttoString: throwRegexMarker,\n\t\tvalueOf: throwRegexMarker\n\t};\n\n\tif (typeof Symbol.toPrimitive === 'symbol') {\n\t\tbadStringifier[Symbol.toPrimitive] = throwRegexMarker;\n\t}\n\n\t/** @type {import('.')} */\n\t// @ts-expect-error TS can't figure out that the $exec call always throws\n\t// eslint-disable-next-line consistent-return\n\tfn = function isRegex(value) {\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {NonNullable<typeof gOPD>} */ (gOPD)(/** @type {{ lastIndex?: unknown }} */ (value), 'lastIndex');\n\t\tvar hasLastIndexDataProperty = descriptor && hasOwn(descriptor, 'value');\n\t\tif (!hasLastIndexDataProperty) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t$exec(value, /** @type {string} */ (/** @type {unknown} */ (badStringifier)));\n\t\t} catch (e) {\n\t\t\treturn e === isRegexMarker;\n\t\t}\n\t};\n} else {\n\t/** @type {(receiver: ThisParameterType<typeof Object.prototype.toString>, ...args: Parameters<typeof Object.prototype.toString>) => ReturnType<typeof Object.prototype.toString>} */\n\tvar $toString = callBound('Object.prototype.toString');\n\t/** @const @type {'[object RegExp]'} */\n\tvar regexClass = '[object RegExp]';\n\n\t/** @type {import('.')} */\n\tfn = function isRegex(value) {\n\t\t// In older browsers, typeof regex incorrectly returns 'function'\n\t\tif (!value || (typeof value !== 'object' && typeof value !== 'function')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn $toString(value) === regexClass;\n\t};\n}\n\nmodule.exports = fn;\n","'use strict';\n\nvar functionsHaveNames = function functionsHaveNames() {\n\treturn typeof function f() {}.name === 'string';\n};\n\nvar gOPD = Object.getOwnPropertyDescriptor;\nif (gOPD) {\n\ttry {\n\t\tgOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\tgOPD = null;\n\t}\n}\n\nfunctionsHaveNames.functionsHaveConfigurableNames = function functionsHaveConfigurableNames() {\n\tif (!functionsHaveNames() || !gOPD) {\n\t\treturn false;\n\t}\n\tvar desc = gOPD(function () {}, 'name');\n\treturn !!desc && !!desc.configurable;\n};\n\nvar $bind = Function.prototype.bind;\n\nfunctionsHaveNames.boundFunctionsHaveNames = function boundFunctionsHaveNames() {\n\treturn functionsHaveNames() && typeof $bind === 'function' && function f() {}.bind().name !== '';\n};\n\nmodule.exports = functionsHaveNames;\n","'use strict';\n\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar functionsHaveConfigurableNames = require('functions-have-names').functionsHaveConfigurableNames();\n\nvar $TypeError = require('es-errors/type');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionName(fn, name) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\tif (!loose || functionsHaveConfigurableNames) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'name', name, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'name', name);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar setFunctionName = require('set-function-name');\nvar $TypeError = require('es-errors/type');\n\nvar $Object = Object;\n\nmodule.exports = setFunctionName(function flags() {\n\tif (this == null || this !== $Object(this)) {\n\t\tthrow new $TypeError('RegExp.prototype.flags getter called on non-object');\n\t}\n\tvar result = '';\n\tif (this.hasIndices) {\n\t\tresult += 'd';\n\t}\n\tif (this.global) {\n\t\tresult += 'g';\n\t}\n\tif (this.ignoreCase) {\n\t\tresult += 'i';\n\t}\n\tif (this.multiline) {\n\t\tresult += 'm';\n\t}\n\tif (this.dotAll) {\n\t\tresult += 's';\n\t}\n\tif (this.unicode) {\n\t\tresult += 'u';\n\t}\n\tif (this.unicodeSets) {\n\t\tresult += 'v';\n\t}\n\tif (this.sticky) {\n\t\tresult += 'y';\n\t}\n\treturn result;\n}, 'get flags', true);\n\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar supportsDescriptors = require('define-properties').supportsDescriptors;\nvar $gOPD = Object.getOwnPropertyDescriptor;\n\nmodule.exports = function getPolyfill() {\n\tif (supportsDescriptors && (/a/mig).flags === 'gim') {\n\t\tvar descriptor = $gOPD(RegExp.prototype, 'flags');\n\t\tif (\n\t\t\tdescriptor\n\t\t\t&& typeof descriptor.get === 'function'\n\t\t\t&& 'dotAll' in RegExp.prototype\n\t\t\t&& 'hasIndices' in RegExp.prototype\n\t\t) {\n\t\t\t/* eslint getter-return: 0 */\n\t\t\tvar calls = '';\n\t\t\tvar o = {};\n\t\t\tObject.defineProperty(o, 'hasIndices', {\n\t\t\t\tget: function () {\n\t\t\t\t\tcalls += 'd';\n\t\t\t\t}\n\t\t\t});\n\t\t\tObject.defineProperty(o, 'sticky', {\n\t\t\t\tget: function () {\n\t\t\t\t\tcalls += 'y';\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tdescriptor.get.call(o);\n\n\t\t\tif (calls === 'dy') {\n\t\t\t\treturn descriptor.get;\n\t\t\t}\n\t\t}\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar supportsDescriptors = require('define-properties').supportsDescriptors;\nvar getPolyfill = require('./polyfill');\nvar gOPD = require('gopd');\nvar defineProperty = Object.defineProperty;\nvar $TypeError = require('es-errors');\nvar getProto = require('get-proto');\nvar regex = /a/;\n\nmodule.exports = function shimFlags() {\n\tif (!supportsDescriptors || !getProto) {\n\t\tthrow new $TypeError('RegExp.prototype.flags requires a true ES5 environment that supports property descriptors');\n\t}\n\tvar polyfill = getPolyfill();\n\tvar proto = getProto(regex);\n\tvar descriptor = gOPD(proto, 'flags');\n\tif (!descriptor || descriptor.get !== polyfill) {\n\t\tdefineProperty(proto, 'flags', {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tget: polyfill\n\t\t});\n\t}\n\treturn polyfill;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar flagsBound = callBind(getPolyfill());\n\ndefine(flagsBound, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = flagsBound;\n","'use strict';\n\nvar callBound = require('call-bound');\n\nvar getDay = callBound('Date.prototype.getDay');\n/** @type {import('.')} */\nvar tryDateObject = function tryDateGetDayCall(value) {\n\ttry {\n\t\tgetDay(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\n/** @type {(value: unknown) => string} */\nvar toStr = callBound('Object.prototype.toString');\nvar dateClass = '[object Date]';\nvar hasToStringTag = require('has-tostringtag/shams')();\n\n/** @type {import('.')} */\nmodule.exports = function isDateObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\treturn hasToStringTag ? tryDateObject(value) : toStr(value) === dateClass;\n};\n","var objectKeys = require('object-keys');\nvar isArguments = require('is-arguments');\nvar is = require('object-is');\nvar isRegex = require('is-regex');\nvar flags = require('regexp.prototype.flags');\nvar isDate = require('is-date-object');\n\nvar getTime = Date.prototype.getTime;\n\nfunction deepEqual(actual, expected, options) {\n  var opts = options || {};\n\n  // 7.1. All identical values are equivalent, as determined by ===.\n  if (opts.strict ? is(actual, expected) : actual === expected) {\n    return true;\n  }\n\n  // 7.3. Other pairs that do not both pass typeof value == 'object', equivalence is determined by ==.\n  if (!actual || !expected || (typeof actual !== 'object' && typeof expected !== 'object')) {\n    return opts.strict ? is(actual, expected) : actual == expected;\n  }\n\n  /*\n   * 7.4. For all other Object pairs, including Array objects, equivalence is\n   * determined by having the same number of owned properties (as verified\n   * with Object.prototype.hasOwnProperty.call), the same set of keys\n   * (although not necessarily the same order), equivalent values for every\n   * corresponding key, and an identical 'prototype' property. Note: this\n   * accounts for both named and indexed properties on Arrays.\n   */\n  // eslint-disable-next-line no-use-before-define\n  return objEquiv(actual, expected, opts);\n}\n\nfunction isUndefinedOrNull(value) {\n  return value === null || value === undefined;\n}\n\nfunction isBuffer(x) {\n  if (!x || typeof x !== 'object' || typeof x.length !== 'number') {\n    return false;\n  }\n  if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n    return false;\n  }\n  if (x.length > 0 && typeof x[0] !== 'number') {\n    return false;\n  }\n  return true;\n}\n\nfunction objEquiv(a, b, opts) {\n  /* eslint max-statements: [2, 50] */\n  var i, key;\n  if (typeof a !== typeof b) { return false; }\n  if (isUndefinedOrNull(a) || isUndefinedOrNull(b)) { return false; }\n\n  // an identical 'prototype' property.\n  if (a.prototype !== b.prototype) { return false; }\n\n  if (isArguments(a) !== isArguments(b)) { return false; }\n\n  var aIsRegex = isRegex(a);\n  var bIsRegex = isRegex(b);\n  if (aIsRegex !== bIsRegex) { return false; }\n  if (aIsRegex || bIsRegex) {\n    return a.source === b.source && flags(a) === flags(b);\n  }\n\n  if (isDate(a) && isDate(b)) {\n    return getTime.call(a) === getTime.call(b);\n  }\n\n  var aIsBuffer = isBuffer(a);\n  var bIsBuffer = isBuffer(b);\n  if (aIsBuffer !== bIsBuffer) { return false; }\n  if (aIsBuffer || bIsBuffer) { // && would work too, because both are true or both false here\n    if (a.length !== b.length) { return false; }\n    for (i = 0; i < a.length; i++) {\n      if (a[i] !== b[i]) { return false; }\n    }\n    return true;\n  }\n\n  if (typeof a !== typeof b) { return false; }\n\n  try {\n    var ka = objectKeys(a);\n    var kb = objectKeys(b);\n  } catch (e) { // happens when one is a string literal and the other isn't\n    return false;\n  }\n  // having the same number of owned properties (keys incorporates hasOwnProperty)\n  if (ka.length !== kb.length) { return false; }\n\n  // the same set of keys (although not necessarily the same order),\n  ka.sort();\n  kb.sort();\n  // ~~~cheap key test\n  for (i = ka.length - 1; i >= 0; i--) {\n    if (ka[i] != kb[i]) { return false; }\n  }\n  // equivalent values for every corresponding key, and ~~~possibly expensive deep test\n  for (i = ka.length - 1; i >= 0; i--) {\n    key = ka[i];\n    if (!deepEqual(a[key], b[key], opts)) { return false; }\n  }\n\n  return true;\n}\n\nmodule.exports = deepEqual;\n","/*\n * Date Format 1.2.3\n * (c) 2007-2009 Steven Levithan <stevenlevithan.com>\n * MIT license\n *\n * Includes enhancements by Scott Trenda <scott.trenda.net>\n * and Kris Kowal <cixar.com/~kris.kowal/>\n *\n * Accepts a date, a mask, or a date and a mask.\n * Returns a formatted version of the given date.\n * The date defaults to the current date/time.\n * The mask defaults to dateFormat.masks.default.\n */\n\n(function(global) {\n  'use strict';\n\n  var dateFormat = (function() {\n      var token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\\1?|[LloSZWN]|\"[^\"]*\"|'[^']*'/g;\n      var timezone = /\\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\\d{4})?)\\b/g;\n      var timezoneClip = /[^-+\\dA-Z]/g;\n  \n      // Regexes and supporting functions are cached through closure\n      return function (date, mask, utc, gmt) {\n  \n        // You can't provide utc if you skip other args (use the 'UTC:' mask prefix)\n        if (arguments.length === 1 && kindOf(date) === 'string' && !/\\d/.test(date)) {\n          mask = date;\n          date = undefined;\n        }\n  \n        date = date || new Date;\n  \n        if(!(date instanceof Date)) {\n          date = new Date(date);\n        }\n  \n        if (isNaN(date)) {\n          throw TypeError('Invalid date');\n        }\n  \n        mask = String(dateFormat.masks[mask] || mask || dateFormat.masks['default']);\n  \n        // Allow setting the utc/gmt argument via the mask\n        var maskSlice = mask.slice(0, 4);\n        if (maskSlice === 'UTC:' || maskSlice === 'GMT:') {\n          mask = mask.slice(4);\n          utc = true;\n          if (maskSlice === 'GMT:') {\n            gmt = true;\n          }\n        }\n  \n        var _ = utc ? 'getUTC' : 'get';\n        var d = date[_ + 'Date']();\n        var D = date[_ + 'Day']();\n        var m = date[_ + 'Month']();\n        var y = date[_ + 'FullYear']();\n        var H = date[_ + 'Hours']();\n        var M = date[_ + 'Minutes']();\n        var s = date[_ + 'Seconds']();\n        var L = date[_ + 'Milliseconds']();\n        var o = utc ? 0 : date.getTimezoneOffset();\n        var W = getWeek(date);\n        var N = getDayOfWeek(date);\n        var flags = {\n          d:    d,\n          dd:   pad(d),\n          ddd:  dateFormat.i18n.dayNames[D],\n          dddd: dateFormat.i18n.dayNames[D + 7],\n          m:    m + 1,\n          mm:   pad(m + 1),\n          mmm:  dateFormat.i18n.monthNames[m],\n          mmmm: dateFormat.i18n.monthNames[m + 12],\n          yy:   String(y).slice(2),\n          yyyy: y,\n          h:    H % 12 || 12,\n          hh:   pad(H % 12 || 12),\n          H:    H,\n          HH:   pad(H),\n          M:    M,\n          MM:   pad(M),\n          s:    s,\n          ss:   pad(s),\n          l:    pad(L, 3),\n          L:    pad(Math.round(L / 10)),\n          t:    H < 12 ? dateFormat.i18n.timeNames[0] : dateFormat.i18n.timeNames[1],\n          tt:   H < 12 ? dateFormat.i18n.timeNames[2] : dateFormat.i18n.timeNames[3],\n          T:    H < 12 ? dateFormat.i18n.timeNames[4] : dateFormat.i18n.timeNames[5],\n          TT:   H < 12 ? dateFormat.i18n.timeNames[6] : dateFormat.i18n.timeNames[7],\n          Z:    gmt ? 'GMT' : utc ? 'UTC' : (String(date).match(timezone) || ['']).pop().replace(timezoneClip, ''),\n          o:    (o > 0 ? '-' : '+') + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),\n          S:    ['th', 'st', 'nd', 'rd'][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10],\n          W:    W,\n          N:    N\n        };\n  \n        return mask.replace(token, function (match) {\n          if (match in flags) {\n            return flags[match];\n          }\n          return match.slice(1, match.length - 1);\n        });\n      };\n    })();\n\n  dateFormat.masks = {\n    'default':               'ddd mmm dd yyyy HH:MM:ss',\n    'shortDate':             'm/d/yy',\n    'mediumDate':            'mmm d, yyyy',\n    'longDate':              'mmmm d, yyyy',\n    'fullDate':              'dddd, mmmm d, yyyy',\n    'shortTime':             'h:MM TT',\n    'mediumTime':            'h:MM:ss TT',\n    'longTime':              'h:MM:ss TT Z',\n    'isoDate':               'yyyy-mm-dd',\n    'isoTime':               'HH:MM:ss',\n    'isoDateTime':           'yyyy-mm-dd\\'T\\'HH:MM:sso',\n    'isoUtcDateTime':        'UTC:yyyy-mm-dd\\'T\\'HH:MM:ss\\'Z\\'',\n    'expiresHeaderFormat':   'ddd, dd mmm yyyy HH:MM:ss Z'\n  };\n\n  // Internationalization strings\n  dateFormat.i18n = {\n    dayNames: [\n      'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat',\n      'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'\n    ],\n    monthNames: [\n      'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec',\n      'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'\n    ],\n    timeNames: [\n      'a', 'p', 'am', 'pm', 'A', 'P', 'AM', 'PM'\n    ]\n  };\n\nfunction pad(val, len) {\n  val = String(val);\n  len = len || 2;\n  while (val.length < len) {\n    val = '0' + val;\n  }\n  return val;\n}\n\n/**\n * Get the ISO 8601 week number\n * Based on comments from\n * http://techblog.procurios.nl/k/n618/news/view/33796/14863/Calculate-ISO-8601-week-and-year-in-javascript.html\n *\n * @param  {Object} `date`\n * @return {Number}\n */\nfunction getWeek(date) {\n  // Remove time components of date\n  var targetThursday = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n\n  // Change date to Thursday same week\n  targetThursday.setDate(targetThursday.getDate() - ((targetThursday.getDay() + 6) % 7) + 3);\n\n  // Take January 4th as it is always in week 1 (see ISO 8601)\n  var firstThursday = new Date(targetThursday.getFullYear(), 0, 4);\n\n  // Change date to Thursday same week\n  firstThursday.setDate(firstThursday.getDate() - ((firstThursday.getDay() + 6) % 7) + 3);\n\n  // Check if daylight-saving-time-switch occurred and correct for it\n  var ds = targetThursday.getTimezoneOffset() - firstThursday.getTimezoneOffset();\n  targetThursday.setHours(targetThursday.getHours() - ds);\n\n  // Number of weeks between target Thursday and first Thursday\n  var weekDiff = (targetThursday - firstThursday) / (86400000*7);\n  return 1 + Math.floor(weekDiff);\n}\n\n/**\n * Get ISO-8601 numeric representation of the day of the week\n * 1 (for Monday) through 7 (for Sunday)\n * \n * @param  {Object} `date`\n * @return {Number}\n */\nfunction getDayOfWeek(date) {\n  var dow = date.getDay();\n  if(dow === 0) {\n    dow = 7;\n  }\n  return dow;\n}\n\n/**\n * kind-of shortcut\n * @param  {*} val\n * @return {String}\n */\nfunction kindOf(val) {\n  if (val === null) {\n    return 'null';\n  }\n\n  if (val === undefined) {\n    return 'undefined';\n  }\n\n  if (typeof val !== 'object') {\n    return typeof val;\n  }\n\n  if (Array.isArray(val)) {\n    return 'array';\n  }\n\n  return {}.toString.call(val)\n    .slice(8, -1).toLowerCase();\n};\n\n\n\n  if (typeof define === 'function' && define.amd) {\n    define(function () {\n      return dateFormat;\n    });\n  } else if (typeof exports === 'object') {\n    module.exports = dateFormat;\n  } else {\n    global.dateFormat = dateFormat;\n  }\n})(this);\n","import dateformat from 'dateformat';\nimport { getClientAPI } from './util';\n\nconst noop = () => {};\nlet link;\nlet defaultExts = { extension: '', prefix: '', suffix: '' };\n\n// Alternative solution for saving files,\n// a bit slower and does not work in Safari\n// function fetchBlobFromDataURL (dataURL) {\n//   return window.fetch(dataURL).then(res => res.blob());\n// }\n\nconst supportedEncodings = [\n  'image/png',\n  'image/jpeg',\n  'image/webp'\n];\n\nfunction stream (isStart, opts = {}) {\n  return new Promise((resolve, reject) => {\n    opts = Object.assign({}, defaultExts, opts);\n    const filename = resolveFilename(Object.assign({}, opts, {\n      extension: '',\n      frame: undefined\n    }));\n    const func = isStart ? 'streamStart' : 'streamEnd';\n    const client = getClientAPI();\n    if (client && client.output && typeof client[func] === 'function') {\n      return client[func](Object.assign({}, opts, { filename }))\n        .then(ev => resolve(ev));\n    } else {\n      return resolve({ filename, client: false });\n    }\n  });\n}\n\nexport function streamStart (opts = {}) {\n  return stream(true, opts);\n}\n\nexport function streamEnd (opts = {}) {\n  return stream(false, opts);\n}\n\nexport function exportCanvas (canvas, opt = {}) {\n  const encoding = opt.encoding || 'image/png';\n  if (!supportedEncodings.includes(encoding)) throw new Error(`Invalid canvas encoding ${encoding}`);\n  let extension = (encoding.split('/')[1] || '').replace(/jpeg/i, 'jpg');\n  if (extension) extension = `.${extension}`.toLowerCase();\n  return {\n    extension,\n    type: encoding,\n    dataURL: canvas.toDataURL(encoding, opt.encodingQuality)\n  };\n}\n\nfunction createBlobFromDataURL (dataURL) {\n  return new Promise((resolve) => {\n    const splitIndex = dataURL.indexOf(',');\n    if (splitIndex === -1) {\n      resolve(new window.Blob());\n      return;\n    }\n    const base64 = dataURL.slice(splitIndex + 1);\n    const byteString = window.atob(base64);\n    const type = dataURL.slice(0, splitIndex);\n    const mimeMatch = /data:([^;]+)/.exec(type);\n    const mime = (mimeMatch ? mimeMatch[1] : '') || undefined;\n    const ab = new ArrayBuffer(byteString.length);\n    const ia = new Uint8Array(ab);\n    for (var i = 0; i < byteString.length; i++) {\n      ia[i] = byteString.charCodeAt(i);\n    }\n    resolve(new window.Blob([ ab ], { type: mime }));\n  });\n}\n\nexport function saveDataURL (dataURL, opts = {}) {\n  return createBlobFromDataURL(dataURL)\n    .then(blob => saveBlob(blob, opts));\n}\n\nexport function saveBlob (blob, opts = {}) {\n  return new Promise(resolve => {\n    opts = Object.assign({}, defaultExts, opts);\n    const filename = opts.filename;\n\n    const client = getClientAPI();\n    if (client && typeof client.saveBlob === 'function' && client.output) {\n      // native saving using a CLI tool\n      return client.saveBlob(blob, Object.assign({}, opts, { filename }))\n        .then(ev => resolve(ev));\n    } else {\n      // force download\n      if (!link) {\n        link = document.createElement('a');\n        link.style.visibility = 'hidden';\n        link.target = '_blank';\n      }\n      link.download = filename;\n      link.href = window.URL.createObjectURL(blob);\n      document.body.appendChild(link);\n      link.onclick = () => {\n        link.onclick = noop;\n        setTimeout(() => {\n          window.URL.revokeObjectURL(blob);\n          if (link.parentElement) link.parentElement.removeChild(link);\n          link.removeAttribute('href');\n          resolve({ filename, client: false });\n        });\n      };\n      link.click();\n    }\n  });\n}\n\nexport function saveFile (data, opts = {}) {\n  const parts = Array.isArray(data) ? data : [ data ];\n  const blob = new window.Blob(parts, { type: opts.type || '' });\n  return saveBlob(blob, opts);\n}\n\nexport function getTimeStamp () {\n  const dateFormatStr = `yyyy.mm.dd-HH.MM.ss`;\n  return dateformat(new Date(), dateFormatStr);\n}\n\nexport function getDefaultFile (prefix = '', suffix = '', ext) {\n  // const dateFormatStr = `yyyy.mm.dd-HH.MM.ss`;\n  const dateFormatStr = `yyyy-mm-dd 'at' h.MM.ss TT`;\n  return `${prefix}${dateformat(new Date(), dateFormatStr)}${suffix}${ext}`;\n}\n\nexport function resolveFilename (opt = {}) {\n  opt = Object.assign({}, opt);\n\n  // Custom filename function\n  if (typeof opt.file === 'function') {\n    return opt.file(opt);\n  } else if (opt.file) {\n    return opt.file;\n  }\n\n  let frame = null;\n  let extension = '';\n  if (typeof opt.extension === 'string') extension = opt.extension;\n\n  if (typeof opt.frame === 'number') {\n    let totalFrames;\n    if (typeof opt.totalFrames === 'number') {\n      totalFrames = opt.totalFrames;\n    } else {\n      totalFrames = Math.max(10000, opt.frame);\n    }\n    frame = String(opt.frame).padStart(String(totalFrames).length, '0');\n  }\n\n  const layerStr = isFinite(opt.totalLayers) && isFinite(opt.layer) && opt.totalLayers > 1 ? `${opt.layer}` : '';\n  if (frame != null) {\n    return [ layerStr, frame ].filter(Boolean).join('-') + extension;\n  } else {\n    const defaultFileName = opt.timeStamp;\n    return [ opt.prefix, opt.name || defaultFileName, layerStr, opt.hash, opt.suffix ].filter(Boolean).join('-') + extension;\n  }\n}\n","// Handle some common typos\nconst commonTypos = {\n  dimension: 'dimensions',\n  animated: 'animate',\n  animating: 'animate',\n  unit: 'units',\n  P5: 'p5',\n  pixellated: 'pixelated',\n  looping: 'loop',\n  pixelPerInch: 'pixels'\n};\n\n// Handle all other typos\nconst allKeys = [\n  'dimensions', 'units', 'pixelsPerInch', 'orientation',\n  'scaleToFit', 'scaleToView', 'bleed', 'pixelRatio',\n  'exportPixelRatio', 'maxPixelRatio', 'scaleContext',\n  'resizeCanvas', 'styleCanvas', 'canvas', 'context', 'attributes',\n  'parent', 'file', 'name', 'prefix', 'suffix', 'animate', 'playing',\n  'loop', 'duration', 'totalFrames', 'fps', 'playbackRate', 'timeScale',\n  'frame', 'time', 'flush', 'pixelated', 'hotkeys', 'p5', 'id',\n  'scaleToFitPadding', 'data', 'params', 'encoding', 'encodingQuality'\n];\n\n// This is fairly opinionated and forces users to use the 'data' parameter\n// if they want to pass along non-setting objects...\nexport const checkSettings = (settings) => {\n  const keys = Object.keys(settings);\n  keys.forEach(key => {\n    if (key in commonTypos) {\n      const actual = commonTypos[key];\n      console.warn(`[canvas-sketch] Could not recognize the setting \"${key}\", did you mean \"${actual}\"?`);\n    } else if (!allKeys.includes(key)) {\n      console.warn(`[canvas-sketch] Could not recognize the setting \"${key}\"`);\n    }\n  });\n};\n","import { getClientAPI } from \"../util\";\n\nexport default function (opt = {}) {\n  const handler = (ev) => {\n    if (!opt.enabled()) return;\n\n    const client = getClientAPI();\n    if (ev.keyCode === 83 && !ev.altKey && (ev.metaKey || ev.ctrlKey)) {\n      // Cmd + S\n      ev.preventDefault();\n      opt.save(ev);\n    } else if (ev.keyCode === 32) {\n      // Space\n      // TODO: what to do with this? keep it, or remove it?\n      opt.togglePlay(ev);\n    } else if (\n      client &&\n      !ev.altKey &&\n      ev.keyCode === 75 &&\n      (ev.metaKey || ev.ctrlKey)\n    ) {\n      // Cmd + K, only when canvas-sketch-cli is used\n      ev.preventDefault();\n      opt.commit(ev);\n    }\n  };\n\n  const attach = () => {\n    window.addEventListener(\"keydown\", handler);\n  };\n\n  const detach = () => {\n    window.removeEventListener(\"keydown\", handler);\n  };\n\n  return {\n    attach,\n    detach,\n  };\n}\n","const defaultUnits = 'mm';\n\nconst data = [\n  // Common Paper Sizes\n  // (Mostly North-American based)\n  [ 'postcard', 101.6, 152.4 ],\n  [ 'poster-small', 280, 430 ],\n  [ 'poster', 460, 610 ],\n  [ 'poster-large', 610, 910 ],\n  [ 'business-card', 50.8, 88.9 ],\n\n  // Photographic Print Paper Sizes\n  [ '2r', 64, 89 ],\n  [ '3r', 89, 127 ],\n  [ '4r', 102, 152 ],\n  [ '5r', 127, 178 ], // 5″x7″\n  [ '6r', 152, 203 ], // 6″x8″\n  [ '8r', 203, 254 ], // 8″x10″\n  [ '10r', 254, 305 ], // 10″x12″\n  [ '11r', 279, 356 ], // 11″x14″\n  [ '12r', 305, 381 ],\n\n  // Standard Paper Sizes\n  [ 'a0', 841, 1189 ],\n  [ 'a1', 594, 841 ],\n  [ 'a2', 420, 594 ],\n  [ 'a3', 297, 420 ],\n  [ 'a4', 210, 297 ],\n  [ 'a5', 148, 210 ],\n  [ 'a6', 105, 148 ],\n  [ 'a7', 74, 105 ],\n  [ 'a8', 52, 74 ],\n  [ 'a9', 37, 52 ],\n  [ 'a10', 26, 37 ],\n  [ '2a0', 1189, 1682 ],\n  [ '4a0', 1682, 2378 ],\n  [ 'b0', 1000, 1414 ],\n  [ 'b1', 707, 1000 ],\n  [ 'b1+', 720, 1020 ],\n  [ 'b2', 500, 707 ],\n  [ 'b2+', 520, 720 ],\n  [ 'b3', 353, 500 ],\n  [ 'b4', 250, 353 ],\n  [ 'b5', 176, 250 ],\n  [ 'b6', 125, 176 ],\n  [ 'b7', 88, 125 ],\n  [ 'b8', 62, 88 ],\n  [ 'b9', 44, 62 ],\n  [ 'b10', 31, 44 ],\n  [ 'b11', 22, 32 ],\n  [ 'b12', 16, 22 ],\n  [ 'c0', 917, 1297 ],\n  [ 'c1', 648, 917 ],\n  [ 'c2', 458, 648 ],\n  [ 'c3', 324, 458 ],\n  [ 'c4', 229, 324 ],\n  [ 'c5', 162, 229 ],\n  [ 'c6', 114, 162 ],\n  [ 'c7', 81, 114 ],\n  [ 'c8', 57, 81 ],\n  [ 'c9', 40, 57 ],\n  [ 'c10', 28, 40 ],\n  [ 'c11', 22, 32 ],\n  [ 'c12', 16, 22 ],\n\n  // Use inches for North American sizes,\n  // as it produces less float precision errors\n  [ 'half-letter', 5.5, 8.5, 'in' ],\n  [ 'letter', 8.5, 11, 'in' ],\n  [ 'legal', 8.5, 14, 'in' ],\n  [ 'junior-legal', 5, 8, 'in' ],\n  [ 'ledger', 11, 17, 'in' ],\n  [ 'tabloid', 11, 17, 'in' ],\n  [ 'ansi-a', 8.5, 11.0, 'in' ],\n  [ 'ansi-b', 11.0, 17.0, 'in' ],\n  [ 'ansi-c', 17.0, 22.0, 'in' ],\n  [ 'ansi-d', 22.0, 34.0, 'in' ],\n  [ 'ansi-e', 34.0, 44.0, 'in' ],\n  [ 'arch-a', 9, 12, 'in' ],\n  [ 'arch-b', 12, 18, 'in' ],\n  [ 'arch-c', 18, 24, 'in' ],\n  [ 'arch-d', 24, 36, 'in' ],\n  [ 'arch-e', 36, 48, 'in' ],\n  [ 'arch-e1', 30, 42, 'in' ],\n  [ 'arch-e2', 26, 38, 'in' ],\n  [ 'arch-e3', 27, 39, 'in' ]\n];\n\nexport default data.reduce((dict, preset) => {\n  const item = {\n    units: preset[3] || defaultUnits,\n    dimensions: [ preset[1], preset[2] ]\n  };\n  dict[preset[0]] = item;\n  dict[preset[0].replace(/-/g, ' ')] = item;\n  return dict;\n}, {});\n","'use strict';\n\nmodule.exports = function defined() {\n\tfor (var i = 0; i < arguments.length; i++) {\n\t\tif (typeof arguments[i] !== 'undefined') {\n\t\t\treturn arguments[i];\n\t\t}\n\t}\n};\n","var defined = require('defined');\nvar units = [ 'mm', 'cm', 'm', 'pc', 'pt', 'in', 'ft', 'px' ];\n\nvar conversions = {\n  // metric\n  m: {\n    system: 'metric',\n    factor: 1\n  },\n  cm: {\n    system: 'metric',\n    factor: 1 / 100\n  },\n  mm: {\n    system: 'metric',\n    factor: 1 / 1000\n  },\n  // imperial\n  pt: {\n    system: 'imperial',\n    factor: 1 / 72\n  },\n  pc: {\n    system: 'imperial',\n    factor: 1 / 6\n  },\n  in: {\n    system: 'imperial',\n    factor: 1\n  },\n  ft: {\n    system: 'imperial',\n    factor: 12\n  }\n};\n\nconst anchors = {\n  metric: {\n    unit: 'm',\n    ratio: 1 / 0.0254\n  },\n  imperial: {\n    unit: 'in',\n    ratio: 0.0254\n  }\n};\n\nfunction round (value, decimals) {\n  return Number(Math.round(value + 'e' + decimals) + 'e-' + decimals);\n}\n\nfunction convertDistance (value, fromUnit, toUnit, opts) {\n  if (typeof value !== 'number' || !isFinite(value)) throw new Error('Value must be a finite number');\n  if (!fromUnit || !toUnit) throw new Error('Must specify from and to units');\n\n  opts = opts || {};\n  var pixelsPerInch = defined(opts.pixelsPerInch, 96);\n  var precision = opts.precision;\n  var roundPixel = opts.roundPixel !== false;\n\n  fromUnit = fromUnit.toLowerCase();\n  toUnit = toUnit.toLowerCase();\n\n  if (units.indexOf(fromUnit) === -1) throw new Error('Invalid from unit \"' + fromUnit + '\", must be one of: ' + units.join(', '));\n  if (units.indexOf(toUnit) === -1) throw new Error('Invalid from unit \"' + toUnit + '\", must be one of: ' + units.join(', '));\n\n  if (fromUnit === toUnit) {\n    // We don't need to convert from A to B since they are the same already\n    return value;\n  }\n\n  var toFactor = 1;\n  var fromFactor = 1;\n  var isToPixel = false;\n\n  if (fromUnit === 'px') {\n    fromFactor = 1 / pixelsPerInch;\n    fromUnit = 'in';\n  }\n  if (toUnit === 'px') {\n    isToPixel = true;\n    toFactor = pixelsPerInch;\n    toUnit = 'in';\n  }\n\n  var fromUnitData = conversions[fromUnit];\n  var toUnitData = conversions[toUnit];\n\n  // source to anchor inside source's system\n  var anchor = value * fromUnitData.factor * fromFactor;\n\n  // if systems differ, convert one to another\n  if (fromUnitData.system !== toUnitData.system) {\n    // regular 'm' to 'in' and so forth\n    anchor *= anchors[fromUnitData.system].ratio;\n  }\n\n  var result = anchor / toUnitData.factor * toFactor;\n  if (isToPixel && roundPixel) {\n    result = Math.round(result);\n  } else if (typeof precision === 'number' && isFinite(precision)) {\n    result = round(result, precision);\n  }\n  return result;\n}\n\nmodule.exports = convertDistance;\nmodule.exports.units = units;\n","import paperSizes from './paper-sizes';\nimport convertLength from 'convert-length';\n\nexport function getDimensionsFromPreset (dimensions, unitsTo = 'px', pixelsPerInch = 72) {\n  if (typeof dimensions === 'string') {\n    const key = dimensions.toLowerCase();\n    if (!(key in paperSizes)) {\n      throw new Error(`The dimension preset \"${dimensions}\" is not supported or could not be found; try using a4, a3, postcard, letter, etc.`)\n    }\n    const preset = paperSizes[key];\n    return preset.dimensions.map(d => {\n      return convertDistance(d, preset.units, unitsTo, pixelsPerInch);\n    });\n  } else {\n    return dimensions;\n  }\n}\n\nexport function convertDistance (dimension, unitsFrom = 'px', unitsTo = 'px', pixelsPerInch = 72) {\n  return convertLength(dimension, unitsFrom, unitsTo, {\n    pixelsPerInch,\n    precision: 4,\n    roundPixel: true\n  });\n}\n","import { getDimensionsFromPreset, convertDistance } from \"../distances\";\nimport { isBrowser, defined } from \"../util\";\n\nfunction checkIfHasDimensions(settings) {\n  if (!settings.dimensions) return false;\n  if (typeof settings.dimensions === \"string\") return true;\n  if (Array.isArray(settings.dimensions) && settings.dimensions.length >= 2)\n    return true;\n  return false;\n}\n\nfunction getParentSize(props, settings) {\n  // When no { dimension } is passed in node, we default to HTML canvas size\n  if (!isBrowser()) {\n    return [300, 150];\n  }\n\n  let element = settings.parent || window;\n\n  if (element === window || element === document || element === document.body) {\n    return [window.innerWidth, window.innerHeight];\n  } else {\n    const { width, height } = element.getBoundingClientRect();\n    return [width, height];\n  }\n}\n\nexport default function resizeCanvas(props, settings) {\n  let width, height;\n  let styleWidth, styleHeight;\n  let canvasWidth, canvasHeight;\n\n  const browser = isBrowser();\n  const dimensions = settings.dimensions;\n  const hasDimensions = checkIfHasDimensions(settings);\n  const exporting = props.exporting;\n  let scaleToFit = hasDimensions ? settings.scaleToFit !== false : false;\n  let scaleToView = !exporting && hasDimensions ? settings.scaleToView : true;\n  // in node, cancel both of these options\n  if (!browser) scaleToFit = scaleToView = false;\n  const units = settings.units;\n  const pixelsPerInch =\n    typeof settings.pixelsPerInch === \"number\" &&\n    isFinite(settings.pixelsPerInch)\n      ? settings.pixelsPerInch\n      : 72;\n  const bleed = defined(settings.bleed, 0);\n\n  const devicePixelRatio = browser ? window.devicePixelRatio : 1;\n  const basePixelRatio = scaleToView ? devicePixelRatio : 1;\n\n  let pixelRatio, exportPixelRatio;\n\n  // If a pixel ratio is specified, we will use it.\n  // Otherwise:\n  //  -> If dimension is specified, use base ratio (i.e. size for export)\n  //  -> If no dimension is specified, use device ratio (i.e. size for screen)\n  if (\n    typeof settings.pixelRatio === \"number\" &&\n    isFinite(settings.pixelRatio)\n  ) {\n    // When { pixelRatio } is specified, it's also used as default exportPixelRatio.\n    pixelRatio = settings.pixelRatio;\n    exportPixelRatio = defined(settings.exportPixelRatio, pixelRatio);\n  } else {\n    if (hasDimensions) {\n      // When a dimension is specified, use the base ratio rather than screen ratio\n      pixelRatio = basePixelRatio;\n      // Default to a pixel ratio of 1 so that you end up with the same dimension\n      // you specified, i.e. [ 500, 500 ] is exported as 500x500 px\n      exportPixelRatio = defined(settings.exportPixelRatio, 1);\n    } else {\n      // No dimension is specified, assume full-screen retina sizing\n      pixelRatio = devicePixelRatio;\n      // Default to screen pixel ratio, so that it's like taking a device screenshot\n      exportPixelRatio = defined(settings.exportPixelRatio, pixelRatio);\n    }\n  }\n\n  // Clamp pixel ratio\n  if (\n    typeof settings.maxPixelRatio === \"number\" &&\n    isFinite(settings.maxPixelRatio)\n  ) {\n    pixelRatio = Math.min(settings.maxPixelRatio, pixelRatio);\n  }\n\n  // Handle export pixel ratio\n  if (exporting) {\n    pixelRatio = exportPixelRatio;\n  }\n\n  // parentWidth = typeof parentWidth === 'undefined' ? defaultNodeSize[0] : parentWidth;\n  // parentHeight = typeof parentHeight === 'undefined' ? defaultNodeSize[1] : parentHeight;\n\n  let [parentWidth, parentHeight] = getParentSize(props, settings);\n  let trimWidth, trimHeight;\n\n  // You can specify a dimensions in pixels or cm/m/in/etc\n  if (hasDimensions) {\n    const result = getDimensionsFromPreset(dimensions, units, pixelsPerInch);\n    const highest = Math.max(result[0], result[1]);\n    const lowest = Math.min(result[0], result[1]);\n    if (settings.orientation) {\n      const landscape = settings.orientation === \"landscape\";\n      width = landscape ? highest : lowest;\n      height = landscape ? lowest : highest;\n    } else {\n      width = result[0];\n      height = result[1];\n    }\n\n    trimWidth = width;\n    trimHeight = height;\n\n    // Apply bleed which is assumed to be in the same units\n    width += bleed * 2;\n    height += bleed * 2;\n  } else {\n    width = parentWidth;\n    height = parentHeight;\n    trimWidth = width;\n    trimHeight = height;\n  }\n\n  // Real size in pixels after PPI is taken into account\n  let realWidth = width;\n  let realHeight = height;\n  if (hasDimensions && units) {\n    // Convert to digital/pixel units if necessary\n    realWidth = convertDistance(width, units, \"px\", pixelsPerInch);\n    realHeight = convertDistance(height, units, \"px\", pixelsPerInch);\n  }\n\n  // How big to set the 'view' of the canvas in the browser (i.e. style)\n  styleWidth = Math.round(realWidth);\n  styleHeight = Math.round(realHeight);\n\n  // If we wish to scale the view to the browser window\n  if (scaleToFit && !exporting && hasDimensions) {\n    const aspect = width / height;\n    const windowAspect = parentWidth / parentHeight;\n    const scaleToFitPadding = defined(settings.scaleToFitPadding, 40);\n    const maxWidth = Math.round(parentWidth - scaleToFitPadding * 2);\n    const maxHeight = Math.round(parentHeight - scaleToFitPadding * 2);\n    if (styleWidth > maxWidth || styleHeight > maxHeight) {\n      if (windowAspect > aspect) {\n        styleHeight = maxHeight;\n        styleWidth = Math.round(styleHeight * aspect);\n      } else {\n        styleWidth = maxWidth;\n        styleHeight = Math.round(styleWidth / aspect);\n      }\n    }\n  }\n\n  canvasWidth = scaleToView\n    ? Math.round(pixelRatio * styleWidth)\n    : Math.round(pixelRatio * realWidth);\n  canvasHeight = scaleToView\n    ? Math.round(pixelRatio * styleHeight)\n    : Math.round(pixelRatio * realHeight);\n\n  const viewportWidth = scaleToView\n    ? Math.round(styleWidth)\n    : Math.round(realWidth);\n  const viewportHeight = scaleToView\n    ? Math.round(styleHeight)\n    : Math.round(realHeight);\n\n  const scaleX = canvasWidth / width;\n  const scaleY = canvasHeight / height;\n\n  // Assign to current props\n  return {\n    bleed,\n    pixelRatio,\n    width,\n    height,\n    dimensions: [width, height],\n    units: units || \"px\",\n    scaleX,\n    scaleY,\n    pixelsPerInch,\n    viewportWidth,\n    viewportHeight,\n    canvasWidth,\n    canvasHeight,\n    trimWidth,\n    trimHeight,\n    styleWidth,\n    styleHeight,\n  };\n}\n","module.exports = getCanvasContext\nfunction getCanvasContext (type, opts) {\n  if (typeof type !== 'string') {\n    throw new TypeError('must specify type string')\n  }\n\n  opts = opts || {}\n\n  if (typeof document === 'undefined' && !opts.canvas) {\n    return null // check for Node\n  }\n\n  var canvas = opts.canvas || document.createElement('canvas')\n  if (typeof opts.width === 'number') {\n    canvas.width = opts.width\n  }\n  if (typeof opts.height === 'number') {\n    canvas.height = opts.height\n  }\n\n  var attribs = opts\n  var gl\n  try {\n    var names = [ type ]\n    // prefix GL contexts\n    if (type.indexOf('webgl') === 0) {\n      names.push('experimental-' + type)\n    }\n\n    for (var i = 0; i < names.length; i++) {\n      gl = canvas.getContext(names[i], attribs)\n      if (gl) return gl\n    }\n  } catch (e) {\n    gl = null\n  }\n  return (gl || null) // ensure null on fail\n}\n","import getCanvasContext from \"get-canvas-context\";\nimport { isBrowser } from \"../util\";\n\nfunction createCanvasElement() {\n  if (!isBrowser()) {\n    throw new Error(\n      \"It appears you are runing from Node.js or a non-browser environment. Try passing in an existing { canvas } interface instead.\",\n    );\n  }\n  return document.createElement(\"canvas\");\n}\n\nexport default function createCanvas(settings = {}) {\n  let context, canvas;\n  let ownsCanvas = false;\n  if (settings.canvas !== false) {\n    // Determine the canvas and context to create\n    context = settings.context;\n    let ownedCanvas;\n    if (!context || typeof context === \"string\") {\n      let newCanvas = settings.canvas;\n      if (!newCanvas) {\n        newCanvas = createCanvasElement();\n        ownedCanvas = newCanvas;\n        ownsCanvas = true;\n      }\n      const type = context || \"2d\";\n      if (typeof newCanvas.getContext !== \"function\") {\n        throw new Error(\n          `The specified { canvas } element does not have a getContext() function, maybe it is not a <canvas> tag?`,\n        );\n      }\n      context = getCanvasContext(\n        type,\n        Object.assign({}, settings.attributes, { canvas: newCanvas }),\n      );\n      if (!context) {\n        throw new Error(\n          `Failed at canvas.getContext('${type}') - the browser may not support this context, or a different context may already be in use with this canvas.`,\n        );\n      }\n    }\n\n    canvas = context.canvas;\n\n    // Some non-browser canvas implementations, e.g. Deno canvas, expose\n    // context.canvas as null even when the caller supplied a valid canvas.\n    if (canvas == null) {\n      // just use pre-supplied canvas\n      if (settings.canvas) canvas = settings.canvas;\n      // or use the newly created, if { context: '2d' } for example\n      else if (ownedCanvas) canvas = curCanvas;\n    }\n\n    // Ensure context matches user's canvas expectations\n    if (settings.canvas && canvas !== settings.canvas) {\n      throw new Error(\n        \"The { canvas } and { context } settings must point to the same underlying canvas element\",\n      );\n    }\n\n    // Apply pixelation to canvas if necessary, this is mostly a convenience utility\n    if (settings.pixelated) {\n      context.imageSmoothingEnabled = false;\n      context.mozImageSmoothingEnabled = false;\n      context.oImageSmoothingEnabled = false;\n      context.webkitImageSmoothingEnabled = false;\n      context.msImageSmoothingEnabled = false;\n      canvas.style[\"image-rendering\"] = \"pixelated\";\n    }\n  }\n  return { canvas, context, ownsCanvas };\n}\n","import rightNow from \"right-now\";\nimport isPromise from \"is-promise\";\nimport {\n  isBrowser,\n  defined,\n  isWebGLContext,\n  is2DContext,\n  isCanvas,\n  getClientAPI,\n} from \"../util\";\nimport deepEqual from \"deep-equal\";\nimport {\n  resolveFilename,\n  saveFile,\n  saveDataURL,\n  getTimeStamp,\n  exportCanvas,\n  streamStart,\n  streamEnd,\n} from \"../save\";\nimport { checkSettings } from \"../accessibility\";\n\nimport keyboardShortcuts from \"./keyboardShortcuts\";\nimport resizeCanvas from \"./resizeCanvas\";\nimport createCanvas from \"./createCanvas\";\n\nclass SketchManager {\n  constructor() {\n    this._settings = {};\n    this._props = {};\n    this._sketch = undefined;\n    this._raf = null;\n    this._recordTimeout = null;\n\n    // Some hacky things required to get around p5.js structure\n    this._lastRedrawResult = undefined;\n    this._isP5Resizing = false;\n\n    this._keyboardShortcuts = keyboardShortcuts({\n      enabled: () => this.settings.hotkeys !== false,\n      save: (ev) => {\n        if (ev.shiftKey) {\n          if (this.props.recording) {\n            this.endRecord();\n            this.run();\n          } else this.record();\n        } else if (!this.props.recording) {\n          this.exportFrame();\n        }\n      },\n      togglePlay: () => {\n        if (this.props.playing) this.pause();\n        else this.play();\n      },\n      commit: (ev) => {\n        this.exportFrame({ commit: true });\n      },\n    });\n\n    this._animateHandler = () => this.animate();\n\n    this._resizeHandler = () => {\n      const changed = this.resize();\n      // Only re-render when size actually changes\n      if (changed) {\n        this.render();\n      }\n    };\n  }\n\n  get sketch() {\n    return this._sketch;\n  }\n\n  get settings() {\n    return this._settings;\n  }\n\n  get props() {\n    return this._props;\n  }\n\n  _computePlayhead(currentTime, duration) {\n    const hasDuration = typeof duration === \"number\" && isFinite(duration);\n    return hasDuration ? currentTime / duration : 0;\n  }\n\n  _computeFrame(playhead, time, totalFrames, fps) {\n    return isFinite(totalFrames) && totalFrames > 1\n      ? Math.floor(playhead * (totalFrames - 1))\n      : Math.floor(fps * time);\n  }\n\n  _computeCurrentFrame() {\n    return this._computeFrame(\n      this.props.playhead,\n      this.props.time,\n      this.props.totalFrames,\n      this.props.fps,\n    );\n  }\n\n  _getSizeProps() {\n    const props = this.props;\n    return {\n      width: props.width,\n      height: props.height,\n      pixelRatio: props.pixelRatio,\n      canvasWidth: props.canvasWidth,\n      canvasHeight: props.canvasHeight,\n      viewportWidth: props.viewportWidth,\n      viewportHeight: props.viewportHeight,\n    };\n  }\n\n  run() {\n    if (!this.sketch)\n      throw new Error(\n        \"should wait until sketch is loaded before trying to play()\",\n      );\n\n    // Start an animation frame loop if necessary\n    if (this.settings.playing !== false) {\n      this.play();\n    }\n\n    // Let's let this warning hang around for a few versions...\n    if (typeof this.sketch.dispose === \"function\") {\n      console.warn(\n        \"In canvas-sketch@0.0.23 the dispose() event has been renamed to unload()\",\n      );\n    }\n\n    // In case we aren't playing or animated, make sure we still trigger begin message...\n    if (!this.props.started) {\n      this._signalBegin();\n      this.props.started = true;\n    }\n\n    // Render an initial frame\n    this.tick();\n    this.render();\n    return this;\n  }\n\n  _cancelTimeouts() {\n    if (\n      this._raf != null &&\n      typeof window !== \"undefined\" &&\n      typeof window.cancelAnimationFrame === \"function\"\n    ) {\n      window.cancelAnimationFrame(this._raf);\n      this._raf = null;\n    }\n    if (this._recordTimeout != null) {\n      clearTimeout(this._recordTimeout);\n      this._recordTimeout = null;\n    }\n  }\n\n  play() {\n    let animate = this.settings.animate;\n    if (\"animation\" in this.settings) {\n      animate = true;\n      console.warn(\n        \"[canvas-sketch] { animation } has been renamed to { animate }\",\n      );\n    }\n    if (!animate) return;\n    if (!isBrowser()) {\n      console.error(\n        \"[canvas-sketch] WARN: Using { animate } in Node.js is not yet supported\",\n      );\n      return;\n    }\n    if (this.props.playing) return;\n    if (!this.props.started) {\n      this._signalBegin();\n      this.props.started = true;\n    }\n\n    // console.log('play', this.props.time)\n\n    // Start a render loop\n    this.props.playing = true;\n    this._cancelTimeouts();\n    this._lastTime = rightNow();\n    this._raf = window.requestAnimationFrame(this._animateHandler);\n  }\n\n  pause() {\n    if (this.props.recording) this.endRecord();\n    this.props.playing = false;\n\n    this._cancelTimeouts();\n  }\n\n  togglePlay() {\n    if (this.props.playing) this.pause();\n    else this.play();\n  }\n\n  // Stop and reset to frame zero\n  stop() {\n    this.pause();\n    this.props.frame = 0;\n    this.props.playhead = 0;\n    this.props.time = 0;\n    this.props.deltaTime = 0;\n    this.props.started = false;\n    this.render();\n  }\n\n  record() {\n    if (this.props.recording) return;\n    if (!isBrowser()) {\n      console.error(\n        \"[canvas-sketch] WARN: Recording from Node.js is not yet supported\",\n      );\n      return;\n    }\n\n    this.stop();\n    this.props.playing = true;\n    this.props.recording = true;\n\n    const exportOpts = this._createExportOptions({ sequence: true });\n\n    const frameInterval = 1 / this.props.fps;\n    // Render each frame in the sequence\n    this._cancelTimeouts();\n    const tick = () => {\n      if (!this.props.recording) return Promise.resolve();\n      this.props.deltaTime = frameInterval;\n      this.tick();\n      return this.exportFrame(exportOpts).then(() => {\n        if (!this.props.recording) return; // was cancelled before\n        this.props.deltaTime = 0;\n        this.props.frame++;\n        if (this.props.frame < this.props.totalFrames) {\n          this.props.time += frameInterval;\n          this.props.playhead = this._computePlayhead(\n            this.props.time,\n            this.props.duration,\n          );\n          this._recordTimeout = setTimeout(tick, 0);\n        } else {\n          console.log(\"Finished recording\");\n          this._signalEnd();\n          this.endRecord();\n          this.stop();\n          this.run();\n        }\n      });\n    };\n\n    // Trigger a start event before we begin recording\n    if (!this.props.started) {\n      this._signalBegin();\n      this.props.started = true;\n    }\n\n    // Trigger 'begin record' event\n    if (this.sketch && typeof this.sketch.beginRecord === \"function\") {\n      this._wrapContextScale((props) => this.sketch.beginRecord(props));\n    }\n\n    // Initiate a streaming start if necessary\n    streamStart(exportOpts)\n      .catch((err) => {\n        console.error(err);\n      })\n      .then((response) => {\n        this._raf = window.requestAnimationFrame(tick);\n      });\n  }\n\n  _signalBegin() {\n    if (this.sketch && typeof this.sketch.begin === \"function\") {\n      this._wrapContextScale((props) => this.sketch.begin(props));\n    }\n  }\n\n  _signalEnd() {\n    if (this.sketch && typeof this.sketch.end === \"function\") {\n      this._wrapContextScale((props) => this.sketch.end(props));\n    }\n  }\n\n  endRecord() {\n    const wasRecording = this.props.recording;\n\n    this._cancelTimeouts();\n    this.props.recording = false;\n    this.props.deltaTime = 0;\n    this.props.playing = false;\n\n    // tell CLI that stream has finished\n    return streamEnd()\n      .catch((err) => {\n        console.error(err);\n      })\n      .then(() => {\n        // Trigger 'end record' event\n        if (\n          wasRecording &&\n          this.sketch &&\n          typeof this.sketch.endRecord === \"function\"\n        ) {\n          this._wrapContextScale((props) => this.sketch.endRecord(props));\n        }\n      });\n  }\n\n  _createExportOptions(opt = {}) {\n    return {\n      sequence: opt.sequence,\n      save: opt.save,\n      fps: this.props.fps,\n      frame: opt.sequence ? this.props.frame : undefined,\n      file: this.settings.file,\n      name: this.settings.name,\n      prefix: this.settings.prefix,\n      suffix: this.settings.suffix,\n      encoding: this.settings.encoding,\n      encodingQuality: this.settings.encodingQuality,\n      timeStamp: opt.timeStamp || getTimeStamp(),\n      totalFrames: isFinite(this.props.totalFrames)\n        ? Math.max(0, this.props.totalFrames)\n        : 1000,\n    };\n  }\n\n  exportFrame(opt = {}) {\n    if (!this.sketch) return Promise.all([]);\n    if (typeof this.sketch.preExport === \"function\") {\n      this.sketch.preExport();\n    }\n\n    // Options for export function\n    let exportOpts = this._createExportOptions(opt);\n\n    const client = getClientAPI();\n    let p = Promise.resolve();\n    if (client && opt.commit && typeof client.commit === \"function\") {\n      const commitOpts = Object.assign({}, exportOpts);\n      const hash = client.commit(commitOpts);\n      if (isPromise(hash)) p = hash;\n      else p = Promise.resolve(hash);\n    }\n\n    return p\n      .then((hash) => {\n        return this._doExportFrame(\n          Object.assign({}, exportOpts, { hash: hash || \"\" }),\n        );\n      })\n      .then((result) => {\n        // Most common usecase is to export a single layer,\n        // so let's optimize the user experience for that.\n        if (result.length === 1) return result[0];\n        else return result;\n      });\n  }\n\n  _doExportFrame(exportOpts = {}) {\n    this._props.exporting = true;\n\n    // Resize to output resolution\n    this.resize();\n\n    // Draw at this output resolution\n    let drawResult = this.render();\n\n    // The self owned canvas (may be undefined...!)\n    const canvas = this.props.canvas;\n\n    // Get list of results from render\n    if (typeof drawResult === \"undefined\") {\n      drawResult = [canvas];\n    }\n    drawResult = [].concat(drawResult).filter(Boolean);\n\n    // Transform the canvas/file descriptors into a consistent format,\n    // and pull out any data URLs from canvas elements\n    drawResult = drawResult.map((result) => {\n      const hasDataObject =\n        typeof result === \"object\" &&\n        result &&\n        (\"data\" in result || \"dataURL\" in result);\n      const data = hasDataObject ? result.data : result;\n      const opts = hasDataObject\n        ? Object.assign({}, result, { data })\n        : { data };\n      if (isCanvas(data)) {\n        const encoding = opts.encoding || exportOpts.encoding;\n        const encodingQuality = defined(\n          opts.encodingQuality,\n          exportOpts.encodingQuality,\n          0.95,\n        );\n        const { dataURL, extension, type } = exportCanvas(data, {\n          encoding,\n          encodingQuality,\n        });\n        return Object.assign(opts, { dataURL, extension, type });\n      } else {\n        return opts;\n      }\n    });\n\n    // Now return to regular rendering mode\n    this._props.exporting = false;\n    this.resize();\n    this.render();\n\n    // And now we can save each result\n    return Promise.all(\n      drawResult.map((result, i, layerList) => {\n        // By default, if rendering multiple layers we will give them indices\n        const curOpt = Object.assign(\n          {\n            extension: \"\",\n            prefix: \"\",\n            suffix: \"\",\n          },\n          exportOpts,\n          result,\n          {\n            layer: i,\n            totalLayers: layerList.length,\n          },\n        );\n\n        // If export is explicitly not saving, make sure nothing saves\n        // Otherwise default to the layer save option, or fallback to true\n        const saveParam = exportOpts.save === false ? false : result.save;\n        curOpt.save = saveParam !== false;\n\n        // Resolve a full filename from all the options\n        curOpt.filename = resolveFilename(curOpt);\n\n        // Clean up some parameters that may be ambiguous to the user\n        delete curOpt.encoding;\n        delete curOpt.encodingQuality;\n\n        // Clean it up further by just removing undefined values\n        for (let k in curOpt) {\n          if (typeof curOpt[k] === \"undefined\") delete curOpt[k];\n        }\n\n        let savePromise = Promise.resolve({});\n        if (curOpt.save) {\n          // Whether to actually save (download) this fragment\n          const data = curOpt.data;\n          if (curOpt.dataURL) {\n            const dataURL = curOpt.dataURL;\n            savePromise = saveDataURL(dataURL, curOpt);\n          } else {\n            savePromise = saveFile(data, curOpt);\n          }\n        }\n        return savePromise.then((saveResult) => {\n          return Object.assign({}, curOpt, saveResult);\n        });\n      }),\n    ).then((ev) => {\n      const savedEvents = ev.filter((e) => e.save);\n      if (savedEvents.length > 0) {\n        // Log the saved exports\n        const eventWithOutput = savedEvents.find((e) => e.outputName);\n        const isClient = savedEvents.some((e) => e.client);\n        const isStreaming = savedEvents.some((e) => e.stream);\n        let item;\n        // many files, just log how many were exported\n        if (savedEvents.length > 1) item = savedEvents.length;\n        // in CLI, we know exact path dirname\n        else if (eventWithOutput)\n          item = `${eventWithOutput.outputName}/${savedEvents[0].filename}`;\n        // in browser, we can only know it went to \"browser download folder\"\n        else item = `${savedEvents[0].filename}`;\n        let ofSeq = \"\";\n        if (exportOpts.sequence) {\n          const hasTotalFrames = isFinite(this.props.totalFrames);\n          ofSeq = hasTotalFrames\n            ? ` (frame ${exportOpts.frame + 1} / ${this.props.totalFrames})`\n            : ` (frame ${exportOpts.frame})`;\n        } else if (savedEvents.length > 1) {\n          ofSeq = ` files`;\n        }\n        const client = isClient ? \"canvas-sketch-cli\" : \"canvas-sketch\";\n        const action = isStreaming ? \"Streaming into\" : \"Exported\";\n        console.log(\n          `%c[${client}]%c ${action} %c${item}%c${ofSeq}`,\n          \"color: #8e8e8e;\",\n          \"color: initial;\",\n          \"font-weight: bold;\",\n          \"font-weight: initial;\",\n        );\n      }\n      if (typeof this.sketch.postExport === \"function\") {\n        this.sketch.postExport();\n      }\n      return ev;\n    });\n  }\n\n  _wrapContextScale(cb) {\n    this._preRender();\n    cb(this.props);\n    this._postRender();\n  }\n\n  _preRender() {\n    const props = this.props;\n\n    // Scale context for unit sizing\n    if (is2DContext(props.context) && !props.p5) {\n      props.context.save();\n      if (this.settings.scaleContext !== false) {\n        props.context.scale(props.scaleX, props.scaleY);\n      }\n    } else if (props.p5) {\n      props.p5.scale(\n        props.scaleX / props.pixelRatio,\n        props.scaleY / props.pixelRatio,\n      );\n    }\n  }\n\n  _postRender() {\n    const props = this.props;\n\n    if (is2DContext(props.context) && !props.p5) {\n      props.context.restore();\n    }\n\n    // Flush by default, this may be revisited at a later point.\n    // We do this to ensure toDataURL can be called immediately after.\n    // Most likely browsers already handle this, so we may revisit this and\n    // remove it if it improves performance without any usability issues.\n    if (props.gl && this.settings.flush !== false && !props.p5) {\n      props.gl.flush();\n    }\n  }\n\n  tick() {\n    if (this.sketch && typeof this.sketch.tick === \"function\") {\n      this._preRender();\n      this.sketch.tick(this.props);\n      this._postRender();\n    }\n  }\n\n  render() {\n    if (this.props.p5) {\n      this._lastRedrawResult = undefined;\n      this.props.p5.redraw();\n      return this._lastRedrawResult;\n    } else {\n      return this.submitDrawCall();\n    }\n  }\n\n  submitDrawCall() {\n    if (!this.sketch) return;\n\n    const props = this.props;\n    this._preRender();\n\n    let drawResult;\n\n    if (typeof this.sketch === \"function\") {\n      drawResult = this.sketch(props);\n    } else if (typeof this.sketch.render === \"function\") {\n      drawResult = this.sketch.render(props);\n    }\n\n    this._postRender();\n\n    return drawResult;\n  }\n\n  update(opt = {}) {\n    // Currently update() is only focused on resizing,\n    // but later we will support other options like switching\n    // frames and such.\n    const notYetSupported = [\"animate\"];\n\n    Object.keys(opt).forEach((key) => {\n      if (notYetSupported.indexOf(key) >= 0) {\n        throw new Error(\n          `Sorry, the { ${key} } option is not yet supported with update().`,\n        );\n      }\n    });\n\n    const oldCanvas = this._settings.canvas;\n    const oldContext = this._settings.context;\n\n    // Merge new options into settings\n    for (let key in opt) {\n      const value = opt[key];\n      if (typeof value !== \"undefined\") {\n        // ignore undefined\n        this._settings[key] = value;\n      }\n    }\n\n    // Merge in time props\n    const timeOpts = Object.assign({}, this._settings, opt);\n    if (\"time\" in opt && \"frame\" in opt)\n      throw new Error(\"You should specify { time } or { frame } but not both\");\n    else if (\"time\" in opt) delete timeOpts.frame;\n    else if (\"frame\" in opt) delete timeOpts.time;\n    if (\"duration\" in opt && \"totalFrames\" in opt)\n      throw new Error(\n        \"You should specify { duration } or { totalFrames } but not both\",\n      );\n    else if (\"duration\" in opt) delete timeOpts.totalFrames;\n    else if (\"totalFrames\" in opt) delete timeOpts.duration;\n\n    // Merge in user data without copying\n    if (\"data\" in opt) this._props.data = opt.data;\n\n    const timeProps = this.getTimeProps(timeOpts);\n    Object.assign(this._props, timeProps);\n\n    // If either canvas or context is changed, we should re-update\n    if (\n      oldCanvas !== this._settings.canvas ||\n      oldContext !== this._settings.context\n    ) {\n      const { canvas, context } = createCanvas(this._settings);\n\n      this.props.canvas = canvas;\n      this.props.context = context;\n\n      // Delete or add a 'gl' prop for convenience\n      this._setupGLKey();\n\n      // Re-mount the new canvas if it has no parent\n      this._appendCanvasIfNeeded();\n    }\n\n    // Special case to support P5.js\n    if (opt.p5 && typeof opt.p5 !== \"function\") {\n      this.props.p5 = opt.p5;\n      this.props.p5.draw = () => {\n        if (this._isP5Resizing) return;\n        this._lastRedrawResult = this.submitDrawCall();\n      };\n    }\n\n    // Update playing state if necessary\n    if (\"playing\" in opt) {\n      if (opt.playing) this.play();\n      else this.pause();\n    }\n\n    checkSettings(this._settings);\n\n    // Draw new frame\n    this.resize();\n    this.render();\n    return this.props;\n  }\n\n  resize() {\n    const oldSizes = this._getSizeProps();\n\n    const settings = this.settings;\n    const props = this.props;\n\n    // Recompute new properties based on current setup\n    const newProps = resizeCanvas(props, settings);\n\n    // Assign to current props\n    Object.assign(this._props, newProps);\n\n    // Now we actually update the canvas width/height and style props\n    const { pixelRatio, canvasWidth, canvasHeight, styleWidth, styleHeight } =\n      this.props;\n\n    // Update canvas settings\n    const canvas = this.props.canvas;\n    if (canvas && settings.resizeCanvas !== false) {\n      if (props.p5) {\n        // P5.js specific edge case\n        if (canvas.width !== canvasWidth || canvas.height !== canvasHeight) {\n          this._isP5Resizing = true;\n          // This causes a re-draw :\\ so we ignore draws in the mean time... sorta hacky\n          props.p5.pixelDensity(pixelRatio);\n          props.p5.resizeCanvas(\n            canvasWidth / pixelRatio,\n            canvasHeight / pixelRatio,\n            false,\n          );\n          this._isP5Resizing = false;\n        }\n      } else {\n        // Force canvas size\n        if (canvas.width !== canvasWidth) canvas.width = canvasWidth;\n        if (canvas.height !== canvasHeight) canvas.height = canvasHeight;\n      }\n      // Update canvas style\n      if (isBrowser() && settings.styleCanvas !== false) {\n        canvas.style.width = `${styleWidth}px`;\n        canvas.style.height = `${styleHeight}px`;\n      }\n    }\n\n    const newSizes = this._getSizeProps();\n    let changed = !deepEqual(oldSizes, newSizes);\n    if (changed) {\n      this._sizeChanged();\n    }\n    return changed;\n  }\n\n  _sizeChanged() {\n    // Send resize event to sketch\n    if (this.sketch && typeof this.sketch.resize === \"function\") {\n      this.sketch.resize(this.props);\n    }\n  }\n\n  animate() {\n    if (!this.props.playing) return;\n    if (!isBrowser()) {\n      console.error(\n        \"[canvas-sketch] WARN: Animation in Node.js is not yet supported\",\n      );\n      return;\n    }\n    this._raf = window.requestAnimationFrame(this._animateHandler);\n\n    let now = rightNow();\n\n    const fps = this.props.fps;\n    const frameIntervalMS = 1000 / fps;\n    let deltaTimeMS = now - this._lastTime;\n\n    const duration = this.props.duration;\n    const hasDuration = typeof duration === \"number\" && isFinite(duration);\n\n    let isNewFrame = true;\n    const playbackRate = this.settings.playbackRate;\n    if (playbackRate === \"fixed\") {\n      deltaTimeMS = frameIntervalMS;\n    } else if (playbackRate === \"throttle\") {\n      if (deltaTimeMS > frameIntervalMS) {\n        now = now - (deltaTimeMS % frameIntervalMS);\n        this._lastTime = now;\n      } else {\n        isNewFrame = false;\n      }\n    } else {\n      this._lastTime = now;\n    }\n\n    const deltaTime = deltaTimeMS / 1000;\n    let newTime = this.props.time + deltaTime * this.props.timeScale;\n\n    // Handle reverse time scale\n    if (newTime < 0 && hasDuration) {\n      newTime = duration + newTime;\n    }\n\n    // Re-start animation\n    let isFinished = false;\n    let isLoopStart = false;\n\n    const looping = this.settings.loop !== false;\n\n    if (hasDuration && newTime >= duration) {\n      // Re-start animation\n      if (looping) {\n        isNewFrame = true;\n        newTime = newTime % duration;\n        isLoopStart = true;\n      } else {\n        isNewFrame = false;\n        newTime = duration;\n        isFinished = true;\n      }\n\n      this._signalEnd();\n    }\n\n    if (isNewFrame) {\n      this.props.deltaTime = deltaTime;\n      this.props.time = newTime;\n      this.props.playhead = this._computePlayhead(newTime, duration);\n      const lastFrame = this.props.frame;\n      this.props.frame = this._computeCurrentFrame();\n      if (isLoopStart) this._signalBegin();\n      if (lastFrame !== this.props.frame) this.tick();\n      this.render();\n      this.props.deltaTime = 0;\n    }\n\n    if (isFinished) {\n      this.pause();\n    }\n  }\n\n  dispatch(cb) {\n    if (typeof cb !== \"function\")\n      throw new Error(\"must pass function into dispatch()\");\n    cb(this.props);\n    this.render();\n  }\n\n  mount() {\n    this._appendCanvasIfNeeded();\n  }\n\n  unmount() {\n    if (isBrowser()) {\n      window.removeEventListener(\"resize\", this._resizeHandler);\n      this._keyboardShortcuts.detach();\n    }\n    if (this.props.canvas.parentElement) {\n      this.props.canvas.parentElement.removeChild(this.props.canvas);\n    }\n  }\n\n  _appendCanvasIfNeeded() {\n    if (!isBrowser()) return;\n    if (\n      this.settings.parent !== false &&\n      this.props.canvas &&\n      !this.props.canvas.parentElement\n    ) {\n      const defaultParent = this.settings.parent || document.body;\n      defaultParent.appendChild(this.props.canvas);\n    }\n  }\n\n  _setupGLKey() {\n    if (this.props.context) {\n      if (isWebGLContext(this.props.context)) {\n        this._props.gl = this.props.context;\n      } else {\n        delete this._props.gl;\n      }\n    }\n  }\n\n  getTimeProps(settings = {}) {\n    // Get timing data\n    let duration = settings.duration;\n    let totalFrames = settings.totalFrames;\n    const timeScale = defined(settings.timeScale, 1);\n    const fps = defined(settings.fps, 24);\n    const hasDuration = typeof duration === \"number\" && isFinite(duration);\n    const hasTotalFrames =\n      typeof totalFrames === \"number\" && isFinite(totalFrames);\n\n    const totalFramesFromDuration = hasDuration\n      ? Math.floor(fps * duration)\n      : undefined;\n    const durationFromTotalFrames = hasTotalFrames\n      ? totalFrames / fps\n      : undefined;\n    if (\n      hasDuration &&\n      hasTotalFrames &&\n      totalFramesFromDuration !== totalFrames\n    ) {\n      throw new Error(\n        \"You should specify either duration or totalFrames, but not both. Or, they must match exactly.\",\n      );\n    }\n\n    if (\n      typeof settings.dimensions === \"undefined\" &&\n      typeof settings.units !== \"undefined\"\n    ) {\n      console.warn(\n        `You've specified a { units } setting but no { dimension }, so the units will be ignored.`,\n      );\n    }\n\n    totalFrames = defined(totalFrames, totalFramesFromDuration, Infinity);\n    duration = defined(duration, durationFromTotalFrames, Infinity);\n\n    const startTime = settings.time;\n    const startFrame = settings.frame;\n    const hasStartTime = typeof startTime === \"number\" && isFinite(startTime);\n    const hasStartFrame =\n      typeof startFrame === \"number\" && isFinite(startFrame);\n\n    // start at zero unless user specifies frame or time (but not both mismatched)\n    let time = 0;\n    let frame = 0;\n    let playhead = 0;\n    if (hasStartTime && hasStartFrame) {\n      throw new Error(\n        \"You should specify either start frame or time, but not both.\",\n      );\n    } else if (hasStartTime) {\n      // User specifies time, we infer frames from FPS\n      time = startTime;\n      playhead = this._computePlayhead(time, duration);\n      frame = this._computeFrame(playhead, time, totalFrames, fps);\n    } else if (hasStartFrame) {\n      // User specifies frame number, we infer time from FPS\n      frame = startFrame;\n      time = frame / fps;\n      playhead = this._computePlayhead(time, duration);\n    }\n\n    return {\n      playhead,\n      time,\n      frame,\n      duration,\n      totalFrames,\n      fps,\n      timeScale,\n    };\n  }\n\n  setup(settings = {}) {\n    if (this.sketch)\n      throw new Error(\"Multiple setup() calls not yet supported.\");\n\n    this._settings = Object.assign({}, settings, this._settings);\n\n    checkSettings(this._settings);\n\n    // Get initial canvas & context\n    const { context, canvas } = createCanvas(this._settings);\n\n    const timeProps = this.getTimeProps(this._settings);\n\n    // Initial render state features\n    this._props = {\n      ...timeProps,\n      canvas,\n      context,\n      deltaTime: 0,\n      started: false,\n      exporting: false,\n      playing: false,\n      recording: false,\n      settings: this.settings,\n      data: this.settings.data,\n\n      // Export some specific actions to the sketch\n      render: () => this.render(),\n      togglePlay: () => this.togglePlay(),\n      dispatch: (cb) => this.dispatch(cb),\n      tick: () => this.tick(),\n      resize: () => this.resize(),\n      update: (opt) => this.update(opt),\n      exportFrame: (opt) => this.exportFrame(opt),\n      record: () => this.record(),\n      play: () => this.play(),\n      pause: () => this.pause(),\n      stop: () => this.stop(),\n    };\n\n    // For WebGL sketches, a gl variable reads a bit better\n    this._setupGLKey();\n\n    // Trigger initial resize now so that canvas is already sized\n    // by the time we load the sketch\n    this.resize();\n  }\n\n  loadAndRun(canvasSketch, newSettings) {\n    return this.load(canvasSketch, newSettings).then(() => {\n      this.run();\n      return this;\n    });\n  }\n\n  unload() {\n    this.pause();\n    if (!this.sketch) return;\n    if (typeof this.sketch.unload === \"function\") {\n      this._wrapContextScale((props) => this.sketch.unload(props));\n    }\n    this._sketch = null;\n  }\n\n  destroy() {\n    this.unload();\n    this.unmount();\n  }\n\n  load(createSketch, newSettings) {\n    // User didn't specify a function\n    if (typeof createSketch !== \"function\") {\n      throw new Error(\n        \"The function must take in a function as the first parameter. Example:\\n  canvasSketcher(() => { ... }, settings)\",\n      );\n    }\n\n    if (this.sketch) {\n      this.unload();\n    }\n\n    if (typeof newSettings !== \"undefined\") {\n      this.update(newSettings);\n    }\n\n    // This is a bit of a tricky case; we set up the auto-scaling here\n    // in case the user decides to render anything to the context *before* the\n    // render() function... However, users should instead use begin() function for that.\n    this._preRender();\n\n    let preload = Promise.resolve();\n\n    // Because of P5.js's unusual structure, we have to do a bit of\n    // library-specific changes to support it properly.\n    if (this.settings.p5) {\n      if (!isBrowser()) {\n        throw new Error(\n          \"[canvas-sketch] ERROR: Using p5.js in Node.js is not supported\",\n        );\n      }\n      preload = new Promise((resolve) => {\n        let P5Constructor = this.settings.p5;\n        let preload;\n        if (P5Constructor.p5) {\n          preload = P5Constructor.preload;\n          P5Constructor = P5Constructor.p5;\n        }\n\n        // The sketch setup; disable loop, set sizing, etc.\n        const p5Sketch = (p5) => {\n          // Hook in preload if necessary\n          if (preload) p5.preload = () => preload(p5);\n          p5.setup = () => {\n            const props = this.props;\n            const isGL = this.settings.context === \"webgl\";\n            const renderer = isGL ? p5.WEBGL : p5.P2D;\n            p5.noLoop();\n            p5.pixelDensity(props.pixelRatio);\n            p5.createCanvas(\n              props.viewportWidth,\n              props.viewportHeight,\n              renderer,\n            );\n            if (isGL && this.settings.attributes) {\n              p5.setAttributes(this.settings.attributes);\n            }\n\n            this.update({\n              p5,\n              canvas: p5.canvas,\n              context: p5._renderer.drawingContext,\n            });\n            resolve();\n          };\n        };\n\n        // Support global and instance P5.js modes\n        if (typeof P5Constructor === \"function\") {\n          new P5Constructor(p5Sketch);\n        } else {\n          if (typeof window.createCanvas !== \"function\") {\n            throw new Error(\n              \"{ p5 } setting is passed but can't find p5.js in global (window) scope. Maybe you did not create it globally?\\nnew p5(); // <-- attaches to global scope\",\n            );\n          }\n          p5Sketch(window);\n        }\n      });\n    }\n\n    return preload\n      .then(() => {\n        // Load the user's sketch\n        let loader = createSketch(this.props);\n        if (!isPromise(loader)) {\n          loader = Promise.resolve(loader);\n        }\n        return loader;\n      })\n      .then((sketch) => {\n        if (!sketch) sketch = {};\n        this._sketch = sketch;\n\n        // Once the sketch is loaded we can add the events\n        if (isBrowser()) {\n          this._keyboardShortcuts.attach();\n          window.addEventListener(\"resize\", this._resizeHandler);\n        }\n\n        this._postRender();\n\n        // The initial resize() in the constructor will not have\n        // triggered a resize() event on the sketch, since it was before\n        // the sketch was loaded. So we send the signal here, allowing\n        // users to react to the initial size before first render.\n        this._sizeChanged();\n        return this;\n      })\n      .catch((err) => {\n        console.warn(\n          \"Could not start sketch, the async loading function rejected with an error:\\n    Error: \" +\n            err.message,\n        );\n        throw err;\n      });\n  }\n}\n\nexport default SketchManager;\n","import SketchManager from './core/SketchManager';\nimport PaperSizes from './paper-sizes';\nimport { getClientAPI, defined } from './util';\n\nconst CACHE = 'hot-id-cache';\nconst runtimeCollisions = [];\n\nfunction isHotReload () {\n  const client = getClientAPI();\n  return client && client.hot;\n}\n\nfunction cacheGet (id) {\n  const client = getClientAPI();\n  if (!client) return undefined;\n  client[CACHE] = client[CACHE] || {};\n  return client[CACHE][id];\n}\n\nfunction cachePut (id, data) {\n  const client = getClientAPI();\n  if (!client) return undefined;\n  client[CACHE] = client[CACHE] || {};\n  client[CACHE][id] = data;\n}\n\nfunction getTimeProp (oldManager, newSettings) {\n  // Static sketches ignore the time persistency\n  return newSettings.animate ? { time: oldManager.props.time } : undefined;\n}\n\nfunction canvasSketch (sketch, settings = {}) {\n  if (settings.p5) {\n    if (settings.canvas || (settings.context && typeof settings.context !== 'string')) {\n      throw new Error(`In { p5 } mode, you can't pass your own canvas or context, unless the context is a \"webgl\" or \"2d\" string`);\n    }\n\n    // Do not create a canvas on startup, since P5.js does that for us\n    const context = typeof settings.context === 'string' ? settings.context : false;\n    settings = Object.assign({}, settings, { canvas: false, context });\n  }\n\n  const isHot = isHotReload();\n  let hotID;\n  if (isHot) {\n    // Use a magic name by default, force user to define each sketch if they\n    // require more than one in an application. Open to other ideas on how to tackle\n    // this as well...\n    hotID = defined(settings.id, '$__DEFAULT_CANVAS_SKETCH_ID__$');\n  }\n  let isInjecting = isHot && typeof hotID === 'string';\n\n  if (isInjecting && runtimeCollisions.includes(hotID)) {\n    console.warn(`Warning: You have multiple calls to canvasSketch() in --hot mode. You must pass unique { id } strings in settings to enable hot reload across multiple sketches. `, hotID);\n    isInjecting = false;\n  }\n\n  let preload = Promise.resolve();\n\n  if (isInjecting) {\n    // Mark this as already spotted in this runtime instance\n    runtimeCollisions.push(hotID);\n\n    const previousData = cacheGet(hotID);\n    if (previousData) {\n      const next = () => {\n        // Grab new props from old sketch instance\n        const newProps = getTimeProp(previousData.manager, settings);\n        // Destroy the old instance\n        previousData.manager.destroy();\n        // Pass along new props\n        return newProps;\n      };\n\n      // Move along the next data...\n      preload = previousData.load.then(next).catch(next);\n    }\n  }\n\n  return preload.then(newProps => {\n    const manager = new SketchManager();\n    let result;\n    if (sketch) {\n      // Merge with incoming data\n      settings = Object.assign({}, settings, newProps);\n\n      // Apply settings and create a canvas\n      manager.setup(settings);\n\n      // Mount to DOM\n      manager.mount();\n\n      // load the sketch first\n      result = manager.loadAndRun(sketch);\n    } else {\n      result = Promise.resolve(manager);\n    }\n    if (isInjecting) {\n      cachePut(hotID, { load: result, manager });\n    }\n    return result;\n  });\n}\n\n// TODO: Figure out a nice way to export things.\ncanvasSketch.canvasSketch = canvasSketch;\ncanvasSketch.PaperSizes = PaperSizes;\n\nexport default canvasSketch;\n"],"names":["global","getClientAPI","window","defined","i","arguments","length","undefined","isBrowser","document","isWebGLContext","ctx","clear","clearColor","bufferData","is2DContext","save","scale","restore","isCanvas","element","isDOM","test","nodeName","getContext","toStr","isArguments","keysShim","require$$0","implementation","isArgs","shams","hasSymbols","abs","floor","max","min","pow","round","sign","gOPD","$gOPD","$defineProperty","hasSymbolSham","$Object","$reflectApply","bind","$call","$apply","$TypeError","$actualApply","callBind","reflectGetProto","originalGetProto","$Error","$ObjectGPO","$ReflectGPO","$exec","callBindBasic","callBound","hasToStringTag","$toString","gopd","supportsDescriptors","defineProperty","defineDataProperty","keys","hasDescriptors","setFunctionLength","polyfill","shim","getPolyfill","define","require$$1","is","flags","noop","link","defaultExts","extension","prefix","suffix","supportedEncodings","stream","isStart","opts","Promise","resolve","reject","Object","assign","filename","resolveFilename","frame","func","client","output","then","ev","streamStart","streamEnd","exportCanvas","canvas","opt","encoding","includes","Error","split","replace","toLowerCase","type","dataURL","toDataURL","encodingQuality","createBlobFromDataURL","splitIndex","indexOf","Blob","base64","slice","byteString","atob","mimeMatch","exec","mime","ab","ArrayBuffer","ia","Uint8Array","charCodeAt","saveDataURL","blob","saveBlob","createElement","style","visibility","target","download","href","URL","createObjectURL","body","appendChild","onclick","setTimeout","revokeObjectURL","parentElement","removeChild","removeAttribute","click","saveFile","data","parts","Array","isArray","getTimeStamp","dateFormatStr","dateformat","Date","file","totalFrames","Math","String","padStart","layerStr","isFinite","totalLayers","layer","filter","Boolean","join","defaultFileName","timeStamp","name","hash","commonTypos","dimension","animated","animating","unit","P5","pixellated","looping","pixelPerInch","allKeys","checkSettings","settings","forEach","key","actual","console","warn","handler","enabled","keyCode","altKey","metaKey","ctrlKey","preventDefault","togglePlay","commit","attach","addEventListener","detach","removeEventListener","defaultUnits","reduce","dict","preset","item","units","dimensions","convertDistance","getDimensionsFromPreset","unitsTo","pixelsPerInch","paperSizes","map","d","unitsFrom","convertLength","precision","roundPixel","checkIfHasDimensions","getParentSize","props","parent","innerWidth","innerHeight","_element$getBoundingC","getBoundingClientRect","width","height","resizeCanvas","styleWidth","styleHeight","canvasWidth","canvasHeight","browser","hasDimensions","exporting","scaleToFit","scaleToView","bleed","devicePixelRatio","basePixelRatio","pixelRatio","exportPixelRatio","maxPixelRatio","_getParentSize","parentWidth","parentHeight","trimWidth","trimHeight","result","highest","lowest","orientation","landscape","realWidth","realHeight","aspect","windowAspect","scaleToFitPadding","maxWidth","maxHeight","viewportWidth","viewportHeight","scaleX","scaleY","createCanvasElement","createCanvas","context","ownsCanvas","ownedCanvas","newCanvas","getCanvasContext","attributes","curCanvas","pixelated","imageSmoothingEnabled","mozImageSmoothingEnabled","oImageSmoothingEnabled","webkitImageSmoothingEnabled","msImageSmoothingEnabled","SketchManager","_this","_settings","_props","_sketch","_raf","_recordTimeout","_lastRedrawResult","_isP5Resizing","_keyboardShortcuts","keyboardShortcuts","hotkeys","shiftKey","recording","endRecord","run","record","exportFrame","playing","pause","play","_animateHandler","animate","_resizeHandler","changed","resize","render","_proto","prototype","_computePlayhead","currentTime","duration","hasDuration","_computeFrame","playhead","time","fps","_computeCurrentFrame","_getSizeProps","sketch","dispose","started","_signalBegin","tick","_cancelTimeouts","cancelAnimationFrame","clearTimeout","error","_lastTime","rightNow","requestAnimationFrame","stop","deltaTime","_this2","exportOpts","_createExportOptions","sequence","frameInterval","log","_signalEnd","beginRecord","_wrapContextScale","err","response","_this3","begin","_this4","end","_this5","wasRecording","_this6","all","preExport","p","commitOpts","isPromise","_doExportFrame","_this7","drawResult","concat","hasDataObject","_exportCanvas","layerList","curOpt","saveParam","k","savePromise","saveResult","savedEvents","e","eventWithOutput","find","outputName","isClient","some","isStreaming","ofSeq","hasTotalFrames","action","postExport","cb","_preRender","_postRender","p5","scaleContext","gl","flush","redraw","submitDrawCall","update","_this8","notYetSupported","oldCanvas","oldContext","value","timeOpts","timeProps","getTimeProps","_createCanvas","_setupGLKey","_appendCanvasIfNeeded","draw","oldSizes","newProps","_this$props","pixelDensity","styleCanvas","newSizes","deepEqual","_sizeChanged","now","frameIntervalMS","deltaTimeMS","isNewFrame","playbackRate","newTime","timeScale","isFinished","isLoopStart","loop","lastFrame","dispatch","mount","unmount","defaultParent","totalFramesFromDuration","durationFromTotalFrames","Infinity","startTime","startFrame","hasStartTime","hasStartFrame","setup","_this9","_createCanvas2","_extends","loadAndRun","canvasSketch","newSettings","_this0","load","unload","_this1","destroy","createSketch","_this10","preload","P5Constructor","p5Sketch","isGL","renderer","WEBGL","P2D","noLoop","setAttributes","_renderer","drawingContext","loader","message","_createClass","get","CACHE","runtimeCollisions","isHotReload","hot","cacheGet","id","cachePut","getTimeProp","oldManager","isHot","hotID","isInjecting","push","previousData","next","manager","PaperSizes"],"mappings":"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"}