{"version":3,"file":"js/634-a1a1d476d683e3ac6f63.js","mappings":"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","sources":["webpack://scout/./node_modules/smoothscroll-polyfill/dist/smoothscroll.js","webpack://scout/./node_modules/trix/dist/trix.esm.min.js","webpack://scout/./node_modules/@rails/actiontext/app/assets/javascripts/actiontext.js","webpack://scout/./node_modules/d3-geo/src/math.js","webpack://scout/./node_modules/d3-geo/src/projection/azimuthal.js","webpack://scout/./node_modules/d3-geo/src/noop.js","webpack://scout/./node_modules/d3-geo/src/clip/buffer.js","webpack://scout/./node_modules/d3-geo/src/pointEqual.js","webpack://scout/./node_modules/d3-geo/src/clip/rejoin.js","webpack://scout/./node_modules/d3-geo/node_modules/d3-array/src/fsum.js","webpack://scout/./node_modules/d3-geo/src/cartesian.js","webpack://scout/./node_modules/d3-geo/src/polygonContains.js","webpack://scout/./node_modules/d3-geo/node_modules/d3-array/src/merge.js","webpack://scout/./node_modules/d3-geo/src/clip/index.js","webpack://scout/./node_modules/d3-geo/src/clip/antimeridian.js","webpack://scout/./node_modules/d3-geo/src/circle.js","webpack://scout/./node_modules/d3-geo/src/clip/rectangle.js","webpack://scout/./node_modules/d3-geo/src/clip/line.js","webpack://scout/./node_modules/d3-geo/src/compose.js","webpack://scout/./node_modules/d3-geo/src/identity.js","webpack://scout/./node_modules/d3-geo/src/rotation.js","webpack://scout/./node_modules/d3-geo/src/transform.js","webpack://scout/./node_modules/d3-geo/src/stream.js","webpack://scout/./node_modules/d3-geo/src/path/bounds.js","webpack://scout/./node_modules/d3-geo/src/projection/fit.js","webpack://scout/./node_modules/d3-geo/src/projection/resample.js","webpack://scout/./node_modules/d3-geo/src/projection/index.js","webpack://scout/./node_modules/d3-geo/src/clip/circle.js","webpack://scout/./node_modules/d3-geo/src/projection/azimuthalEqualArea.js","webpack://scout/./node_modules/d3-geo/src/projection/azimuthalEquidistant.js","webpack://scout/./node_modules/d3-geo/src/projection/gnomonic.js","webpack://scout/./node_modules/d3-geo/src/projection/orthographic.js","webpack://scout/./node_modules/d3-geo/src/projection/stereographic.js","webpack://scout/./node_modules/d3-geo/src/projection/equalEarth.js","webpack://scout/./node_modules/d3-geo/src/projection/conic.js","webpack://scout/./node_modules/d3-geo/src/projection/conicEqualArea.js","webpack://scout/./node_modules/d3-geo/src/projection/cylindricalEqualArea.js","webpack://scout/./node_modules/d3-geo/src/projection/albers.js","webpack://scout/./node_modules/d3-geo/src/projection/mercator.js","webpack://scout/./node_modules/d3-geo/src/projection/conicConformal.js","webpack://scout/./node_modules/d3-geo/src/projection/equirectangular.js","webpack://scout/./node_modules/d3-geo/src/projection/conicEquidistant.js","webpack://scout/./node_modules/d3-geo/src/projection/transverseMercator.js","webpack://scout/./node_modules/d3-geo/src/projection/naturalEarth1.js","webpack://scout/./node_modules/d3-geo/src/path/area.js","webpack://scout/./node_modules/d3-geo/src/path/centroid.js","webpack://scout/./node_modules/d3-geo/src/path/context.js","webpack://scout/./node_modules/d3-geo/src/path/measure.js","webpack://scout/./node_modules/d3-geo/src/path/string.js","webpack://scout/./node_modules/d3-geo/src/path/index.js","webpack://scout/./node_modules/d3-geo/src/length.js","webpack://scout/./node_modules/d3-geo/src/distance.js","webpack://scout/./node_modules/d3-geo/src/contains.js","webpack://scout/./node_modules/d3-geo/node_modules/d3-array/src/range.js","webpack://scout/./node_modules/d3-geo/src/graticule.js","webpack://scout/./node_modules/d3-scale-chromatic/src/colors.js","webpack://scout/./node_modules/d3-color/src/define.js","webpack://scout/./node_modules/d3-color/src/color.js","webpack://scout/./node_modules/d3-interpolate/src/basis.js","webpack://scout/./node_modules/d3-interpolate/src/constant.js","webpack://scout/./node_modules/d3-interpolate/src/color.js","webpack://scout/./node_modules/d3-interpolate/src/rgb.js","webpack://scout/./node_modules/d3-interpolate/src/basisClosed.js","webpack://scout/./node_modules/d3-scale-chromatic/src/ramp.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-single/Blues.js","webpack://scout/./node_modules/d3-scale-chromatic/src/diverging/BrBG.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-multi/BuGn.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-multi/BuPu.js","webpack://scout/./node_modules/d3-color/src/math.js","webpack://scout/./node_modules/d3-color/src/cubehelix.js","webpack://scout/./node_modules/d3-interpolate/src/cubehelix.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-multi/rainbow.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-multi/cubehelix.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-multi/GnBu.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-single/Greens.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-single/Greys.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-multi/viridis.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-multi/OrRd.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-single/Oranges.js","webpack://scout/./node_modules/d3-scale-chromatic/src/diverging/PRGn.js","webpack://scout/./node_modules/d3-scale-chromatic/src/diverging/PiYG.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-multi/PuBu.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-multi/PuBuGn.js","webpack://scout/./node_modules/d3-scale-chromatic/src/diverging/PuOr.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-multi/PuRd.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-single/Purples.js","webpack://scout/./node_modules/d3-scale-chromatic/src/diverging/RdBu.js","webpack://scout/./node_modules/d3-scale-chromatic/src/diverging/RdGy.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-multi/RdPu.js","webpack://scout/./node_modules/d3-scale-chromatic/src/diverging/RdYlBu.js","webpack://scout/./node_modules/d3-scale-chromatic/src/diverging/RdYlGn.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-single/Reds.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-multi/sinebow.js","webpack://scout/./node_modules/d3-scale-chromatic/src/diverging/Spectral.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-multi/YlGn.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-multi/YlGnBu.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-multi/YlOrBr.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-multi/YlOrRd.js","webpack://scout/./node_modules/chartjs-chart-geo/build/index.js","webpack://scout/./node_modules/d3-geo/src/projection/albersUsa.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-multi/cividis.js","webpack://scout/./node_modules/d3-scale-chromatic/src/sequential-multi/turbo.js"],"sourcesContent":["/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */\n(function () {\n 'use strict';\n\n // polyfill\n function polyfill() {\n // aliases\n var w = window;\n var d = document;\n\n // return if scroll behavior is supported and polyfill is not forced\n if (\n 'scrollBehavior' in d.documentElement.style &&\n w.__forceSmoothScrollPolyfill__ !== true\n ) {\n return;\n }\n\n // globals\n var Element = w.HTMLElement || w.Element;\n var SCROLL_TIME = 468;\n\n // object gathering original scroll methods\n var original = {\n scroll: w.scroll || w.scrollTo,\n scrollBy: w.scrollBy,\n elementScroll: Element.prototype.scroll || scrollElement,\n scrollIntoView: Element.prototype.scrollIntoView\n };\n\n // define timing method\n var now =\n w.performance && w.performance.now\n ? w.performance.now.bind(w.performance)\n : Date.now;\n\n /**\n * indicates if a the current browser is made by Microsoft\n * @method isMicrosoftBrowser\n * @param {String} userAgent\n * @returns {Boolean}\n */\n function isMicrosoftBrowser(userAgent) {\n var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n }\n\n /*\n * IE has rounding bug rounding down clientHeight and clientWidth and\n * rounding up scrollHeight and scrollWidth causing false positives\n * on hasScrollableSpace\n */\n var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n\n /**\n * changes scroll position inside an element\n * @method scrollElement\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function scrollElement(x, y) {\n this.scrollLeft = x;\n this.scrollTop = y;\n }\n\n /**\n * returns result of applying ease math function to a number\n * @method ease\n * @param {Number} k\n * @returns {Number}\n */\n function ease(k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n }\n\n /**\n * indicates if a smooth behavior should be applied\n * @method shouldBailOut\n * @param {Number|Object} firstArg\n * @returns {Boolean}\n */\n function shouldBailOut(firstArg) {\n if (\n firstArg === null ||\n typeof firstArg !== 'object' ||\n firstArg.behavior === undefined ||\n firstArg.behavior === 'auto' ||\n firstArg.behavior === 'instant'\n ) {\n // first argument is not an object/null\n // or behavior is auto, instant or undefined\n return true;\n }\n\n if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\n // first argument is an object and behavior is smooth\n return false;\n }\n\n // throw error when behavior is not supported\n throw new TypeError(\n 'behavior member of ScrollOptions ' +\n firstArg.behavior +\n ' is not a valid value for enumeration ScrollBehavior.'\n );\n }\n\n /**\n * indicates if an element has scrollable space in the provided axis\n * @method hasScrollableSpace\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function hasScrollableSpace(el, axis) {\n if (axis === 'Y') {\n return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\n }\n\n if (axis === 'X') {\n return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\n }\n }\n\n /**\n * indicates if an element has a scrollable overflow property in the axis\n * @method canOverflow\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function canOverflow(el, axis) {\n var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n\n return overflowValue === 'auto' || overflowValue === 'scroll';\n }\n\n /**\n * indicates if an element can be scrolled in either axis\n * @method isScrollable\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function isScrollable(el) {\n var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');\n var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');\n\n return isScrollableY || isScrollableX;\n }\n\n /**\n * finds scrollable parent of an element\n * @method findScrollableParent\n * @param {Node} el\n * @returns {Node} el\n */\n function findScrollableParent(el) {\n while (el !== d.body && isScrollable(el) === false) {\n el = el.parentNode || el.host;\n }\n\n return el;\n }\n\n /**\n * self invoked function that, given a context, steps through scrolling\n * @method step\n * @param {Object} context\n * @returns {undefined}\n */\n function step(context) {\n var time = now();\n var value;\n var currentX;\n var currentY;\n var elapsed = (time - context.startTime) / SCROLL_TIME;\n\n // avoid elapsed times higher than one\n elapsed = elapsed > 1 ? 1 : elapsed;\n\n // apply easing to elapsed time\n value = ease(elapsed);\n\n currentX = context.startX + (context.x - context.startX) * value;\n currentY = context.startY + (context.y - context.startY) * value;\n\n context.method.call(context.scrollable, currentX, currentY);\n\n // scroll more if we have not reached our destination\n if (currentX !== context.x || currentY !== context.y) {\n w.requestAnimationFrame(step.bind(w, context));\n }\n }\n\n /**\n * scrolls window or element with a smooth behavior\n * @method smoothScroll\n * @param {Object|Node} el\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function smoothScroll(el, x, y) {\n var scrollable;\n var startX;\n var startY;\n var method;\n var startTime = now();\n\n // define scroll context\n if (el === d.body) {\n scrollable = w;\n startX = w.scrollX || w.pageXOffset;\n startY = w.scrollY || w.pageYOffset;\n method = original.scroll;\n } else {\n scrollable = el;\n startX = el.scrollLeft;\n startY = el.scrollTop;\n method = scrollElement;\n }\n\n // scroll looping over a frame\n step({\n scrollable: scrollable,\n method: method,\n startTime: startTime,\n startX: startX,\n startY: startY,\n x: x,\n y: y\n });\n }\n\n // ORIGINAL METHODS OVERRIDES\n // w.scroll and w.scrollTo\n w.scroll = w.scrollTo = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scroll.call(\n w,\n arguments[0].left !== undefined\n ? arguments[0].left\n : typeof arguments[0] !== 'object'\n ? arguments[0]\n : w.scrollX || w.pageXOffset,\n // use top prop, second argument if present or fallback to scrollY\n arguments[0].top !== undefined\n ? arguments[0].top\n : arguments[1] !== undefined\n ? arguments[1]\n : w.scrollY || w.pageYOffset\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n w,\n d.body,\n arguments[0].left !== undefined\n ? ~~arguments[0].left\n : w.scrollX || w.pageXOffset,\n arguments[0].top !== undefined\n ? ~~arguments[0].top\n : w.scrollY || w.pageYOffset\n );\n };\n\n // w.scrollBy\n w.scrollBy = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0])) {\n original.scrollBy.call(\n w,\n arguments[0].left !== undefined\n ? arguments[0].left\n : typeof arguments[0] !== 'object' ? arguments[0] : 0,\n arguments[0].top !== undefined\n ? arguments[0].top\n : arguments[1] !== undefined ? arguments[1] : 0\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n w,\n d.body,\n ~~arguments[0].left + (w.scrollX || w.pageXOffset),\n ~~arguments[0].top + (w.scrollY || w.pageYOffset)\n );\n };\n\n // Element.prototype.scroll and Element.prototype.scrollTo\n Element.prototype.scroll = Element.prototype.scrollTo = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n // if one number is passed, throw error to match Firefox implementation\n if (typeof arguments[0] === 'number' && arguments[1] === undefined) {\n throw new SyntaxError('Value could not be converted');\n }\n\n original.elementScroll.call(\n this,\n // use left prop, first number argument or fallback to scrollLeft\n arguments[0].left !== undefined\n ? ~~arguments[0].left\n : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft,\n // use top prop, second argument or fallback to scrollTop\n arguments[0].top !== undefined\n ? ~~arguments[0].top\n : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop\n );\n\n return;\n }\n\n var left = arguments[0].left;\n var top = arguments[0].top;\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n this,\n this,\n typeof left === 'undefined' ? this.scrollLeft : ~~left,\n typeof top === 'undefined' ? this.scrollTop : ~~top\n );\n };\n\n // Element.prototype.scrollBy\n Element.prototype.scrollBy = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.elementScroll.call(\n this,\n arguments[0].left !== undefined\n ? ~~arguments[0].left + this.scrollLeft\n : ~~arguments[0] + this.scrollLeft,\n arguments[0].top !== undefined\n ? ~~arguments[0].top + this.scrollTop\n : ~~arguments[1] + this.scrollTop\n );\n\n return;\n }\n\n this.scroll({\n left: ~~arguments[0].left + this.scrollLeft,\n top: ~~arguments[0].top + this.scrollTop,\n behavior: arguments[0].behavior\n });\n };\n\n // Element.prototype.scrollIntoView\n Element.prototype.scrollIntoView = function() {\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scrollIntoView.call(\n this,\n arguments[0] === undefined ? true : arguments[0]\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n var scrollableParent = findScrollableParent(this);\n var parentRects = scrollableParent.getBoundingClientRect();\n var clientRects = this.getBoundingClientRect();\n\n if (scrollableParent !== d.body) {\n // reveal element inside parent\n smoothScroll.call(\n this,\n scrollableParent,\n scrollableParent.scrollLeft + clientRects.left - parentRects.left,\n scrollableParent.scrollTop + clientRects.top - parentRects.top\n );\n\n // reveal parent in viewport unless is fixed\n if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\n w.scrollBy({\n left: parentRects.left,\n top: parentRects.top,\n behavior: 'smooth'\n });\n }\n } else {\n // reveal element in viewport\n w.scrollBy({\n left: clientRects.left,\n top: clientRects.top,\n behavior: 'smooth'\n });\n }\n };\n }\n\n if (typeof exports === 'object' && typeof module !== 'undefined') {\n // commonjs\n module.exports = { polyfill: polyfill };\n } else {\n // global\n polyfill();\n }\n\n}());\n","/*\nTrix 2.1.9\nCopyright © 2024 37signals, LLC\n */\nvar t=\"2.1.9\";const e=\"[data-trix-attachment]\",i={preview:{presentation:\"gallery\",caption:{name:!0,size:!0}},file:{caption:{size:!0}}},n={default:{tagName:\"div\",parse:!1},quote:{tagName:\"blockquote\",nestable:!0},heading1:{tagName:\"h1\",terminal:!0,breakOnReturn:!0,group:!1},code:{tagName:\"pre\",terminal:!0,htmlAttributes:[\"language\"],text:{plaintext:!0}},bulletList:{tagName:\"ul\",parse:!1},bullet:{tagName:\"li\",listAttribute:\"bulletList\",group:!1,nestable:!0,test(t){return r(t.parentNode)===n[this.listAttribute].tagName}},numberList:{tagName:\"ol\",parse:!1},number:{tagName:\"li\",listAttribute:\"numberList\",group:!1,nestable:!0,test(t){return r(t.parentNode)===n[this.listAttribute].tagName}},attachmentGallery:{tagName:\"div\",exclusive:!0,terminal:!0,parse:!1,group:!1}},r=t=>{var e;return null==t||null===(e=t.tagName)||void 0===e?void 0:e.toLowerCase()},o=navigator.userAgent.match(/android\\s([0-9]+.*Chrome)/i),s=o&&parseInt(o[1]);var a={composesExistingText:/Android.*Chrome/.test(navigator.userAgent),recentAndroid:s&&s>12,samsungAndroid:s&&navigator.userAgent.match(/Android.*SM-/),forcesObjectResizing:/Trident.*rv:11/.test(navigator.userAgent),supportsInputEvents:\"undefined\"!=typeof InputEvent&&[\"data\",\"getTargetRanges\",\"inputType\"].every((t=>t in InputEvent.prototype))},l={attachFiles:\"Attach Files\",bold:\"Bold\",bullets:\"Bullets\",byte:\"Byte\",bytes:\"Bytes\",captionPlaceholder:\"Add a caption…\",code:\"Code\",heading1:\"Heading\",indent:\"Increase Level\",italic:\"Italic\",link:\"Link\",numbers:\"Numbers\",outdent:\"Decrease Level\",quote:\"Quote\",redo:\"Redo\",remove:\"Remove\",strike:\"Strikethrough\",undo:\"Undo\",unlink:\"Unlink\",url:\"URL\",urlPlaceholder:\"Enter a URL…\",GB:\"GB\",KB:\"KB\",MB:\"MB\",PB:\"PB\",TB:\"TB\"};const c=[l.bytes,l.KB,l.MB,l.GB,l.TB,l.PB];var u={prefix:\"IEC\",precision:2,formatter(t){switch(t){case 0:return\"0 \".concat(l.bytes);case 1:return\"1 \".concat(l.byte);default:let e;\"SI\"===this.prefix?e=1e3:\"IEC\"===this.prefix&&(e=1024);const i=Math.floor(Math.log(t)/Math.log(e)),n=(t/Math.pow(e,i)).toFixed(this.precision).replace(/0*$/,\"\").replace(/\\.$/,\"\");return\"\".concat(n,\" \").concat(c[i])}}};const h=\"\\ufeff\",d=\" \",g=function(t){for(const e in t){const i=t[e];this[e]=i}return this},m=document.documentElement,p=m.matches,f=function(t){let{onElement:e,matchingSelector:i,withCallback:n,inPhase:r,preventDefault:o,times:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const a=e||m,l=i,c=\"capturing\"===r,u=function(t){null!=s&&0==--s&&u.destroy();const e=A(t.target,{matchingSelector:l});null!=e&&(null==n||n.call(e,t,e),o&&t.preventDefault())};return u.destroy=()=>a.removeEventListener(t,u,c),a.addEventListener(t,u,c),u},b=function(t){let{onElement:e,bubbles:i,cancelable:n,attributes:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=null!=e?e:m;i=!1!==i,n=!1!==n;const s=document.createEvent(\"Events\");return s.initEvent(t,i,n),null!=r&&g.call(s,r),o.dispatchEvent(s)},v=function(t,e){if(1===(null==t?void 0:t.nodeType))return p.call(t,e)},A=function(t){let{matchingSelector:e,untilNode:i}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.parentNode;if(null!=t){if(null==e)return t;if(t.closest&&null==i)return t.closest(e);for(;t&&t!==i;){if(v(t,e))return t;t=t.parentNode}}},y=t=>document.activeElement!==t&&x(t,document.activeElement),x=function(t,e){if(t&&e)for(;e;){if(e===t)return!0;e=e.parentNode}},C=function(t){var e;if(null===(e=t)||void 0===e||!e.parentNode)return;let i=0;for(t=t.previousSibling;t;)i++,t=t.previousSibling;return i},E=t=>{var e;return null==t||null===(e=t.parentNode)||void 0===e?void 0:e.removeChild(t)},S=function(t){let{onlyNodesOfType:e,usingFilter:i,expandEntityReferences:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=(()=>{switch(e){case\"element\":return NodeFilter.SHOW_ELEMENT;case\"text\":return NodeFilter.SHOW_TEXT;case\"comment\":return NodeFilter.SHOW_COMMENT;default:return NodeFilter.SHOW_ALL}})();return document.createTreeWalker(t,r,null!=i?i:null,!0===n)},R=t=>{var e;return null==t||null===(e=t.tagName)||void 0===e?void 0:e.toLowerCase()},k=function(t){let e,i,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"object\"==typeof t?(n=t,t=n.tagName):n={attributes:n};const r=document.createElement(t);if(null!=n.editable&&(null==n.attributes&&(n.attributes={}),n.attributes.contenteditable=n.editable),n.attributes)for(e in n.attributes)i=n.attributes[e],r.setAttribute(e,i);if(n.style)for(e in n.style)i=n.style[e],r.style[e]=i;if(n.data)for(e in n.data)i=n.data[e],r.dataset[e]=i;return n.className&&n.className.split(\" \").forEach((t=>{r.classList.add(t)})),n.textContent&&(r.textContent=n.textContent),n.childNodes&&[].concat(n.childNodes).forEach((t=>{r.appendChild(t)})),r};let T;const w=function(){if(null!=T)return T;T=[];for(const t in n){const e=n[t];e.tagName&&T.push(e.tagName)}return T},L=t=>N(null==t?void 0:t.firstChild),D=function(t){let{strict:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{strict:!0};return e?N(t):N(t)||!N(t.firstChild)&&function(t){return w().includes(R(t))&&!w().includes(R(t.firstChild))}(t)},N=t=>I(t)&&\"block\"===(null==t?void 0:t.data),I=t=>(null==t?void 0:t.nodeType)===Node.COMMENT_NODE,O=function(t){let{name:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t)return M(t)?t.data===h?!e||t.parentNode.dataset.trixCursorTarget===e:void 0:O(t.firstChild)},P=t=>v(t,e),F=t=>M(t)&&\"\"===(null==t?void 0:t.data),M=t=>(null==t?void 0:t.nodeType)===Node.TEXT_NODE,B={level2Enabled:!0,getLevel(){return this.level2Enabled&&a.supportsInputEvents?2:0},pickFiles(t){const e=k(\"input\",{type:\"file\",multiple:!0,hidden:!0,id:this.fileInputId});e.addEventListener(\"change\",(()=>{t(e.files),E(e)})),E(document.getElementById(this.fileInputId)),document.body.appendChild(e),e.click()}};var _={removeBlankTableCells:!1,tableCellSeparator:\" | \",tableRowSeparator:\"\\n\"},j={bold:{tagName:\"strong\",inheritable:!0,parser(t){const e=window.getComputedStyle(t);return\"bold\"===e.fontWeight||e.fontWeight>=600}},italic:{tagName:\"em\",inheritable:!0,parser:t=>\"italic\"===window.getComputedStyle(t).fontStyle},href:{groupTagName:\"a\",parser(t){const i=\"a:not(\".concat(e,\")\"),n=t.closest(i);if(n)return n.getAttribute(\"href\")}},strike:{tagName:\"del\",inheritable:!0},frozen:{style:{backgroundColor:\"highlight\"}}},W={getDefaultHTML:()=>'
\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n\\n \\n \\n \\n \\n
\\n\\n
\\n
\\n \\n
\\n
')};const U={interval:5e3};var V=Object.freeze({__proto__:null,attachments:i,blockAttributes:n,browser:a,css:{attachment:\"attachment\",attachmentCaption:\"attachment__caption\",attachmentCaptionEditor:\"attachment__caption-editor\",attachmentMetadata:\"attachment__metadata\",attachmentMetadataContainer:\"attachment__metadata-container\",attachmentName:\"attachment__name\",attachmentProgress:\"attachment__progress\",attachmentSize:\"attachment__size\",attachmentToolbar:\"attachment__toolbar\",attachmentGallery:\"attachment-gallery\"},fileSize:u,input:B,keyNames:{8:\"backspace\",9:\"tab\",13:\"return\",27:\"escape\",37:\"left\",39:\"right\",46:\"delete\",68:\"d\",72:\"h\",79:\"o\"},lang:l,parser:_,textAttributes:j,toolbar:W,undo:U});class q{static proxyMethod(t){const{name:e,toMethod:i,toProperty:n,optional:r}=H(t);this.prototype[e]=function(){let t,o;var s,a;i?o=r?null===(s=this[i])||void 0===s?void 0:s.call(this):this[i]():n&&(o=this[n]);return r?(t=null===(a=o)||void 0===a?void 0:a[e],t?z.call(t,o,arguments):void 0):(t=o[e],z.call(t,o,arguments))}}}const H=function(t){const e=t.match(J);if(!e)throw new Error(\"can't parse @proxyMethod expression: \".concat(t));const i={name:e[4]};return null!=e[2]?i.toMethod=e[1]:i.toProperty=e[1],null!=e[3]&&(i.optional=!0),i},{apply:z}=Function.prototype,J=new RegExp(\"^(.+?)(\\\\(\\\\))?(\\\\?)?\\\\.(.+?)$\");var K,G,Y;class $ extends q{static box(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\";return t instanceof this?t:this.fromUCS2String(null==t?void 0:t.toString())}static fromUCS2String(t){return new this(t,tt(t))}static fromCodepoints(t){return new this(et(t),t)}constructor(t,e){super(...arguments),this.ucs2String=t,this.codepoints=e,this.length=this.codepoints.length,this.ucs2Length=this.ucs2String.length}offsetToUCS2Offset(t){return et(this.codepoints.slice(0,Math.max(0,t))).length}offsetFromUCS2Offset(t){return tt(this.ucs2String.slice(0,Math.max(0,t))).length}slice(){return this.constructor.fromCodepoints(this.codepoints.slice(...arguments))}charAt(t){return this.slice(t,t+1)}isEqualTo(t){return this.constructor.box(t).ucs2String===this.ucs2String}toJSON(){return this.ucs2String}getCacheKey(){return this.ucs2String}toString(){return this.ucs2String}}const X=1===(null===(K=Array.from)||void 0===K?void 0:K.call(Array,\"👼\").length),Z=null!=(null===(G=\" \".codePointAt)||void 0===G?void 0:G.call(\" \",0)),Q=\" 👼\"===(null===(Y=String.fromCodePoint)||void 0===Y?void 0:Y.call(String,32,128124));let tt,et;tt=X&&Z?t=>Array.from(t).map((t=>t.codePointAt(0))):function(t){const e=[];let i=0;const{length:n}=t;for(;iString.fromCodePoint(...Array.from(t||[])):function(t){return(()=>{const e=[];return Array.from(t).forEach((t=>{let i=\"\";t>65535&&(t-=65536,i+=String.fromCharCode(t>>>10&1023|55296),t=56320|1023&t),e.push(i+String.fromCharCode(t))})),e})().join(\"\")};let it=0;class nt extends q{static fromJSONString(t){return this.fromJSON(JSON.parse(t))}constructor(){super(...arguments),this.id=++it}hasSameConstructorAs(t){return this.constructor===(null==t?void 0:t.constructor)}isEqualTo(t){return this===t}inspect(){const t=[],e=this.contentsForInspection()||{};for(const i in e){const n=e[i];t.push(\"\".concat(i,\"=\").concat(n))}return\"#<\".concat(this.constructor.name,\":\").concat(this.id).concat(t.length?\" \".concat(t.join(\", \")):\"\",\">\")}contentsForInspection(){}toJSONString(){return JSON.stringify(this)}toUTF16String(){return $.box(this)}getCacheKey(){return this.id.toString()}}const rt=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(t.length!==e.length)return!1;for(let i=0;i1?i-1:0),r=1;r(lt||(lt=ft().concat(mt())),lt),gt=t=>n[t],mt=()=>(ct||(ct=Object.keys(n)),ct),pt=t=>j[t],ft=()=>(ut||(ut=Object.keys(j)),ut),bt=function(t,e){vt(t).textContent=e.replace(/%t/g,t)},vt=function(t){const e=document.createElement(\"style\");e.setAttribute(\"type\",\"text/css\"),e.setAttribute(\"data-tag-name\",t.toLowerCase());const i=At();return i&&e.setAttribute(\"nonce\",i),document.head.insertBefore(e,document.head.firstChild),e},At=function(){const t=yt(\"trix-csp-nonce\")||yt(\"csp-nonce\");if(t){const{nonce:e,content:i}=t;return\"\"==e?i:e}},yt=t=>document.head.querySelector(\"meta[name=\".concat(t,\"]\")),xt={\"application/x-trix-feature-detection\":\"test\"},Ct=function(t){const e=t.getData(\"text/plain\"),i=t.getData(\"text/html\");if(!e||!i)return null==e?void 0:e.length;{const{body:t}=(new DOMParser).parseFromString(i,\"text/html\");if(t.textContent===e)return!t.querySelector(\"*\")}},Et=/Mac|^iP/.test(navigator.platform)?t=>t.metaKey:t=>t.ctrlKey;const St=t=>setTimeout(t,1),Rt=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e={};for(const i in t){const n=t[i];e[i]=n}return e},kt=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const i in t){if(t[i]!==e[i])return!1}return!0},Tt=function(t){if(null!=t)return Array.isArray(t)||(t=[t,t]),[Dt(t[0]),Dt(null!=t[1]?t[1]:t[0])]},wt=function(t){if(null==t)return;const[e,i]=Tt(t);return Nt(e,i)},Lt=function(t,e){if(null==t||null==e)return;const[i,n]=Tt(t),[r,o]=Tt(e);return Nt(i,r)&&Nt(n,o)},Dt=function(t){return\"number\"==typeof t?t:Rt(t)},Nt=function(t,e){return\"number\"==typeof t?t===e:kt(t,e)};class It extends q{constructor(){super(...arguments),this.update=this.update.bind(this),this.selectionManagers=[]}start(){this.started||(this.started=!0,document.addEventListener(\"selectionchange\",this.update,!0))}stop(){if(this.started)return this.started=!1,document.removeEventListener(\"selectionchange\",this.update,!0)}registerSelectionManager(t){if(!this.selectionManagers.includes(t))return this.selectionManagers.push(t),this.start()}unregisterSelectionManager(t){if(this.selectionManagers=this.selectionManagers.filter((e=>e!==t)),0===this.selectionManagers.length)return this.stop()}notifySelectionManagersOfSelectionChange(){return this.selectionManagers.map((t=>t.selectionDidChange()))}update(){this.notifySelectionManagersOfSelectionChange()}reset(){this.update()}}const Ot=new It,Pt=function(){const t=window.getSelection();if(t.rangeCount>0)return t},Ft=function(){var t;const e=null===(t=Pt())||void 0===t?void 0:t.getRangeAt(0);if(e&&!Bt(e))return e},Mt=function(t){const e=window.getSelection();return e.removeAllRanges(),e.addRange(t),Ot.update()},Bt=t=>_t(t.startContainer)||_t(t.endContainer),_t=t=>!Object.getPrototypeOf(t),jt=t=>t.replace(new RegExp(\"\".concat(h),\"g\"),\"\").replace(new RegExp(\"\".concat(d),\"g\"),\" \"),Wt=new RegExp(\"[^\\\\S\".concat(d,\"]\")),Ut=t=>t.replace(new RegExp(\"\".concat(Wt.source),\"g\"),\" \").replace(/\\ {2,}/g,\" \"),Vt=function(t,e){if(t.isEqualTo(e))return[\"\",\"\"];const i=qt(t,e),{length:n}=i.utf16String;let r;if(n){const{offset:o}=i,s=t.codepoints.slice(0,o).concat(t.codepoints.slice(o+n));r=qt(e,$.fromCodepoints(s))}else r=qt(e,t);return[i.utf16String.toString(),r.utf16String.toString()]},qt=function(t,e){let i=0,n=t.length,r=e.length;for(;ii+1&&t.charAt(n-1).isEqualTo(e.charAt(r-1));)n--,r--;return{utf16String:t.slice(i,n),offset:i}};class Ht extends nt{static fromCommonAttributesOfObjects(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!t.length)return new this;let e=Gt(t[0]),i=e.getKeys();return t.slice(1).forEach((t=>{i=e.getKeysCommonToHash(Gt(t)),e=e.slice(i)})),e}static box(t){return Gt(t)}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(...arguments),this.values=Kt(t)}add(t,e){return this.merge(zt(t,e))}remove(t){return new Ht(Kt(this.values,t))}get(t){return this.values[t]}has(t){return t in this.values}merge(t){return new Ht(Jt(this.values,Yt(t)))}slice(t){const e={};return Array.from(t).forEach((t=>{this.has(t)&&(e[t]=this.values[t])})),new Ht(e)}getKeys(){return Object.keys(this.values)}getKeysCommonToHash(t){return t=Gt(t),this.getKeys().filter((e=>this.values[e]===t.values[e]))}isEqualTo(t){return rt(this.toArray(),Gt(t).toArray())}isEmpty(){return 0===this.getKeys().length}toArray(){if(!this.array){const t=[];for(const e in this.values){const i=this.values[e];t.push(t.push(e,i))}this.array=t.slice(0)}return this.array}toObject(){return Kt(this.values)}toJSON(){return this.toObject()}contentsForInspection(){return{values:JSON.stringify(this.values)}}}const zt=function(t,e){const i={};return i[t]=e,i},Jt=function(t,e){const i=Kt(t);for(const t in e){const n=e[t];i[t]=n}return i},Kt=function(t,e){const i={};return Object.keys(t).sort().forEach((n=>{n!==e&&(i[n]=t[n])})),i},Gt=function(t){return t instanceof Ht?t:new Ht(t)},Yt=function(t){return t instanceof Ht?t.values:t};class $t{static groupObjects(){let t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{depth:i,asTree:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n&&null==i&&(i=0);const r=[];return Array.from(e).forEach((e=>{var o;if(t){var s,a,l;if(null!==(s=e.canBeGrouped)&&void 0!==s&&s.call(e,i)&&null!==(a=(l=t[t.length-1]).canBeGroupedWith)&&void 0!==a&&a.call(l,e,i))return void t.push(e);r.push(new this(t,{depth:i,asTree:n})),t=null}null!==(o=e.canBeGrouped)&&void 0!==o&&o.call(e,i)?t=[e]:r.push(e)})),t&&r.push(new this(t,{depth:i,asTree:n})),r}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{depth:e,asTree:i}=arguments.length>1?arguments[1]:void 0;this.objects=t,i&&(this.depth=e,this.objects=this.constructor.groupObjects(this.objects,{asTree:i,depth:this.depth+1}))}getObjects(){return this.objects}getDepth(){return this.depth}getCacheKey(){const t=[\"objectGroup\"];return Array.from(this.getObjects()).forEach((e=>{t.push(e.getCacheKey())})),t.join(\"/\")}}class Xt extends q{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(...arguments),this.objects={},Array.from(t).forEach((t=>{const e=JSON.stringify(t);null==this.objects[e]&&(this.objects[e]=t)}))}find(t){const e=JSON.stringify(t);return this.objects[e]}}class Zt{constructor(t){this.reset(t)}add(t){const e=Qt(t);this.elements[e]=t}remove(t){const e=Qt(t),i=this.elements[e];if(i)return delete this.elements[e],i}reset(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.elements={},Array.from(t).forEach((t=>{this.add(t)})),t}}const Qt=t=>t.dataset.trixStoreKey;class te extends q{isPerforming(){return!0===this.performing}hasPerformed(){return!0===this.performed}hasSucceeded(){return this.performed&&this.succeeded}hasFailed(){return this.performed&&!this.succeeded}getPromise(){return this.promise||(this.promise=new Promise(((t,e)=>(this.performing=!0,this.perform(((i,n)=>{this.succeeded=i,this.performing=!1,this.performed=!0,this.succeeded?t(n):e(n)})))))),this.promise}perform(t){return t(!1)}release(){var t,e;null===(t=this.promise)||void 0===t||null===(e=t.cancel)||void 0===e||e.call(t),this.promise=null,this.performing=null,this.performed=null,this.succeeded=null}}te.proxyMethod(\"getPromise().then\"),te.proxyMethod(\"getPromise().catch\");class ee extends q{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(...arguments),this.object=t,this.options=e,this.childViews=[],this.rootView=this}getNodes(){return this.nodes||(this.nodes=this.createNodes()),this.nodes.map((t=>t.cloneNode(!0)))}invalidate(){var t;return this.nodes=null,this.childViews=[],null===(t=this.parentView)||void 0===t?void 0:t.invalidate()}invalidateViewForObject(t){var e;return null===(e=this.findViewForObject(t))||void 0===e?void 0:e.invalidate()}findOrCreateCachedChildView(t,e,i){let n=this.getCachedViewForObject(e);return n?this.recordChildView(n):(n=this.createChildView(...arguments),this.cacheViewForObject(n,e)),n}createChildView(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e instanceof $t&&(i.viewClass=t,t=ie);const n=new t(e,i);return this.recordChildView(n)}recordChildView(t){return t.parentView=this,t.rootView=this.rootView,this.childViews.push(t),t}getAllChildViews(){let t=[];return this.childViews.forEach((e=>{t.push(e),t=t.concat(e.getAllChildViews())})),t}findElement(){return this.findElementForObject(this.object)}findElementForObject(t){const e=null==t?void 0:t.id;if(e)return this.rootView.element.querySelector(\"[data-trix-id='\".concat(e,\"']\"))}findViewForObject(t){for(const e of this.getAllChildViews())if(e.object===t)return e}getViewCache(){return this.rootView!==this?this.rootView.getViewCache():this.isViewCachingEnabled()?(this.viewCache||(this.viewCache={}),this.viewCache):void 0}isViewCachingEnabled(){return!1!==this.shouldCacheViews}enableViewCaching(){this.shouldCacheViews=!0}disableViewCaching(){this.shouldCacheViews=!1}getCachedViewForObject(t){var e;return null===(e=this.getViewCache())||void 0===e?void 0:e[t.getCacheKey()]}cacheViewForObject(t,e){const i=this.getViewCache();i&&(i[e.getCacheKey()]=t)}garbageCollectCachedViews(){const t=this.getViewCache();if(t){const e=this.getAllChildViews().concat(this).map((t=>t.object.getCacheKey()));for(const i in t)e.includes(i)||delete t[i]}}}class ie extends ee{constructor(){super(...arguments),this.objectGroup=this.object,this.viewClass=this.options.viewClass,delete this.options.viewClass}getChildViews(){return this.childViews.length||Array.from(this.objectGroup.getObjects()).forEach((t=>{this.findOrCreateCachedChildView(this.viewClass,t,this.options)})),this.childViews}createNodes(){const t=this.createContainerElement();return this.getChildViews().forEach((e=>{Array.from(e.getNodes()).forEach((e=>{t.appendChild(e)}))})),[t]}createContainerElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.objectGroup.getDepth();return this.getChildViews()[0].createContainerElement(t)}}\n/*! @license DOMPurify 3.2.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.0/LICENSE */const{entries:ne,setPrototypeOf:re,isFrozen:oe,getPrototypeOf:se,getOwnPropertyDescriptor:ae}=Object;let{freeze:le,seal:ce,create:ue}=Object,{apply:he,construct:de}=\"undefined\"!=typeof Reflect&&Reflect;le||(le=function(t){return t}),ce||(ce=function(t){return t}),he||(he=function(t,e,i){return t.apply(e,i)}),de||(de=function(t,e){return new t(...e)});const ge=ke(Array.prototype.forEach),me=ke(Array.prototype.pop),pe=ke(Array.prototype.push),fe=ke(String.prototype.toLowerCase),be=ke(String.prototype.toString),ve=ke(String.prototype.match),Ae=ke(String.prototype.replace),ye=ke(String.prototype.indexOf),xe=ke(String.prototype.trim),Ce=ke(Object.prototype.hasOwnProperty),Ee=ke(RegExp.prototype.test),Se=(Re=TypeError,function(){for(var t=arguments.length,e=new Array(t),i=0;i1?i-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:fe;re&&re(t,null);let n=e.length;for(;n--;){let r=e[n];if(\"string\"==typeof r){const t=i(r);t!==r&&(oe(e)||(e[n]=t),r=t)}t[r]=!0}return t}function we(t){for(let e=0;e/gm),He=ce(/\\${[\\w\\W]*}/gm),ze=ce(/^data-[\\-\\w.\\u00B7-\\uFFFF]/),Je=ce(/^aria-[\\-\\w]+$/),Ke=ce(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i),Ge=ce(/^(?:\\w+script|data):/i),Ye=ce(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g),$e=ce(/^html$/i),Xe=ce(/^[a-z][.\\w]*(-[.\\w]+)+$/i);var Ze=Object.freeze({__proto__:null,ARIA_ATTR:Je,ATTR_WHITESPACE:Ye,CUSTOM_ELEMENT:Xe,DATA_ATTR:ze,DOCTYPE_NAME:$e,ERB_EXPR:qe,IS_ALLOWED_URI:Ke,IS_SCRIPT_OR_DATA:Ge,MUSTACHE_EXPR:Ve,TMPLIT_EXPR:He});const Qe=1,ti=3,ei=7,ii=8,ni=9,ri=function(){return\"undefined\"==typeof window?null:window};var oi=function t(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ri();const i=e=>t(e);if(i.version=\"3.2.0\",i.removed=[],!e||!e.document||e.document.nodeType!==ni)return i.isSupported=!1,i;let{document:n}=e;const r=n,o=r.currentScript,{DocumentFragment:s,HTMLTemplateElement:a,Node:l,Element:c,NodeFilter:u,NamedNodeMap:h=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:d,DOMParser:g,trustedTypes:m}=e,p=c.prototype,f=De(p,\"cloneNode\"),b=De(p,\"remove\"),v=De(p,\"nextSibling\"),A=De(p,\"childNodes\"),y=De(p,\"parentNode\");if(\"function\"==typeof a){const t=n.createElement(\"template\");t.content&&t.content.ownerDocument&&(n=t.content.ownerDocument)}let x,C=\"\";const{implementation:E,createNodeIterator:S,createDocumentFragment:R,getElementsByTagName:k}=n,{importNode:T}=r;let w={};i.isSupported=\"function\"==typeof ne&&\"function\"==typeof y&&E&&void 0!==E.createHTMLDocument;const{MUSTACHE_EXPR:L,ERB_EXPR:D,TMPLIT_EXPR:N,DATA_ATTR:I,ARIA_ATTR:O,IS_SCRIPT_OR_DATA:P,ATTR_WHITESPACE:F,CUSTOM_ELEMENT:M}=Ze;let{IS_ALLOWED_URI:B}=Ze,_=null;const j=Te({},[...Ne,...Ie,...Oe,...Fe,...Be]);let W=null;const U=Te({},[..._e,...je,...We,...Ue]);let V=Object.seal(ue(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),q=null,H=null,z=!0,J=!0,K=!1,G=!0,Y=!1,$=!0,X=!1,Z=!1,Q=!1,tt=!1,et=!1,it=!1,nt=!0,rt=!1,ot=!0,st=!1,at={},lt=null;const ct=Te({},[\"annotation-xml\",\"audio\",\"colgroup\",\"desc\",\"foreignobject\",\"head\",\"iframe\",\"math\",\"mi\",\"mn\",\"mo\",\"ms\",\"mtext\",\"noembed\",\"noframes\",\"noscript\",\"plaintext\",\"script\",\"style\",\"svg\",\"template\",\"thead\",\"title\",\"video\",\"xmp\"]);let ut=null;const ht=Te({},[\"audio\",\"video\",\"img\",\"source\",\"image\",\"track\"]);let dt=null;const gt=Te({},[\"alt\",\"class\",\"for\",\"id\",\"label\",\"name\",\"pattern\",\"placeholder\",\"role\",\"summary\",\"title\",\"value\",\"style\",\"xmlns\"]),mt=\"http://www.w3.org/1998/Math/MathML\",pt=\"http://www.w3.org/2000/svg\",ft=\"http://www.w3.org/1999/xhtml\";let bt=ft,vt=!1,At=null;const yt=Te({},[mt,pt,ft],be);let xt=Te({},[\"mi\",\"mo\",\"mn\",\"ms\",\"mtext\"]),Ct=Te({},[\"annotation-xml\"]);const Et=Te({},[\"title\",\"style\",\"font\",\"a\",\"script\"]);let St=null;const Rt=[\"application/xhtml+xml\",\"text/html\"];let kt=null,Tt=null;const wt=n.createElement(\"form\"),Lt=function(t){return t instanceof RegExp||t instanceof Function},Dt=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!Tt||Tt!==t){if(t&&\"object\"==typeof t||(t={}),t=Le(t),St=-1===Rt.indexOf(t.PARSER_MEDIA_TYPE)?\"text/html\":t.PARSER_MEDIA_TYPE,kt=\"application/xhtml+xml\"===St?be:fe,_=Ce(t,\"ALLOWED_TAGS\")?Te({},t.ALLOWED_TAGS,kt):j,W=Ce(t,\"ALLOWED_ATTR\")?Te({},t.ALLOWED_ATTR,kt):U,At=Ce(t,\"ALLOWED_NAMESPACES\")?Te({},t.ALLOWED_NAMESPACES,be):yt,dt=Ce(t,\"ADD_URI_SAFE_ATTR\")?Te(Le(gt),t.ADD_URI_SAFE_ATTR,kt):gt,ut=Ce(t,\"ADD_DATA_URI_TAGS\")?Te(Le(ht),t.ADD_DATA_URI_TAGS,kt):ht,lt=Ce(t,\"FORBID_CONTENTS\")?Te({},t.FORBID_CONTENTS,kt):ct,q=Ce(t,\"FORBID_TAGS\")?Te({},t.FORBID_TAGS,kt):{},H=Ce(t,\"FORBID_ATTR\")?Te({},t.FORBID_ATTR,kt):{},at=!!Ce(t,\"USE_PROFILES\")&&t.USE_PROFILES,z=!1!==t.ALLOW_ARIA_ATTR,J=!1!==t.ALLOW_DATA_ATTR,K=t.ALLOW_UNKNOWN_PROTOCOLS||!1,G=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,Y=t.SAFE_FOR_TEMPLATES||!1,$=!1!==t.SAFE_FOR_XML,X=t.WHOLE_DOCUMENT||!1,tt=t.RETURN_DOM||!1,et=t.RETURN_DOM_FRAGMENT||!1,it=t.RETURN_TRUSTED_TYPE||!1,Q=t.FORCE_BODY||!1,nt=!1!==t.SANITIZE_DOM,rt=t.SANITIZE_NAMED_PROPS||!1,ot=!1!==t.KEEP_CONTENT,st=t.IN_PLACE||!1,B=t.ALLOWED_URI_REGEXP||Ke,bt=t.NAMESPACE||ft,xt=t.MATHML_TEXT_INTEGRATION_POINTS||xt,Ct=t.HTML_INTEGRATION_POINTS||Ct,V=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&Lt(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(V.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&Lt(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(V.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&\"boolean\"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(V.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Y&&(J=!1),et&&(tt=!0),at&&(_=Te({},Be),W=[],!0===at.html&&(Te(_,Ne),Te(W,_e)),!0===at.svg&&(Te(_,Ie),Te(W,je),Te(W,Ue)),!0===at.svgFilters&&(Te(_,Oe),Te(W,je),Te(W,Ue)),!0===at.mathMl&&(Te(_,Fe),Te(W,We),Te(W,Ue))),t.ADD_TAGS&&(_===j&&(_=Le(_)),Te(_,t.ADD_TAGS,kt)),t.ADD_ATTR&&(W===U&&(W=Le(W)),Te(W,t.ADD_ATTR,kt)),t.ADD_URI_SAFE_ATTR&&Te(dt,t.ADD_URI_SAFE_ATTR,kt),t.FORBID_CONTENTS&&(lt===ct&&(lt=Le(lt)),Te(lt,t.FORBID_CONTENTS,kt)),ot&&(_[\"#text\"]=!0),X&&Te(_,[\"html\",\"head\",\"body\"]),_.table&&(Te(_,[\"tbody\"]),delete q.tbody),t.TRUSTED_TYPES_POLICY){if(\"function\"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw Se('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');if(\"function\"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw Se('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');x=t.TRUSTED_TYPES_POLICY,C=x.createHTML(\"\")}else void 0===x&&(x=function(t,e){if(\"object\"!=typeof t||\"function\"!=typeof t.createPolicy)return null;let i=null;const n=\"data-tt-policy-suffix\";e&&e.hasAttribute(n)&&(i=e.getAttribute(n));const r=\"dompurify\"+(i?\"#\"+i:\"\");try{return t.createPolicy(r,{createHTML:t=>t,createScriptURL:t=>t})}catch(t){return console.warn(\"TrustedTypes policy \"+r+\" could not be created.\"),null}}(m,o)),null!==x&&\"string\"==typeof C&&(C=x.createHTML(\"\"));le&&le(t),Tt=t}},Nt=Te({},[...Ie,...Oe,...Pe]),It=Te({},[...Fe,...Me]),Ot=function(t){pe(i.removed,{element:t});try{y(t).removeChild(t)}catch(e){b(t)}},Pt=function(t,e){try{pe(i.removed,{attribute:e.getAttributeNode(t),from:e})}catch(t){pe(i.removed,{attribute:null,from:e})}if(e.removeAttribute(t),\"is\"===t&&!W[t])if(tt||et)try{Ot(e)}catch(t){}else try{e.setAttribute(t,\"\")}catch(t){}},Ft=function(t){let e=null,i=null;if(Q)t=\"\"+t;else{const e=ve(t,/^[\\r\\n\\t ]+/);i=e&&e[0]}\"application/xhtml+xml\"===St&&bt===ft&&(t=''+t+\"\");const r=x?x.createHTML(t):t;if(bt===ft)try{e=(new g).parseFromString(r,St)}catch(t){}if(!e||!e.documentElement){e=E.createDocument(bt,\"template\",null);try{e.documentElement.innerHTML=vt?C:r}catch(t){}}const o=e.body||e.documentElement;return t&&i&&o.insertBefore(n.createTextNode(i),o.childNodes[0]||null),bt===ft?k.call(e,X?\"html\":\"body\")[0]:X?e.documentElement:o},Mt=function(t){return S.call(t.ownerDocument||t,t,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},Bt=function(t){return t instanceof d&&(\"string\"!=typeof t.nodeName||\"string\"!=typeof t.textContent||\"function\"!=typeof t.removeChild||!(t.attributes instanceof h)||\"function\"!=typeof t.removeAttribute||\"function\"!=typeof t.setAttribute||\"string\"!=typeof t.namespaceURI||\"function\"!=typeof t.insertBefore||\"function\"!=typeof t.hasChildNodes)},_t=function(t){return\"function\"==typeof l&&t instanceof l};function jt(t,e,n){w[t]&&ge(w[t],(t=>{t.call(i,e,n,Tt)}))}const Wt=function(t){let e=null;if(jt(\"beforeSanitizeElements\",t,null),Bt(t))return Ot(t),!0;const n=kt(t.nodeName);if(jt(\"uponSanitizeElement\",t,{tagName:n,allowedTags:_}),t.hasChildNodes()&&!_t(t.firstElementChild)&&Ee(/<[/\\w]/g,t.innerHTML)&&Ee(/<[/\\w]/g,t.textContent))return Ot(t),!0;if(t.nodeType===ei)return Ot(t),!0;if($&&t.nodeType===ii&&Ee(/<[/\\w]/g,t.data))return Ot(t),!0;if(!_[n]||q[n]){if(!q[n]&&Vt(n)){if(V.tagNameCheck instanceof RegExp&&Ee(V.tagNameCheck,n))return!1;if(V.tagNameCheck instanceof Function&&V.tagNameCheck(n))return!1}if(ot&&!lt[n]){const e=y(t)||t.parentNode,i=A(t)||t.childNodes;if(i&&e){for(let n=i.length-1;n>=0;--n){const r=f(i[n],!0);r.__removalCount=(t.__removalCount||0)+1,e.insertBefore(r,v(t))}}}return Ot(t),!0}return t instanceof c&&!function(t){let e=y(t);e&&e.tagName||(e={namespaceURI:bt,tagName:\"template\"});const i=fe(t.tagName),n=fe(e.tagName);return!!At[t.namespaceURI]&&(t.namespaceURI===pt?e.namespaceURI===ft?\"svg\"===i:e.namespaceURI===mt?\"svg\"===i&&(\"annotation-xml\"===n||xt[n]):Boolean(Nt[i]):t.namespaceURI===mt?e.namespaceURI===ft?\"math\"===i:e.namespaceURI===pt?\"math\"===i&&Ct[n]:Boolean(It[i]):t.namespaceURI===ft?!(e.namespaceURI===pt&&!Ct[n])&&!(e.namespaceURI===mt&&!xt[n])&&!It[i]&&(Et[i]||!Nt[i]):!(\"application/xhtml+xml\"!==St||!At[t.namespaceURI]))}(t)?(Ot(t),!0):\"noscript\"!==n&&\"noembed\"!==n&&\"noframes\"!==n||!Ee(/<\\/no(script|embed|frames)/i,t.innerHTML)?(Y&&t.nodeType===ti&&(e=t.textContent,ge([L,D,N],(t=>{e=Ae(e,t,\" \")})),t.textContent!==e&&(pe(i.removed,{element:t.cloneNode()}),t.textContent=e)),jt(\"afterSanitizeElements\",t,null),!1):(Ot(t),!0)},Ut=function(t,e,i){if(nt&&(\"id\"===e||\"name\"===e)&&(i in n||i in wt))return!1;if(J&&!H[e]&&Ee(I,e));else if(z&&Ee(O,e));else if(!W[e]||H[e]){if(!(Vt(t)&&(V.tagNameCheck instanceof RegExp&&Ee(V.tagNameCheck,t)||V.tagNameCheck instanceof Function&&V.tagNameCheck(t))&&(V.attributeNameCheck instanceof RegExp&&Ee(V.attributeNameCheck,e)||V.attributeNameCheck instanceof Function&&V.attributeNameCheck(e))||\"is\"===e&&V.allowCustomizedBuiltInElements&&(V.tagNameCheck instanceof RegExp&&Ee(V.tagNameCheck,i)||V.tagNameCheck instanceof Function&&V.tagNameCheck(i))))return!1}else if(dt[e]);else if(Ee(B,Ae(i,F,\"\")));else if(\"src\"!==e&&\"xlink:href\"!==e&&\"href\"!==e||\"script\"===t||0!==ye(i,\"data:\")||!ut[t]){if(K&&!Ee(P,Ae(i,F,\"\")));else if(i)return!1}else;return!0},Vt=function(t){return\"annotation-xml\"!==t&&ve(t,M)},qt=function(t){jt(\"beforeSanitizeAttributes\",t,null);const{attributes:e}=t;if(!e)return;const n={attrName:\"\",attrValue:\"\",keepAttr:!0,allowedAttributes:W,forceKeepAttr:void 0};let r=e.length;for(;r--;){const o=e[r],{name:s,namespaceURI:a,value:l}=o,c=kt(s);let u=\"value\"===s?l:xe(l);if(n.attrName=c,n.attrValue=u,n.keepAttr=!0,n.forceKeepAttr=void 0,jt(\"uponSanitizeAttribute\",t,n),u=n.attrValue,!rt||\"id\"!==c&&\"name\"!==c||(Pt(s,t),u=\"user-content-\"+u),$&&Ee(/((--!?|])>)|<\\/(style|title)/i,u)){Pt(s,t);continue}if(n.forceKeepAttr)continue;if(Pt(s,t),!n.keepAttr)continue;if(!G&&Ee(/\\/>/i,u)){Pt(s,t);continue}Y&&ge([L,D,N],(t=>{u=Ae(u,t,\" \")}));const h=kt(t.nodeName);if(Ut(h,c,u)){if(x&&\"object\"==typeof m&&\"function\"==typeof m.getAttributeType)if(a);else switch(m.getAttributeType(h,c)){case\"TrustedHTML\":u=x.createHTML(u);break;case\"TrustedScriptURL\":u=x.createScriptURL(u)}try{a?t.setAttributeNS(a,s,u):t.setAttribute(s,u),Bt(t)?Ot(t):me(i.removed)}catch(t){}}}jt(\"afterSanitizeAttributes\",t,null)},Ht=function t(e){let i=null;const n=Mt(e);for(jt(\"beforeSanitizeShadowDOM\",e,null);i=n.nextNode();)jt(\"uponSanitizeShadowNode\",i,null),Wt(i)||(i.content instanceof s&&t(i.content),qt(i));jt(\"afterSanitizeShadowDOM\",e,null)};return i.sanitize=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,o=null,a=null,c=null;if(vt=!t,vt&&(t=\"\\x3c!--\\x3e\"),\"string\"!=typeof t&&!_t(t)){if(\"function\"!=typeof t.toString)throw Se(\"toString is not a function\");if(\"string\"!=typeof(t=t.toString()))throw Se(\"dirty is not a string, aborting\")}if(!i.isSupported)return t;if(Z||Dt(e),i.removed=[],\"string\"==typeof t&&(st=!1),st){if(t.nodeName){const e=kt(t.nodeName);if(!_[e]||q[e])throw Se(\"root node is forbidden and cannot be sanitized in-place\")}}else if(t instanceof l)n=Ft(\"\\x3c!----\\x3e\"),o=n.ownerDocument.importNode(t,!0),o.nodeType===Qe&&\"BODY\"===o.nodeName||\"HTML\"===o.nodeName?n=o:n.appendChild(o);else{if(!tt&&!Y&&!X&&-1===t.indexOf(\"<\"))return x&&it?x.createHTML(t):t;if(n=Ft(t),!n)return tt?null:it?C:\"\"}n&&Q&&Ot(n.firstChild);const u=Mt(st?t:n);for(;a=u.nextNode();)Wt(a)||(a.content instanceof s&&Ht(a.content),qt(a));if(st)return t;if(tt){if(et)for(c=R.call(n.ownerDocument);n.firstChild;)c.appendChild(n.firstChild);else c=n;return(W.shadowroot||W.shadowrootmode)&&(c=T.call(r,c,!0)),c}let h=X?n.outerHTML:n.innerHTML;return X&&_[\"!doctype\"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&Ee($e,n.ownerDocument.doctype.name)&&(h=\"\\n\"+h),Y&&ge([L,D,N],(t=>{h=Ae(h,t,\" \")})),x&&it?x.createHTML(h):h},i.setConfig=function(){Dt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Z=!0},i.clearConfig=function(){Tt=null,Z=!1},i.isValidAttribute=function(t,e,i){Tt||Dt({});const n=kt(t),r=kt(e);return Ut(n,r,i)},i.addHook=function(t,e){\"function\"==typeof e&&(w[t]=w[t]||[],pe(w[t],e))},i.removeHook=function(t){if(w[t])return me(w[t])},i.removeHooks=function(t){w[t]&&(w[t]=[])},i.removeAllHooks=function(){w={}},i}();const si=\"style href src width height language class\".split(\" \"),ai=\"javascript:\".split(\" \"),li=\"script iframe form noscript\".split(\" \");class ci extends q{static setHTML(t,e){const i=new this(e).sanitize(),n=i.getHTML?i.getHTML():i.outerHTML;t.innerHTML=n}static sanitize(t,e){const i=new this(t,e);return i.sanitize(),i}constructor(t){let{allowedAttributes:e,forbiddenProtocols:i,forbiddenElements:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(...arguments),this.allowedAttributes=e||si,this.forbiddenProtocols=i||ai,this.forbiddenElements=n||li,this.body=ui(t)}sanitize(){return this.sanitizeElements(),this.normalizeListElementNesting(),oi.sanitize(this.body,{ADD_ATTR:[\"language\"],RETURN_DOM:!0})}getHTML(){return this.body.innerHTML}getBody(){return this.body}sanitizeElements(){const t=S(this.body),e=[];for(;t.nextNode();){const i=t.currentNode;switch(i.nodeType){case Node.ELEMENT_NODE:this.elementIsRemovable(i)?e.push(i):this.sanitizeElement(i);break;case Node.COMMENT_NODE:e.push(i)}}return e.forEach((t=>E(t))),this.body}sanitizeElement(t){return t.hasAttribute(\"href\")&&this.forbiddenProtocols.includes(t.protocol)&&t.removeAttribute(\"href\"),Array.from(t.attributes).forEach((e=>{let{name:i}=e;this.allowedAttributes.includes(i)||0===i.indexOf(\"data-trix\")||t.removeAttribute(i)})),t}normalizeListElementNesting(){return Array.from(this.body.querySelectorAll(\"ul,ol\")).forEach((t=>{const e=t.previousElementSibling;e&&\"li\"===R(e)&&e.appendChild(t)})),this.body}elementIsRemovable(t){if((null==t?void 0:t.nodeType)===Node.ELEMENT_NODE)return this.elementIsForbidden(t)||this.elementIsntSerializable(t)}elementIsForbidden(t){return this.forbiddenElements.includes(R(t))}elementIsntSerializable(t){return\"false\"===t.getAttribute(\"data-trix-serialize\")&&!P(t)}}const ui=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\";t=t.replace(/<\\/html[^>]*>[^]*$/i,\"\");const e=document.implementation.createHTMLDocument(\"\");return e.documentElement.innerHTML=t,Array.from(e.head.querySelectorAll(\"style\")).forEach((t=>{e.body.appendChild(t)})),e.body},{css:hi}=V;class di extends ee{constructor(){super(...arguments),this.attachment=this.object,this.attachment.uploadProgressDelegate=this,this.attachmentPiece=this.options.piece}createContentNodes(){return[]}createNodes(){let t;const e=t=k({tagName:\"figure\",className:this.getClassName(),data:this.getData(),editable:!1}),i=this.getHref();return i&&(t=k({tagName:\"a\",editable:!1,attributes:{href:i,tabindex:-1}}),e.appendChild(t)),this.attachment.hasContent()?ci.setHTML(t,this.attachment.getContent()):this.createContentNodes().forEach((e=>{t.appendChild(e)})),t.appendChild(this.createCaptionElement()),this.attachment.isPending()&&(this.progressElement=k({tagName:\"progress\",attributes:{class:hi.attachmentProgress,value:this.attachment.getUploadProgress(),max:100},data:{trixMutable:!0,trixStoreKey:[\"progressElement\",this.attachment.id].join(\"/\")}}),e.appendChild(this.progressElement)),[gi(\"left\"),e,gi(\"right\")]}createCaptionElement(){const t=k({tagName:\"figcaption\",className:hi.attachmentCaption}),e=this.attachmentPiece.getCaption();if(e)t.classList.add(\"\".concat(hi.attachmentCaption,\"--edited\")),t.textContent=e;else{let e,i;const n=this.getCaptionConfig();if(n.name&&(e=this.attachment.getFilename()),n.size&&(i=this.attachment.getFormattedFilesize()),e){const i=k({tagName:\"span\",className:hi.attachmentName,textContent:e});t.appendChild(i)}if(i){e&&t.appendChild(document.createTextNode(\" \"));const n=k({tagName:\"span\",className:hi.attachmentSize,textContent:i});t.appendChild(n)}}return t}getClassName(){const t=[hi.attachment,\"\".concat(hi.attachment,\"--\").concat(this.attachment.getType())],e=this.attachment.getExtension();return e&&t.push(\"\".concat(hi.attachment,\"--\").concat(e)),t.join(\" \")}getData(){const t={trixAttachment:JSON.stringify(this.attachment),trixContentType:this.attachment.getContentType(),trixId:this.attachment.id},{attributes:e}=this.attachmentPiece;return e.isEmpty()||(t.trixAttributes=JSON.stringify(e)),this.attachment.isPending()&&(t.trixSerialize=!1),t}getHref(){if(!mi(this.attachment.getContent(),\"a\"))return this.attachment.getHref()}getCaptionConfig(){var t;const e=this.attachment.getType(),n=Rt(null===(t=i[e])||void 0===t?void 0:t.caption);return\"file\"===e&&(n.name=!0),n}findProgressElement(){var t;return null===(t=this.findElement())||void 0===t?void 0:t.querySelector(\"progress\")}attachmentDidChangeUploadProgress(){const t=this.attachment.getUploadProgress(),e=this.findProgressElement();e&&(e.value=t)}}const gi=t=>k({tagName:\"span\",textContent:h,data:{trixCursorTarget:t,trixSerialize:!1}}),mi=function(t,e){const i=k(\"div\");return ci.setHTML(i,t||\"\"),i.querySelector(e)};class pi extends di{constructor(){super(...arguments),this.attachment.previewDelegate=this}createContentNodes(){return this.image=k({tagName:\"img\",attributes:{src:\"\"},data:{trixMutable:!0}}),this.refresh(this.image),[this.image]}createCaptionElement(){const t=super.createCaptionElement(...arguments);return t.textContent||t.setAttribute(\"data-trix-placeholder\",l.captionPlaceholder),t}refresh(t){var e;t||(t=null===(e=this.findElement())||void 0===e?void 0:e.querySelector(\"img\"));if(t)return this.updateAttributesForImage(t)}updateAttributesForImage(t){const e=this.attachment.getURL(),i=this.attachment.getPreviewURL();if(t.src=i||e,i===e)t.removeAttribute(\"data-trix-serialized-attributes\");else{const i=JSON.stringify({src:e});t.setAttribute(\"data-trix-serialized-attributes\",i)}const n=this.attachment.getWidth(),r=this.attachment.getHeight();null!=n&&(t.width=n),null!=r&&(t.height=r);const o=[\"imageElement\",this.attachment.id,t.src,t.width,t.height].join(\"/\");t.dataset.trixStoreKey=o}attachmentDidChangeAttributes(){return this.refresh(this.image),this.refresh()}}class fi extends ee{constructor(){super(...arguments),this.piece=this.object,this.attributes=this.piece.getAttributes(),this.textConfig=this.options.textConfig,this.context=this.options.context,this.piece.attachment?this.attachment=this.piece.attachment:this.string=this.piece.toString()}createNodes(){let t=this.attachment?this.createAttachmentNodes():this.createStringNodes();const e=this.createElement();if(e){const i=function(t){for(;null!==(e=t)&&void 0!==e&&e.firstElementChild;){var e;t=t.firstElementChild}return t}(e);Array.from(t).forEach((t=>{i.appendChild(t)})),t=[e]}return t}createAttachmentNodes(){const t=this.attachment.isPreviewable()?pi:di;return this.createChildView(t,this.piece.attachment,{piece:this.piece}).getNodes()}createStringNodes(){var t;if(null!==(t=this.textConfig)&&void 0!==t&&t.plaintext)return[document.createTextNode(this.string)];{const t=[],e=this.string.split(\"\\n\");for(let i=0;i0){const e=k(\"br\");t.push(e)}if(n.length){const e=document.createTextNode(this.preserveSpaces(n));t.push(e)}}return t}}createElement(){let t,e,i;const n={};for(e in this.attributes){i=this.attributes[e];const o=pt(e);if(o){if(o.tagName){var r;const e=k(o.tagName);r?(r.appendChild(e),r=e):t=r=e}if(o.styleProperty&&(n[o.styleProperty]=i),o.style)for(e in o.style)i=o.style[e],n[e]=i}}if(Object.keys(n).length)for(e in t||(t=k(\"span\")),n)i=n[e],t.style[e]=i;return t}createContainerElement(){for(const t in this.attributes){const e=this.attributes[t],i=pt(t);if(i&&i.groupTagName){const n={};return n[t]=e,k(i.groupTagName,n)}}}preserveSpaces(t){return this.context.isLast&&(t=t.replace(/\\ $/,d)),t=t.replace(/(\\S)\\ {3}(\\S)/g,\"$1 \".concat(d,\" $2\")).replace(/\\ {2}/g,\"\".concat(d,\" \")).replace(/\\ {2}/g,\" \".concat(d)),(this.context.isFirst||this.context.followsWhitespace)&&(t=t.replace(/^\\ /,d)),t}}class bi extends ee{constructor(){super(...arguments),this.text=this.object,this.textConfig=this.options.textConfig}createNodes(){const t=[],e=$t.groupObjects(this.getPieces()),i=e.length-1;for(let r=0;r!t.hasAttribute(\"blockBreak\")))}}const vi=t=>/\\s$/.test(null==t?void 0:t.toString()),{css:Ai}=V;class yi extends ee{constructor(){super(...arguments),this.block=this.object,this.attributes=this.block.getAttributes()}createNodes(){const t=[document.createComment(\"block\")];if(this.block.isEmpty())t.push(k(\"br\"));else{var e;const i=null===(e=gt(this.block.getLastAttribute()))||void 0===e?void 0:e.text,n=this.findOrCreateCachedChildView(bi,this.block.text,{textConfig:i});t.push(...Array.from(n.getNodes()||[])),this.shouldAddExtraNewlineElement()&&t.push(k(\"br\"))}if(this.attributes.length)return t;{let e;const{tagName:i}=n.default;this.block.isRTL()&&(e={dir:\"rtl\"});const r=k({tagName:i,attributes:e});return t.forEach((t=>r.appendChild(t))),[r]}}createContainerElement(t){const e={};let i;const n=this.attributes[t],{tagName:r,htmlAttributes:o=[]}=gt(n);if(0===t&&this.block.isRTL()&&Object.assign(e,{dir:\"rtl\"}),\"attachmentGallery\"===n){const t=this.block.getBlockBreakPosition();i=\"\".concat(Ai.attachmentGallery,\" \").concat(Ai.attachmentGallery,\"--\").concat(t)}return Object.entries(this.block.htmlAttributes).forEach((t=>{let[i,n]=t;o.includes(i)&&(e[i]=n)})),k({tagName:r,className:i,attributes:e})}shouldAddExtraNewlineElement(){return/\\n\\n$/.test(this.block.toString())}}class xi extends ee{static render(t){const e=k(\"div\"),i=new this(t,{element:e});return i.render(),i.sync(),e}constructor(){super(...arguments),this.element=this.options.element,this.elementStore=new Zt,this.setDocument(this.object)}setDocument(t){t.isEqualTo(this.document)||(this.document=this.object=t)}render(){if(this.childViews=[],this.shadowElement=k(\"div\"),!this.document.isEmpty()){const t=$t.groupObjects(this.document.getBlocks(),{asTree:!0});Array.from(t).forEach((t=>{const e=this.findOrCreateCachedChildView(yi,t);Array.from(e.getNodes()).map((t=>this.shadowElement.appendChild(t)))}))}}isSynced(){return Ei(this.shadowElement,this.element)}sync(){const t=this.createDocumentFragmentForSync();for(;this.element.lastChild;)this.element.removeChild(this.element.lastChild);return this.element.appendChild(t),this.didSync()}didSync(){return this.elementStore.reset(Ci(this.element)),St((()=>this.garbageCollectCachedViews()))}createDocumentFragmentForSync(){const t=document.createDocumentFragment();return Array.from(this.shadowElement.childNodes).forEach((e=>{t.appendChild(e.cloneNode(!0))})),Array.from(Ci(t)).forEach((t=>{const e=this.elementStore.remove(t);e&&t.parentNode.replaceChild(e,t)})),t}}const Ci=t=>t.querySelectorAll(\"[data-trix-store-key]\"),Ei=(t,e)=>Si(t.innerHTML)===Si(e.innerHTML),Si=t=>t.replace(/ /g,\" \");function Ri(t){var e,i;function n(e,i){try{var o=t[e](i),s=o.value,a=s instanceof ki;Promise.resolve(a?s.v:s).then((function(i){if(a){var l=\"return\"===e?\"return\":\"next\";if(!s.k||i.done)return n(l,i);i=t[l](i).value}r(o.done?\"return\":\"normal\",i)}),(function(t){n(\"throw\",t)}))}catch(t){r(\"throw\",t)}}function r(t,r){switch(t){case\"return\":e.resolve({value:r,done:!0});break;case\"throw\":e.reject(r);break;default:e.resolve({value:r,done:!1})}(e=e.next)?n(e.key,e.arg):i=null}this._invoke=function(t,r){return new Promise((function(o,s){var a={key:t,arg:r,resolve:o,reject:s,next:null};i?i=i.next=a:(e=i=a,n(t,r))}))},\"function\"!=typeof t.return&&(this.return=void 0)}function ki(t,e){this.v=t,this.k=e}function Ti(t,e,i){return(e=wi(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function wi(t){var e=function(t,e){if(\"object\"!=typeof t||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,e||\"default\");if(\"object\"!=typeof n)return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"==typeof e?e:String(e)}Ri.prototype[\"function\"==typeof Symbol&&Symbol.asyncIterator||\"@@asyncIterator\"]=function(){return this},Ri.prototype.next=function(t){return this._invoke(\"next\",t)},Ri.prototype.throw=function(t){return this._invoke(\"throw\",t)},Ri.prototype.return=function(t){return this._invoke(\"return\",t)};function Li(t,e){return Ii(t,Ni(t,e,\"get\"))}function Di(t,e,i){return Oi(t,Ni(t,e,\"set\"),i),i}function Ni(t,e,i){if(!e.has(t))throw new TypeError(\"attempted to \"+i+\" private field on non-instance\");return e.get(t)}function Ii(t,e){return e.get?e.get.call(t):e.value}function Oi(t,e,i){if(e.set)e.set.call(t,i);else{if(!e.writable)throw new TypeError(\"attempted to set read only private field\");e.value=i}}function Pi(t,e,i){if(!e.has(t))throw new TypeError(\"attempted to get private field on non-instance\");return i}function Fi(t,e){if(e.has(t))throw new TypeError(\"Cannot initialize the same private elements twice on an object\")}function Mi(t,e,i){Fi(t,e),e.set(t,i)}class Bi extends nt{static registerType(t,e){e.type=t,this.types[t]=e}static fromJSON(t){const e=this.types[t.type];if(e)return e.fromJSON(t)}constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(...arguments),this.attributes=Ht.box(e)}copyWithAttributes(t){return new this.constructor(this.getValue(),t)}copyWithAdditionalAttributes(t){return this.copyWithAttributes(this.attributes.merge(t))}copyWithoutAttribute(t){return this.copyWithAttributes(this.attributes.remove(t))}copy(){return this.copyWithAttributes(this.attributes)}getAttribute(t){return this.attributes.get(t)}getAttributesHash(){return this.attributes}getAttributes(){return this.attributes.toObject()}hasAttribute(t){return this.attributes.has(t)}hasSameStringValueAsPiece(t){return t&&this.toString()===t.toString()}hasSameAttributesAsPiece(t){return t&&(this.attributes===t.attributes||this.attributes.isEqualTo(t.attributes))}isBlockBreak(){return!1}isEqualTo(t){return super.isEqualTo(...arguments)||this.hasSameConstructorAs(t)&&this.hasSameStringValueAsPiece(t)&&this.hasSameAttributesAsPiece(t)}isEmpty(){return 0===this.length}isSerializable(){return!0}toJSON(){return{type:this.constructor.type,attributes:this.getAttributes()}}contentsForInspection(){return{type:this.constructor.type,attributes:this.attributes.inspect()}}canBeGrouped(){return this.hasAttribute(\"href\")}canBeGroupedWith(t){return this.getAttribute(\"href\")===t.getAttribute(\"href\")}getLength(){return this.length}canBeConsolidatedWith(t){return!1}}Ti(Bi,\"types\",{});class _i extends te{constructor(t){super(...arguments),this.url=t}perform(t){const e=new Image;e.onload=()=>(e.width=this.width=e.naturalWidth,e.height=this.height=e.naturalHeight,t(!0,e)),e.onerror=()=>t(!1),e.src=this.url}}class ji extends nt{static attachmentForFile(t){const e=new this(this.attributesForFile(t));return e.setFile(t),e}static attributesForFile(t){return new Ht({filename:t.name,filesize:t.size,contentType:t.type})}static fromJSON(t){return new this(t)}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(t),this.releaseFile=this.releaseFile.bind(this),this.attributes=Ht.box(t),this.didChangeAttributes()}getAttribute(t){return this.attributes.get(t)}hasAttribute(t){return this.attributes.has(t)}getAttributes(){return this.attributes.toObject()}setAttributes(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e=this.attributes.merge(t);var i,n,r,o;if(!this.attributes.isEqualTo(e))return this.attributes=e,this.didChangeAttributes(),null===(i=this.previewDelegate)||void 0===i||null===(n=i.attachmentDidChangeAttributes)||void 0===n||n.call(i,this),null===(r=this.delegate)||void 0===r||null===(o=r.attachmentDidChangeAttributes)||void 0===o?void 0:o.call(r,this)}didChangeAttributes(){if(this.isPreviewable())return this.preloadURL()}isPending(){return null!=this.file&&!(this.getURL()||this.getHref())}isPreviewable(){return this.attributes.has(\"previewable\")?this.attributes.get(\"previewable\"):ji.previewablePattern.test(this.getContentType())}getType(){return this.hasContent()?\"content\":this.isPreviewable()?\"preview\":\"file\"}getURL(){return this.attributes.get(\"url\")}getHref(){return this.attributes.get(\"href\")}getFilename(){return this.attributes.get(\"filename\")||\"\"}getFilesize(){return this.attributes.get(\"filesize\")}getFormattedFilesize(){const t=this.attributes.get(\"filesize\");return\"number\"==typeof t?u.formatter(t):\"\"}getExtension(){var t;return null===(t=this.getFilename().match(/\\.(\\w+)$/))||void 0===t?void 0:t[1].toLowerCase()}getContentType(){return this.attributes.get(\"contentType\")}hasContent(){return this.attributes.has(\"content\")}getContent(){return this.attributes.get(\"content\")}getWidth(){return this.attributes.get(\"width\")}getHeight(){return this.attributes.get(\"height\")}getFile(){return this.file}setFile(t){if(this.file=t,this.isPreviewable())return this.preloadFile()}releaseFile(){this.releasePreloadedFile(),this.file=null}getUploadProgress(){return null!=this.uploadProgress?this.uploadProgress:0}setUploadProgress(t){var e,i;if(this.uploadProgress!==t)return this.uploadProgress=t,null===(e=this.uploadProgressDelegate)||void 0===e||null===(i=e.attachmentDidChangeUploadProgress)||void 0===i?void 0:i.call(e,this)}toJSON(){return this.getAttributes()}getCacheKey(){return[super.getCacheKey(...arguments),this.attributes.getCacheKey(),this.getPreviewURL()].join(\"/\")}getPreviewURL(){return this.previewURL||this.preloadingURL}setPreviewURL(t){var e,i,n,r;if(t!==this.getPreviewURL())return this.previewURL=t,null===(e=this.previewDelegate)||void 0===e||null===(i=e.attachmentDidChangeAttributes)||void 0===i||i.call(e,this),null===(n=this.delegate)||void 0===n||null===(r=n.attachmentDidChangePreviewURL)||void 0===r?void 0:r.call(n,this)}preloadURL(){return this.preload(this.getURL(),this.releaseFile)}preloadFile(){if(this.file)return this.fileObjectURL=URL.createObjectURL(this.file),this.preload(this.fileObjectURL)}releasePreloadedFile(){this.fileObjectURL&&(URL.revokeObjectURL(this.fileObjectURL),this.fileObjectURL=null)}preload(t,e){if(t&&t!==this.getPreviewURL()){this.preloadingURL=t;return new _i(t).then((i=>{let{width:n,height:r}=i;return this.getWidth()&&this.getHeight()||this.setAttributes({width:n,height:r}),this.preloadingURL=null,this.setPreviewURL(t),null==e?void 0:e()})).catch((()=>(this.preloadingURL=null,null==e?void 0:e())))}}}Ti(ji,\"previewablePattern\",/^image(\\/(gif|png|webp|jpe?g)|$)/);class Wi extends Bi{static fromJSON(t){return new this(ji.fromJSON(t.attachment),t.attributes)}constructor(t){super(...arguments),this.attachment=t,this.length=1,this.ensureAttachmentExclusivelyHasAttribute(\"href\"),this.attachment.hasContent()||this.removeProhibitedAttributes()}ensureAttachmentExclusivelyHasAttribute(t){this.hasAttribute(t)&&(this.attachment.hasAttribute(t)||this.attachment.setAttributes(this.attributes.slice([t])),this.attributes=this.attributes.remove(t))}removeProhibitedAttributes(){const t=this.attributes.slice(Wi.permittedAttributes);t.isEqualTo(this.attributes)||(this.attributes=t)}getValue(){return this.attachment}isSerializable(){return!this.attachment.isPending()}getCaption(){return this.attributes.get(\"caption\")||\"\"}isEqualTo(t){var e;return super.isEqualTo(t)&&this.attachment.id===(null==t||null===(e=t.attachment)||void 0===e?void 0:e.id)}toString(){return\"\"}toJSON(){const t=super.toJSON(...arguments);return t.attachment=this.attachment,t}getCacheKey(){return[super.getCacheKey(...arguments),this.attachment.getCacheKey()].join(\"/\")}toConsole(){return JSON.stringify(this.toString())}}Ti(Wi,\"permittedAttributes\",[\"caption\",\"presentation\"]),Bi.registerType(\"attachment\",Wi);class Ui extends Bi{static fromJSON(t){return new this(t.string,t.attributes)}constructor(t){super(...arguments),this.string=(t=>t.replace(/\\r\\n?/g,\"\\n\"))(t),this.length=this.string.length}getValue(){return this.string}toString(){return this.string.toString()}isBlockBreak(){return\"\\n\"===this.toString()&&!0===this.getAttribute(\"blockBreak\")}toJSON(){const t=super.toJSON(...arguments);return t.string=this.string,t}canBeConsolidatedWith(t){return t&&this.hasSameConstructorAs(t)&&this.hasSameAttributesAsPiece(t)}consolidateWith(t){return new this.constructor(this.toString()+t.toString(),this.attributes)}splitAtOffset(t){let e,i;return 0===t?(e=null,i=this):t===this.length?(e=this,i=null):(e=new this.constructor(this.string.slice(0,t),this.attributes),i=new this.constructor(this.string.slice(t),this.attributes)),[e,i]}toConsole(){let{string:t}=this;return t.length>15&&(t=t.slice(0,14)+\"…\"),JSON.stringify(t.toString())}}Bi.registerType(\"string\",Ui);class Vi extends nt{static box(t){return t instanceof this?t:new this(t)}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(...arguments),this.objects=t.slice(0),this.length=this.objects.length}indexOf(t){return this.objects.indexOf(t)}splice(){for(var t=arguments.length,e=new Array(t),i=0;it(e,i)))}insertObjectAtIndex(t,e){return this.splice(e,0,t)}insertSplittableListAtIndex(t,e){return this.splice(e,0,...t.objects)}insertSplittableListAtPosition(t,e){const[i,n]=this.splitObjectAtPosition(e);return new this.constructor(i).insertSplittableListAtIndex(t,n)}editObjectAtIndex(t,e){return this.replaceObjectAtIndex(e(this.objects[t]),t)}replaceObjectAtIndex(t,e){return this.splice(e,1,t)}removeObjectAtIndex(t){return this.splice(t,1)}getObjectAtIndex(t){return this.objects[t]}getSplittableListInRange(t){const[e,i,n]=this.splitObjectsAtRange(t);return new this.constructor(e.slice(i,n+1))}selectSplittableList(t){const e=this.objects.filter((e=>t(e)));return new this.constructor(e)}removeObjectsInRange(t){const[e,i,n]=this.splitObjectsAtRange(t);return new this.constructor(e).splice(i,n-i+1)}transformObjectsInRange(t,e){const[i,n,r]=this.splitObjectsAtRange(t),o=i.map(((t,i)=>n<=i&&i<=r?e(t):t));return new this.constructor(o)}splitObjectsAtRange(t){let e,[i,n,r]=this.splitObjectAtPosition(Hi(t));return[i,e]=new this.constructor(i).splitObjectAtPosition(zi(t)+r),[i,n,e-1]}getObjectAtPosition(t){const{index:e}=this.findIndexAndOffsetAtPosition(t);return this.objects[e]}splitObjectAtPosition(t){let e,i;const{index:n,offset:r}=this.findIndexAndOffsetAtPosition(t),o=this.objects.slice(0);if(null!=n)if(0===r)e=n,i=0;else{const t=this.getObjectAtIndex(n),[s,a]=t.splitAtOffset(r);o.splice(n,1,s,a),e=n+1,i=s.getLength()-r}else e=o.length,i=0;return[o,e,i]}consolidate(){const t=[];let e=this.objects[0];return this.objects.slice(1).forEach((i=>{var n,r;null!==(n=(r=e).canBeConsolidatedWith)&&void 0!==n&&n.call(r,i)?e=e.consolidateWith(i):(t.push(e),e=i)})),e&&t.push(e),new this.constructor(t)}consolidateFromIndexToIndex(t,e){const i=this.objects.slice(0).slice(t,e+1),n=new this.constructor(i).consolidate().toArray();return this.splice(t,i.length,...n)}findIndexAndOffsetAtPosition(t){let e,i=0;for(e=0;ethis.endPosition+=t.getLength()))),this.endPosition}toString(){return this.objects.join(\"\")}toArray(){return this.objects.slice(0)}toJSON(){return this.toArray()}isEqualTo(t){return super.isEqualTo(...arguments)||qi(this.objects,null==t?void 0:t.objects)}contentsForInspection(){return{objects:\"[\".concat(this.objects.map((t=>t.inspect())).join(\", \"),\"]\")}}}const qi=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(t.length!==e.length)return!1;let i=!0;for(let n=0;nt[0],zi=t=>t[1];class Ji extends nt{static textForAttachmentWithAttributes(t,e){return new this([new Wi(t,e)])}static textForStringWithAttributes(t,e){return new this([new Ui(t,e)])}static fromJSON(t){return new this(Array.from(t).map((t=>Bi.fromJSON(t))))}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(...arguments);const e=t.filter((t=>!t.isEmpty()));this.pieceList=new Vi(e)}copy(){return this.copyWithPieceList(this.pieceList)}copyWithPieceList(t){return new this.constructor(t.consolidate().toArray())}copyUsingObjectMap(t){const e=this.getPieces().map((e=>t.find(e)||e));return new this.constructor(e)}appendText(t){return this.insertTextAtPosition(t,this.getLength())}insertTextAtPosition(t,e){return this.copyWithPieceList(this.pieceList.insertSplittableListAtPosition(t.pieceList,e))}removeTextAtRange(t){return this.copyWithPieceList(this.pieceList.removeObjectsInRange(t))}replaceTextAtRange(t,e){return this.removeTextAtRange(e).insertTextAtPosition(t,e[0])}moveTextFromRangeToPosition(t,e){if(t[0]<=e&&e<=t[1])return;const i=this.getTextAtRange(t),n=i.getLength();return t[0]e.copyWithAdditionalAttributes(t))))}removeAttributeAtRange(t,e){return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e,(e=>e.copyWithoutAttribute(t))))}setAttributesAtRange(t,e){return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e,(e=>e.copyWithAttributes(t))))}getAttributesAtPosition(t){var e;return(null===(e=this.pieceList.getObjectAtPosition(t))||void 0===e?void 0:e.getAttributes())||{}}getCommonAttributes(){const t=Array.from(this.pieceList.toArray()).map((t=>t.getAttributes()));return Ht.fromCommonAttributesOfObjects(t).toObject()}getCommonAttributesAtRange(t){return this.getTextAtRange(t).getCommonAttributes()||{}}getExpandedRangeForAttributeAtOffset(t,e){let i,n=i=e;const r=this.getLength();for(;n>0&&this.getCommonAttributesAtRange([n-1,i])[t];)n--;for(;i!!t.attachment))}getAttachments(){return this.getAttachmentPieces().map((t=>t.attachment))}getAttachmentAndPositionById(t){let e=0;for(const n of this.pieceList.toArray()){var i;if((null===(i=n.attachment)||void 0===i?void 0:i.id)===t)return{attachment:n.attachment,position:e};e+=n.length}return{attachment:null,position:null}}getAttachmentById(t){const{attachment:e}=this.getAttachmentAndPositionById(t);return e}getRangeOfAttachment(t){const e=this.getAttachmentAndPositionById(t.id),i=e.position;if(t=e.attachment)return[i,i+1]}updateAttributesForAttachment(t,e){const i=this.getRangeOfAttachment(e);return i?this.addAttributesAtRange(t,i):this}getLength(){return this.pieceList.getEndPosition()}isEmpty(){return 0===this.getLength()}isEqualTo(t){var e;return super.isEqualTo(t)||(null==t||null===(e=t.pieceList)||void 0===e?void 0:e.isEqualTo(this.pieceList))}isBlockBreak(){return 1===this.getLength()&&this.pieceList.getObjectAtIndex(0).isBlockBreak()}eachPiece(t){return this.pieceList.eachObject(t)}getPieces(){return this.pieceList.toArray()}getPieceAtPosition(t){return this.pieceList.getObjectAtPosition(t)}contentsForInspection(){return{pieceList:this.pieceList.inspect()}}toSerializableText(){const t=this.pieceList.selectSplittableList((t=>t.isSerializable()));return this.copyWithPieceList(t)}toString(){return this.pieceList.toString()}toJSON(){return this.pieceList.toJSON()}toConsole(){return JSON.stringify(this.pieceList.toArray().map((t=>JSON.parse(t.toConsole()))))}getDirection(){return at(this.toString())}isRTL(){return\"rtl\"===this.getDirection()}}class Ki extends nt{static fromJSON(t){return new this(Ji.fromJSON(t.text),t.attributes,t.htmlAttributes)}constructor(t,e,i){super(...arguments),this.text=Gi(t||new Ji),this.attributes=e||[],this.htmlAttributes=i||{}}isEmpty(){return this.text.isBlockBreak()}isEqualTo(t){return!!super.isEqualTo(t)||this.text.isEqualTo(null==t?void 0:t.text)&&rt(this.attributes,null==t?void 0:t.attributes)&&kt(this.htmlAttributes,null==t?void 0:t.htmlAttributes)}copyWithText(t){return new Ki(t,this.attributes,this.htmlAttributes)}copyWithoutText(){return this.copyWithText(null)}copyWithAttributes(t){return new Ki(this.text,t,this.htmlAttributes)}copyWithoutAttributes(){return this.copyWithAttributes(null)}copyUsingObjectMap(t){const e=t.find(this.text);return e?this.copyWithText(e):this.copyWithText(this.text.copyUsingObjectMap(t))}addAttribute(t){const e=this.attributes.concat(tn(t));return this.copyWithAttributes(e)}addHTMLAttribute(t,e){const i=Object.assign({},this.htmlAttributes,{[t]:e});return new Ki(this.text,this.attributes,i)}removeAttribute(t){const{listAttribute:e}=gt(t),i=nn(nn(this.attributes,t),e);return this.copyWithAttributes(i)}removeLastAttribute(){return this.removeAttribute(this.getLastAttribute())}getLastAttribute(){return en(this.attributes)}getAttributes(){return this.attributes.slice(0)}getAttributeLevel(){return this.attributes.length}getAttributeAtLevel(t){return this.attributes[t-1]}hasAttribute(t){return this.attributes.includes(t)}hasAttributes(){return this.getAttributeLevel()>0}getLastNestableAttribute(){return en(this.getNestableAttributes())}getNestableAttributes(){return this.attributes.filter((t=>gt(t).nestable))}getNestingLevel(){return this.getNestableAttributes().length}decreaseNestingLevel(){const t=this.getLastNestableAttribute();return t?this.removeAttribute(t):this}increaseNestingLevel(){const t=this.getLastNestableAttribute();if(t){const e=this.attributes.lastIndexOf(t),i=ot(this.attributes,e+1,0,...tn(t));return this.copyWithAttributes(i)}return this}getListItemAttributes(){return this.attributes.filter((t=>gt(t).listAttribute))}isListItem(){var t;return null===(t=gt(this.getLastAttribute()))||void 0===t?void 0:t.listAttribute}isTerminalBlock(){var t;return null===(t=gt(this.getLastAttribute()))||void 0===t?void 0:t.terminal}breaksOnReturn(){var t;return null===(t=gt(this.getLastAttribute()))||void 0===t?void 0:t.breakOnReturn}findLineBreakInDirectionFromPosition(t,e){const i=this.toString();let n;switch(t){case\"forward\":n=i.indexOf(\"\\n\",e);break;case\"backward\":n=i.slice(0,e).lastIndexOf(\"\\n\")}if(-1!==n)return n}contentsForInspection(){return{text:this.text.inspect(),attributes:this.attributes}}toString(){return this.text.toString()}toJSON(){return{text:this.text,attributes:this.attributes,htmlAttributes:this.htmlAttributes}}getDirection(){return this.text.getDirection()}isRTL(){return this.text.isRTL()}getLength(){return this.text.getLength()}canBeConsolidatedWith(t){return!this.hasAttributes()&&!t.hasAttributes()&&this.getDirection()===t.getDirection()}consolidateWith(t){const e=Ji.textForStringWithAttributes(\"\\n\"),i=this.getTextWithoutBlockBreak().appendText(e);return this.copyWithText(i.appendText(t.text))}splitAtOffset(t){let e,i;return 0===t?(e=null,i=this):t===this.getLength()?(e=this,i=null):(e=this.copyWithText(this.text.getTextAtRange([0,t])),i=this.copyWithText(this.text.getTextAtRange([t,this.getLength()]))),[e,i]}getBlockBreakPosition(){return this.text.getLength()-1}getTextWithoutBlockBreak(){return Zi(this.text)?this.text.getTextAtRange([0,this.getBlockBreakPosition()]):this.text.copy()}canBeGrouped(t){return this.attributes[t]}canBeGroupedWith(t,e){const i=t.getAttributes(),r=i[e],o=this.attributes[e];return o===r&&!(!1===gt(o).group&&!(()=>{if(!ht){ht=[];for(const t in n){const{listAttribute:e}=n[t];null!=e&&ht.push(e)}}return ht})().includes(i[e+1]))&&(this.getDirection()===t.getDirection()||t.isEmpty())}}const Gi=function(t){return t=Yi(t),t=Xi(t)},Yi=function(t){let e=!1;const i=t.getPieces();let n=i.slice(0,i.length-1);const r=i[i.length-1];return r?(n=n.map((t=>t.isBlockBreak()?(e=!0,Qi(t)):t)),e?new Ji([...n,r]):t):t},$i=Ji.textForStringWithAttributes(\"\\n\",{blockBreak:!0}),Xi=function(t){return Zi(t)?t:t.appendText($i)},Zi=function(t){const e=t.getLength();if(0===e)return!1;return t.getTextAtRange([e-1,e]).isBlockBreak()},Qi=t=>t.copyWithoutAttribute(\"blockBreak\"),tn=function(t){const{listAttribute:e}=gt(t);return e?[e,t]:[t]},en=t=>t.slice(-1)[0],nn=function(t,e){const i=t.lastIndexOf(e);return-1===i?t:ot(t,i,1)};class rn extends nt{static fromJSON(t){return new this(Array.from(t).map((t=>Ki.fromJSON(t))))}static fromString(t,e){const i=Ji.textForStringWithAttributes(t,e);return new this([new Ki(i)])}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(...arguments),0===t.length&&(t=[new Ki]),this.blockList=Vi.box(t)}isEmpty(){const t=this.getBlockAtIndex(0);return 1===this.blockList.length&&t.isEmpty()&&!t.hasAttributes()}copy(){const t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).consolidateBlocks?this.blockList.consolidate().toArray():this.blockList.toArray();return new this.constructor(t)}copyUsingObjectsFromDocument(t){const e=new Xt(t.getObjects());return this.copyUsingObjectMap(e)}copyUsingObjectMap(t){const e=this.getBlocks().map((e=>t.find(e)||e.copyUsingObjectMap(t)));return new this.constructor(e)}copyWithBaseBlockAttributes(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const e=this.getBlocks().map((e=>{const i=t.concat(e.getAttributes());return e.copyWithAttributes(i)}));return new this.constructor(e)}replaceBlock(t,e){const i=this.blockList.indexOf(t);return-1===i?this:new this.constructor(this.blockList.replaceObjectAtIndex(e,i))}insertDocumentAtRange(t,e){const{blockList:i}=t;e=Tt(e);let[n]=e;const{index:r,offset:o}=this.locationFromPosition(n);let s=this;const a=this.getBlockAtPosition(n);return wt(e)&&a.isEmpty()&&!a.hasAttributes()?s=new this.constructor(s.blockList.removeObjectAtIndex(r)):a.getBlockBreakPosition()===o&&n++,s=s.removeTextAtRange(e),new this.constructor(s.blockList.insertSplittableListAtPosition(i,n))}mergeDocumentAtRange(t,e){let i,n;e=Tt(e);const[r]=e,o=this.locationFromPosition(r),s=this.getBlockAtIndex(o.index).getAttributes(),a=t.getBaseBlockAttributes(),l=s.slice(-a.length);if(rt(a,l)){const e=s.slice(0,-a.length);i=t.copyWithBaseBlockAttributes(e)}else i=t.copy({consolidateBlocks:!0}).copyWithBaseBlockAttributes(s);const c=i.getBlockCount(),u=i.getBlockAtIndex(0);if(rt(s,u.getAttributes())){const t=u.getTextWithoutBlockBreak();if(n=this.insertTextAtRange(t,e),c>1){i=new this.constructor(i.getBlocks().slice(1));const e=r+t.getLength();n=n.insertDocumentAtRange(i,e)}}else n=this.insertDocumentAtRange(i,e);return n}insertTextAtRange(t,e){e=Tt(e);const[i]=e,{index:n,offset:r}=this.locationFromPosition(i),o=this.removeTextAtRange(e);return new this.constructor(o.blockList.editObjectAtIndex(n,(e=>e.copyWithText(e.text.insertTextAtPosition(t,r)))))}removeTextAtRange(t){let e;t=Tt(t);const[i,n]=t;if(wt(t))return this;const[r,o]=Array.from(this.locationRangeFromRange(t)),s=r.index,a=r.offset,l=this.getBlockAtIndex(s),c=o.index,u=o.offset,h=this.getBlockAtIndex(c);if(n-i==1&&l.getBlockBreakPosition()===a&&h.getBlockBreakPosition()!==u&&\"\\n\"===h.text.getStringAtPosition(u))e=this.blockList.editObjectAtIndex(c,(t=>t.copyWithText(t.text.removeTextAtRange([u,u+1]))));else{let t;const i=l.text.getTextAtRange([0,a]),n=h.text.getTextAtRange([u,h.getLength()]),r=i.appendText(n);t=s!==c&&0===a&&l.getAttributeLevel()>=h.getAttributeLevel()?h.copyWithText(r):l.copyWithText(r);const o=c+1-s;e=this.blockList.splice(s,o,t)}return new this.constructor(e)}moveTextFromRangeToPosition(t,e){let i;t=Tt(t);const[n,r]=t;if(n<=e&&e<=r)return this;let o=this.getDocumentAtRange(t),s=this.removeTextAtRange(t);const a=nn=n.editObjectAtIndex(o,(function(){return gt(t)?i.addAttribute(t,e):r[0]===r[1]?i:i.copyWithText(i.text.addAttributeAtRange(t,e,r))})))),new this.constructor(n)}addAttribute(t,e){let{blockList:i}=this;return this.eachBlock(((n,r)=>i=i.editObjectAtIndex(r,(()=>n.addAttribute(t,e))))),new this.constructor(i)}removeAttributeAtRange(t,e){let{blockList:i}=this;return this.eachBlockAtRange(e,(function(e,n,r){gt(t)?i=i.editObjectAtIndex(r,(()=>e.removeAttribute(t))):n[0]!==n[1]&&(i=i.editObjectAtIndex(r,(()=>e.copyWithText(e.text.removeAttributeAtRange(t,n)))))})),new this.constructor(i)}updateAttributesForAttachment(t,e){const i=this.getRangeOfAttachment(e),[n]=Array.from(i),{index:r}=this.locationFromPosition(n),o=this.getTextAtIndex(r);return new this.constructor(this.blockList.editObjectAtIndex(r,(i=>i.copyWithText(o.updateAttributesForAttachment(t,e)))))}removeAttributeForAttachment(t,e){const i=this.getRangeOfAttachment(e);return this.removeAttributeAtRange(t,i)}setHTMLAttributeAtPosition(t,e,i){const n=this.getBlockAtPosition(t),r=n.addHTMLAttribute(e,i);return this.replaceBlock(n,r)}insertBlockBreakAtRange(t){let e;t=Tt(t);const[i]=t,{offset:n}=this.locationFromPosition(i),r=this.removeTextAtRange(t);return 0===n&&(e=[new Ki]),new this.constructor(r.blockList.insertSplittableListAtPosition(new Vi(e),i))}applyBlockAttributeAtRange(t,e,i){const n=this.expandRangeToLineBreaksAndSplitBlocks(i);let r=n.document;i=n.range;const o=gt(t);if(o.listAttribute){r=r.removeLastListAttributeAtRange(i,{exceptAttributeName:t});const e=r.convertLineBreaksToBlockBreaksInRange(i);r=e.document,i=e.range}else r=o.exclusive?r.removeBlockAttributesAtRange(i):o.terminal?r.removeLastTerminalAttributeAtRange(i):r.consolidateBlocksAtRange(i);return r.addAttributeAtRange(t,e,i)}removeLastListAttributeAtRange(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{blockList:i}=this;return this.eachBlockAtRange(t,(function(t,n,r){const o=t.getLastAttribute();o&>(o).listAttribute&&o!==e.exceptAttributeName&&(i=i.editObjectAtIndex(r,(()=>t.removeAttribute(o))))})),new this.constructor(i)}removeLastTerminalAttributeAtRange(t){let{blockList:e}=this;return this.eachBlockAtRange(t,(function(t,i,n){const r=t.getLastAttribute();r&>(r).terminal&&(e=e.editObjectAtIndex(n,(()=>t.removeAttribute(r))))})),new this.constructor(e)}removeBlockAttributesAtRange(t){let{blockList:e}=this;return this.eachBlockAtRange(t,(function(t,i,n){t.hasAttributes()&&(e=e.editObjectAtIndex(n,(()=>t.copyWithoutAttributes())))})),new this.constructor(e)}expandRangeToLineBreaksAndSplitBlocks(t){let e;t=Tt(t);let[i,n]=t;const r=this.locationFromPosition(i),o=this.locationFromPosition(n);let s=this;const a=s.getBlockAtIndex(r.index);if(r.offset=a.findLineBreakInDirectionFromPosition(\"backward\",r.offset),null!=r.offset&&(e=s.positionFromLocation(r),s=s.insertBlockBreakAtRange([e,e+1]),o.index+=1,o.offset-=s.getBlockAtIndex(r.index).getLength(),r.index+=1),r.offset=0,0===o.offset&&o.index>r.index)o.index-=1,o.offset=s.getBlockAtIndex(o.index).getBlockBreakPosition();else{const t=s.getBlockAtIndex(o.index);\"\\n\"===t.text.getStringAtRange([o.offset-1,o.offset])?o.offset-=1:o.offset=t.findLineBreakInDirectionFromPosition(\"forward\",o.offset),o.offset!==t.getBlockBreakPosition()&&(e=s.positionFromLocation(o),s=s.insertBlockBreakAtRange([e,e+1]))}return i=s.positionFromLocation(r),n=s.positionFromLocation(o),{document:s,range:t=Tt([i,n])}}convertLineBreaksToBlockBreaksInRange(t){t=Tt(t);let[e]=t;const i=this.getStringAtRange(t).slice(0,-1);let n=this;return i.replace(/.*?\\n/g,(function(t){e+=t.length,n=n.insertBlockBreakAtRange([e-1,e])})),{document:n,range:t}}consolidateBlocksAtRange(t){t=Tt(t);const[e,i]=t,n=this.locationFromPosition(e).index,r=this.locationFromPosition(i).index;return new this.constructor(this.blockList.consolidateFromIndexToIndex(n,r))}getDocumentAtRange(t){t=Tt(t);const e=this.blockList.getSplittableListInRange(t).toArray();return new this.constructor(e)}getStringAtRange(t){let e;const i=t=Tt(t);return i[i.length-1]!==this.getLength()&&(e=-1),this.getDocumentAtRange(t).toString().slice(0,e)}getBlockAtIndex(t){return this.blockList.getObjectAtIndex(t)}getBlockAtPosition(t){const{index:e}=this.locationFromPosition(t);return this.getBlockAtIndex(e)}getTextAtIndex(t){var e;return null===(e=this.getBlockAtIndex(t))||void 0===e?void 0:e.text}getTextAtPosition(t){const{index:e}=this.locationFromPosition(t);return this.getTextAtIndex(e)}getPieceAtPosition(t){const{index:e,offset:i}=this.locationFromPosition(t);return this.getTextAtIndex(e).getPieceAtPosition(i)}getCharacterAtPosition(t){const{index:e,offset:i}=this.locationFromPosition(t);return this.getTextAtIndex(e).getStringAtRange([i,i+1])}getLength(){return this.blockList.getEndPosition()}getBlocks(){return this.blockList.toArray()}getBlockCount(){return this.blockList.length}getEditCount(){return this.editCount}eachBlock(t){return this.blockList.eachObject(t)}eachBlockAtRange(t,e){let i,n;t=Tt(t);const[r,o]=t,s=this.locationFromPosition(r),a=this.locationFromPosition(o);if(s.index===a.index)return i=this.getBlockAtIndex(s.index),n=[s.offset,a.offset],e(i,n,s.index);for(let t=s.index;t<=a.index;t++)if(i=this.getBlockAtIndex(t),i){switch(t){case s.index:n=[s.offset,i.text.getLength()];break;case a.index:n=[0,a.offset];break;default:n=[0,i.text.getLength()]}e(i,n,t)}}getCommonAttributesAtRange(t){t=Tt(t);const[e]=t;if(wt(t))return this.getCommonAttributesAtPosition(e);{const e=[],i=[];return this.eachBlockAtRange(t,(function(t,n){if(n[0]!==n[1])return e.push(t.text.getCommonAttributesAtRange(n)),i.push(on(t))})),Ht.fromCommonAttributesOfObjects(e).merge(Ht.fromCommonAttributesOfObjects(i)).toObject()}}getCommonAttributesAtPosition(t){let e,i;const{index:n,offset:r}=this.locationFromPosition(t),o=this.getBlockAtIndex(n);if(!o)return{};const s=on(o),a=o.text.getAttributesAtPosition(r),l=o.text.getAttributesAtPosition(r-1),c=Object.keys(j).filter((t=>j[t].inheritable));for(e in l)i=l[e],(i===a[e]||c.includes(e))&&(s[e]=i);return s}getRangeOfCommonAttributeAtPosition(t,e){const{index:i,offset:n}=this.locationFromPosition(e),r=this.getTextAtIndex(i),[o,s]=Array.from(r.getExpandedRangeForAttributeAtOffset(t,n)),a=this.positionFromLocation({index:i,offset:o}),l=this.positionFromLocation({index:i,offset:s});return Tt([a,l])}getBaseBlockAttributes(){let t=this.getBlockAtIndex(0).getAttributes();for(let e=1;e{const e=[];for(let r=0;r{let{text:i}=e;return t=t.concat(i.getAttachmentPieces())})),t}getAttachments(){return this.getAttachmentPieces().map((t=>t.attachment))}getRangeOfAttachment(t){let e=0;const i=this.blockList.toArray();for(let n=0;n{const r=n.getLength();n.hasAttribute(t)&&i.push([e,e+r]),e+=r})),i}findRangesForTextAttribute(t){let{withValue:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=0,n=[];const r=[];return this.getPieces().forEach((o=>{const s=o.getLength();(function(i){return e?i.getAttribute(t)===e:i.hasAttribute(t)})(o)&&(n[1]===i?n[1]=i+s:r.push(n=[i,i+s])),i+=s})),r}locationFromPosition(t){const e=this.blockList.findIndexAndOffsetAtPosition(Math.max(0,t));if(null!=e.index)return e;{const t=this.getBlocks();return{index:t.length-1,offset:t[t.length-1].getLength()}}}positionFromLocation(t){return this.blockList.findPositionAtIndexAndOffset(t.index,t.offset)}locationRangeFromPosition(t){return Tt(this.locationFromPosition(t))}locationRangeFromRange(t){if(!(t=Tt(t)))return;const[e,i]=Array.from(t),n=this.locationFromPosition(e),r=this.locationFromPosition(i);return Tt([n,r])}rangeFromLocationRange(t){let e;t=Tt(t);const i=this.positionFromLocation(t[0]);return wt(t)||(e=this.positionFromLocation(t[1])),Tt([i,e])}isEqualTo(t){return this.blockList.isEqualTo(null==t?void 0:t.blockList)}getTexts(){return this.getBlocks().map((t=>t.text))}getPieces(){const t=[];return Array.from(this.getTexts()).forEach((e=>{t.push(...Array.from(e.getPieces()||[]))})),t}getObjects(){return this.getBlocks().concat(this.getTexts()).concat(this.getPieces())}toSerializableDocument(){const t=[];return this.blockList.eachObject((e=>t.push(e.copyWithText(e.text.toSerializableText())))),new this.constructor(t)}toString(){return this.blockList.toString()}toJSON(){return this.blockList.toJSON()}toConsole(){return JSON.stringify(this.blockList.toArray().map((t=>JSON.parse(t.text.toConsole()))))}}const on=function(t){const e={},i=t.getLastAttribute();return i&&(e[i]=!0),e},sn=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{string:t=jt(t),attributes:e,type:\"string\"}},an=(t,e)=>{try{return JSON.parse(t.getAttribute(\"data-trix-\".concat(e)))}catch(t){return{}}};class ln extends q{static parse(t,e){const i=new this(t,e);return i.parse(),i}constructor(t){let{referenceElement:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(...arguments),this.html=t,this.referenceElement=e,this.blocks=[],this.blockElements=[],this.processedElements=[]}getDocument(){return rn.fromJSON(this.blocks)}parse(){try{this.createHiddenContainer(),ci.setHTML(this.containerElement,this.html);const t=S(this.containerElement,{usingFilter:dn});for(;t.nextNode();)this.processNode(t.currentNode);return this.translateBlockElementMarginsToNewlines()}finally{this.removeHiddenContainer()}}createHiddenContainer(){return this.referenceElement?(this.containerElement=this.referenceElement.cloneNode(!1),this.containerElement.removeAttribute(\"id\"),this.containerElement.setAttribute(\"data-trix-internal\",\"\"),this.containerElement.style.display=\"none\",this.referenceElement.parentNode.insertBefore(this.containerElement,this.referenceElement.nextSibling)):(this.containerElement=k({tagName:\"div\",style:{display:\"none\"}}),document.body.appendChild(this.containerElement))}removeHiddenContainer(){return E(this.containerElement)}processNode(t){switch(t.nodeType){case Node.TEXT_NODE:if(!this.isInsignificantTextNode(t))return this.appendBlockForTextNode(t),this.processTextNode(t);break;case Node.ELEMENT_NODE:return this.appendBlockForElement(t),this.processElement(t)}}appendBlockForTextNode(t){const e=t.parentNode;if(e===this.currentBlockElement&&this.isBlockElement(t.previousSibling))return this.appendStringWithAttributes(\"\\n\");if(e===this.containerElement||this.isBlockElement(e)){var i;const t=this.getBlockAttributes(e),n=this.getBlockHTMLAttributes(e);rt(t,null===(i=this.currentBlock)||void 0===i?void 0:i.attributes)||(this.currentBlock=this.appendBlockForAttributesWithElement(t,e,n),this.currentBlockElement=e)}}appendBlockForElement(t){const e=this.isBlockElement(t),i=x(this.currentBlockElement,t);if(e&&!this.isBlockElement(t.firstChild)){if(!this.isInsignificantTextNode(t.firstChild)||!this.isBlockElement(t.firstElementChild)){const e=this.getBlockAttributes(t),n=this.getBlockHTMLAttributes(t);if(t.firstChild){if(i&&rt(e,this.currentBlock.attributes))return this.appendStringWithAttributes(\"\\n\");this.currentBlock=this.appendBlockForAttributesWithElement(e,t,n),this.currentBlockElement=t}}}else if(this.currentBlockElement&&!i&&!e){const e=this.findParentBlockElement(t);if(e)return this.appendBlockForElement(e);this.currentBlock=this.appendEmptyBlock(),this.currentBlockElement=null}}findParentBlockElement(t){let{parentElement:e}=t;for(;e&&e!==this.containerElement;){if(this.isBlockElement(e)&&this.blockElements.includes(e))return e;e=e.parentElement}return null}processTextNode(t){let e=t.data;var i;cn(t.parentNode)||(e=Ut(e),pn(null===(i=t.previousSibling)||void 0===i?void 0:i.textContent)&&(e=gn(e)));return this.appendStringWithAttributes(e,this.getTextAttributes(t.parentNode))}processElement(t){let e;if(P(t)){if(e=an(t,\"attachment\"),Object.keys(e).length){const i=this.getTextAttributes(t);this.appendAttachmentWithAttributes(e,i),t.innerHTML=\"\"}return this.processedElements.push(t)}switch(R(t)){case\"br\":return this.isExtraBR(t)||this.isBlockElement(t.nextSibling)||this.appendStringWithAttributes(\"\\n\",this.getTextAttributes(t)),this.processedElements.push(t);case\"img\":e={url:t.getAttribute(\"src\"),contentType:\"image\"};const i=(t=>{const e=t.getAttribute(\"width\"),i=t.getAttribute(\"height\"),n={};return e&&(n.width=parseInt(e,10)),i&&(n.height=parseInt(i,10)),n})(t);for(const t in i){const n=i[t];e[t]=n}return this.appendAttachmentWithAttributes(e,this.getTextAttributes(t)),this.processedElements.push(t);case\"tr\":if(this.needsTableSeparator(t))return this.appendStringWithAttributes(_.tableRowSeparator);break;case\"td\":if(this.needsTableSeparator(t))return this.appendStringWithAttributes(_.tableCellSeparator)}}appendBlockForAttributesWithElement(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.blockElements.push(e);const n=function(){return{text:[],attributes:arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},htmlAttributes:arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}}}(t,i);return this.blocks.push(n),n}appendEmptyBlock(){return this.appendBlockForAttributesWithElement([],null)}appendStringWithAttributes(t,e){return this.appendPiece(sn(t,e))}appendAttachmentWithAttributes(t,e){return this.appendPiece(function(t){return{attachment:t,attributes:arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},type:\"attachment\"}}(t,e))}appendPiece(t){return 0===this.blocks.length&&this.appendEmptyBlock(),this.blocks[this.blocks.length-1].text.push(t)}appendStringToTextAtIndex(t,e){const{text:i}=this.blocks[e],n=i[i.length-1];if(\"string\"!==(null==n?void 0:n.type))return i.push(sn(t));n.string+=t}prependStringToTextAtIndex(t,e){const{text:i}=this.blocks[e],n=i[0];if(\"string\"!==(null==n?void 0:n.type))return i.unshift(sn(t));n.string=t+n.string}getTextAttributes(t){let e;const i={};for(const n in j){const r=j[n];if(r.tagName&&A(t,{matchingSelector:r.tagName,untilNode:this.containerElement}))i[n]=!0;else if(r.parser){if(e=r.parser(t),e){let o=!1;for(const i of this.findBlockElementAncestors(t))if(r.parser(i)===e){o=!0;break}o||(i[n]=e)}}else r.styleProperty&&(e=t.style[r.styleProperty],e&&(i[n]=e))}if(P(t)){const n=an(t,\"attributes\");for(const t in n)e=n[t],i[t]=e}return i}getBlockAttributes(t){const e=[];for(;t&&t!==this.containerElement;){for(const r in n){const o=n[r];var i;if(!1!==o.parse)if(R(t)===o.tagName)(null!==(i=o.test)&&void 0!==i&&i.call(o,t)||!o.test)&&(e.push(r),o.listAttribute&&e.push(o.listAttribute))}t=t.parentNode}return e.reverse()}getBlockHTMLAttributes(t){const e={},i=Object.values(n).find((e=>e.tagName===R(t)));return((null==i?void 0:i.htmlAttributes)||[]).forEach((i=>{t.hasAttribute(i)&&(e[i]=t.getAttribute(i))})),e}findBlockElementAncestors(t){const e=[];for(;t&&t!==this.containerElement;){const i=R(t);w().includes(i)&&e.push(t),t=t.parentNode}return e}isBlockElement(t){if((null==t?void 0:t.nodeType)===Node.ELEMENT_NODE&&!P(t)&&!A(t,{matchingSelector:\"td\",untilNode:this.containerElement}))return w().includes(R(t))||\"block\"===window.getComputedStyle(t).display}isInsignificantTextNode(t){if((null==t?void 0:t.nodeType)!==Node.TEXT_NODE)return;if(!mn(t.data))return;const{parentNode:e,previousSibling:i,nextSibling:n}=t;return un(e.previousSibling)&&!this.isBlockElement(e.previousSibling)||cn(e)?void 0:!i||this.isBlockElement(i)||!n||this.isBlockElement(n)}isExtraBR(t){return\"br\"===R(t)&&this.isBlockElement(t.parentNode)&&t.parentNode.lastChild===t}needsTableSeparator(t){if(_.removeBlankTableCells){var e;const i=null===(e=t.previousSibling)||void 0===e?void 0:e.textContent;return i&&/\\S/.test(i)}return t.previousSibling}translateBlockElementMarginsToNewlines(){const t=this.getMarginOfDefaultBlockElement();for(let e=0;e2*t.top&&this.prependStringToTextAtIndex(\"\\n\",e),i.bottom>2*t.bottom&&this.appendStringToTextAtIndex(\"\\n\",e))}}getMarginOfBlockElementAtIndex(t){const e=this.blockElements[t];if(e&&e.textContent&&!w().includes(R(e))&&!this.processedElements.includes(e))return hn(e)}getMarginOfDefaultBlockElement(){const t=k(n.default.tagName);return this.containerElement.appendChild(t),hn(t)}}const cn=function(t){const{whiteSpace:e}=window.getComputedStyle(t);return[\"pre\",\"pre-wrap\",\"pre-line\"].includes(e)},un=t=>t&&!pn(t.textContent),hn=function(t){const e=window.getComputedStyle(t);if(\"block\"===e.display)return{top:parseInt(e.marginTop),bottom:parseInt(e.marginBottom)}},dn=function(t){return\"style\"===R(t)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},gn=t=>t.replace(new RegExp(\"^\".concat(Wt.source,\"+\")),\"\"),mn=t=>new RegExp(\"^\".concat(Wt.source,\"*$\")).test(t),pn=t=>/\\s$/.test(t),fn=[\"contenteditable\",\"data-trix-id\",\"data-trix-store-key\",\"data-trix-mutable\",\"data-trix-placeholder\",\"tabindex\"],bn=\"data-trix-serialized-attributes\",vn=\"[\".concat(bn,\"]\"),An=new RegExp(\"\\x3c!--block--\\x3e\",\"g\"),yn={\"application/json\":function(t){let e;if(t instanceof rn)e=t;else{if(!(t instanceof HTMLElement))throw new Error(\"unserializable object\");e=ln.parse(t.innerHTML).getDocument()}return e.toSerializableDocument().toJSONString()},\"text/html\":function(t){let e;if(t instanceof rn)e=xi.render(t);else{if(!(t instanceof HTMLElement))throw new Error(\"unserializable object\");e=t.cloneNode(!0)}return Array.from(e.querySelectorAll(\"[data-trix-serialize=false]\")).forEach((t=>{E(t)})),fn.forEach((t=>{Array.from(e.querySelectorAll(\"[\".concat(t,\"]\"))).forEach((e=>{e.removeAttribute(t)}))})),Array.from(e.querySelectorAll(vn)).forEach((t=>{try{const e=JSON.parse(t.getAttribute(bn));t.removeAttribute(bn);for(const i in e){const n=e[i];t.setAttribute(i,n)}}catch(t){}})),e.innerHTML.replace(An,\"\")}};var xn=Object.freeze({__proto__:null});class Cn extends q{constructor(t,e){super(...arguments),this.attachmentManager=t,this.attachment=e,this.id=this.attachment.id,this.file=this.attachment.file}remove(){return this.attachmentManager.requestRemovalOfAttachment(this.attachment)}}Cn.proxyMethod(\"attachment.getAttribute\"),Cn.proxyMethod(\"attachment.hasAttribute\"),Cn.proxyMethod(\"attachment.setAttribute\"),Cn.proxyMethod(\"attachment.getAttributes\"),Cn.proxyMethod(\"attachment.setAttributes\"),Cn.proxyMethod(\"attachment.isPending\"),Cn.proxyMethod(\"attachment.isPreviewable\"),Cn.proxyMethod(\"attachment.getURL\"),Cn.proxyMethod(\"attachment.getHref\"),Cn.proxyMethod(\"attachment.getFilename\"),Cn.proxyMethod(\"attachment.getFilesize\"),Cn.proxyMethod(\"attachment.getFormattedFilesize\"),Cn.proxyMethod(\"attachment.getExtension\"),Cn.proxyMethod(\"attachment.getContentType\"),Cn.proxyMethod(\"attachment.getFile\"),Cn.proxyMethod(\"attachment.setFile\"),Cn.proxyMethod(\"attachment.releaseFile\"),Cn.proxyMethod(\"attachment.getUploadProgress\"),Cn.proxyMethod(\"attachment.setUploadProgress\");class En extends q{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(...arguments),this.managedAttachments={},Array.from(t).forEach((t=>{this.manageAttachment(t)}))}getAttachments(){const t=[];for(const e in this.managedAttachments){const i=this.managedAttachments[e];t.push(i)}return t}manageAttachment(t){return this.managedAttachments[t.id]||(this.managedAttachments[t.id]=new Cn(this,t)),this.managedAttachments[t.id]}attachmentIsManaged(t){return t.id in this.managedAttachments}requestRemovalOfAttachment(t){var e,i;if(this.attachmentIsManaged(t))return null===(e=this.delegate)||void 0===e||null===(i=e.attachmentManagerDidRequestRemovalOfAttachment)||void 0===i?void 0:i.call(e,t)}unmanageAttachment(t){const e=this.managedAttachments[t.id];return delete this.managedAttachments[t.id],e}}class Sn{constructor(t){this.composition=t,this.document=this.composition.document;const e=this.composition.getSelectedRange();this.startPosition=e[0],this.endPosition=e[1],this.startLocation=this.document.locationFromPosition(this.startPosition),this.endLocation=this.document.locationFromPosition(this.endPosition),this.block=this.document.getBlockAtIndex(this.endLocation.index),this.breaksOnReturn=this.block.breaksOnReturn(),this.previousCharacter=this.block.text.getStringAtPosition(this.endLocation.offset-1),this.nextCharacter=this.block.text.getStringAtPosition(this.endLocation.offset)}shouldInsertBlockBreak(){return this.block.hasAttributes()&&this.block.isListItem()&&!this.block.isEmpty()?0!==this.startLocation.offset:this.breaksOnReturn&&\"\\n\"!==this.nextCharacter}shouldBreakFormattedBlock(){return this.block.hasAttributes()&&!this.block.isListItem()&&(this.breaksOnReturn&&\"\\n\"===this.nextCharacter||\"\\n\"===this.previousCharacter)}shouldDecreaseListLevel(){return this.block.hasAttributes()&&this.block.isListItem()&&this.block.isEmpty()}shouldPrependListItem(){return this.block.isListItem()&&0===this.startLocation.offset&&!this.block.isEmpty()}shouldRemoveLastBlockAttribute(){return this.block.hasAttributes()&&!this.block.isListItem()&&this.block.isEmpty()}}class Rn extends q{constructor(){super(...arguments),this.document=new rn,this.attachments=[],this.currentAttributes={},this.revision=0}setDocument(t){var e,i;if(!t.isEqualTo(this.document))return this.document=t,this.refreshAttachments(),this.revision++,null===(e=this.delegate)||void 0===e||null===(i=e.compositionDidChangeDocument)||void 0===i?void 0:i.call(e,t)}getSnapshot(){return{document:this.document,selectedRange:this.getSelectedRange()}}loadSnapshot(t){var e,i,n,r;let{document:o,selectedRange:s}=t;return null===(e=this.delegate)||void 0===e||null===(i=e.compositionWillLoadSnapshot)||void 0===i||i.call(e),this.setDocument(null!=o?o:new rn),this.setSelection(null!=s?s:[0,0]),null===(n=this.delegate)||void 0===n||null===(r=n.compositionDidLoadSnapshot)||void 0===r?void 0:r.call(n)}insertText(t){let{updatePosition:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{updatePosition:!0};const i=this.getSelectedRange();this.setDocument(this.document.insertTextAtRange(t,i));const n=i[0],r=n+t.getLength();return e&&this.setSelection(r),this.notifyDelegateOfInsertionAtRange([n,r])}insertBlock(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Ki;const e=new rn([t]);return this.insertDocument(e)}insertDocument(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new rn;const e=this.getSelectedRange();this.setDocument(this.document.insertDocumentAtRange(t,e));const i=e[0],n=i+t.getLength();return this.setSelection(n),this.notifyDelegateOfInsertionAtRange([i,n])}insertString(t,e){const i=this.getCurrentTextAttributes(),n=Ji.textForStringWithAttributes(t,i);return this.insertText(n,e)}insertBlockBreak(){const t=this.getSelectedRange();this.setDocument(this.document.insertBlockBreakAtRange(t));const e=t[0],i=e+1;return this.setSelection(i),this.notifyDelegateOfInsertionAtRange([e,i])}insertLineBreak(){const t=new Sn(this);if(t.shouldDecreaseListLevel())return this.decreaseListLevel(),this.setSelection(t.startPosition);if(t.shouldPrependListItem()){const e=new rn([t.block.copyWithoutText()]);return this.insertDocument(e)}return t.shouldInsertBlockBreak()?this.insertBlockBreak():t.shouldRemoveLastBlockAttribute()?this.removeLastBlockAttribute():t.shouldBreakFormattedBlock()?this.breakFormattedBlock(t):this.insertString(\"\\n\")}insertHTML(t){const e=ln.parse(t).getDocument(),i=this.getSelectedRange();this.setDocument(this.document.mergeDocumentAtRange(e,i));const n=i[0],r=n+e.getLength()-1;return this.setSelection(r),this.notifyDelegateOfInsertionAtRange([n,r])}replaceHTML(t){const e=ln.parse(t).getDocument().copyUsingObjectsFromDocument(this.document),i=this.getLocationRange({strict:!1}),n=this.document.rangeFromLocationRange(i);return this.setDocument(e),this.setSelection(n)}insertFile(t){return this.insertFiles([t])}insertFiles(t){const e=[];return Array.from(t).forEach((t=>{var i;if(null!==(i=this.delegate)&&void 0!==i&&i.compositionShouldAcceptFile(t)){const i=ji.attachmentForFile(t);e.push(i)}})),this.insertAttachments(e)}insertAttachment(t){return this.insertAttachments([t])}insertAttachments(t){let e=new Ji;return Array.from(t).forEach((t=>{var n;const r=t.getType(),o=null===(n=i[r])||void 0===n?void 0:n.presentation,s=this.getCurrentTextAttributes();o&&(s.presentation=o);const a=Ji.textForAttachmentWithAttributes(t,s);e=e.appendText(a)})),this.insertText(e)}shouldManageDeletingInDirection(t){const e=this.getLocationRange();if(wt(e)){if(\"backward\"===t&&0===e[0].offset)return!0;if(this.shouldManageMovingCursorInDirection(t))return!0}else if(e[0].index!==e[1].index)return!0;return!1}deleteInDirection(t){let e,i,n,{length:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=this.getLocationRange();let s=this.getSelectedRange();const a=wt(s);if(a?i=\"backward\"===t&&0===o[0].offset:n=o[0].index!==o[1].index,i&&this.canDecreaseBlockAttributeLevel()){const t=this.getBlock();if(t.isListItem()?this.decreaseListLevel():this.decreaseBlockAttributeLevel(),this.setSelection(s[0]),t.isEmpty())return!1}return a&&(s=this.getExpandedRangeInDirection(t,{length:r}),\"backward\"===t&&(e=this.getAttachmentAtRange(s))),e?(this.editAttachment(e),!1):(this.setDocument(this.document.removeTextAtRange(s)),this.setSelection(s[0]),!i&&!n&&void 0)}moveTextFromRange(t){const[e]=Array.from(this.getSelectedRange());return this.setDocument(this.document.moveTextFromRangeToPosition(t,e)),this.setSelection(e)}removeAttachment(t){const e=this.document.getRangeOfAttachment(t);if(e)return this.stopEditingAttachment(),this.setDocument(this.document.removeTextAtRange(e)),this.setSelection(e[0])}removeLastBlockAttribute(){const[t,e]=Array.from(this.getSelectedRange()),i=this.document.getBlockAtPosition(e);return this.removeCurrentAttribute(i.getLastAttribute()),this.setSelection(t)}insertPlaceholder(){return this.placeholderPosition=this.getPosition(),this.insertString(\" \")}selectPlaceholder(){if(null!=this.placeholderPosition)return this.setSelectedRange([this.placeholderPosition,this.placeholderPosition+1]),this.getSelectedRange()}forgetPlaceholder(){this.placeholderPosition=null}hasCurrentAttribute(t){const e=this.currentAttributes[t];return null!=e&&!1!==e}toggleCurrentAttribute(t){const e=!this.currentAttributes[t];return e?this.setCurrentAttribute(t,e):this.removeCurrentAttribute(t)}canSetCurrentAttribute(t){return gt(t)?this.canSetCurrentBlockAttribute(t):this.canSetCurrentTextAttribute(t)}canSetCurrentTextAttribute(t){const e=this.getSelectedDocument();if(e){for(const t of Array.from(e.getAttachments()))if(!t.hasContent())return!1;return!0}}canSetCurrentBlockAttribute(t){const e=this.getBlock();if(e)return!e.isTerminalBlock()}setCurrentAttribute(t,e){return gt(t)?this.setBlockAttribute(t,e):(this.setTextAttribute(t,e),this.currentAttributes[t]=e,this.notifyDelegateOfCurrentAttributesChange())}setHTMLAtributeAtPosition(t,e,i){var n;const r=this.document.getBlockAtPosition(t),o=null===(n=gt(r.getLastAttribute()))||void 0===n?void 0:n.htmlAttributes;if(r&&null!=o&&o.includes(e)){const n=this.document.setHTMLAttributeAtPosition(t,e,i);this.setDocument(n)}}setTextAttribute(t,e){const i=this.getSelectedRange();if(!i)return;const[n,r]=Array.from(i);if(n!==r)return this.setDocument(this.document.addAttributeAtRange(t,e,i));if(\"href\"===t){const t=Ji.textForStringWithAttributes(e,{href:e});return this.insertText(t)}}setBlockAttribute(t,e){const i=this.getSelectedRange();if(this.canSetCurrentAttribute(t))return this.setDocument(this.document.applyBlockAttributeAtRange(t,e,i)),this.setSelection(i)}removeCurrentAttribute(t){return gt(t)?(this.removeBlockAttribute(t),this.updateCurrentAttributes()):(this.removeTextAttribute(t),delete this.currentAttributes[t],this.notifyDelegateOfCurrentAttributesChange())}removeTextAttribute(t){const e=this.getSelectedRange();if(e)return this.setDocument(this.document.removeAttributeAtRange(t,e))}removeBlockAttribute(t){const e=this.getSelectedRange();if(e)return this.setDocument(this.document.removeAttributeAtRange(t,e))}canDecreaseNestingLevel(){var t;return(null===(t=this.getBlock())||void 0===t?void 0:t.getNestingLevel())>0}canIncreaseNestingLevel(){var t;const e=this.getBlock();if(e){if(null===(t=gt(e.getLastNestableAttribute()))||void 0===t||!t.listAttribute)return e.getNestingLevel()>0;{const t=this.getPreviousBlock();if(t)return function(){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return rt((arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).slice(0,t.length),t)}(t.getListItemAttributes(),e.getListItemAttributes())}}}decreaseNestingLevel(){const t=this.getBlock();if(t)return this.setDocument(this.document.replaceBlock(t,t.decreaseNestingLevel()))}increaseNestingLevel(){const t=this.getBlock();if(t)return this.setDocument(this.document.replaceBlock(t,t.increaseNestingLevel()))}canDecreaseBlockAttributeLevel(){var t;return(null===(t=this.getBlock())||void 0===t?void 0:t.getAttributeLevel())>0}decreaseBlockAttributeLevel(){var t;const e=null===(t=this.getBlock())||void 0===t?void 0:t.getLastAttribute();if(e)return this.removeCurrentAttribute(e)}decreaseListLevel(){let[t]=Array.from(this.getSelectedRange());const{index:e}=this.document.locationFromPosition(t);let i=e;const n=this.getBlock().getAttributeLevel();let r=this.document.getBlockAtIndex(i+1);for(;r&&r.isListItem()&&!(r.getAttributeLevel()<=n);)i++,r=this.document.getBlockAtIndex(i+1);t=this.document.positionFromLocation({index:e,offset:0});const o=this.document.positionFromLocation({index:i,offset:0});return this.setDocument(this.document.removeLastListAttributeAtRange([t,o]))}updateCurrentAttributes(){const t=this.getSelectedRange({ignoreLock:!0});if(t){const e=this.document.getCommonAttributesAtRange(t);if(Array.from(dt()).forEach((t=>{e[t]||this.canSetCurrentAttribute(t)||(e[t]=!1)})),!kt(e,this.currentAttributes))return this.currentAttributes=e,this.notifyDelegateOfCurrentAttributesChange()}}getCurrentAttributes(){return g.call({},this.currentAttributes)}getCurrentTextAttributes(){const t={};for(const e in this.currentAttributes){const i=this.currentAttributes[e];!1!==i&&pt(e)&&(t[e]=i)}return t}freezeSelection(){return this.setCurrentAttribute(\"frozen\",!0)}thawSelection(){return this.removeCurrentAttribute(\"frozen\")}hasFrozenSelection(){return this.hasCurrentAttribute(\"frozen\")}setSelection(t){var e;const i=this.document.locationRangeFromRange(t);return null===(e=this.delegate)||void 0===e?void 0:e.compositionDidRequestChangingSelectionToLocationRange(i)}getSelectedRange(){const t=this.getLocationRange();if(t)return this.document.rangeFromLocationRange(t)}setSelectedRange(t){const e=this.document.locationRangeFromRange(t);return this.getSelectionManager().setLocationRange(e)}getPosition(){const t=this.getLocationRange();if(t)return this.document.positionFromLocation(t[0])}getLocationRange(t){return this.targetLocationRange?this.targetLocationRange:this.getSelectionManager().getLocationRange(t)||Tt({index:0,offset:0})}withTargetLocationRange(t,e){let i;this.targetLocationRange=t;try{i=e()}finally{this.targetLocationRange=null}return i}withTargetRange(t,e){const i=this.document.locationRangeFromRange(t);return this.withTargetLocationRange(i,e)}withTargetDOMRange(t,e){const i=this.createLocationRangeFromDOMRange(t,{strict:!1});return this.withTargetLocationRange(i,e)}getExpandedRangeInDirection(t){let{length:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},[i,n]=Array.from(this.getSelectedRange());return\"backward\"===t?e?i-=e:i=this.translateUTF16PositionFromOffset(i,-1):e?n+=e:n=this.translateUTF16PositionFromOffset(n,1),Tt([i,n])}shouldManageMovingCursorInDirection(t){if(this.editingAttachment)return!0;const e=this.getExpandedRangeInDirection(t);return null!=this.getAttachmentAtRange(e)}moveCursorInDirection(t){let e,i;if(this.editingAttachment)i=this.document.getRangeOfAttachment(this.editingAttachment);else{const n=this.getSelectedRange();i=this.getExpandedRangeInDirection(t),e=!Lt(n,i)}if(\"backward\"===t?this.setSelectedRange(i[0]):this.setSelectedRange(i[1]),e){const t=this.getAttachmentAtRange(i);if(t)return this.editAttachment(t)}}expandSelectionInDirection(t){let{length:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=this.getExpandedRangeInDirection(t,{length:e});return this.setSelectedRange(i)}expandSelectionForEditing(){if(this.hasCurrentAttribute(\"href\"))return this.expandSelectionAroundCommonAttribute(\"href\")}expandSelectionAroundCommonAttribute(t){const e=this.getPosition(),i=this.document.getRangeOfCommonAttributeAtPosition(t,e);return this.setSelectedRange(i)}selectionContainsAttachments(){var t;return(null===(t=this.getSelectedAttachments())||void 0===t?void 0:t.length)>0}selectionIsInCursorTarget(){return this.editingAttachment||this.positionIsCursorTarget(this.getPosition())}positionIsCursorTarget(t){const e=this.document.locationFromPosition(t);if(e)return this.locationIsCursorTarget(e)}positionIsBlockBreak(t){var e;return null===(e=this.document.getPieceAtPosition(t))||void 0===e?void 0:e.isBlockBreak()}getSelectedDocument(){const t=this.getSelectedRange();if(t)return this.document.getDocumentAtRange(t)}getSelectedAttachments(){var t;return null===(t=this.getSelectedDocument())||void 0===t?void 0:t.getAttachments()}getAttachments(){return this.attachments.slice(0)}refreshAttachments(){const t=this.document.getAttachments(),{added:e,removed:i}=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const i=[],n=[],r=new Set;t.forEach((t=>{r.add(t)}));const o=new Set;return e.forEach((t=>{o.add(t),r.has(t)||i.push(t)})),t.forEach((t=>{o.has(t)||n.push(t)})),{added:i,removed:n}}(this.attachments,t);return this.attachments=t,Array.from(i).forEach((t=>{var e,i;t.delegate=null,null===(e=this.delegate)||void 0===e||null===(i=e.compositionDidRemoveAttachment)||void 0===i||i.call(e,t)})),(()=>{const t=[];return Array.from(e).forEach((e=>{var i,n;e.delegate=this,t.push(null===(i=this.delegate)||void 0===i||null===(n=i.compositionDidAddAttachment)||void 0===n?void 0:n.call(i,e))})),t})()}attachmentDidChangeAttributes(t){var e,i;return this.revision++,null===(e=this.delegate)||void 0===e||null===(i=e.compositionDidEditAttachment)||void 0===i?void 0:i.call(e,t)}attachmentDidChangePreviewURL(t){var e,i;return this.revision++,null===(e=this.delegate)||void 0===e||null===(i=e.compositionDidChangeAttachmentPreviewURL)||void 0===i?void 0:i.call(e,t)}editAttachment(t,e){var i,n;if(t!==this.editingAttachment)return this.stopEditingAttachment(),this.editingAttachment=t,null===(i=this.delegate)||void 0===i||null===(n=i.compositionDidStartEditingAttachment)||void 0===n?void 0:n.call(i,this.editingAttachment,e)}stopEditingAttachment(){var t,e;this.editingAttachment&&(null===(t=this.delegate)||void 0===t||null===(e=t.compositionDidStopEditingAttachment)||void 0===e||e.call(t,this.editingAttachment),this.editingAttachment=null)}updateAttributesForAttachment(t,e){return this.setDocument(this.document.updateAttributesForAttachment(t,e))}removeAttributeForAttachment(t,e){return this.setDocument(this.document.removeAttributeForAttachment(t,e))}breakFormattedBlock(t){let{document:e}=t;const{block:i}=t;let n=t.startPosition,r=[n-1,n];i.getBlockBreakPosition()===t.startLocation.offset?(i.breaksOnReturn()&&\"\\n\"===t.nextCharacter?n+=1:e=e.removeTextAtRange(r),r=[n,n]):\"\\n\"===t.nextCharacter?\"\\n\"===t.previousCharacter?r=[n-1,n+1]:(r=[n,n+1],n+=1):t.startLocation.offset-1!=0&&(n+=1);const o=new rn([i.removeLastAttribute().copyWithoutText()]);return this.setDocument(e.insertDocumentAtRange(o,r)),this.setSelection(n)}getPreviousBlock(){const t=this.getLocationRange();if(t){const{index:e}=t[0];if(e>0)return this.document.getBlockAtIndex(e-1)}}getBlock(){const t=this.getLocationRange();if(t)return this.document.getBlockAtIndex(t[0].index)}getAttachmentAtRange(t){const e=this.document.getDocumentAtRange(t);if(e.toString()===\"\".concat(\"\",\"\\n\"))return e.getAttachments()[0]}notifyDelegateOfCurrentAttributesChange(){var t,e;return null===(t=this.delegate)||void 0===t||null===(e=t.compositionDidChangeCurrentAttributes)||void 0===e?void 0:e.call(t,this.currentAttributes)}notifyDelegateOfInsertionAtRange(t){var e,i;return null===(e=this.delegate)||void 0===e||null===(i=e.compositionDidPerformInsertionAtRange)||void 0===i?void 0:i.call(e,t)}translateUTF16PositionFromOffset(t,e){const i=this.document.toUTF16String(),n=i.offsetFromUCS2Offset(t);return i.offsetToUCS2Offset(n+e)}}Rn.proxyMethod(\"getSelectionManager().getPointRange\"),Rn.proxyMethod(\"getSelectionManager().setLocationRangeFromPointRange\"),Rn.proxyMethod(\"getSelectionManager().createLocationRangeFromDOMRange\"),Rn.proxyMethod(\"getSelectionManager().locationIsCursorTarget\"),Rn.proxyMethod(\"getSelectionManager().selectionIsExpanded\"),Rn.proxyMethod(\"delegate?.getSelectionManager\");class kn extends q{constructor(t){super(...arguments),this.composition=t,this.undoEntries=[],this.redoEntries=[]}recordUndoEntry(t){let{context:e,consolidatable:i}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.undoEntries.slice(-1)[0];if(!i||!Tn(n,t,e)){const i=this.createEntry({description:t,context:e});this.undoEntries.push(i),this.redoEntries=[]}}undo(){const t=this.undoEntries.pop();if(t){const e=this.createEntry(t);return this.redoEntries.push(e),this.composition.loadSnapshot(t.snapshot)}}redo(){const t=this.redoEntries.pop();if(t){const e=this.createEntry(t);return this.undoEntries.push(e),this.composition.loadSnapshot(t.snapshot)}}canUndo(){return this.undoEntries.length>0}canRedo(){return this.redoEntries.length>0}createEntry(){let{description:t,context:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{description:null==t?void 0:t.toString(),context:JSON.stringify(e),snapshot:this.composition.getSnapshot()}}}const Tn=(t,e,i)=>(null==t?void 0:t.description)===(null==e?void 0:e.toString())&&(null==t?void 0:t.context)===JSON.stringify(i),wn=\"attachmentGallery\";class Ln{constructor(t){this.document=t.document,this.selectedRange=t.selectedRange}perform(){return this.removeBlockAttribute(),this.applyBlockAttribute()}getSnapshot(){return{document:this.document,selectedRange:this.selectedRange}}removeBlockAttribute(){return this.findRangesOfBlocks().map((t=>this.document=this.document.removeAttributeAtRange(wn,t)))}applyBlockAttribute(){let t=0;this.findRangesOfPieces().forEach((e=>{e[1]-e[0]>1&&(e[0]+=t,e[1]+=t,\"\\n\"!==this.document.getCharacterAtPosition(e[1])&&(this.document=this.document.insertBlockBreakAtRange(e[1]),e[1]0&&void 0!==arguments[0]?arguments[0]:\"\";const e=ln.parse(t,{referenceElement:this.element}).getDocument();return this.loadDocument(e)}loadJSON(t){let{document:e,selectedRange:i}=t;return e=rn.fromJSON(e),this.loadSnapshot({document:e,selectedRange:i})}loadSnapshot(t){return this.undoManager=new kn(this.composition),this.composition.loadSnapshot(t)}getDocument(){return this.composition.document}getSelectedDocument(){return this.composition.getSelectedDocument()}getSnapshot(){return this.composition.getSnapshot()}toJSON(){return this.getSnapshot()}deleteInDirection(t){return this.composition.deleteInDirection(t)}insertAttachment(t){return this.composition.insertAttachment(t)}insertAttachments(t){return this.composition.insertAttachments(t)}insertDocument(t){return this.composition.insertDocument(t)}insertFile(t){return this.composition.insertFile(t)}insertFiles(t){return this.composition.insertFiles(t)}insertHTML(t){return this.composition.insertHTML(t)}insertString(t){return this.composition.insertString(t)}insertText(t){return this.composition.insertText(t)}insertLineBreak(){return this.composition.insertLineBreak()}getSelectedRange(){return this.composition.getSelectedRange()}getPosition(){return this.composition.getPosition()}getClientRectAtPosition(t){const e=this.getDocument().locationRangeFromRange([t,t+1]);return this.selectionManager.getClientRectAtLocationRange(e)}expandSelectionInDirection(t){return this.composition.expandSelectionInDirection(t)}moveCursorInDirection(t){return this.composition.moveCursorInDirection(t)}setSelectedRange(t){return this.composition.setSelectedRange(t)}activateAttribute(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.composition.setCurrentAttribute(t,e)}attributeIsActive(t){return this.composition.hasCurrentAttribute(t)}canActivateAttribute(t){return this.composition.canSetCurrentAttribute(t)}deactivateAttribute(t){return this.composition.removeCurrentAttribute(t)}setHTMLAtributeAtPosition(t,e,i){this.composition.setHTMLAtributeAtPosition(t,e,i)}canDecreaseNestingLevel(){return this.composition.canDecreaseNestingLevel()}canIncreaseNestingLevel(){return this.composition.canIncreaseNestingLevel()}decreaseNestingLevel(){if(this.canDecreaseNestingLevel())return this.composition.decreaseNestingLevel()}increaseNestingLevel(){if(this.canIncreaseNestingLevel())return this.composition.increaseNestingLevel()}canRedo(){return this.undoManager.canRedo()}canUndo(){return this.undoManager.canUndo()}recordUndoEntry(t){let{context:e,consolidatable:i}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.undoManager.recordUndoEntry(t,{context:e,consolidatable:i})}redo(){if(this.canRedo())return this.undoManager.redo()}undo(){if(this.canUndo())return this.undoManager.undo()}}class On{constructor(t){this.element=t}findLocationFromContainerAndOffset(t,e){let{strict:i}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{strict:!0},n=0,r=!1;const o={index:0,offset:0},s=this.findAttachmentElementParentForNode(t);s&&(t=s.parentNode,e=C(s));const a=S(this.element,{usingFilter:Bn});for(;a.nextNode();){const s=a.currentNode;if(s===t&&M(t)){O(s)||(o.offset+=e);break}if(s.parentNode===t){if(n++===e)break}else if(!x(t,s)&&n>0)break;D(s,{strict:i})?(r&&o.index++,o.offset=0,r=!0):o.offset+=Pn(s)}return o}findContainerAndOffsetFromLocation(t){let e,i;if(0===t.index&&0===t.offset){for(e=this.element,i=0;e.firstChild;)if(e=e.firstChild,L(e)){i=1;break}return[e,i]}let[n,r]=this.findNodeAndOffsetFromLocation(t);if(n){if(M(n))0===Pn(n)?(e=n.parentNode.parentNode,i=C(n.parentNode),O(n,{name:\"right\"})&&i++):(e=n,i=t.offset-r);else{if(e=n.parentNode,!D(n.previousSibling)&&!L(e))for(;n===e.lastChild&&(n=e,e=e.parentNode,!L(e)););i=C(n),0!==t.offset&&i++}return[e,i]}}findNodeAndOffsetFromLocation(t){let e,i,n=0;for(const r of this.getSignificantNodesForIndex(t.index)){const o=Pn(r);if(t.offset<=n+o)if(M(r)){if(e=r,i=n,t.offset===i&&O(e))break}else e||(e=r,i=n);if(n+=o,n>t.offset)break}return[e,i]}findAttachmentElementParentForNode(t){for(;t&&t!==this.element;){if(P(t))return t;t=t.parentNode}}getSignificantNodesForIndex(t){const e=[],i=S(this.element,{usingFilter:Fn});let n=!1;for(;i.nextNode();){const o=i.currentNode;var r;if(N(o)){if(null!=r?r++:r=0,r===t)n=!0;else if(n)break}else n&&e.push(o)}return e}}const Pn=function(t){if(t.nodeType===Node.TEXT_NODE){if(O(t))return 0;return t.textContent.length}return\"br\"===R(t)||P(t)?1:0},Fn=function(t){return Mn(t)===NodeFilter.FILTER_ACCEPT?Bn(t):NodeFilter.FILTER_REJECT},Mn=function(t){return F(t)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},Bn=function(t){return P(t.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT};class _n{createDOMRangeFromPoint(t){let e,{x:i,y:n}=t;if(document.caretPositionFromPoint){const{offsetNode:t,offset:r}=document.caretPositionFromPoint(i,n);return e=document.createRange(),e.setStart(t,r),e}if(document.caretRangeFromPoint)return document.caretRangeFromPoint(i,n);if(document.body.createTextRange){const t=Ft();try{const t=document.body.createTextRange();t.moveToPoint(i,n),t.select()}catch(t){}return e=Ft(),Mt(t),e}}getClientRectsForDOMRange(t){const e=Array.from(t.getClientRects());return[e[0],e[e.length-1]]}}class jn extends q{constructor(t){super(...arguments),this.didMouseDown=this.didMouseDown.bind(this),this.selectionDidChange=this.selectionDidChange.bind(this),this.element=t,this.locationMapper=new On(this.element),this.pointMapper=new _n,this.lockCount=0,f(\"mousedown\",{onElement:this.element,withCallback:this.didMouseDown})}getLocationRange(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return!1===t.strict?this.createLocationRangeFromDOMRange(Ft()):t.ignoreLock?this.currentLocationRange:this.lockedLocationRange?this.lockedLocationRange:this.currentLocationRange}setLocationRange(t){if(this.lockedLocationRange)return;t=Tt(t);const e=this.createDOMRangeFromLocationRange(t);e&&(Mt(e),this.updateCurrentLocationRange(t))}setLocationRangeFromPointRange(t){t=Tt(t);const e=this.getLocationAtPoint(t[0]),i=this.getLocationAtPoint(t[1]);this.setLocationRange([e,i])}getClientRectAtLocationRange(t){const e=this.createDOMRangeFromLocationRange(t);if(e)return this.getClientRectsForDOMRange(e)[1]}locationIsCursorTarget(t){const e=Array.from(this.findNodeAndOffsetFromLocation(t))[0];return O(e)}lock(){0==this.lockCount++&&(this.updateCurrentLocationRange(),this.lockedLocationRange=this.getLocationRange())}unlock(){if(0==--this.lockCount){const{lockedLocationRange:t}=this;if(this.lockedLocationRange=null,null!=t)return this.setLocationRange(t)}}clearSelection(){var t;return null===(t=Pt())||void 0===t?void 0:t.removeAllRanges()}selectionIsCollapsed(){var t;return!0===(null===(t=Ft())||void 0===t?void 0:t.collapsed)}selectionIsExpanded(){return!this.selectionIsCollapsed()}createLocationRangeFromDOMRange(t,e){if(null==t||!this.domRangeWithinElement(t))return;const i=this.findLocationFromContainerAndOffset(t.startContainer,t.startOffset,e);if(!i)return;const n=t.collapsed?void 0:this.findLocationFromContainerAndOffset(t.endContainer,t.endOffset,e);return Tt([i,n])}didMouseDown(){return this.pauseTemporarily()}pauseTemporarily(){let t;this.paused=!0;const e=()=>{if(this.paused=!1,clearTimeout(i),Array.from(t).forEach((t=>{t.destroy()})),x(document,this.element))return this.selectionDidChange()},i=setTimeout(e,200);t=[\"mousemove\",\"keydown\"].map((t=>f(t,{onElement:document,withCallback:e})))}selectionDidChange(){if(!this.paused&&!y(this.element))return this.updateCurrentLocationRange()}updateCurrentLocationRange(t){var e,i;if((null!=t?t:t=this.createLocationRangeFromDOMRange(Ft()))&&!Lt(t,this.currentLocationRange))return this.currentLocationRange=t,null===(e=this.delegate)||void 0===e||null===(i=e.locationRangeDidChange)||void 0===i?void 0:i.call(e,this.currentLocationRange.slice(0))}createDOMRangeFromLocationRange(t){const e=this.findContainerAndOffsetFromLocation(t[0]),i=wt(t)?e:this.findContainerAndOffsetFromLocation(t[1])||e;if(null!=e&&null!=i){const t=document.createRange();return t.setStart(...Array.from(e||[])),t.setEnd(...Array.from(i||[])),t}}getLocationAtPoint(t){const e=this.createDOMRangeFromPoint(t);var i;if(e)return null===(i=this.createLocationRangeFromDOMRange(e))||void 0===i?void 0:i[0]}domRangeWithinElement(t){return t.collapsed?x(this.element,t.startContainer):x(this.element,t.startContainer)&&x(this.element,t.endContainer)}}jn.proxyMethod(\"locationMapper.findLocationFromContainerAndOffset\"),jn.proxyMethod(\"locationMapper.findContainerAndOffsetFromLocation\"),jn.proxyMethod(\"locationMapper.findNodeAndOffsetFromLocation\"),jn.proxyMethod(\"pointMapper.createDOMRangeFromPoint\"),jn.proxyMethod(\"pointMapper.getClientRectsForDOMRange\");var Wn=Object.freeze({__proto__:null,Attachment:ji,AttachmentManager:En,AttachmentPiece:Wi,Block:Ki,Composition:Rn,Document:rn,Editor:In,HTMLParser:ln,HTMLSanitizer:ci,LineBreakInsertion:Sn,LocationMapper:On,ManagedAttachment:Cn,Piece:Bi,PointMapper:_n,SelectionManager:jn,SplittableList:Vi,StringPiece:Ui,Text:Ji,UndoManager:kn}),Un=Object.freeze({__proto__:null,ObjectView:ee,AttachmentView:di,BlockView:yi,DocumentView:xi,PieceView:fi,PreviewableAttachmentView:pi,TextView:bi});const{lang:Vn,css:qn,keyNames:Hn}=V,zn=function(t){return function(){const e=t.apply(this,arguments);e.do(),this.undos||(this.undos=[]),this.undos.push(e.undo)}};class Jn extends q{constructor(t,e,i){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(...arguments),Ti(this,\"makeElementMutable\",zn((()=>({do:()=>{this.element.dataset.trixMutable=!0},undo:()=>delete this.element.dataset.trixMutable})))),Ti(this,\"addToolbar\",zn((()=>{const t=k({tagName:\"div\",className:qn.attachmentToolbar,data:{trixMutable:!0},childNodes:k({tagName:\"div\",className:\"trix-button-row\",childNodes:k({tagName:\"span\",className:\"trix-button-group trix-button-group--actions\",childNodes:k({tagName:\"button\",className:\"trix-button trix-button--remove\",textContent:Vn.remove,attributes:{title:Vn.remove},data:{trixAction:\"remove\"}})})})});return this.attachment.isPreviewable()&&t.appendChild(k({tagName:\"div\",className:qn.attachmentMetadataContainer,childNodes:k({tagName:\"span\",className:qn.attachmentMetadata,childNodes:[k({tagName:\"span\",className:qn.attachmentName,textContent:this.attachment.getFilename(),attributes:{title:this.attachment.getFilename()}}),k({tagName:\"span\",className:qn.attachmentSize,textContent:this.attachment.getFormattedFilesize()})]})})),f(\"click\",{onElement:t,withCallback:this.didClickToolbar}),f(\"click\",{onElement:t,matchingSelector:\"[data-trix-action]\",withCallback:this.didClickActionButton}),b(\"trix-attachment-before-toolbar\",{onElement:this.element,attributes:{toolbar:t,attachment:this.attachment}}),{do:()=>this.element.appendChild(t),undo:()=>E(t)}}))),Ti(this,\"installCaptionEditor\",zn((()=>{const t=k({tagName:\"textarea\",className:qn.attachmentCaptionEditor,attributes:{placeholder:Vn.captionPlaceholder},data:{trixMutable:!0}});t.value=this.attachmentPiece.getCaption();const e=t.cloneNode();e.classList.add(\"trix-autoresize-clone\"),e.tabIndex=-1;const i=function(){e.value=t.value,t.style.height=e.scrollHeight+\"px\"};f(\"input\",{onElement:t,withCallback:i}),f(\"input\",{onElement:t,withCallback:this.didInputCaption}),f(\"keydown\",{onElement:t,withCallback:this.didKeyDownCaption}),f(\"change\",{onElement:t,withCallback:this.didChangeCaption}),f(\"blur\",{onElement:t,withCallback:this.didBlurCaption});const n=this.element.querySelector(\"figcaption\"),r=n.cloneNode();return{do:()=>{if(n.style.display=\"none\",r.appendChild(t),r.appendChild(e),r.classList.add(\"\".concat(qn.attachmentCaption,\"--editing\")),n.parentElement.insertBefore(r,n),i(),this.options.editCaption)return St((()=>t.focus()))},undo(){E(r),n.style.display=null}}}))),this.didClickToolbar=this.didClickToolbar.bind(this),this.didClickActionButton=this.didClickActionButton.bind(this),this.didKeyDownCaption=this.didKeyDownCaption.bind(this),this.didInputCaption=this.didInputCaption.bind(this),this.didChangeCaption=this.didChangeCaption.bind(this),this.didBlurCaption=this.didBlurCaption.bind(this),this.attachmentPiece=t,this.element=e,this.container=i,this.options=n,this.attachment=this.attachmentPiece.attachment,\"a\"===R(this.element)&&(this.element=this.element.firstChild),this.install()}install(){this.makeElementMutable(),this.addToolbar(),this.attachment.isPreviewable()&&this.installCaptionEditor()}uninstall(){var t;let e=this.undos.pop();for(this.savePendingCaption();e;)e(),e=this.undos.pop();null===(t=this.delegate)||void 0===t||t.didUninstallAttachmentEditor(this)}savePendingCaption(){if(null!=this.pendingCaption){const r=this.pendingCaption;var t,e,i,n;if(this.pendingCaption=null,r)null===(t=this.delegate)||void 0===t||null===(e=t.attachmentEditorDidRequestUpdatingAttributesForAttachment)||void 0===e||e.call(t,{caption:r},this.attachment);else null===(i=this.delegate)||void 0===i||null===(n=i.attachmentEditorDidRequestRemovingAttributeForAttachment)||void 0===n||n.call(i,\"caption\",this.attachment)}}didClickToolbar(t){return t.preventDefault(),t.stopPropagation()}didClickActionButton(t){var e;if(\"remove\"===t.target.getAttribute(\"data-trix-action\"))return null===(e=this.delegate)||void 0===e?void 0:e.attachmentEditorDidRequestRemovalOfAttachment(this.attachment)}didKeyDownCaption(t){var e,i;if(\"return\"===Hn[t.keyCode])return t.preventDefault(),this.savePendingCaption(),null===(e=this.delegate)||void 0===e||null===(i=e.attachmentEditorDidRequestDeselectingAttachment)||void 0===i?void 0:i.call(e,this.attachment)}didInputCaption(t){this.pendingCaption=t.target.value.replace(/\\s/g,\" \").trim()}didChangeCaption(t){return this.savePendingCaption()}didBlurCaption(t){return this.savePendingCaption()}}class Kn extends q{constructor(t,i){super(...arguments),this.didFocus=this.didFocus.bind(this),this.didBlur=this.didBlur.bind(this),this.didClickAttachment=this.didClickAttachment.bind(this),this.element=t,this.composition=i,this.documentView=new xi(this.composition.document,{element:this.element}),f(\"focus\",{onElement:this.element,withCallback:this.didFocus}),f(\"blur\",{onElement:this.element,withCallback:this.didBlur}),f(\"click\",{onElement:this.element,matchingSelector:\"a[contenteditable=false]\",preventDefault:!0}),f(\"mousedown\",{onElement:this.element,matchingSelector:e,withCallback:this.didClickAttachment}),f(\"click\",{onElement:this.element,matchingSelector:\"a\".concat(e),preventDefault:!0})}didFocus(t){var e;const i=()=>{var t,e;if(!this.focused)return this.focused=!0,null===(t=this.delegate)||void 0===t||null===(e=t.compositionControllerDidFocus)||void 0===e?void 0:e.call(t)};return(null===(e=this.blurPromise)||void 0===e?void 0:e.then(i))||i()}didBlur(t){this.blurPromise=new Promise((t=>St((()=>{var e,i;y(this.element)||(this.focused=null,null===(e=this.delegate)||void 0===e||null===(i=e.compositionControllerDidBlur)||void 0===i||i.call(e));return this.blurPromise=null,t()}))))}didClickAttachment(t,e){var i,n;const r=this.findAttachmentForElement(e),o=!!A(t.target,{matchingSelector:\"figcaption\"});return null===(i=this.delegate)||void 0===i||null===(n=i.compositionControllerDidSelectAttachment)||void 0===n?void 0:n.call(i,r,{editCaption:o})}getSerializableElement(){return this.isEditingAttachment()?this.documentView.shadowElement:this.element}render(){var t,e,i,n,r,o;(this.revision!==this.composition.revision&&(this.documentView.setDocument(this.composition.document),this.documentView.render(),this.revision=this.composition.revision),this.canSyncDocumentView()&&!this.documentView.isSynced())&&(null===(i=this.delegate)||void 0===i||null===(n=i.compositionControllerWillSyncDocumentView)||void 0===n||n.call(i),this.documentView.sync(),null===(r=this.delegate)||void 0===r||null===(o=r.compositionControllerDidSyncDocumentView)||void 0===o||o.call(r));return null===(t=this.delegate)||void 0===t||null===(e=t.compositionControllerDidRender)||void 0===e?void 0:e.call(t)}rerenderViewForObject(t){return this.invalidateViewForObject(t),this.render()}invalidateViewForObject(t){return this.documentView.invalidateViewForObject(t)}isViewCachingEnabled(){return this.documentView.isViewCachingEnabled()}enableViewCaching(){return this.documentView.enableViewCaching()}disableViewCaching(){return this.documentView.disableViewCaching()}refreshViewCache(){return this.documentView.garbageCollectCachedViews()}isEditingAttachment(){return!!this.attachmentEditor}installAttachmentEditorForAttachment(t,e){var i;if((null===(i=this.attachmentEditor)||void 0===i?void 0:i.attachment)===t)return;const n=this.documentView.findElementForObject(t);if(!n)return;this.uninstallAttachmentEditor();const r=this.composition.document.getAttachmentPieceForAttachment(t);this.attachmentEditor=new Jn(r,n,this.element,e),this.attachmentEditor.delegate=this}uninstallAttachmentEditor(){var t;return null===(t=this.attachmentEditor)||void 0===t?void 0:t.uninstall()}didUninstallAttachmentEditor(){return this.attachmentEditor=null,this.render()}attachmentEditorDidRequestUpdatingAttributesForAttachment(t,e){var i,n;return null===(i=this.delegate)||void 0===i||null===(n=i.compositionControllerWillUpdateAttachment)||void 0===n||n.call(i,e),this.composition.updateAttributesForAttachment(t,e)}attachmentEditorDidRequestRemovingAttributeForAttachment(t,e){var i,n;return null===(i=this.delegate)||void 0===i||null===(n=i.compositionControllerWillUpdateAttachment)||void 0===n||n.call(i,e),this.composition.removeAttributeForAttachment(t,e)}attachmentEditorDidRequestRemovalOfAttachment(t){var e,i;return null===(e=this.delegate)||void 0===e||null===(i=e.compositionControllerDidRequestRemovalOfAttachment)||void 0===i?void 0:i.call(e,t)}attachmentEditorDidRequestDeselectingAttachment(t){var e,i;return null===(e=this.delegate)||void 0===e||null===(i=e.compositionControllerDidRequestDeselectingAttachment)||void 0===i?void 0:i.call(e,t)}canSyncDocumentView(){return!this.isEditingAttachment()}findAttachmentForElement(t){return this.composition.document.getAttachmentById(parseInt(t.dataset.trixId,10))}}class Gn extends q{}const Yn=\"data-trix-mutable\",$n=\"[\".concat(Yn,\"]\"),Xn={attributes:!0,childList:!0,characterData:!0,characterDataOldValue:!0,subtree:!0};class Zn extends q{constructor(t){super(t),this.didMutate=this.didMutate.bind(this),this.element=t,this.observer=new window.MutationObserver(this.didMutate),this.start()}start(){return this.reset(),this.observer.observe(this.element,Xn)}stop(){return this.observer.disconnect()}didMutate(t){var e,i;if(this.mutations.push(...Array.from(this.findSignificantMutations(t)||[])),this.mutations.length)return null===(e=this.delegate)||void 0===e||null===(i=e.elementDidMutate)||void 0===i||i.call(e,this.getMutationSummary()),this.reset()}reset(){this.mutations=[]}findSignificantMutations(t){return t.filter((t=>this.mutationIsSignificant(t)))}mutationIsSignificant(t){if(this.nodeIsMutable(t.target))return!1;for(const e of Array.from(this.nodesModifiedByMutation(t)))if(this.nodeIsSignificant(e))return!0;return!1}nodeIsSignificant(t){return t!==this.element&&!this.nodeIsMutable(t)&&!F(t)}nodeIsMutable(t){return A(t,{matchingSelector:$n})}nodesModifiedByMutation(t){const e=[];switch(t.type){case\"attributes\":t.attributeName!==Yn&&e.push(t.target);break;case\"characterData\":e.push(t.target.parentNode),e.push(t.target);break;case\"childList\":e.push(...Array.from(t.addedNodes||[])),e.push(...Array.from(t.removedNodes||[]))}return e}getMutationSummary(){return this.getTextMutationSummary()}getTextMutationSummary(){const{additions:t,deletions:e}=this.getTextChangesFromCharacterData(),i=this.getTextChangesFromChildList();Array.from(i.additions).forEach((e=>{Array.from(t).includes(e)||t.push(e)})),e.push(...Array.from(i.deletions||[]));const n={},r=t.join(\"\");r&&(n.textAdded=r);const o=e.join(\"\");return o&&(n.textDeleted=o),n}getMutationsByType(t){return Array.from(this.mutations).filter((e=>e.type===t))}getTextChangesFromChildList(){let t,e;const i=[],n=[];Array.from(this.getMutationsByType(\"childList\")).forEach((t=>{i.push(...Array.from(t.addedNodes||[])),n.push(...Array.from(t.removedNodes||[]))}));0===i.length&&1===n.length&&N(n[0])?(t=[],e=[\"\\n\"]):(t=Qn(i),e=Qn(n));const r=t.filter(((t,i)=>t!==e[i])).map(jt),o=e.filter(((e,i)=>e!==t[i])).map(jt);return{additions:r,deletions:o}}getTextChangesFromCharacterData(){let t,e;const i=this.getMutationsByType(\"characterData\");if(i.length){const n=i[0],r=i[i.length-1],o=function(t,e){let i,n;return t=$.box(t),(e=$.box(e)).length0&&void 0!==arguments[0]?arguments[0]:[];const e=[];for(const i of Array.from(t))switch(i.nodeType){case Node.TEXT_NODE:e.push(i.data);break;case Node.ELEMENT_NODE:\"br\"===R(i)?e.push(\"\\n\"):e.push(...Array.from(Qn(i.childNodes)||[]))}return e};class tr extends te{constructor(t){super(...arguments),this.file=t}perform(t){const e=new FileReader;return e.onerror=()=>t(!1),e.onload=()=>{e.onerror=null;try{e.abort()}catch(t){}return t(!0,this.file)},e.readAsArrayBuffer(this.file)}}class er{constructor(t){this.element=t}shouldIgnore(t){return!!a.samsungAndroid&&(this.previousEvent=this.event,this.event=t,this.checkSamsungKeyboardBuggyModeStart(),this.checkSamsungKeyboardBuggyModeEnd(),this.buggyMode)}checkSamsungKeyboardBuggyModeStart(){this.insertingLongTextAfterUnidentifiedChar()&&ir(this.element.innerText,this.event.data)&&(this.buggyMode=!0,this.event.preventDefault())}checkSamsungKeyboardBuggyModeEnd(){this.buggyMode&&\"insertText\"!==this.event.inputType&&(this.buggyMode=!1)}insertingLongTextAfterUnidentifiedChar(){var t;return this.isBeforeInputInsertText()&&this.previousEventWasUnidentifiedKeydown()&&(null===(t=this.event.data)||void 0===t?void 0:t.length)>50}isBeforeInputInsertText(){return\"beforeinput\"===this.event.type&&\"insertText\"===this.event.inputType}previousEventWasUnidentifiedKeydown(){var t,e;return\"keydown\"===(null===(t=this.previousEvent)||void 0===t?void 0:t.type)&&\"Unidentified\"===(null===(e=this.previousEvent)||void 0===e?void 0:e.key)}}const ir=(t,e)=>rr(t)===rr(e),nr=new RegExp(\"(\".concat(\"\",\"|\").concat(h,\"|\").concat(d,\"|\\\\s)+\"),\"g\"),rr=t=>t.replace(nr,\" \").trim();class or extends q{constructor(t){super(...arguments),this.element=t,this.mutationObserver=new Zn(this.element),this.mutationObserver.delegate=this,this.flakyKeyboardDetector=new er(this.element);for(const t in this.constructor.events)f(t,{onElement:this.element,withCallback:this.handlerFor(t)})}elementDidMutate(t){}editorWillSyncDocumentView(){return this.mutationObserver.stop()}editorDidSyncDocumentView(){return this.mutationObserver.start()}requestRender(){var t,e;return null===(t=this.delegate)||void 0===t||null===(e=t.inputControllerDidRequestRender)||void 0===e?void 0:e.call(t)}requestReparse(){var t,e;return null===(t=this.delegate)||void 0===t||null===(e=t.inputControllerDidRequestReparse)||void 0===e||e.call(t),this.requestRender()}attachFiles(t){const e=Array.from(t).map((t=>new tr(t)));return Promise.all(e).then((t=>{this.handleInput((function(){var e,i;return null===(e=this.delegate)||void 0===e||e.inputControllerWillAttachFiles(),null===(i=this.responder)||void 0===i||i.insertFiles(t),this.requestRender()}))}))}handlerFor(t){return e=>{e.defaultPrevented||this.handleInput((()=>{if(!y(this.element)){if(this.flakyKeyboardDetector.shouldIgnore(e))return;this.eventName=t,this.constructor.events[t].call(this,e)}}))}}handleInput(t){try{var e;null===(e=this.delegate)||void 0===e||e.inputControllerWillHandleInput(),t.call(this)}finally{var i;null===(i=this.delegate)||void 0===i||i.inputControllerDidHandleInput()}}createLinkHTML(t,e){const i=document.createElement(\"a\");return i.href=t,i.textContent=e||t,i.outerHTML}}var sr;Ti(or,\"events\",{});const{browser:ar,keyNames:lr}=V;let cr=0;class ur extends or{constructor(){super(...arguments),this.resetInputSummary()}setInputSummary(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.inputSummary.eventName=this.eventName;for(const e in t){const i=t[e];this.inputSummary[e]=i}return this.inputSummary}resetInputSummary(){this.inputSummary={}}reset(){return this.resetInputSummary(),Ot.reset()}elementDidMutate(t){var e,i;return this.isComposing()?null===(e=this.delegate)||void 0===e||null===(i=e.inputControllerDidAllowUnhandledInput)||void 0===i?void 0:i.call(e):this.handleInput((function(){return this.mutationIsSignificant(t)&&(this.mutationIsExpected(t)?this.requestRender():this.requestReparse()),this.reset()}))}mutationIsExpected(t){let{textAdded:e,textDeleted:i}=t;if(this.inputSummary.preferDocument)return!0;const n=null!=e?e===this.inputSummary.textAdded:!this.inputSummary.textAdded,r=null!=i?this.inputSummary.didDelete:!this.inputSummary.didDelete,o=[\"\\n\",\" \\n\"].includes(e)&&!n,s=\"\\n\"===i&&!r;if(o&&!s||s&&!o){const t=this.getSelectedRange();if(t){var a;const i=o?e.replace(/\\n$/,\"\").length||-1:(null==e?void 0:e.length)||1;if(null!==(a=this.responder)&&void 0!==a&&a.positionIsBlockBreak(t[1]+i))return!0}}return n&&r}mutationIsSignificant(t){var e;const i=Object.keys(t).length>0,n=\"\"===(null===(e=this.compositionInput)||void 0===e?void 0:e.getEndData());return i||!n}getCompositionInput(){if(this.isComposing())return this.compositionInput;this.compositionInput=new pr(this)}isComposing(){return this.compositionInput&&!this.compositionInput.isEnded()}deleteInDirection(t,e){var i;return!1!==(null===(i=this.responder)||void 0===i?void 0:i.deleteInDirection(t))?this.setInputSummary({didDelete:!0}):e?(e.preventDefault(),this.requestRender()):void 0}serializeSelectionToDataTransfer(t){var e;if(!function(t){if(null==t||!t.setData)return!1;for(const e in xt){const i=xt[e];try{if(t.setData(e,i),!t.getData(e)===i)return!1}catch(t){return!1}}return!0}(t))return;const i=null===(e=this.responder)||void 0===e?void 0:e.getSelectedDocument().toSerializableDocument();return t.setData(\"application/x-trix-document\",JSON.stringify(i)),t.setData(\"text/html\",xi.render(i).innerHTML),t.setData(\"text/plain\",i.toString().replace(/\\n$/,\"\")),!0}canAcceptDataTransfer(t){const e={};return Array.from((null==t?void 0:t.types)||[]).forEach((t=>{e[t]=!0})),e.Files||e[\"application/x-trix-document\"]||e[\"text/html\"]||e[\"text/plain\"]}getPastedHTMLUsingHiddenElement(t){const e=this.getSelectedRange(),i={position:\"absolute\",left:\"\".concat(window.pageXOffset,\"px\"),top:\"\".concat(window.pageYOffset,\"px\"),opacity:0},n=k({style:i,tagName:\"div\",editable:!0});return document.body.appendChild(n),n.focus(),requestAnimationFrame((()=>{const i=n.innerHTML;return E(n),this.setSelectedRange(e),t(i)}))}}Ti(ur,\"events\",{keydown(t){this.isComposing()||this.resetInputSummary(),this.inputSummary.didInput=!0;const e=lr[t.keyCode];if(e){var i;let n=this.keys;[\"ctrl\",\"alt\",\"shift\",\"meta\"].forEach((e=>{var i;t[\"\".concat(e,\"Key\")]&&(\"ctrl\"===e&&(e=\"control\"),n=null===(i=n)||void 0===i?void 0:i[e])})),null!=(null===(i=n)||void 0===i?void 0:i[e])&&(this.setInputSummary({keyName:e}),Ot.reset(),n[e].call(this,t))}if(Et(t)){const e=String.fromCharCode(t.keyCode).toLowerCase();if(e){var n;const i=[\"alt\",\"shift\"].map((e=>{if(t[\"\".concat(e,\"Key\")])return e})).filter((t=>t));i.push(e),null!==(n=this.delegate)&&void 0!==n&&n.inputControllerDidReceiveKeyboardCommand(i)&&t.preventDefault()}}},keypress(t){if(null!=this.inputSummary.eventName)return;if(t.metaKey)return;if(t.ctrlKey&&!t.altKey)return;const e=gr(t);var i,n;return e?(null===(i=this.delegate)||void 0===i||i.inputControllerWillPerformTyping(),null===(n=this.responder)||void 0===n||n.insertString(e),this.setInputSummary({textAdded:e,didDelete:this.selectionIsExpanded()})):void 0},textInput(t){const{data:e}=t,{textAdded:i}=this.inputSummary;if(i&&i!==e&&i.toUpperCase()===e){var n;const t=this.getSelectedRange();return this.setSelectedRange([t[0],t[1]+i.length]),null===(n=this.responder)||void 0===n||n.insertString(e),this.setInputSummary({textAdded:e}),this.setSelectedRange(t)}},dragenter(t){t.preventDefault()},dragstart(t){var e,i;return this.serializeSelectionToDataTransfer(t.dataTransfer),this.draggedRange=this.getSelectedRange(),null===(e=this.delegate)||void 0===e||null===(i=e.inputControllerDidStartDrag)||void 0===i?void 0:i.call(e)},dragover(t){if(this.draggedRange||this.canAcceptDataTransfer(t.dataTransfer)){t.preventDefault();const n={x:t.clientX,y:t.clientY};var e,i;if(!kt(n,this.draggingPoint))return this.draggingPoint=n,null===(e=this.delegate)||void 0===e||null===(i=e.inputControllerDidReceiveDragOverPoint)||void 0===i?void 0:i.call(e,this.draggingPoint)}},dragend(t){var e,i;null===(e=this.delegate)||void 0===e||null===(i=e.inputControllerDidCancelDrag)||void 0===i||i.call(e),this.draggedRange=null,this.draggingPoint=null},drop(t){var e,i;t.preventDefault();const n=null===(e=t.dataTransfer)||void 0===e?void 0:e.files,r=t.dataTransfer.getData(\"application/x-trix-document\"),o={x:t.clientX,y:t.clientY};if(null===(i=this.responder)||void 0===i||i.setLocationRangeFromPointRange(o),null!=n&&n.length)this.attachFiles(n);else if(this.draggedRange){var s,a;null===(s=this.delegate)||void 0===s||s.inputControllerWillMoveText(),null===(a=this.responder)||void 0===a||a.moveTextFromRange(this.draggedRange),this.draggedRange=null,this.requestRender()}else if(r){var l;const t=rn.fromJSONString(r);null===(l=this.responder)||void 0===l||l.insertDocument(t),this.requestRender()}this.draggedRange=null,this.draggingPoint=null},cut(t){var e,i;if(null!==(e=this.responder)&&void 0!==e&&e.selectionIsExpanded()&&(this.serializeSelectionToDataTransfer(t.clipboardData)&&t.preventDefault(),null===(i=this.delegate)||void 0===i||i.inputControllerWillCutText(),this.deleteInDirection(\"backward\"),t.defaultPrevented))return this.requestRender()},copy(t){var e;null!==(e=this.responder)&&void 0!==e&&e.selectionIsExpanded()&&this.serializeSelectionToDataTransfer(t.clipboardData)&&t.preventDefault()},paste(t){const e=t.clipboardData||t.testClipboardData,i={clipboard:e};if(!e||mr(t))return void this.getPastedHTMLUsingHiddenElement((t=>{var e,n,r;return i.type=\"text/html\",i.html=t,null===(e=this.delegate)||void 0===e||e.inputControllerWillPaste(i),null===(n=this.responder)||void 0===n||n.insertHTML(i.html),this.requestRender(),null===(r=this.delegate)||void 0===r?void 0:r.inputControllerDidPaste(i)}));const n=e.getData(\"URL\"),r=e.getData(\"text/html\"),o=e.getData(\"public.url-name\");if(n){var s,a,l;let t;i.type=\"text/html\",t=o?Ut(o).trim():n,i.html=this.createLinkHTML(n,t),null===(s=this.delegate)||void 0===s||s.inputControllerWillPaste(i),this.setInputSummary({textAdded:t,didDelete:this.selectionIsExpanded()}),null===(a=this.responder)||void 0===a||a.insertHTML(i.html),this.requestRender(),null===(l=this.delegate)||void 0===l||l.inputControllerDidPaste(i)}else if(Ct(e)){var c,u,h;i.type=\"text/plain\",i.string=e.getData(\"text/plain\"),null===(c=this.delegate)||void 0===c||c.inputControllerWillPaste(i),this.setInputSummary({textAdded:i.string,didDelete:this.selectionIsExpanded()}),null===(u=this.responder)||void 0===u||u.insertString(i.string),this.requestRender(),null===(h=this.delegate)||void 0===h||h.inputControllerDidPaste(i)}else if(r){var d,g,m;i.type=\"text/html\",i.html=r,null===(d=this.delegate)||void 0===d||d.inputControllerWillPaste(i),null===(g=this.responder)||void 0===g||g.insertHTML(i.html),this.requestRender(),null===(m=this.delegate)||void 0===m||m.inputControllerDidPaste(i)}else if(Array.from(e.types).includes(\"Files\")){var p,f;const t=null===(p=e.items)||void 0===p||null===(p=p[0])||void 0===p||null===(f=p.getAsFile)||void 0===f?void 0:f.call(p);if(t){var b,v,A;const e=hr(t);!t.name&&e&&(t.name=\"pasted-file-\".concat(++cr,\".\").concat(e)),i.type=\"File\",i.file=t,null===(b=this.delegate)||void 0===b||b.inputControllerWillAttachFiles(),null===(v=this.responder)||void 0===v||v.insertFile(i.file),this.requestRender(),null===(A=this.delegate)||void 0===A||A.inputControllerDidPaste(i)}}t.preventDefault()},compositionstart(t){return this.getCompositionInput().start(t.data)},compositionupdate(t){return this.getCompositionInput().update(t.data)},compositionend(t){return this.getCompositionInput().end(t.data)},beforeinput(t){this.inputSummary.didInput=!0},input(t){return this.inputSummary.didInput=!0,t.stopPropagation()}}),Ti(ur,\"keys\",{backspace(t){var e;return null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),this.deleteInDirection(\"backward\",t)},delete(t){var e;return null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),this.deleteInDirection(\"forward\",t)},return(t){var e,i;return this.setInputSummary({preferDocument:!0}),null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),null===(i=this.responder)||void 0===i?void 0:i.insertLineBreak()},tab(t){var e,i;null!==(e=this.responder)&&void 0!==e&&e.canIncreaseNestingLevel()&&(null===(i=this.responder)||void 0===i||i.increaseNestingLevel(),this.requestRender(),t.preventDefault())},left(t){var e;if(this.selectionIsInCursorTarget())return t.preventDefault(),null===(e=this.responder)||void 0===e?void 0:e.moveCursorInDirection(\"backward\")},right(t){var e;if(this.selectionIsInCursorTarget())return t.preventDefault(),null===(e=this.responder)||void 0===e?void 0:e.moveCursorInDirection(\"forward\")},control:{d(t){var e;return null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),this.deleteInDirection(\"forward\",t)},h(t){var e;return null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),this.deleteInDirection(\"backward\",t)},o(t){var e,i;return t.preventDefault(),null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),null===(i=this.responder)||void 0===i||i.insertString(\"\\n\",{updatePosition:!1}),this.requestRender()}},shift:{return(t){var e,i;null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),null===(i=this.responder)||void 0===i||i.insertString(\"\\n\"),this.requestRender(),t.preventDefault()},tab(t){var e,i;null!==(e=this.responder)&&void 0!==e&&e.canDecreaseNestingLevel()&&(null===(i=this.responder)||void 0===i||i.decreaseNestingLevel(),this.requestRender(),t.preventDefault())},left(t){if(this.selectionIsInCursorTarget())return t.preventDefault(),this.expandSelectionInDirection(\"backward\")},right(t){if(this.selectionIsInCursorTarget())return t.preventDefault(),this.expandSelectionInDirection(\"forward\")}},alt:{backspace(t){var e;return this.setInputSummary({preferDocument:!1}),null===(e=this.delegate)||void 0===e?void 0:e.inputControllerWillPerformTyping()}},meta:{backspace(t){var e;return this.setInputSummary({preferDocument:!1}),null===(e=this.delegate)||void 0===e?void 0:e.inputControllerWillPerformTyping()}}}),ur.proxyMethod(\"responder?.getSelectedRange\"),ur.proxyMethod(\"responder?.setSelectedRange\"),ur.proxyMethod(\"responder?.expandSelectionInDirection\"),ur.proxyMethod(\"responder?.selectionIsInCursorTarget\"),ur.proxyMethod(\"responder?.selectionIsExpanded\");const hr=t=>{var e;return null===(e=t.type)||void 0===e||null===(e=e.match(/\\/(\\w+)$/))||void 0===e?void 0:e[1]},dr=!(null===(sr=\" \".codePointAt)||void 0===sr||!sr.call(\" \",0)),gr=function(t){if(t.key&&dr&&t.key.codePointAt(0)===t.keyCode)return t.key;{let e;if(null===t.which?e=t.keyCode:0!==t.which&&0!==t.charCode&&(e=t.charCode),null!=e&&\"escape\"!==lr[e])return $.fromCodepoints([e]).toString()}},mr=function(t){const e=t.clipboardData;if(e){if(e.types.includes(\"text/html\")){for(const t of e.types){const i=/^CorePasteboardFlavorType/.test(t),n=/^dyn\\./.test(t)&&e.getData(t);if(i||n)return!0}return!1}{const t=e.types.includes(\"com.apple.webarchive\"),i=e.types.includes(\"com.apple.flat-rtfd\");return t||i}}};class pr extends q{constructor(t){super(...arguments),this.inputController=t,this.responder=this.inputController.responder,this.delegate=this.inputController.delegate,this.inputSummary=this.inputController.inputSummary,this.data={}}start(t){if(this.data.start=t,this.isSignificant()){var e,i;if(\"keypress\"===this.inputSummary.eventName&&this.inputSummary.textAdded)null===(i=this.responder)||void 0===i||i.deleteInDirection(\"left\");this.selectionIsExpanded()||(this.insertPlaceholder(),this.requestRender()),this.range=null===(e=this.responder)||void 0===e?void 0:e.getSelectedRange()}}update(t){if(this.data.update=t,this.isSignificant()){const t=this.selectPlaceholder();t&&(this.forgetPlaceholder(),this.range=t)}}end(t){return this.data.end=t,this.isSignificant()?(this.forgetPlaceholder(),this.canApplyToDocument()?(this.setInputSummary({preferDocument:!0,didInput:!1}),null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),null===(i=this.responder)||void 0===i||i.setSelectedRange(this.range),null===(n=this.responder)||void 0===n||n.insertString(this.data.end),null===(r=this.responder)||void 0===r?void 0:r.setSelectedRange(this.range[0]+this.data.end.length)):null!=this.data.start||null!=this.data.update?(this.requestReparse(),this.inputController.reset()):void 0):this.inputController.reset();var e,i,n,r}getEndData(){return this.data.end}isEnded(){return null!=this.getEndData()}isSignificant(){return!ar.composesExistingText||this.inputSummary.didInput}canApplyToDocument(){var t,e;return 0===(null===(t=this.data.start)||void 0===t?void 0:t.length)&&(null===(e=this.data.end)||void 0===e?void 0:e.length)>0&&this.range}}pr.proxyMethod(\"inputController.setInputSummary\"),pr.proxyMethod(\"inputController.requestRender\"),pr.proxyMethod(\"inputController.requestReparse\"),pr.proxyMethod(\"responder?.selectionIsExpanded\"),pr.proxyMethod(\"responder?.insertPlaceholder\"),pr.proxyMethod(\"responder?.selectPlaceholder\"),pr.proxyMethod(\"responder?.forgetPlaceholder\");class fr extends or{constructor(){super(...arguments),this.render=this.render.bind(this)}elementDidMutate(){return this.scheduledRender?this.composing?null===(t=this.delegate)||void 0===t||null===(e=t.inputControllerDidAllowUnhandledInput)||void 0===e?void 0:e.call(t):void 0:this.reparse();var t,e}scheduleRender(){return this.scheduledRender?this.scheduledRender:this.scheduledRender=requestAnimationFrame(this.render)}render(){var t,e;(cancelAnimationFrame(this.scheduledRender),this.scheduledRender=null,this.composing)||(null===(e=this.delegate)||void 0===e||e.render());null===(t=this.afterRender)||void 0===t||t.call(this),this.afterRender=null}reparse(){var t;return null===(t=this.delegate)||void 0===t?void 0:t.reparse()}insertString(){var t;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",i=arguments.length>1?arguments[1]:void 0;return null===(t=this.delegate)||void 0===t||t.inputControllerWillPerformTyping(),this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.insertString(e,i)}))}toggleAttributeIfSupported(t){var e;if(dt().includes(t))return null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformFormatting(t),this.withTargetDOMRange((function(){var e;return null===(e=this.responder)||void 0===e?void 0:e.toggleCurrentAttribute(t)}))}activateAttributeIfSupported(t,e){var i;if(dt().includes(t))return null===(i=this.delegate)||void 0===i||i.inputControllerWillPerformFormatting(t),this.withTargetDOMRange((function(){var i;return null===(i=this.responder)||void 0===i?void 0:i.setCurrentAttribute(t,e)}))}deleteInDirection(t){let{recordUndoEntry:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{recordUndoEntry:!0};var i;e&&(null===(i=this.delegate)||void 0===i||i.inputControllerWillPerformTyping());const n=()=>{var e;return null===(e=this.responder)||void 0===e?void 0:e.deleteInDirection(t)},r=this.getTargetDOMRange({minLength:this.composing?1:2});return r?this.withTargetDOMRange(r,n):n()}withTargetDOMRange(t,e){var i;return\"function\"==typeof t&&(e=t,t=this.getTargetDOMRange()),t?null===(i=this.responder)||void 0===i?void 0:i.withTargetDOMRange(t,e.bind(this)):(Ot.reset(),e.call(this))}getTargetDOMRange(){var t,e;let{minLength:i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{minLength:0};const n=null===(t=(e=this.event).getTargetRanges)||void 0===t?void 0:t.call(e);if(n&&n.length){const t=br(n[0]);if(0===i||t.toString().length>=i)return t}}withEvent(t,e){let i;this.event=t;try{i=e.call(this)}finally{this.event=null}return i}}Ti(fr,\"events\",{keydown(t){if(Et(t)){var e;const i=Cr(t);null!==(e=this.delegate)&&void 0!==e&&e.inputControllerDidReceiveKeyboardCommand(i)&&t.preventDefault()}else{let e=t.key;t.altKey&&(e+=\"+Alt\"),t.shiftKey&&(e+=\"+Shift\");const i=this.constructor.keys[e];if(i)return this.withEvent(t,i)}},paste(t){var e;let i;const n=null===(e=t.clipboardData)||void 0===e?void 0:e.getData(\"URL\");return yr(t)?(t.preventDefault(),this.attachFiles(t.clipboardData.files)):xr(t)?(t.preventDefault(),i={type:\"text/plain\",string:t.clipboardData.getData(\"text/plain\")},null===(r=this.delegate)||void 0===r||r.inputControllerWillPaste(i),null===(o=this.responder)||void 0===o||o.insertString(i.string),this.render(),null===(s=this.delegate)||void 0===s?void 0:s.inputControllerDidPaste(i)):n?(t.preventDefault(),i={type:\"text/html\",html:this.createLinkHTML(n)},null===(a=this.delegate)||void 0===a||a.inputControllerWillPaste(i),null===(l=this.responder)||void 0===l||l.insertHTML(i.html),this.render(),null===(c=this.delegate)||void 0===c?void 0:c.inputControllerDidPaste(i)):void 0;var r,o,s,a,l,c},beforeinput(t){const e=this.constructor.inputTypes[t.inputType],i=(n=t,!(!/iPhone|iPad/.test(navigator.userAgent)||n.inputType&&\"insertParagraph\"!==n.inputType));var n;e&&(this.withEvent(t,e),i||this.scheduleRender()),i&&this.render()},input(t){Ot.reset()},dragstart(t){var e,i;null!==(e=this.responder)&&void 0!==e&&e.selectionContainsAttachments()&&(t.dataTransfer.setData(\"application/x-trix-dragging\",!0),this.dragging={range:null===(i=this.responder)||void 0===i?void 0:i.getSelectedRange(),point:Er(t)})},dragenter(t){vr(t)&&t.preventDefault()},dragover(t){if(this.dragging){t.preventDefault();const i=Er(t);var e;if(!kt(i,this.dragging.point))return this.dragging.point=i,null===(e=this.responder)||void 0===e?void 0:e.setLocationRangeFromPointRange(i)}else vr(t)&&t.preventDefault()},drop(t){var e,i;if(this.dragging)return t.preventDefault(),null===(e=this.delegate)||void 0===e||e.inputControllerWillMoveText(),null===(i=this.responder)||void 0===i||i.moveTextFromRange(this.dragging.range),this.dragging=null,this.scheduleRender();if(vr(t)){var n;t.preventDefault();const e=Er(t);return null===(n=this.responder)||void 0===n||n.setLocationRangeFromPointRange(e),this.attachFiles(t.dataTransfer.files)}},dragend(){var t;this.dragging&&(null===(t=this.responder)||void 0===t||t.setSelectedRange(this.dragging.range),this.dragging=null)},compositionend(t){this.composing&&(this.composing=!1,a.recentAndroid||this.scheduleRender())}}),Ti(fr,\"keys\",{ArrowLeft(){var t,e;if(null!==(t=this.responder)&&void 0!==t&&t.shouldManageMovingCursorInDirection(\"backward\"))return this.event.preventDefault(),null===(e=this.responder)||void 0===e?void 0:e.moveCursorInDirection(\"backward\")},ArrowRight(){var t,e;if(null!==(t=this.responder)&&void 0!==t&&t.shouldManageMovingCursorInDirection(\"forward\"))return this.event.preventDefault(),null===(e=this.responder)||void 0===e?void 0:e.moveCursorInDirection(\"forward\")},Backspace(){var t,e,i;if(null!==(t=this.responder)&&void 0!==t&&t.shouldManageDeletingInDirection(\"backward\"))return this.event.preventDefault(),null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),null===(i=this.responder)||void 0===i||i.deleteInDirection(\"backward\"),this.render()},Tab(){var t,e;if(null!==(t=this.responder)&&void 0!==t&&t.canIncreaseNestingLevel())return this.event.preventDefault(),null===(e=this.responder)||void 0===e||e.increaseNestingLevel(),this.render()},\"Tab+Shift\"(){var t,e;if(null!==(t=this.responder)&&void 0!==t&&t.canDecreaseNestingLevel())return this.event.preventDefault(),null===(e=this.responder)||void 0===e||e.decreaseNestingLevel(),this.render()}}),Ti(fr,\"inputTypes\",{deleteByComposition(){return this.deleteInDirection(\"backward\",{recordUndoEntry:!1})},deleteByCut(){return this.deleteInDirection(\"backward\")},deleteByDrag(){return this.event.preventDefault(),this.withTargetDOMRange((function(){var t;this.deleteByDragRange=null===(t=this.responder)||void 0===t?void 0:t.getSelectedRange()}))},deleteCompositionText(){return this.deleteInDirection(\"backward\",{recordUndoEntry:!1})},deleteContent(){return this.deleteInDirection(\"backward\")},deleteContentBackward(){return this.deleteInDirection(\"backward\")},deleteContentForward(){return this.deleteInDirection(\"forward\")},deleteEntireSoftLine(){return this.deleteInDirection(\"forward\")},deleteHardLineBackward(){return this.deleteInDirection(\"backward\")},deleteHardLineForward(){return this.deleteInDirection(\"forward\")},deleteSoftLineBackward(){return this.deleteInDirection(\"backward\")},deleteSoftLineForward(){return this.deleteInDirection(\"forward\")},deleteWordBackward(){return this.deleteInDirection(\"backward\")},deleteWordForward(){return this.deleteInDirection(\"forward\")},formatBackColor(){return this.activateAttributeIfSupported(\"backgroundColor\",this.event.data)},formatBold(){return this.toggleAttributeIfSupported(\"bold\")},formatFontColor(){return this.activateAttributeIfSupported(\"color\",this.event.data)},formatFontName(){return this.activateAttributeIfSupported(\"font\",this.event.data)},formatIndent(){var t;if(null!==(t=this.responder)&&void 0!==t&&t.canIncreaseNestingLevel())return this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.increaseNestingLevel()}))},formatItalic(){return this.toggleAttributeIfSupported(\"italic\")},formatJustifyCenter(){return this.toggleAttributeIfSupported(\"justifyCenter\")},formatJustifyFull(){return this.toggleAttributeIfSupported(\"justifyFull\")},formatJustifyLeft(){return this.toggleAttributeIfSupported(\"justifyLeft\")},formatJustifyRight(){return this.toggleAttributeIfSupported(\"justifyRight\")},formatOutdent(){var t;if(null!==(t=this.responder)&&void 0!==t&&t.canDecreaseNestingLevel())return this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.decreaseNestingLevel()}))},formatRemove(){this.withTargetDOMRange((function(){for(const i in null===(t=this.responder)||void 0===t?void 0:t.getCurrentAttributes()){var t,e;null===(e=this.responder)||void 0===e||e.removeCurrentAttribute(i)}}))},formatSetBlockTextDirection(){return this.activateAttributeIfSupported(\"blockDir\",this.event.data)},formatSetInlineTextDirection(){return this.activateAttributeIfSupported(\"textDir\",this.event.data)},formatStrikeThrough(){return this.toggleAttributeIfSupported(\"strike\")},formatSubscript(){return this.toggleAttributeIfSupported(\"sub\")},formatSuperscript(){return this.toggleAttributeIfSupported(\"sup\")},formatUnderline(){return this.toggleAttributeIfSupported(\"underline\")},historyRedo(){var t;return null===(t=this.delegate)||void 0===t?void 0:t.inputControllerWillPerformRedo()},historyUndo(){var t;return null===(t=this.delegate)||void 0===t?void 0:t.inputControllerWillPerformUndo()},insertCompositionText(){return this.composing=!0,this.insertString(this.event.data)},insertFromComposition(){return this.composing=!1,this.insertString(this.event.data)},insertFromDrop(){const t=this.deleteByDragRange;var e;if(t)return this.deleteByDragRange=null,null===(e=this.delegate)||void 0===e||e.inputControllerWillMoveText(),this.withTargetDOMRange((function(){var e;return null===(e=this.responder)||void 0===e?void 0:e.moveTextFromRange(t)}))},insertFromPaste(){const{dataTransfer:t}=this.event,e={dataTransfer:t},i=t.getData(\"URL\"),n=t.getData(\"text/html\");if(i){var r;let n;this.event.preventDefault(),e.type=\"text/html\";const o=t.getData(\"public.url-name\");n=o?Ut(o).trim():i,e.html=this.createLinkHTML(i,n),null===(r=this.delegate)||void 0===r||r.inputControllerWillPaste(e),this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.insertHTML(e.html)})),this.afterRender=()=>{var t;return null===(t=this.delegate)||void 0===t?void 0:t.inputControllerDidPaste(e)}}else if(Ct(t)){var o;e.type=\"text/plain\",e.string=t.getData(\"text/plain\"),null===(o=this.delegate)||void 0===o||o.inputControllerWillPaste(e),this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.insertString(e.string)})),this.afterRender=()=>{var t;return null===(t=this.delegate)||void 0===t?void 0:t.inputControllerDidPaste(e)}}else if(Ar(this.event)){var s;e.type=\"File\",e.file=t.files[0],null===(s=this.delegate)||void 0===s||s.inputControllerWillPaste(e),this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.insertFile(e.file)})),this.afterRender=()=>{var t;return null===(t=this.delegate)||void 0===t?void 0:t.inputControllerDidPaste(e)}}else if(n){var a;this.event.preventDefault(),e.type=\"text/html\",e.html=n,null===(a=this.delegate)||void 0===a||a.inputControllerWillPaste(e),this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.insertHTML(e.html)})),this.afterRender=()=>{var t;return null===(t=this.delegate)||void 0===t?void 0:t.inputControllerDidPaste(e)}}},insertFromYank(){return this.insertString(this.event.data)},insertLineBreak(){return this.insertString(\"\\n\")},insertLink(){return this.activateAttributeIfSupported(\"href\",this.event.data)},insertOrderedList(){return this.toggleAttributeIfSupported(\"number\")},insertParagraph(){var t;return null===(t=this.delegate)||void 0===t||t.inputControllerWillPerformTyping(),this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.insertLineBreak()}))},insertReplacementText(){const t=this.event.dataTransfer.getData(\"text/plain\"),e=this.event.getTargetRanges()[0];this.withTargetDOMRange(e,(()=>{this.insertString(t,{updatePosition:!1})}))},insertText(){var t;return this.insertString(this.event.data||(null===(t=this.event.dataTransfer)||void 0===t?void 0:t.getData(\"text/plain\")))},insertTranspose(){return this.insertString(this.event.data)},insertUnorderedList(){return this.toggleAttributeIfSupported(\"bullet\")}});const br=function(t){const e=document.createRange();return e.setStart(t.startContainer,t.startOffset),e.setEnd(t.endContainer,t.endOffset),e},vr=t=>{var e;return Array.from((null===(e=t.dataTransfer)||void 0===e?void 0:e.types)||[]).includes(\"Files\")},Ar=t=>{var e;return(null===(e=t.dataTransfer.files)||void 0===e?void 0:e[0])&&!yr(t)&&!(t=>{let{dataTransfer:e}=t;return e.types.includes(\"Files\")&&e.types.includes(\"text/html\")&&e.getData(\"text/html\").includes(\"urn:schemas-microsoft-com:office:office\")})(t)},yr=function(t){const e=t.clipboardData;if(e){return Array.from(e.types).filter((t=>t.match(/file/i))).length===e.types.length&&e.files.length>=1}},xr=function(t){const e=t.clipboardData;if(e)return e.types.includes(\"text/plain\")&&1===e.types.length},Cr=function(t){const e=[];return t.altKey&&e.push(\"alt\"),t.shiftKey&&e.push(\"shift\"),e.push(t.key),e},Er=t=>({x:t.clientX,y:t.clientY}),Sr=\"[data-trix-attribute]\",Rr=\"[data-trix-action]\",kr=\"\".concat(Sr,\", \").concat(Rr),Tr=\"[data-trix-dialog]\",wr=\"\".concat(Tr,\"[data-trix-active]\"),Lr=\"\".concat(Tr,\" [data-trix-method]\"),Dr=\"\".concat(Tr,\" [data-trix-input]\"),Nr=(t,e)=>(e||(e=Or(t)),t.querySelector(\"[data-trix-input][name='\".concat(e,\"']\"))),Ir=t=>t.getAttribute(\"data-trix-action\"),Or=t=>t.getAttribute(\"data-trix-attribute\")||t.getAttribute(\"data-trix-dialog-attribute\");class Pr extends q{constructor(t){super(t),this.didClickActionButton=this.didClickActionButton.bind(this),this.didClickAttributeButton=this.didClickAttributeButton.bind(this),this.didClickDialogButton=this.didClickDialogButton.bind(this),this.didKeyDownDialogInput=this.didKeyDownDialogInput.bind(this),this.element=t,this.attributes={},this.actions={},this.resetDialogInputs(),f(\"mousedown\",{onElement:this.element,matchingSelector:Rr,withCallback:this.didClickActionButton}),f(\"mousedown\",{onElement:this.element,matchingSelector:Sr,withCallback:this.didClickAttributeButton}),f(\"click\",{onElement:this.element,matchingSelector:kr,preventDefault:!0}),f(\"click\",{onElement:this.element,matchingSelector:Lr,withCallback:this.didClickDialogButton}),f(\"keydown\",{onElement:this.element,matchingSelector:Dr,withCallback:this.didKeyDownDialogInput})}didClickActionButton(t,e){var i;null===(i=this.delegate)||void 0===i||i.toolbarDidClickButton(),t.preventDefault();const n=Ir(e);return this.getDialog(n)?this.toggleDialog(n):null===(r=this.delegate)||void 0===r?void 0:r.toolbarDidInvokeAction(n,e);var r}didClickAttributeButton(t,e){var i;null===(i=this.delegate)||void 0===i||i.toolbarDidClickButton(),t.preventDefault();const n=Or(e);var r;this.getDialog(n)?this.toggleDialog(n):null===(r=this.delegate)||void 0===r||r.toolbarDidToggleAttribute(n);return this.refreshAttributeButtons()}didClickDialogButton(t,e){const i=A(e,{matchingSelector:Tr});return this[e.getAttribute(\"data-trix-method\")].call(this,i)}didKeyDownDialogInput(t,e){if(13===t.keyCode){t.preventDefault();const i=e.getAttribute(\"name\"),n=this.getDialog(i);this.setAttribute(n)}if(27===t.keyCode)return t.preventDefault(),this.hideDialog()}updateActions(t){return this.actions=t,this.refreshActionButtons()}refreshActionButtons(){return this.eachActionButton(((t,e)=>{t.disabled=!1===this.actions[e]}))}eachActionButton(t){return Array.from(this.element.querySelectorAll(Rr)).map((e=>t(e,Ir(e))))}updateAttributes(t){return this.attributes=t,this.refreshAttributeButtons()}refreshAttributeButtons(){return this.eachAttributeButton(((t,e)=>(t.disabled=!1===this.attributes[e],this.attributes[e]||this.dialogIsVisible(e)?(t.setAttribute(\"data-trix-active\",\"\"),t.classList.add(\"trix-active\")):(t.removeAttribute(\"data-trix-active\"),t.classList.remove(\"trix-active\")))))}eachAttributeButton(t){return Array.from(this.element.querySelectorAll(Sr)).map((e=>t(e,Or(e))))}applyKeyboardCommand(t){const e=JSON.stringify(t.sort());for(const t of Array.from(this.element.querySelectorAll(\"[data-trix-key]\"))){const i=t.getAttribute(\"data-trix-key\").split(\"+\");if(JSON.stringify(i.sort())===e)return b(\"mousedown\",{onElement:t}),!0}return!1}dialogIsVisible(t){const e=this.getDialog(t);if(e)return e.hasAttribute(\"data-trix-active\")}toggleDialog(t){return this.dialogIsVisible(t)?this.hideDialog():this.showDialog(t)}showDialog(t){var e,i;this.hideDialog(),null===(e=this.delegate)||void 0===e||e.toolbarWillShowDialog();const n=this.getDialog(t);n.setAttribute(\"data-trix-active\",\"\"),n.classList.add(\"trix-active\"),Array.from(n.querySelectorAll(\"input[disabled]\")).forEach((t=>{t.removeAttribute(\"disabled\")}));const r=Or(n);if(r){const e=Nr(n,t);e&&(e.value=this.attributes[r]||\"\",e.select())}return null===(i=this.delegate)||void 0===i?void 0:i.toolbarDidShowDialog(t)}setAttribute(t){const e=Or(t),i=Nr(t,e);return i.willValidate&&!i.checkValidity()?(i.setAttribute(\"data-trix-validate\",\"\"),i.classList.add(\"trix-validate\"),i.focus()):(null===(n=this.delegate)||void 0===n||n.toolbarDidUpdateAttribute(e,i.value),this.hideDialog());var n}removeAttribute(t){var e;const i=Or(t);return null===(e=this.delegate)||void 0===e||e.toolbarDidRemoveAttribute(i),this.hideDialog()}hideDialog(){const t=this.element.querySelector(wr);var e;if(t)return t.removeAttribute(\"data-trix-active\"),t.classList.remove(\"trix-active\"),this.resetDialogInputs(),null===(e=this.delegate)||void 0===e?void 0:e.toolbarDidHideDialog((t=>t.getAttribute(\"data-trix-dialog\"))(t))}resetDialogInputs(){Array.from(this.element.querySelectorAll(Dr)).forEach((t=>{t.setAttribute(\"disabled\",\"disabled\"),t.removeAttribute(\"data-trix-validate\"),t.classList.remove(\"trix-validate\")}))}getDialog(t){return this.element.querySelector(\"[data-trix-dialog=\".concat(t,\"]\"))}}class Fr extends Gn{constructor(t){let{editorElement:e,document:i,html:n}=t;super(...arguments),this.editorElement=e,this.selectionManager=new jn(this.editorElement),this.selectionManager.delegate=this,this.composition=new Rn,this.composition.delegate=this,this.attachmentManager=new En(this.composition.getAttachments()),this.attachmentManager.delegate=this,this.inputController=2===B.getLevel()?new fr(this.editorElement):new ur(this.editorElement),this.inputController.delegate=this,this.inputController.responder=this.composition,this.compositionController=new Kn(this.editorElement,this.composition),this.compositionController.delegate=this,this.toolbarController=new Pr(this.editorElement.toolbarElement),this.toolbarController.delegate=this,this.editor=new In(this.composition,this.selectionManager,this.editorElement),i?this.editor.loadDocument(i):this.editor.loadHTML(n)}registerSelectionManager(){return Ot.registerSelectionManager(this.selectionManager)}unregisterSelectionManager(){return Ot.unregisterSelectionManager(this.selectionManager)}render(){return this.compositionController.render()}reparse(){return this.composition.replaceHTML(this.editorElement.innerHTML)}compositionDidChangeDocument(t){if(this.notifyEditorElement(\"document-change\"),!this.handlingInput)return this.render()}compositionDidChangeCurrentAttributes(t){return this.currentAttributes=t,this.toolbarController.updateAttributes(this.currentAttributes),this.updateCurrentActions(),this.notifyEditorElement(\"attributes-change\",{attributes:this.currentAttributes})}compositionDidPerformInsertionAtRange(t){this.pasting&&(this.pastedRange=t)}compositionShouldAcceptFile(t){return this.notifyEditorElement(\"file-accept\",{file:t})}compositionDidAddAttachment(t){const e=this.attachmentManager.manageAttachment(t);return this.notifyEditorElement(\"attachment-add\",{attachment:e})}compositionDidEditAttachment(t){this.compositionController.rerenderViewForObject(t);const e=this.attachmentManager.manageAttachment(t);return this.notifyEditorElement(\"attachment-edit\",{attachment:e}),this.notifyEditorElement(\"change\")}compositionDidChangeAttachmentPreviewURL(t){return this.compositionController.invalidateViewForObject(t),this.notifyEditorElement(\"change\")}compositionDidRemoveAttachment(t){const e=this.attachmentManager.unmanageAttachment(t);return this.notifyEditorElement(\"attachment-remove\",{attachment:e})}compositionDidStartEditingAttachment(t,e){return this.attachmentLocationRange=this.composition.document.getLocationRangeOfAttachment(t),this.compositionController.installAttachmentEditorForAttachment(t,e),this.selectionManager.setLocationRange(this.attachmentLocationRange)}compositionDidStopEditingAttachment(t){this.compositionController.uninstallAttachmentEditor(),this.attachmentLocationRange=null}compositionDidRequestChangingSelectionToLocationRange(t){if(!this.loadingSnapshot||this.isFocused())return this.requestedLocationRange=t,this.compositionRevisionWhenLocationRangeRequested=this.composition.revision,this.handlingInput?void 0:this.render()}compositionWillLoadSnapshot(){this.loadingSnapshot=!0}compositionDidLoadSnapshot(){this.compositionController.refreshViewCache(),this.render(),this.loadingSnapshot=!1}getSelectionManager(){return this.selectionManager}attachmentManagerDidRequestRemovalOfAttachment(t){return this.removeAttachment(t)}compositionControllerWillSyncDocumentView(){return this.inputController.editorWillSyncDocumentView(),this.selectionManager.lock(),this.selectionManager.clearSelection()}compositionControllerDidSyncDocumentView(){return this.inputController.editorDidSyncDocumentView(),this.selectionManager.unlock(),this.updateCurrentActions(),this.notifyEditorElement(\"sync\")}compositionControllerDidRender(){this.requestedLocationRange&&(this.compositionRevisionWhenLocationRangeRequested===this.composition.revision&&this.selectionManager.setLocationRange(this.requestedLocationRange),this.requestedLocationRange=null,this.compositionRevisionWhenLocationRangeRequested=null),this.renderedCompositionRevision!==this.composition.revision&&(this.runEditorFilters(),this.composition.updateCurrentAttributes(),this.notifyEditorElement(\"render\")),this.renderedCompositionRevision=this.composition.revision}compositionControllerDidFocus(){return this.isFocusedInvisibly()&&this.setLocationRange({index:0,offset:0}),this.toolbarController.hideDialog(),this.notifyEditorElement(\"focus\")}compositionControllerDidBlur(){return this.notifyEditorElement(\"blur\")}compositionControllerDidSelectAttachment(t,e){return this.toolbarController.hideDialog(),this.composition.editAttachment(t,e)}compositionControllerDidRequestDeselectingAttachment(t){const e=this.attachmentLocationRange||this.composition.document.getLocationRangeOfAttachment(t);return this.selectionManager.setLocationRange(e[1])}compositionControllerWillUpdateAttachment(t){return this.editor.recordUndoEntry(\"Edit Attachment\",{context:t.id,consolidatable:!0})}compositionControllerDidRequestRemovalOfAttachment(t){return this.removeAttachment(t)}inputControllerWillHandleInput(){this.handlingInput=!0,this.requestedRender=!1}inputControllerDidRequestRender(){this.requestedRender=!0}inputControllerDidHandleInput(){if(this.handlingInput=!1,this.requestedRender)return this.requestedRender=!1,this.render()}inputControllerDidAllowUnhandledInput(){return this.notifyEditorElement(\"change\")}inputControllerDidRequestReparse(){return this.reparse()}inputControllerWillPerformTyping(){return this.recordTypingUndoEntry()}inputControllerWillPerformFormatting(t){return this.recordFormattingUndoEntry(t)}inputControllerWillCutText(){return this.editor.recordUndoEntry(\"Cut\")}inputControllerWillPaste(t){return this.editor.recordUndoEntry(\"Paste\"),this.pasting=!0,this.notifyEditorElement(\"before-paste\",{paste:t})}inputControllerDidPaste(t){return t.range=this.pastedRange,this.pastedRange=null,this.pasting=null,this.notifyEditorElement(\"paste\",{paste:t})}inputControllerWillMoveText(){return this.editor.recordUndoEntry(\"Move\")}inputControllerWillAttachFiles(){return this.editor.recordUndoEntry(\"Drop Files\")}inputControllerWillPerformUndo(){return this.editor.undo()}inputControllerWillPerformRedo(){return this.editor.redo()}inputControllerDidReceiveKeyboardCommand(t){return this.toolbarController.applyKeyboardCommand(t)}inputControllerDidStartDrag(){this.locationRangeBeforeDrag=this.selectionManager.getLocationRange()}inputControllerDidReceiveDragOverPoint(t){return this.selectionManager.setLocationRangeFromPointRange(t)}inputControllerDidCancelDrag(){this.selectionManager.setLocationRange(this.locationRangeBeforeDrag),this.locationRangeBeforeDrag=null}locationRangeDidChange(t){return this.composition.updateCurrentAttributes(),this.updateCurrentActions(),this.attachmentLocationRange&&!Lt(this.attachmentLocationRange,t)&&this.composition.stopEditingAttachment(),this.notifyEditorElement(\"selection-change\")}toolbarDidClickButton(){if(!this.getLocationRange())return this.setLocationRange({index:0,offset:0})}toolbarDidInvokeAction(t,e){return this.invokeAction(t,e)}toolbarDidToggleAttribute(t){if(this.recordFormattingUndoEntry(t),this.composition.toggleCurrentAttribute(t),this.render(),!this.selectionFrozen)return this.editorElement.focus()}toolbarDidUpdateAttribute(t,e){if(this.recordFormattingUndoEntry(t),this.composition.setCurrentAttribute(t,e),this.render(),!this.selectionFrozen)return this.editorElement.focus()}toolbarDidRemoveAttribute(t){if(this.recordFormattingUndoEntry(t),this.composition.removeCurrentAttribute(t),this.render(),!this.selectionFrozen)return this.editorElement.focus()}toolbarWillShowDialog(t){return this.composition.expandSelectionForEditing(),this.freezeSelection()}toolbarDidShowDialog(t){return this.notifyEditorElement(\"toolbar-dialog-show\",{dialogName:t})}toolbarDidHideDialog(t){return this.thawSelection(),this.editorElement.focus(),this.notifyEditorElement(\"toolbar-dialog-hide\",{dialogName:t})}freezeSelection(){if(!this.selectionFrozen)return this.selectionManager.lock(),this.composition.freezeSelection(),this.selectionFrozen=!0,this.render()}thawSelection(){if(this.selectionFrozen)return this.composition.thawSelection(),this.selectionManager.unlock(),this.selectionFrozen=!1,this.render()}canInvokeAction(t){return!!this.actionIsExternal(t)||!(null===(e=this.actions[t])||void 0===e||null===(e=e.test)||void 0===e||!e.call(this));var e}invokeAction(t,e){return this.actionIsExternal(t)?this.notifyEditorElement(\"action-invoke\",{actionName:t,invokingElement:e}):null===(i=this.actions[t])||void 0===i||null===(i=i.perform)||void 0===i?void 0:i.call(this);var i}actionIsExternal(t){return/^x-./.test(t)}getCurrentActions(){const t={};for(const e in this.actions)t[e]=this.canInvokeAction(e);return t}updateCurrentActions(){const t=this.getCurrentActions();if(!kt(t,this.currentActions))return this.currentActions=t,this.toolbarController.updateActions(this.currentActions),this.notifyEditorElement(\"actions-change\",{actions:this.currentActions})}runEditorFilters(){let t=this.composition.getSnapshot();if(Array.from(this.editor.filters).forEach((e=>{const{document:i,selectedRange:n}=t;t=e.call(this.editor,t)||{},t.document||(t.document=i),t.selectedRange||(t.selectedRange=n)})),e=t,i=this.composition.getSnapshot(),!Lt(e.selectedRange,i.selectedRange)||!e.document.isEqualTo(i.document))return this.composition.loadSnapshot(t);var e,i}updateInputElement(){const t=function(t,e){const i=yn[e];if(i)return i(t);throw new Error(\"unknown content type: \".concat(e))}(this.compositionController.getSerializableElement(),\"text/html\");return this.editorElement.setFormValue(t)}notifyEditorElement(t,e){switch(t){case\"document-change\":this.documentChangedSinceLastRender=!0;break;case\"render\":this.documentChangedSinceLastRender&&(this.documentChangedSinceLastRender=!1,this.notifyEditorElement(\"change\"));break;case\"change\":case\"attachment-add\":case\"attachment-edit\":case\"attachment-remove\":this.updateInputElement()}return this.editorElement.notify(t,e)}removeAttachment(t){return this.editor.recordUndoEntry(\"Delete Attachment\"),this.composition.removeAttachment(t),this.render()}recordFormattingUndoEntry(t){const e=gt(t),i=this.selectionManager.getLocationRange();if(e||!wt(i))return this.editor.recordUndoEntry(\"Formatting\",{context:this.getUndoContext(),consolidatable:!0})}recordTypingUndoEntry(){return this.editor.recordUndoEntry(\"Typing\",{context:this.getUndoContext(this.currentAttributes),consolidatable:!0})}getUndoContext(){for(var t=arguments.length,e=new Array(t),i=0;i0?Math.floor((new Date).getTime()/U.interval):0}isFocused(){var t;return this.editorElement===(null===(t=this.editorElement.ownerDocument)||void 0===t?void 0:t.activeElement)}isFocusedInvisibly(){return this.isFocused()&&!this.getLocationRange()}get actions(){return this.constructor.actions}}Ti(Fr,\"actions\",{undo:{test(){return this.editor.canUndo()},perform(){return this.editor.undo()}},redo:{test(){return this.editor.canRedo()},perform(){return this.editor.redo()}},link:{test(){return this.editor.canActivateAttribute(\"href\")}},increaseNestingLevel:{test(){return this.editor.canIncreaseNestingLevel()},perform(){return this.editor.increaseNestingLevel()&&this.render()}},decreaseNestingLevel:{test(){return this.editor.canDecreaseNestingLevel()},perform(){return this.editor.decreaseNestingLevel()&&this.render()}},attachFiles:{test:()=>!0,perform(){return B.pickFiles(this.editor.insertFiles)}}}),Fr.proxyMethod(\"getSelectionManager().setLocationRange\"),Fr.proxyMethod(\"getSelectionManager().getLocationRange\");var Mr=Object.freeze({__proto__:null,AttachmentEditorController:Jn,CompositionController:Kn,Controller:Gn,EditorController:Fr,InputController:or,Level0InputController:ur,Level2InputController:fr,ToolbarController:Pr}),Br=Object.freeze({__proto__:null,MutationObserver:Zn,SelectionChangeObserver:It}),_r=Object.freeze({__proto__:null,FileVerificationOperation:tr,ImagePreloadOperation:_i});bt(\"trix-toolbar\",\"%t {\\n display: block;\\n}\\n\\n%t {\\n white-space: nowrap;\\n}\\n\\n%t [data-trix-dialog] {\\n display: none;\\n}\\n\\n%t [data-trix-dialog][data-trix-active] {\\n display: block;\\n}\\n\\n%t [data-trix-dialog] [data-trix-validate]:invalid {\\n background-color: #ffdddd;\\n}\");class jr extends HTMLElement{connectedCallback(){\"\"===this.innerHTML&&(this.innerHTML=W.getDefaultHTML())}}let Wr=0;const Ur=function(t){if(!t.hasAttribute(\"contenteditable\"))return t.setAttribute(\"contenteditable\",\"\"),function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.times=1,f(t,e)}(\"focus\",{onElement:t,withCallback:()=>Vr(t)})},Vr=function(t){return qr(t),Hr(t)},qr=function(t){var e,i;if(null!==(e=(i=document).queryCommandSupported)&&void 0!==e&&e.call(i,\"enableObjectResizing\"))return document.execCommand(\"enableObjectResizing\",!1,!1),f(\"mscontrolselect\",{onElement:t,preventDefault:!0})},Hr=function(t){var e,i;if(null!==(e=(i=document).queryCommandSupported)&&void 0!==e&&e.call(i,\"DefaultParagraphSeparator\")){const{tagName:t}=n.default;if([\"div\",\"p\"].includes(t))return document.execCommand(\"DefaultParagraphSeparator\",!1,t)}},zr=a.forcesObjectResizing?{display:\"inline\",width:\"auto\"}:{display:\"inline-block\",width:\"1px\"};bt(\"trix-editor\",\"%t {\\n display: block;\\n}\\n\\n%t:empty::before {\\n content: attr(placeholder);\\n color: graytext;\\n cursor: text;\\n pointer-events: none;\\n white-space: pre-line;\\n}\\n\\n%t a[contenteditable=false] {\\n cursor: text;\\n}\\n\\n%t img {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n%t \".concat(e,\" figcaption textarea {\\n resize: none;\\n}\\n\\n%t \").concat(e,\" figcaption textarea.trix-autoresize-clone {\\n position: absolute;\\n left: -9999px;\\n max-height: 0px;\\n}\\n\\n%t \").concat(e,\" figcaption[data-trix-placeholder]:empty::before {\\n content: attr(data-trix-placeholder);\\n color: graytext;\\n}\\n\\n%t [data-trix-cursor-target] {\\n display: \").concat(zr.display,\" !important;\\n width: \").concat(zr.width,\" !important;\\n padding: 0 !important;\\n margin: 0 !important;\\n border: none !important;\\n}\\n\\n%t [data-trix-cursor-target=left] {\\n vertical-align: top !important;\\n margin-left: -1px !important;\\n}\\n\\n%t [data-trix-cursor-target=right] {\\n vertical-align: bottom !important;\\n margin-right: -1px !important;\\n}\"));var Jr=new WeakMap,Kr=new WeakSet;class Gr{constructor(t){var e,i;Fi(e=this,i=Kr),i.add(e),Mi(this,Jr,{writable:!0,value:void 0}),this.element=t,Di(this,Jr,t.attachInternals())}connectedCallback(){Pi(this,Kr,Yr).call(this)}disconnectedCallback(){}get labels(){return Li(this,Jr).labels}get disabled(){var t;return null===(t=this.element.inputElement)||void 0===t?void 0:t.disabled}set disabled(t){this.element.toggleAttribute(\"disabled\",t)}get required(){return this.element.hasAttribute(\"required\")}set required(t){this.element.toggleAttribute(\"required\",t),Pi(this,Kr,Yr).call(this)}get validity(){return Li(this,Jr).validity}get validationMessage(){return Li(this,Jr).validationMessage}get willValidate(){return Li(this,Jr).willValidate}setFormValue(t){Pi(this,Kr,Yr).call(this)}checkValidity(){return Li(this,Jr).checkValidity()}reportValidity(){return Li(this,Jr).reportValidity()}setCustomValidity(t){Pi(this,Kr,Yr).call(this,t)}}function Yr(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\";const{required:e,value:i}=this.element,n=e&&!i,r=!!t,o=k(\"input\",{required:e}),s=t||o.validationMessage;Li(this,Jr).setValidity({valueMissing:n,customError:r},s)}var $r=new WeakMap,Xr=new WeakMap,Zr=new WeakMap;class Qr{constructor(t){Mi(this,$r,{writable:!0,value:void 0}),Mi(this,Xr,{writable:!0,value:t=>{t.defaultPrevented||t.target===this.element.form&&this.element.reset()}}),Mi(this,Zr,{writable:!0,value:t=>{if(t.defaultPrevented)return;if(this.element.contains(t.target))return;const e=A(t.target,{matchingSelector:\"label\"});e&&Array.from(this.labels).includes(e)&&this.element.focus()}}),this.element=t}connectedCallback(){Di(this,$r,function(t){if(t.hasAttribute(\"aria-label\")||t.hasAttribute(\"aria-labelledby\"))return;const e=function(){const e=Array.from(t.labels).map((e=>{if(!e.contains(t))return e.textContent})).filter((t=>t)),i=e.join(\" \");return i?t.setAttribute(\"aria-label\",i):t.removeAttribute(\"aria-label\")};return e(),f(\"focus\",{onElement:t,withCallback:e})}(this.element)),window.addEventListener(\"reset\",Li(this,Xr),!1),window.addEventListener(\"click\",Li(this,Zr),!1)}disconnectedCallback(){var t;null===(t=Li(this,$r))||void 0===t||t.destroy(),window.removeEventListener(\"reset\",Li(this,Xr),!1),window.removeEventListener(\"click\",Li(this,Zr),!1)}get labels(){const t=[];this.element.id&&this.element.ownerDocument&&t.push(...Array.from(this.element.ownerDocument.querySelectorAll(\"label[for='\".concat(this.element.id,\"']\"))||[]));const e=A(this.element,{matchingSelector:\"label\"});return e&&[this.element,null].includes(e.control)&&t.push(e),t}get disabled(){return console.warn(\"This browser does not support the [disabled] attribute for trix-editor elements.\"),!1}set disabled(t){console.warn(\"This browser does not support the [disabled] attribute for trix-editor elements.\")}get required(){return console.warn(\"This browser does not support the [required] attribute for trix-editor elements.\"),!1}set required(t){console.warn(\"This browser does not support the [required] attribute for trix-editor elements.\")}get validity(){return console.warn(\"This browser does not support the validity property for trix-editor elements.\"),null}get validationMessage(){return console.warn(\"This browser does not support the validationMessage property for trix-editor elements.\"),\"\"}get willValidate(){return console.warn(\"This browser does not support the willValidate property for trix-editor elements.\"),!1}setFormValue(t){}checkValidity(){return console.warn(\"This browser does not support checkValidity() for trix-editor elements.\"),!0}reportValidity(){return console.warn(\"This browser does not support reportValidity() for trix-editor elements.\"),!0}setCustomValidity(t){console.warn(\"This browser does not support setCustomValidity(validationMessage) for trix-editor elements.\")}}var to=new WeakMap;class eo extends HTMLElement{constructor(){super(),Mi(this,to,{writable:!0,value:void 0}),Di(this,to,this.constructor.formAssociated?new Gr(this):new Qr(this))}get trixId(){return this.hasAttribute(\"trix-id\")?this.getAttribute(\"trix-id\"):(this.setAttribute(\"trix-id\",++Wr),this.trixId)}get labels(){return Li(this,to).labels}get disabled(){return Li(this,to).disabled}set disabled(t){Li(this,to).disabled=t}get required(){return Li(this,to).required}set required(t){Li(this,to).required=t}get validity(){return Li(this,to).validity}get validationMessage(){return Li(this,to).validationMessage}get willValidate(){return Li(this,to).willValidate}get type(){return this.localName}get toolbarElement(){var t;if(this.hasAttribute(\"toolbar\"))return null===(t=this.ownerDocument)||void 0===t?void 0:t.getElementById(this.getAttribute(\"toolbar\"));if(this.parentNode){const t=\"trix-toolbar-\".concat(this.trixId);this.setAttribute(\"toolbar\",t);const e=k(\"trix-toolbar\",{id:t});return this.parentNode.insertBefore(e,this),e}}get form(){var t;return null===(t=this.inputElement)||void 0===t?void 0:t.form}get inputElement(){var t;if(this.hasAttribute(\"input\"))return null===(t=this.ownerDocument)||void 0===t?void 0:t.getElementById(this.getAttribute(\"input\"));if(this.parentNode){const t=\"trix-input-\".concat(this.trixId);this.setAttribute(\"input\",t);const e=k(\"input\",{type:\"hidden\",id:t});return this.parentNode.insertBefore(e,this.nextElementSibling),e}}get editor(){var t;return null===(t=this.editorController)||void 0===t?void 0:t.editor}get name(){var t;return null===(t=this.inputElement)||void 0===t?void 0:t.name}get value(){var t;return null===(t=this.inputElement)||void 0===t?void 0:t.value}set value(t){var e;this.defaultValue=t,null===(e=this.editor)||void 0===e||e.loadHTML(this.defaultValue)}notify(t,e){if(this.editorController)return b(\"trix-\".concat(t),{onElement:this,attributes:e})}setFormValue(t){this.inputElement&&(this.inputElement.value=t,Li(this,to).setFormValue(t))}connectedCallback(){this.hasAttribute(\"data-trix-internal\")||(Ur(this),function(t){if(!t.hasAttribute(\"role\"))t.setAttribute(\"role\",\"textbox\")}(this),this.editorController||(b(\"trix-before-initialize\",{onElement:this}),this.editorController=new Fr({editorElement:this,html:this.defaultValue=this.value}),requestAnimationFrame((()=>b(\"trix-initialize\",{onElement:this})))),this.editorController.registerSelectionManager(),Li(this,to).connectedCallback(),function(t){if(!document.querySelector(\":focus\")&&t.hasAttribute(\"autofocus\")&&document.querySelector(\"[autofocus]\")===t)t.focus()}(this))}disconnectedCallback(){var t;null===(t=this.editorController)||void 0===t||t.unregisterSelectionManager(),Li(this,to).disconnectedCallback()}checkValidity(){return Li(this,to).checkValidity()}reportValidity(){return Li(this,to).reportValidity()}setCustomValidity(t){Li(this,to).setCustomValidity(t)}formDisabledCallback(t){this.inputElement&&(this.inputElement.disabled=t),this.toggleAttribute(\"contenteditable\",!t)}formResetCallback(){this.reset()}reset(){this.value=this.defaultValue}}Ti(eo,\"formAssociated\",\"ElementInternals\"in window);const io={VERSION:t,config:V,core:xn,models:Wn,views:Un,controllers:Mr,observers:Br,operations:_r,elements:Object.freeze({__proto__:null,TrixEditorElement:eo,TrixToolbarElement:jr}),filters:Object.freeze({__proto__:null,Filter:Ln,attachmentGalleryFilter:Dn})};Object.assign(io,Wn),window.Trix=io,setTimeout((function(){customElements.get(\"trix-toolbar\")||customElements.define(\"trix-toolbar\",jr),customElements.get(\"trix-editor\")||customElements.define(\"trix-editor\",eo)}),0);export{io as default};\n//# sourceMappingURL=trix.esm.min.js.map\n","var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nvar activestorage = {exports: {}};\n\n(function (module, exports) {\n(function(global, factory) {\n factory(exports) ;\n})(commonjsGlobal, (function(exports) {\n var sparkMd5 = {\n exports: {}\n };\n (function(module, exports) {\n (function(factory) {\n {\n module.exports = factory();\n }\n })((function(undefined$1) {\n var hex_chr = [ \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\" ];\n function md5cycle(x, k) {\n var a = x[0], b = x[1], c = x[2], d = x[3];\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n function md5blk(s) {\n var md5blks = [], i;\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n function md5blk_array(a) {\n var md5blks = [], i;\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n function md51(s) {\n var n = s.length, state = [ 1732584193, -271733879, -1732584194, 271733878 ], i, length, tail, tmp, lo, hi;\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n }\n tail[i >> 2] |= 128 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n function md51_array(a) {\n var n = a.length, state = [ 1732584193, -271733879, -1732584194, 271733878 ], i, length, tail, tmp, lo, hi;\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0);\n length = a.length;\n tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << (i % 4 << 3);\n }\n tail[i >> 2] |= 128 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n function rhex(n) {\n var s = \"\", j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[n >> j * 8 + 4 & 15] + hex_chr[n >> j * 8 & 15];\n }\n return s;\n }\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join(\"\");\n }\n if (hex(md51(\"hello\")) !== \"5d41402abc4b2a76b9719d911017c592\") ;\n if (typeof ArrayBuffer !== \"undefined\" && !ArrayBuffer.prototype.slice) {\n (function() {\n function clamp(val, length) {\n val = val | 0 || 0;\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n return Math.min(val, length);\n }\n ArrayBuffer.prototype.slice = function(from, to) {\n var length = this.byteLength, begin = clamp(from, length), end = length, num, target, targetArray, sourceArray;\n if (to !== undefined$1) {\n end = clamp(to, length);\n }\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n return target;\n };\n })();\n }\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n return str;\n }\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length, buff = new ArrayBuffer(length), arr = new Uint8Array(buff), i;\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n return returnUInt8Array ? arr : buff;\n }\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n return returnUInt8Array ? result : result.buffer;\n }\n function hexToBinaryString(hex) {\n var bytes = [], length = hex.length, x;\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n return String.fromCharCode.apply(String, bytes);\n }\n function SparkMD5() {\n this.reset();\n }\n SparkMD5.prototype.append = function(str) {\n this.appendBinary(toUtf8(str));\n return this;\n };\n SparkMD5.prototype.appendBinary = function(contents) {\n this._buff += contents;\n this._length += contents.length;\n var length = this._buff.length, i;\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n this._buff = this._buff.substring(i - 64);\n return this;\n };\n SparkMD5.prototype.end = function(raw) {\n var buff = this._buff, length = buff.length, i, tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], ret;\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3);\n }\n this._finish(tail, length);\n ret = hex(this._hash);\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n this.reset();\n return ret;\n };\n SparkMD5.prototype.reset = function() {\n this._buff = \"\";\n this._length = 0;\n this._hash = [ 1732584193, -271733879, -1732584194, 271733878 ];\n return this;\n };\n SparkMD5.prototype.getState = function() {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n SparkMD5.prototype.setState = function(state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n return this;\n };\n SparkMD5.prototype.destroy = function() {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n SparkMD5.prototype._finish = function(tail, length) {\n var i = length, tmp, lo, hi;\n tail[i >> 2] |= 128 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n SparkMD5.hash = function(str, raw) {\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n SparkMD5.hashBinary = function(content, raw) {\n var hash = md51(content), ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n SparkMD5.ArrayBuffer = function() {\n this.reset();\n };\n SparkMD5.ArrayBuffer.prototype.append = function(arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true), length = buff.length, i;\n this._length += arr.byteLength;\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n return this;\n };\n SparkMD5.ArrayBuffer.prototype.end = function(raw) {\n var buff = this._buff, length = buff.length, tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], i, ret;\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << (i % 4 << 3);\n }\n this._finish(tail, length);\n ret = hex(this._hash);\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n this.reset();\n return ret;\n };\n SparkMD5.ArrayBuffer.prototype.reset = function() {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [ 1732584193, -271733879, -1732584194, 271733878 ];\n return this;\n };\n SparkMD5.ArrayBuffer.prototype.getState = function() {\n var state = SparkMD5.prototype.getState.call(this);\n state.buff = arrayBuffer2Utf8Str(state.buff);\n return state;\n };\n SparkMD5.ArrayBuffer.prototype.setState = function(state) {\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n return SparkMD5.prototype.setState.call(this, state);\n };\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n SparkMD5.ArrayBuffer.hash = function(arr, raw) {\n var hash = md51_array(new Uint8Array(arr)), ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n return SparkMD5;\n }));\n })(sparkMd5);\n var SparkMD5 = sparkMd5.exports;\n const fileSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;\n class FileChecksum {\n static create(file, callback) {\n const instance = new FileChecksum(file);\n instance.create(callback);\n }\n constructor(file) {\n this.file = file;\n this.chunkSize = 2097152;\n this.chunkCount = Math.ceil(this.file.size / this.chunkSize);\n this.chunkIndex = 0;\n }\n create(callback) {\n this.callback = callback;\n this.md5Buffer = new SparkMD5.ArrayBuffer;\n this.fileReader = new FileReader;\n this.fileReader.addEventListener(\"load\", (event => this.fileReaderDidLoad(event)));\n this.fileReader.addEventListener(\"error\", (event => this.fileReaderDidError(event)));\n this.readNextChunk();\n }\n fileReaderDidLoad(event) {\n this.md5Buffer.append(event.target.result);\n if (!this.readNextChunk()) {\n const binaryDigest = this.md5Buffer.end(true);\n const base64digest = btoa(binaryDigest);\n this.callback(null, base64digest);\n }\n }\n fileReaderDidError(event) {\n this.callback(`Error reading ${this.file.name}`);\n }\n readNextChunk() {\n if (this.chunkIndex < this.chunkCount || this.chunkIndex == 0 && this.chunkCount == 0) {\n const start = this.chunkIndex * this.chunkSize;\n const end = Math.min(start + this.chunkSize, this.file.size);\n const bytes = fileSlice.call(this.file, start, end);\n this.fileReader.readAsArrayBuffer(bytes);\n this.chunkIndex++;\n return true;\n } else {\n return false;\n }\n }\n }\n function getMetaValue(name) {\n const element = findElement(document.head, `meta[name=\"${name}\"]`);\n if (element) {\n return element.getAttribute(\"content\");\n }\n }\n function findElements(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n const elements = root.querySelectorAll(selector);\n return toArray(elements);\n }\n function findElement(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n return root.querySelector(selector);\n }\n function dispatchEvent(element, type, eventInit = {}) {\n const {disabled: disabled} = element;\n const {bubbles: bubbles, cancelable: cancelable, detail: detail} = eventInit;\n const event = document.createEvent(\"Event\");\n event.initEvent(type, bubbles || true, cancelable || true);\n event.detail = detail || {};\n try {\n element.disabled = false;\n element.dispatchEvent(event);\n } finally {\n element.disabled = disabled;\n }\n return event;\n }\n function toArray(value) {\n if (Array.isArray(value)) {\n return value;\n } else if (Array.from) {\n return Array.from(value);\n } else {\n return [].slice.call(value);\n }\n }\n class BlobRecord {\n constructor(file, checksum, url) {\n this.file = file;\n this.attributes = {\n filename: file.name,\n content_type: file.type || \"application/octet-stream\",\n byte_size: file.size,\n checksum: checksum\n };\n this.xhr = new XMLHttpRequest;\n this.xhr.open(\"POST\", url, true);\n this.xhr.responseType = \"json\";\n this.xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n this.xhr.setRequestHeader(\"Accept\", \"application/json\");\n this.xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n const csrfToken = getMetaValue(\"csrf-token\");\n if (csrfToken != undefined) {\n this.xhr.setRequestHeader(\"X-CSRF-Token\", csrfToken);\n }\n this.xhr.addEventListener(\"load\", (event => this.requestDidLoad(event)));\n this.xhr.addEventListener(\"error\", (event => this.requestDidError(event)));\n }\n get status() {\n return this.xhr.status;\n }\n get response() {\n const {responseType: responseType, response: response} = this.xhr;\n if (responseType == \"json\") {\n return response;\n } else {\n return JSON.parse(response);\n }\n }\n create(callback) {\n this.callback = callback;\n this.xhr.send(JSON.stringify({\n blob: this.attributes\n }));\n }\n requestDidLoad(event) {\n if (this.status >= 200 && this.status < 300) {\n const {response: response} = this;\n const {direct_upload: direct_upload} = response;\n delete response.direct_upload;\n this.attributes = response;\n this.directUploadData = direct_upload;\n this.callback(null, this.toJSON());\n } else {\n this.requestDidError(event);\n }\n }\n requestDidError(event) {\n this.callback(`Error creating Blob for \"${this.file.name}\". Status: ${this.status}`);\n }\n toJSON() {\n const result = {};\n for (const key in this.attributes) {\n result[key] = this.attributes[key];\n }\n return result;\n }\n }\n class BlobUpload {\n constructor(blob) {\n this.blob = blob;\n this.file = blob.file;\n const {url: url, headers: headers} = blob.directUploadData;\n this.xhr = new XMLHttpRequest;\n this.xhr.open(\"PUT\", url, true);\n this.xhr.responseType = \"text\";\n for (const key in headers) {\n this.xhr.setRequestHeader(key, headers[key]);\n }\n this.xhr.addEventListener(\"load\", (event => this.requestDidLoad(event)));\n this.xhr.addEventListener(\"error\", (event => this.requestDidError(event)));\n }\n create(callback) {\n this.callback = callback;\n this.xhr.send(this.file.slice());\n }\n requestDidLoad(event) {\n const {status: status, response: response} = this.xhr;\n if (status >= 200 && status < 300) {\n this.callback(null, response);\n } else {\n this.requestDidError(event);\n }\n }\n requestDidError(event) {\n this.callback(`Error storing \"${this.file.name}\". Status: ${this.xhr.status}`);\n }\n }\n let id = 0;\n class DirectUpload {\n constructor(file, url, delegate) {\n this.id = ++id;\n this.file = file;\n this.url = url;\n this.delegate = delegate;\n }\n create(callback) {\n FileChecksum.create(this.file, ((error, checksum) => {\n if (error) {\n callback(error);\n return;\n }\n const blob = new BlobRecord(this.file, checksum, this.url);\n notify(this.delegate, \"directUploadWillCreateBlobWithXHR\", blob.xhr);\n blob.create((error => {\n if (error) {\n callback(error);\n } else {\n const upload = new BlobUpload(blob);\n notify(this.delegate, \"directUploadWillStoreFileWithXHR\", upload.xhr);\n upload.create((error => {\n if (error) {\n callback(error);\n } else {\n callback(null, blob.toJSON());\n }\n }));\n }\n }));\n }));\n }\n }\n function notify(object, methodName, ...messages) {\n if (object && typeof object[methodName] == \"function\") {\n return object[methodName](...messages);\n }\n }\n class DirectUploadController {\n constructor(input, file) {\n this.input = input;\n this.file = file;\n this.directUpload = new DirectUpload(this.file, this.url, this);\n this.dispatch(\"initialize\");\n }\n start(callback) {\n const hiddenInput = document.createElement(\"input\");\n hiddenInput.type = \"hidden\";\n hiddenInput.name = this.input.name;\n this.input.insertAdjacentElement(\"beforebegin\", hiddenInput);\n this.dispatch(\"start\");\n this.directUpload.create(((error, attributes) => {\n if (error) {\n hiddenInput.parentNode.removeChild(hiddenInput);\n this.dispatchError(error);\n } else {\n hiddenInput.value = attributes.signed_id;\n }\n this.dispatch(\"end\");\n callback(error);\n }));\n }\n uploadRequestDidProgress(event) {\n const progress = event.loaded / event.total * 100;\n if (progress) {\n this.dispatch(\"progress\", {\n progress: progress\n });\n }\n }\n get url() {\n return this.input.getAttribute(\"data-direct-upload-url\");\n }\n dispatch(name, detail = {}) {\n detail.file = this.file;\n detail.id = this.directUpload.id;\n return dispatchEvent(this.input, `direct-upload:${name}`, {\n detail: detail\n });\n }\n dispatchError(error) {\n const event = this.dispatch(\"error\", {\n error: error\n });\n if (!event.defaultPrevented) {\n alert(error);\n }\n }\n directUploadWillCreateBlobWithXHR(xhr) {\n this.dispatch(\"before-blob-request\", {\n xhr: xhr\n });\n }\n directUploadWillStoreFileWithXHR(xhr) {\n this.dispatch(\"before-storage-request\", {\n xhr: xhr\n });\n xhr.upload.addEventListener(\"progress\", (event => this.uploadRequestDidProgress(event)));\n }\n }\n const inputSelector = \"input[type=file][data-direct-upload-url]:not([disabled])\";\n class DirectUploadsController {\n constructor(form) {\n this.form = form;\n this.inputs = findElements(form, inputSelector).filter((input => input.files.length));\n }\n start(callback) {\n const controllers = this.createDirectUploadControllers();\n const startNextController = () => {\n const controller = controllers.shift();\n if (controller) {\n controller.start((error => {\n if (error) {\n callback(error);\n this.dispatch(\"end\");\n } else {\n startNextController();\n }\n }));\n } else {\n callback();\n this.dispatch(\"end\");\n }\n };\n this.dispatch(\"start\");\n startNextController();\n }\n createDirectUploadControllers() {\n const controllers = [];\n this.inputs.forEach((input => {\n toArray(input.files).forEach((file => {\n const controller = new DirectUploadController(input, file);\n controllers.push(controller);\n }));\n }));\n return controllers;\n }\n dispatch(name, detail = {}) {\n return dispatchEvent(this.form, `direct-uploads:${name}`, {\n detail: detail\n });\n }\n }\n const processingAttribute = \"data-direct-uploads-processing\";\n const submitButtonsByForm = new WeakMap;\n let started = false;\n function start() {\n if (!started) {\n started = true;\n document.addEventListener(\"click\", didClick, true);\n document.addEventListener(\"submit\", didSubmitForm, true);\n document.addEventListener(\"ajax:before\", didSubmitRemoteElement);\n }\n }\n function didClick(event) {\n const {target: target} = event;\n if ((target.tagName == \"INPUT\" || target.tagName == \"BUTTON\") && target.type == \"submit\" && target.form) {\n submitButtonsByForm.set(target.form, target);\n }\n }\n function didSubmitForm(event) {\n handleFormSubmissionEvent(event);\n }\n function didSubmitRemoteElement(event) {\n if (event.target.tagName == \"FORM\") {\n handleFormSubmissionEvent(event);\n }\n }\n function handleFormSubmissionEvent(event) {\n const form = event.target;\n if (form.hasAttribute(processingAttribute)) {\n event.preventDefault();\n return;\n }\n const controller = new DirectUploadsController(form);\n const {inputs: inputs} = controller;\n if (inputs.length) {\n event.preventDefault();\n form.setAttribute(processingAttribute, \"\");\n inputs.forEach(disable);\n controller.start((error => {\n form.removeAttribute(processingAttribute);\n if (error) {\n inputs.forEach(enable);\n } else {\n submitForm(form);\n }\n }));\n }\n }\n function submitForm(form) {\n let button = submitButtonsByForm.get(form) || findElement(form, \"input[type=submit], button[type=submit]\");\n if (button) {\n const {disabled: disabled} = button;\n button.disabled = false;\n button.focus();\n button.click();\n button.disabled = disabled;\n } else {\n button = document.createElement(\"input\");\n button.type = \"submit\";\n button.style.display = \"none\";\n form.appendChild(button);\n button.click();\n form.removeChild(button);\n }\n submitButtonsByForm.delete(form);\n }\n function disable(input) {\n input.disabled = true;\n }\n function enable(input) {\n input.disabled = false;\n }\n function autostart() {\n if (window.ActiveStorage) {\n start();\n }\n }\n setTimeout(autostart, 1);\n exports.DirectUpload = DirectUpload;\n exports.start = start;\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n}));\n}(activestorage, activestorage.exports));\n\nclass AttachmentUpload {\n constructor(attachment, element) {\n this.attachment = attachment;\n this.element = element;\n this.directUpload = new activestorage.exports.DirectUpload(attachment.file, this.directUploadUrl, this);\n }\n\n start() {\n this.directUpload.create(this.directUploadDidComplete.bind(this));\n }\n\n directUploadWillStoreFileWithXHR(xhr) {\n xhr.upload.addEventListener(\"progress\", event => {\n const progress = event.loaded / event.total * 100;\n this.attachment.setUploadProgress(progress);\n });\n }\n\n directUploadDidComplete(error, attributes) {\n if (error) {\n throw new Error(`Direct upload failed: ${error}`)\n }\n\n this.attachment.setAttributes({\n sgid: attributes.attachable_sgid,\n url: this.createBlobUrl(attributes.signed_id, attributes.filename)\n });\n }\n\n createBlobUrl(signedId, filename) {\n return this.blobUrlTemplate\n .replace(\":signed_id\", signedId)\n .replace(\":filename\", encodeURIComponent(filename))\n }\n\n get directUploadUrl() {\n return this.element.dataset.directUploadUrl\n }\n\n get blobUrlTemplate() {\n return this.element.dataset.blobUrlTemplate\n }\n}\n\naddEventListener(\"trix-attachment-add\", event => {\n const { attachment, target } = event;\n\n if (attachment.file) {\n const upload = new AttachmentUpload(attachment, target);\n upload.start();\n }\n});\n","export var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var quarterPi = pi / 4;\nexport var tau = pi * 2;\n\nexport var degrees = 180 / pi;\nexport var radians = pi / 180;\n\nexport var abs = Math.abs;\nexport var atan = Math.atan;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var ceil = Math.ceil;\nexport var exp = Math.exp;\nexport var floor = Math.floor;\nexport var hypot = Math.hypot;\nexport var log = Math.log;\nexport var pow = Math.pow;\nexport var sin = Math.sin;\nexport var sign = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };\nexport var sqrt = Math.sqrt;\nexport var tan = Math.tan;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);\n}\n\nexport function haversin(x) {\n return (x = sin(x / 2)) * x;\n}\n","import {asin, atan2, cos, sin, sqrt} from \"../math.js\";\n\nexport function azimuthalRaw(scale) {\n return function(x, y) {\n var cx = cos(x),\n cy = cos(y),\n k = scale(cx * cy);\n if (k === Infinity) return [2, 0];\n return [\n k * cy * sin(x),\n k * sin(y)\n ];\n }\n}\n\nexport function azimuthalInvert(angle) {\n return function(x, y) {\n var z = sqrt(x * x + y * y),\n c = angle(z),\n sc = sin(c),\n cc = cos(c);\n return [\n atan2(x * sc, z * cc),\n asin(z && y * sc / z)\n ];\n }\n}\n","export default function noop() {}\n","import noop from \"../noop.js\";\n\nexport default function() {\n var lines = [],\n line;\n return {\n point: function(x, y, m) {\n line.push([x, y, m]);\n },\n lineStart: function() {\n lines.push(line = []);\n },\n lineEnd: noop,\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n },\n result: function() {\n var result = lines;\n lines = [];\n line = null;\n return result;\n }\n };\n}\n","import {abs, epsilon} from \"./math.js\";\n\nexport default function(a, b) {\n return abs(a[0] - b[0]) < epsilon && abs(a[1] - b[1]) < epsilon;\n}\n","import pointEqual from \"../pointEqual.js\";\nimport {epsilon} from \"../math.js\";\n\nfunction Intersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other; // another intersection\n this.e = entry; // is an entry?\n this.v = false; // visited\n this.n = this.p = null; // next & previous\n}\n\n// A generalized polygon clipping algorithm: given a polygon that has been cut\n// into its visible line segments, and rejoins the segments by interpolating\n// along the clip edge.\nexport default function(segments, compareIntersection, startInside, interpolate, stream) {\n var subject = [],\n clip = [],\n i,\n n;\n\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n], x;\n\n if (pointEqual(p0, p1)) {\n if (!p0[2] && !p1[2]) {\n stream.lineStart();\n for (i = 0; i < n; ++i) stream.point((p0 = segment[i])[0], p0[1]);\n stream.lineEnd();\n return;\n }\n // handle degenerate cases by moving the point\n p1[0] += 2 * epsilon;\n }\n\n subject.push(x = new Intersection(p0, segment, null, true));\n clip.push(x.o = new Intersection(p0, null, x, false));\n subject.push(x = new Intersection(p1, segment, null, false));\n clip.push(x.o = new Intersection(p1, null, x, true));\n });\n\n if (!subject.length) return;\n\n clip.sort(compareIntersection);\n link(subject);\n link(clip);\n\n for (i = 0, n = clip.length; i < n; ++i) {\n clip[i].e = startInside = !startInside;\n }\n\n var start = subject[0],\n points,\n point;\n\n while (1) {\n // Find first unvisited intersection.\n var current = start,\n isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n stream.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (i = 0, n = points.length; i < n; ++i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, stream);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (i = points.length - 1; i >= 0; --i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, stream);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n stream.lineEnd();\n }\n}\n\nfunction link(array) {\n if (!(n = array.length)) return;\n var n,\n i = 0,\n a = array[0],\n b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n}\n","// https://github.com/python/cpython/blob/a74eea238f5baba15797e2e8b570d153bc8690a7/Modules/mathmodule.c#L1423\nexport class Adder {\n constructor() {\n this._partials = new Float64Array(32);\n this._n = 0;\n }\n add(x) {\n const p = this._partials;\n let i = 0;\n for (let j = 0; j < this._n && j < 32; j++) {\n const y = p[j],\n hi = x + y,\n lo = Math.abs(x) < Math.abs(y) ? x - (hi - y) : y - (hi - x);\n if (lo) p[i++] = lo;\n x = hi;\n }\n p[i] = x;\n this._n = i + 1;\n return this;\n }\n valueOf() {\n const p = this._partials;\n let n = this._n, x, y, lo, hi = 0;\n if (n > 0) {\n hi = p[--n];\n while (n > 0) {\n x = hi;\n y = p[--n];\n hi = x + y;\n lo = y - (hi - x);\n if (lo) break;\n }\n if (n > 0 && ((lo < 0 && p[n - 1] < 0) || (lo > 0 && p[n - 1] > 0))) {\n y = lo * 2;\n x = hi + y;\n if (y == x - hi) hi = x;\n }\n }\n return hi;\n }\n}\n\nexport function fsum(values, valueof) {\n const adder = new Adder();\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n adder.add(value);\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n adder.add(value);\n }\n }\n }\n return +adder;\n}\n\nexport function fcumsum(values, valueof) {\n const adder = new Adder();\n let index = -1;\n return Float64Array.from(values, valueof === undefined\n ? v => adder.add(+v || 0)\n : v => adder.add(+valueof(v, ++index, values) || 0)\n );\n}\n","import {asin, atan2, cos, sin, sqrt} from \"./math.js\";\n\nexport function spherical(cartesian) {\n return [atan2(cartesian[1], cartesian[0]), asin(cartesian[2])];\n}\n\nexport function cartesian(spherical) {\n var lambda = spherical[0], phi = spherical[1], cosPhi = cos(phi);\n return [cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi)];\n}\n\nexport function cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n\nexport function cartesianCross(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n}\n\n// TODO return a\nexport function cartesianAddInPlace(a, b) {\n a[0] += b[0], a[1] += b[1], a[2] += b[2];\n}\n\nexport function cartesianScale(vector, k) {\n return [vector[0] * k, vector[1] * k, vector[2] * k];\n}\n\n// TODO return d\nexport function cartesianNormalizeInPlace(d) {\n var l = sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l, d[1] /= l, d[2] /= l;\n}\n","import {Adder} from \"d3-array\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace} from \"./cartesian.js\";\nimport {abs, asin, atan2, cos, epsilon, epsilon2, halfPi, pi, quarterPi, sign, sin, tau} from \"./math.js\";\n\nfunction longitude(point) {\n return abs(point[0]) <= pi ? point[0] : sign(point[0]) * ((abs(point[0]) + pi) % tau - pi);\n}\n\nexport default function(polygon, point) {\n var lambda = longitude(point),\n phi = point[1],\n sinPhi = sin(phi),\n normal = [sin(lambda), -cos(lambda), 0],\n angle = 0,\n winding = 0;\n\n var sum = new Adder();\n\n if (sinPhi === 1) phi = halfPi + epsilon;\n else if (sinPhi === -1) phi = -halfPi - epsilon;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n if (!(m = (ring = polygon[i]).length)) continue;\n var ring,\n m,\n point0 = ring[m - 1],\n lambda0 = longitude(point0),\n phi0 = point0[1] / 2 + quarterPi,\n sinPhi0 = sin(phi0),\n cosPhi0 = cos(phi0);\n\n for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {\n var point1 = ring[j],\n lambda1 = longitude(point1),\n phi1 = point1[1] / 2 + quarterPi,\n sinPhi1 = sin(phi1),\n cosPhi1 = cos(phi1),\n delta = lambda1 - lambda0,\n sign = delta >= 0 ? 1 : -1,\n absDelta = sign * delta,\n antimeridian = absDelta > pi,\n k = sinPhi0 * sinPhi1;\n\n sum.add(atan2(k * sign * sin(absDelta), cosPhi0 * cosPhi1 + k * cos(absDelta)));\n angle += antimeridian ? delta + sign * tau : delta;\n\n // Are the longitudes either side of the point’s meridian (lambda),\n // and are the latitudes smaller than the parallel (phi)?\n if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) {\n var arc = cartesianCross(cartesian(point0), cartesian(point1));\n cartesianNormalizeInPlace(arc);\n var intersection = cartesianCross(normal, arc);\n cartesianNormalizeInPlace(intersection);\n var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin(intersection[2]);\n if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) {\n winding += antimeridian ^ delta >= 0 ? 1 : -1;\n }\n }\n }\n }\n\n // First, determine whether the South pole is inside or outside:\n //\n // It is inside if:\n // * the polygon winds around it in a clockwise direction.\n // * the polygon does not (cumulatively) wind around it, but has a negative\n // (counter-clockwise) area.\n //\n // Second, count the (signed) number of times a segment crosses a lambda\n // from the point to the South pole. If it is zero, then the point is the\n // same side as the South pole.\n\n return (angle < -epsilon || angle < epsilon && sum < -epsilon2) ^ (winding & 1);\n}\n","function* flatten(arrays) {\n for (const array of arrays) {\n yield* array;\n }\n}\n\nexport default function merge(arrays) {\n return Array.from(flatten(arrays));\n}\n","import clipBuffer from \"./buffer.js\";\nimport clipRejoin from \"./rejoin.js\";\nimport {epsilon, halfPi} from \"../math.js\";\nimport polygonContains from \"../polygonContains.js\";\nimport {merge} from \"d3-array\";\n\nexport default function(pointVisible, clipLine, interpolate, start) {\n return function(sink) {\n var line = clipLine(sink),\n ringBuffer = clipBuffer(),\n ringSink = clipLine(ringBuffer),\n polygonStarted = false,\n polygon,\n segments,\n ring;\n\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = merge(segments);\n var startInside = polygonContains(polygon, start);\n if (segments.length) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n clipRejoin(segments, compareIntersection, startInside, interpolate, sink);\n } else if (startInside) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n }\n if (polygonStarted) sink.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n sink.polygonStart();\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n sink.polygonEnd();\n }\n };\n\n function point(lambda, phi) {\n if (pointVisible(lambda, phi)) sink.point(lambda, phi);\n }\n\n function pointLine(lambda, phi) {\n line.point(lambda, phi);\n }\n\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n\n function pointRing(lambda, phi) {\n ring.push([lambda, phi]);\n ringSink.point(lambda, phi);\n }\n\n function ringStart() {\n ringSink.lineStart();\n ring = [];\n }\n\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringSink.lineEnd();\n\n var clean = ringSink.clean(),\n ringSegments = ringBuffer.result(),\n i, n = ringSegments.length, m,\n segment,\n point;\n\n ring.pop();\n polygon.push(ring);\n ring = null;\n\n if (!n) return;\n\n // No intersections.\n if (clean & 1) {\n segment = ringSegments[0];\n if ((m = segment.length - 1) > 0) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]);\n sink.lineEnd();\n }\n return;\n }\n\n // Rejoin connected segments.\n // TODO reuse ringBuffer.rejoin()?\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n\n segments.push(ringSegments.filter(validSegment));\n }\n\n return clip;\n };\n}\n\nfunction validSegment(segment) {\n return segment.length > 1;\n}\n\n// Intersections are sorted along the clip edge. For both antimeridian cutting\n// and circle clipping, the same comparison is used.\nfunction compareIntersection(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfPi - epsilon : halfPi - a[1])\n - ((b = b.x)[0] < 0 ? b[1] - halfPi - epsilon : halfPi - b[1]);\n}\n","import clip from \"./index.js\";\nimport {abs, atan, cos, epsilon, halfPi, pi, sin} from \"../math.js\";\n\nexport default clip(\n function() { return true; },\n clipAntimeridianLine,\n clipAntimeridianInterpolate,\n [-pi, -halfPi]\n);\n\n// Takes a line and cuts into visible segments. Return values: 0 - there were\n// intersections or the line was empty; 1 - no intersections; 2 - there were\n// intersections, and the first and last segments should be rejoined.\nfunction clipAntimeridianLine(stream) {\n var lambda0 = NaN,\n phi0 = NaN,\n sign0 = NaN,\n clean; // no intersections\n\n return {\n lineStart: function() {\n stream.lineStart();\n clean = 1;\n },\n point: function(lambda1, phi1) {\n var sign1 = lambda1 > 0 ? pi : -pi,\n delta = abs(lambda1 - lambda0);\n if (abs(delta - pi) < epsilon) { // line crosses a pole\n stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi : -halfPi);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n stream.point(lambda1, phi0);\n clean = 0;\n } else if (sign0 !== sign1 && delta >= pi) { // line crosses antimeridian\n if (abs(lambda0 - sign0) < epsilon) lambda0 -= sign0 * epsilon; // handle degeneracies\n if (abs(lambda1 - sign1) < epsilon) lambda1 -= sign1 * epsilon;\n phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n clean = 0;\n }\n stream.point(lambda0 = lambda1, phi0 = phi1);\n sign0 = sign1;\n },\n lineEnd: function() {\n stream.lineEnd();\n lambda0 = phi0 = NaN;\n },\n clean: function() {\n return 2 - clean; // if intersections, rejoin first and last segments\n }\n };\n}\n\nfunction clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {\n var cosPhi0,\n cosPhi1,\n sinLambda0Lambda1 = sin(lambda0 - lambda1);\n return abs(sinLambda0Lambda1) > epsilon\n ? atan((sin(phi0) * (cosPhi1 = cos(phi1)) * sin(lambda1)\n - sin(phi1) * (cosPhi0 = cos(phi0)) * sin(lambda0))\n / (cosPhi0 * cosPhi1 * sinLambda0Lambda1))\n : (phi0 + phi1) / 2;\n}\n\nfunction clipAntimeridianInterpolate(from, to, direction, stream) {\n var phi;\n if (from == null) {\n phi = direction * halfPi;\n stream.point(-pi, phi);\n stream.point(0, phi);\n stream.point(pi, phi);\n stream.point(pi, 0);\n stream.point(pi, -phi);\n stream.point(0, -phi);\n stream.point(-pi, -phi);\n stream.point(-pi, 0);\n stream.point(-pi, phi);\n } else if (abs(from[0] - to[0]) > epsilon) {\n var lambda = from[0] < to[0] ? pi : -pi;\n phi = direction * lambda / 2;\n stream.point(-lambda, phi);\n stream.point(0, phi);\n stream.point(lambda, phi);\n } else {\n stream.point(to[0], to[1]);\n }\n}\n","import {cartesian, cartesianNormalizeInPlace, spherical} from \"./cartesian.js\";\nimport constant from \"./constant.js\";\nimport {acos, cos, degrees, epsilon, radians, sin, tau} from \"./math.js\";\nimport {rotateRadians} from \"./rotation.js\";\n\n// Generates a circle centered at [0°, 0°], with a given radius and precision.\nexport function circleStream(stream, radius, delta, direction, t0, t1) {\n if (!delta) return;\n var cosRadius = cos(radius),\n sinRadius = sin(radius),\n step = direction * delta;\n if (t0 == null) {\n t0 = radius + direction * tau;\n t1 = radius - step / 2;\n } else {\n t0 = circleRadius(cosRadius, t0);\n t1 = circleRadius(cosRadius, t1);\n if (direction > 0 ? t0 < t1 : t0 > t1) t0 += direction * tau;\n }\n for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {\n point = spherical([cosRadius, -sinRadius * cos(t), -sinRadius * sin(t)]);\n stream.point(point[0], point[1]);\n }\n}\n\n// Returns the signed angle of a cartesian point relative to [cosRadius, 0, 0].\nfunction circleRadius(cosRadius, point) {\n point = cartesian(point), point[0] -= cosRadius;\n cartesianNormalizeInPlace(point);\n var radius = acos(-point[1]);\n return ((-point[2] < 0 ? -radius : radius) + tau - epsilon) % tau;\n}\n\nexport default function() {\n var center = constant([0, 0]),\n radius = constant(90),\n precision = constant(6),\n ring,\n rotate,\n stream = {point: point};\n\n function point(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= degrees, x[1] *= degrees;\n }\n\n function circle() {\n var c = center.apply(this, arguments),\n r = radius.apply(this, arguments) * radians,\n p = precision.apply(this, arguments) * radians;\n ring = [];\n rotate = rotateRadians(-c[0] * radians, -c[1] * radians, 0).invert;\n circleStream(stream, r, p, 1);\n c = {type: \"Polygon\", coordinates: [ring]};\n ring = rotate = null;\n return c;\n }\n\n circle.center = function(_) {\n return arguments.length ? (center = typeof _ === \"function\" ? _ : constant([+_[0], +_[1]]), circle) : center;\n };\n\n circle.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), circle) : radius;\n };\n\n circle.precision = function(_) {\n return arguments.length ? (precision = typeof _ === \"function\" ? _ : constant(+_), circle) : precision;\n };\n\n return circle;\n}\n","import {abs, epsilon} from \"../math.js\";\nimport clipBuffer from \"./buffer.js\";\nimport clipLine from \"./line.js\";\nimport clipRejoin from \"./rejoin.js\";\nimport {merge} from \"d3-array\";\n\nvar clipMax = 1e9, clipMin = -clipMax;\n\n// TODO Use d3-polygon’s polygonContains here for the ring check?\n// TODO Eliminate duplicate buffering in clipBuffer and polygon.push?\n\nexport default function clipRectangle(x0, y0, x1, y1) {\n\n function visible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n\n function interpolate(from, to, direction, stream) {\n var a = 0, a1 = 0;\n if (from == null\n || (a = corner(from, direction)) !== (a1 = corner(to, direction))\n || comparePoint(from, to) < 0 ^ direction > 0) {\n do stream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n stream.point(to[0], to[1]);\n }\n }\n\n function corner(p, direction) {\n return abs(p[0] - x0) < epsilon ? direction > 0 ? 0 : 3\n : abs(p[0] - x1) < epsilon ? direction > 0 ? 2 : 1\n : abs(p[1] - y0) < epsilon ? direction > 0 ? 1 : 0\n : direction > 0 ? 3 : 2; // abs(p[1] - y1) < epsilon\n }\n\n function compareIntersection(a, b) {\n return comparePoint(a.x, b.x);\n }\n\n function comparePoint(a, b) {\n var ca = corner(a, 1),\n cb = corner(b, 1);\n return ca !== cb ? ca - cb\n : ca === 0 ? b[1] - a[1]\n : ca === 1 ? a[0] - b[0]\n : ca === 2 ? a[1] - b[1]\n : b[0] - a[0];\n }\n\n return function(stream) {\n var activeStream = stream,\n bufferStream = clipBuffer(),\n segments,\n polygon,\n ring,\n x__, y__, v__, // first point\n x_, y_, v_, // previous point\n first,\n clean;\n\n var clipStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: polygonStart,\n polygonEnd: polygonEnd\n };\n\n function point(x, y) {\n if (visible(x, y)) activeStream.point(x, y);\n }\n\n function polygonInside() {\n var winding = 0;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) {\n a0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1];\n if (a1 <= y1) { if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding; }\n else { if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding; }\n }\n }\n\n return winding;\n }\n\n // Buffer geometry within a polygon and then clip it en masse.\n function polygonStart() {\n activeStream = bufferStream, segments = [], polygon = [], clean = true;\n }\n\n function polygonEnd() {\n var startInside = polygonInside(),\n cleanInside = clean && startInside,\n visible = (segments = merge(segments)).length;\n if (cleanInside || visible) {\n stream.polygonStart();\n if (cleanInside) {\n stream.lineStart();\n interpolate(null, null, 1, stream);\n stream.lineEnd();\n }\n if (visible) {\n clipRejoin(segments, compareIntersection, startInside, interpolate, stream);\n }\n stream.polygonEnd();\n }\n activeStream = stream, segments = polygon = ring = null;\n }\n\n function lineStart() {\n clipStream.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n\n // TODO rather than special-case polygons, simply handle them separately.\n // Ideally, coincident intersection points should be jittered to avoid\n // clipping issues.\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferStream.rejoin();\n segments.push(bufferStream.result());\n }\n clipStream.point = point;\n if (v_) activeStream.lineEnd();\n }\n\n function linePoint(x, y) {\n var v = visible(x, y);\n if (polygon) ring.push([x, y]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n }\n } else {\n if (v && v_) activeStream.point(x, y);\n else {\n var a = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))],\n b = [x = Math.max(clipMin, Math.min(clipMax, x)), y = Math.max(clipMin, Math.min(clipMax, y))];\n if (clipLine(a, b, x0, y0, x1, y1)) {\n if (!v_) {\n activeStream.lineStart();\n activeStream.point(a[0], a[1]);\n }\n activeStream.point(b[0], b[1]);\n if (!v) activeStream.lineEnd();\n clean = false;\n } else if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n\n return clipStream;\n };\n}\n","export default function(a, b, x0, y0, x1, y1) {\n var ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy;\n if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy;\n return true;\n}\n","export default function(a, b) {\n\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n\n return compose;\n}\n","export default x => x;\n","import compose from \"./compose.js\";\nimport {abs, asin, atan2, cos, degrees, pi, radians, sin, tau} from \"./math.js\";\n\nfunction rotationIdentity(lambda, phi) {\n if (abs(lambda) > pi) lambda -= Math.round(lambda / tau) * tau;\n return [lambda, phi];\n}\n\nrotationIdentity.invert = rotationIdentity;\n\nexport function rotateRadians(deltaLambda, deltaPhi, deltaGamma) {\n return (deltaLambda %= tau) ? (deltaPhi || deltaGamma ? compose(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma))\n : rotationLambda(deltaLambda))\n : (deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma)\n : rotationIdentity);\n}\n\nfunction forwardRotationLambda(deltaLambda) {\n return function(lambda, phi) {\n lambda += deltaLambda;\n if (abs(lambda) > pi) lambda -= Math.round(lambda / tau) * tau;\n return [lambda, phi];\n };\n}\n\nfunction rotationLambda(deltaLambda) {\n var rotation = forwardRotationLambda(deltaLambda);\n rotation.invert = forwardRotationLambda(-deltaLambda);\n return rotation;\n}\n\nfunction rotationPhiGamma(deltaPhi, deltaGamma) {\n var cosDeltaPhi = cos(deltaPhi),\n sinDeltaPhi = sin(deltaPhi),\n cosDeltaGamma = cos(deltaGamma),\n sinDeltaGamma = sin(deltaGamma);\n\n function rotation(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaPhi + x * sinDeltaPhi;\n return [\n atan2(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi),\n asin(k * cosDeltaGamma + y * sinDeltaGamma)\n ];\n }\n\n rotation.invert = function(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaGamma - y * sinDeltaGamma;\n return [\n atan2(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi),\n asin(k * cosDeltaPhi - x * sinDeltaPhi)\n ];\n };\n\n return rotation;\n}\n\nexport default function(rotate) {\n rotate = rotateRadians(rotate[0] * radians, rotate[1] * radians, rotate.length > 2 ? rotate[2] * radians : 0);\n\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n }\n\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n };\n\n return forward;\n}\n","export default function(methods) {\n return {\n stream: transformer(methods)\n };\n}\n\nexport function transformer(methods) {\n return function(stream) {\n var s = new TransformStream;\n for (var key in methods) s[key] = methods[key];\n s.stream = stream;\n return s;\n };\n}\n\nfunction TransformStream() {}\n\nTransformStream.prototype = {\n constructor: TransformStream,\n point: function(x, y) { this.stream.point(x, y); },\n sphere: function() { this.stream.sphere(); },\n lineStart: function() { this.stream.lineStart(); },\n lineEnd: function() { this.stream.lineEnd(); },\n polygonStart: function() { this.stream.polygonStart(); },\n polygonEnd: function() { this.stream.polygonEnd(); }\n};\n","function streamGeometry(geometry, stream) {\n if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {\n streamGeometryType[geometry.type](geometry, stream);\n }\n}\n\nvar streamObjectType = {\n Feature: function(object, stream) {\n streamGeometry(object.geometry, stream);\n },\n FeatureCollection: function(object, stream) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) streamGeometry(features[i].geometry, stream);\n }\n};\n\nvar streamGeometryType = {\n Sphere: function(object, stream) {\n stream.sphere();\n },\n Point: function(object, stream) {\n object = object.coordinates;\n stream.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]);\n },\n LineString: function(object, stream) {\n streamLine(object.coordinates, stream, 0);\n },\n MultiLineString: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamLine(coordinates[i], stream, 0);\n },\n Polygon: function(object, stream) {\n streamPolygon(object.coordinates, stream);\n },\n MultiPolygon: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamPolygon(coordinates[i], stream);\n },\n GeometryCollection: function(object, stream) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) streamGeometry(geometries[i], stream);\n }\n};\n\nfunction streamLine(coordinates, stream, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n stream.lineStart();\n while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);\n stream.lineEnd();\n}\n\nfunction streamPolygon(coordinates, stream) {\n var i = -1, n = coordinates.length;\n stream.polygonStart();\n while (++i < n) streamLine(coordinates[i], stream, 1);\n stream.polygonEnd();\n}\n\nexport default function(object, stream) {\n if (object && streamObjectType.hasOwnProperty(object.type)) {\n streamObjectType[object.type](object, stream);\n } else {\n streamGeometry(object, stream);\n }\n}\n","import noop from \"../noop.js\";\n\nvar x0 = Infinity,\n y0 = x0,\n x1 = -x0,\n y1 = x1;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop,\n result: function() {\n var bounds = [[x0, y0], [x1, y1]];\n x1 = y1 = -(y0 = x0 = Infinity);\n return bounds;\n }\n};\n\nfunction boundsPoint(x, y) {\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n}\n\nexport default boundsStream;\n","import {default as geoStream} from \"../stream.js\";\nimport boundsStream from \"../path/bounds.js\";\n\nfunction fit(projection, fitBounds, object) {\n var clip = projection.clipExtent && projection.clipExtent();\n projection.scale(150).translate([0, 0]);\n if (clip != null) projection.clipExtent(null);\n geoStream(object, projection.stream(boundsStream));\n fitBounds(boundsStream.result());\n if (clip != null) projection.clipExtent(clip);\n return projection;\n}\n\nexport function fitExtent(projection, extent, object) {\n return fit(projection, function(b) {\n var w = extent[1][0] - extent[0][0],\n h = extent[1][1] - extent[0][1],\n k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])),\n x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2,\n y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitSize(projection, size, object) {\n return fitExtent(projection, [[0, 0], size], object);\n}\n\nexport function fitWidth(projection, width, object) {\n return fit(projection, function(b) {\n var w = +width,\n k = w / (b[1][0] - b[0][0]),\n x = (w - k * (b[1][0] + b[0][0])) / 2,\n y = -k * b[0][1];\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitHeight(projection, height, object) {\n return fit(projection, function(b) {\n var h = +height,\n k = h / (b[1][1] - b[0][1]),\n x = -k * b[0][0],\n y = (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n","import {cartesian} from \"../cartesian.js\";\nimport {abs, asin, atan2, cos, epsilon, radians, sqrt} from \"../math.js\";\nimport {transformer} from \"../transform.js\";\n\nvar maxDepth = 16, // maximum depth of subdivision\n cosMinDistance = cos(30 * radians); // cos(minimum angular distance)\n\nexport default function(project, delta2) {\n return +delta2 ? resample(project, delta2) : resampleNone(project);\n}\n\nfunction resampleNone(project) {\n return transformer({\n point: function(x, y) {\n x = project(x, y);\n this.stream.point(x[0], x[1]);\n }\n });\n}\n\nfunction resample(project, delta2) {\n\n function resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0,\n dy = y1 - y0,\n d2 = dx * dx + dy * dy;\n if (d2 > 4 * delta2 && depth--) {\n var a = a0 + a1,\n b = b0 + b1,\n c = c0 + c1,\n m = sqrt(a * a + b * b + c * c),\n phi2 = asin(c /= m),\n lambda2 = abs(abs(c) - 1) < epsilon || abs(lambda0 - lambda1) < epsilon ? (lambda0 + lambda1) / 2 : atan2(b, a),\n p = project(lambda2, phi2),\n x2 = p[0],\n y2 = p[1],\n dx2 = x2 - x0,\n dy2 = y2 - y0,\n dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > delta2 // perpendicular projected distance\n || abs((dx * dx2 + dy * dy2) / d2 - 0.5) > 0.3 // midpoint close to an end\n || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream);\n }\n }\n }\n return function(stream) {\n var lambda00, x00, y00, a00, b00, c00, // first point\n lambda0, x0, y0, a0, b0, c0; // previous point\n\n var resampleStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() { stream.polygonStart(); resampleStream.lineStart = ringStart; },\n polygonEnd: function() { stream.polygonEnd(); resampleStream.lineStart = lineStart; }\n };\n\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n\n function lineStart() {\n x0 = NaN;\n resampleStream.point = linePoint;\n stream.lineStart();\n }\n\n function linePoint(lambda, phi) {\n var c = cartesian([lambda, phi]), p = project(lambda, phi);\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n\n function lineEnd() {\n resampleStream.point = point;\n stream.lineEnd();\n }\n\n function ringStart() {\n lineStart();\n resampleStream.point = ringPoint;\n resampleStream.lineEnd = ringEnd;\n }\n\n function ringPoint(lambda, phi) {\n linePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resampleStream.point = linePoint;\n }\n\n function ringEnd() {\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream);\n resampleStream.lineEnd = lineEnd;\n lineEnd();\n }\n\n return resampleStream;\n };\n}\n","import clipAntimeridian from \"../clip/antimeridian.js\";\nimport clipCircle from \"../clip/circle.js\";\nimport clipRectangle from \"../clip/rectangle.js\";\nimport compose from \"../compose.js\";\nimport identity from \"../identity.js\";\nimport {cos, degrees, radians, sin, sqrt} from \"../math.js\";\nimport {rotateRadians} from \"../rotation.js\";\nimport {transformer} from \"../transform.js\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit.js\";\nimport resample from \"./resample.js\";\n\nvar transformRadians = transformer({\n point: function(x, y) {\n this.stream.point(x * radians, y * radians);\n }\n});\n\nfunction transformRotate(rotate) {\n return transformer({\n point: function(x, y) {\n var r = rotate(x, y);\n return this.stream.point(r[0], r[1]);\n }\n });\n}\n\nfunction scaleTranslate(k, dx, dy, sx, sy) {\n function transform(x, y) {\n x *= sx; y *= sy;\n return [dx + k * x, dy - k * y];\n }\n transform.invert = function(x, y) {\n return [(x - dx) / k * sx, (dy - y) / k * sy];\n };\n return transform;\n}\n\nfunction scaleTranslateRotate(k, dx, dy, sx, sy, alpha) {\n if (!alpha) return scaleTranslate(k, dx, dy, sx, sy);\n var cosAlpha = cos(alpha),\n sinAlpha = sin(alpha),\n a = cosAlpha * k,\n b = sinAlpha * k,\n ai = cosAlpha / k,\n bi = sinAlpha / k,\n ci = (sinAlpha * dy - cosAlpha * dx) / k,\n fi = (sinAlpha * dx + cosAlpha * dy) / k;\n function transform(x, y) {\n x *= sx; y *= sy;\n return [a * x - b * y + dx, dy - b * x - a * y];\n }\n transform.invert = function(x, y) {\n return [sx * (ai * x - bi * y + ci), sy * (fi - bi * x - ai * y)];\n };\n return transform;\n}\n\nexport default function projection(project) {\n return projectionMutator(function() { return project; })();\n}\n\nexport function projectionMutator(projectAt) {\n var project,\n k = 150, // scale\n x = 480, y = 250, // translate\n lambda = 0, phi = 0, // center\n deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, // pre-rotate\n alpha = 0, // post-rotate angle\n sx = 1, // reflectX\n sy = 1, // reflectX\n theta = null, preclip = clipAntimeridian, // pre-clip angle\n x0 = null, y0, x1, y1, postclip = identity, // post-clip extent\n delta2 = 0.5, // precision\n projectResample,\n projectTransform,\n projectRotateTransform,\n cache,\n cacheStream;\n\n function projection(point) {\n return projectRotateTransform(point[0] * radians, point[1] * radians);\n }\n\n function invert(point) {\n point = projectRotateTransform.invert(point[0], point[1]);\n return point && [point[0] * degrees, point[1] * degrees];\n }\n\n projection.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));\n };\n\n projection.preclip = function(_) {\n return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip;\n };\n\n projection.postclip = function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n };\n\n projection.clipAngle = function(_) {\n return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees;\n };\n\n projection.clipExtent = function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n projection.scale = function(_) {\n return arguments.length ? (k = +_, recenter()) : k;\n };\n\n projection.translate = function(_) {\n return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y];\n };\n\n projection.center = function(_) {\n return arguments.length ? (lambda = _[0] % 360 * radians, phi = _[1] % 360 * radians, recenter()) : [lambda * degrees, phi * degrees];\n };\n\n projection.rotate = function(_) {\n return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees, deltaPhi * degrees, deltaGamma * degrees];\n };\n\n projection.angle = function(_) {\n return arguments.length ? (alpha = _ % 360 * radians, recenter()) : alpha * degrees;\n };\n\n projection.reflectX = function(_) {\n return arguments.length ? (sx = _ ? -1 : 1, recenter()) : sx < 0;\n };\n\n projection.reflectY = function(_) {\n return arguments.length ? (sy = _ ? -1 : 1, recenter()) : sy < 0;\n };\n\n projection.precision = function(_) {\n return arguments.length ? (projectResample = resample(projectTransform, delta2 = _ * _), reset()) : sqrt(delta2);\n };\n\n projection.fitExtent = function(extent, object) {\n return fitExtent(projection, extent, object);\n };\n\n projection.fitSize = function(size, object) {\n return fitSize(projection, size, object);\n };\n\n projection.fitWidth = function(width, object) {\n return fitWidth(projection, width, object);\n };\n\n projection.fitHeight = function(height, object) {\n return fitHeight(projection, height, object);\n };\n\n function recenter() {\n var center = scaleTranslateRotate(k, 0, 0, sx, sy, alpha).apply(null, project(lambda, phi)),\n transform = scaleTranslateRotate(k, x - center[0], y - center[1], sx, sy, alpha);\n rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma);\n projectTransform = compose(project, transform);\n projectRotateTransform = compose(rotate, projectTransform);\n projectResample = resample(projectTransform, delta2);\n return reset();\n }\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return recenter();\n };\n}\n","import {cartesian, cartesianAddInPlace, cartesianCross, cartesianDot, cartesianScale, spherical} from \"../cartesian.js\";\nimport {circleStream} from \"../circle.js\";\nimport {abs, cos, epsilon, pi, radians, sqrt} from \"../math.js\";\nimport pointEqual from \"../pointEqual.js\";\nimport clip from \"./index.js\";\n\nexport default function(radius) {\n var cr = cos(radius),\n delta = 6 * radians,\n smallRadius = cr > 0,\n notHemisphere = abs(cr) > epsilon; // TODO optimise for this common case\n\n function interpolate(from, to, direction, stream) {\n circleStream(stream, radius, delta, direction, from, to);\n }\n\n function visible(lambda, phi) {\n return cos(lambda) * cos(phi) > cr;\n }\n\n // Takes a line and cuts into visible segments. Return values used for polygon\n // clipping: 0 - there were intersections or the line was empty; 1 - no\n // intersections 2 - there were intersections, and the first and last segments\n // should be rejoined.\n function clipLine(stream) {\n var point0, // previous point\n c0, // code for previous point\n v0, // visibility of previous point\n v00, // visibility of first point\n clean; // no intersections\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(lambda, phi) {\n var point1 = [lambda, phi],\n point2,\n v = visible(lambda, phi),\n c = smallRadius\n ? v ? 0 : code(lambda, phi)\n : v ? code(lambda + (lambda < 0 ? pi : -pi), phi) : 0;\n if (!point0 && (v00 = v0 = v)) stream.lineStart();\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2))\n point1[2] = 1;\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n // outside going in\n stream.lineStart();\n point2 = intersect(point1, point0);\n stream.point(point2[0], point2[1]);\n } else {\n // inside going out\n point2 = intersect(point0, point1);\n stream.point(point2[0], point2[1], 2);\n stream.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n // If the codes for two points are different, or are both zero,\n // and there this segment intersects with the small circle.\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n } else {\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n stream.lineStart();\n stream.point(t[0][0], t[0][1], 3);\n }\n }\n }\n if (v && (!point0 || !pointEqual(point0, point1))) {\n stream.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) stream.lineEnd();\n point0 = null;\n },\n // Rejoin first and last segments if there were intersections and the first\n // and last points were visible.\n clean: function() {\n return clean | ((v00 && v0) << 1);\n }\n };\n }\n\n // Intersects the great circle between a and b with the clip circle.\n function intersect(a, b, two) {\n var pa = cartesian(a),\n pb = cartesian(b);\n\n // We have two planes, n1.p = d1 and n2.p = d2.\n // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2).\n var n1 = [1, 0, 0], // normal\n n2 = cartesianCross(pa, pb),\n n2n2 = cartesianDot(n2, n2),\n n1n2 = n2[0], // cartesianDot(n1, n2),\n determinant = n2n2 - n1n2 * n1n2;\n\n // Two polar points.\n if (!determinant) return !two && a;\n\n var c1 = cr * n2n2 / determinant,\n c2 = -cr * n1n2 / determinant,\n n1xn2 = cartesianCross(n1, n2),\n A = cartesianScale(n1, c1),\n B = cartesianScale(n2, c2);\n cartesianAddInPlace(A, B);\n\n // Solve |p(t)|^2 = 1.\n var u = n1xn2,\n w = cartesianDot(A, u),\n uu = cartesianDot(u, u),\n t2 = w * w - uu * (cartesianDot(A, A) - 1);\n\n if (t2 < 0) return;\n\n var t = sqrt(t2),\n q = cartesianScale(u, (-w - t) / uu);\n cartesianAddInPlace(q, A);\n q = spherical(q);\n\n if (!two) return q;\n\n // Two intersection points.\n var lambda0 = a[0],\n lambda1 = b[0],\n phi0 = a[1],\n phi1 = b[1],\n z;\n\n if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z;\n\n var delta = lambda1 - lambda0,\n polar = abs(delta - pi) < epsilon,\n meridian = polar || delta < epsilon;\n\n if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z;\n\n // Check that the first point is between a and b.\n if (meridian\n ? polar\n ? phi0 + phi1 > 0 ^ q[1] < (abs(q[0] - lambda0) < epsilon ? phi0 : phi1)\n : phi0 <= q[1] && q[1] <= phi1\n : delta > pi ^ (lambda0 <= q[0] && q[0] <= lambda1)) {\n var q1 = cartesianScale(u, (-w + t) / uu);\n cartesianAddInPlace(q1, A);\n return [q, spherical(q1)];\n }\n }\n\n // Generates a 4-bit vector representing the location of a point relative to\n // the small circle's bounding box.\n function code(lambda, phi) {\n var r = smallRadius ? radius : pi - radius,\n code = 0;\n if (lambda < -r) code |= 1; // left\n else if (lambda > r) code |= 2; // right\n if (phi < -r) code |= 4; // below\n else if (phi > r) code |= 8; // above\n return code;\n }\n\n return clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi, radius - pi]);\n}\n","import {asin, sqrt} from \"../math.js\";\nimport {azimuthalRaw, azimuthalInvert} from \"./azimuthal.js\";\nimport projection from \"./index.js\";\n\nexport var azimuthalEqualAreaRaw = azimuthalRaw(function(cxcy) {\n return sqrt(2 / (1 + cxcy));\n});\n\nazimuthalEqualAreaRaw.invert = azimuthalInvert(function(z) {\n return 2 * asin(z / 2);\n});\n\nexport default function() {\n return projection(azimuthalEqualAreaRaw)\n .scale(124.75)\n .clipAngle(180 - 1e-3);\n}\n","import {acos, sin} from \"../math.js\";\nimport {azimuthalRaw, azimuthalInvert} from \"./azimuthal.js\";\nimport projection from \"./index.js\";\n\nexport var azimuthalEquidistantRaw = azimuthalRaw(function(c) {\n return (c = acos(c)) && c / sin(c);\n});\n\nazimuthalEquidistantRaw.invert = azimuthalInvert(function(z) {\n return z;\n});\n\nexport default function() {\n return projection(azimuthalEquidistantRaw)\n .scale(79.4188)\n .clipAngle(180 - 1e-3);\n}\n","import {atan, cos, sin} from \"../math.js\";\nimport {azimuthalInvert} from \"./azimuthal.js\";\nimport projection from \"./index.js\";\n\nexport function gnomonicRaw(x, y) {\n var cy = cos(y), k = cos(x) * cy;\n return [cy * sin(x) / k, sin(y) / k];\n}\n\ngnomonicRaw.invert = azimuthalInvert(atan);\n\nexport default function() {\n return projection(gnomonicRaw)\n .scale(144.049)\n .clipAngle(60);\n}\n","import {asin, cos, epsilon, sin} from \"../math.js\";\nimport {azimuthalInvert} from \"./azimuthal.js\";\nimport projection from \"./index.js\";\n\nexport function orthographicRaw(x, y) {\n return [cos(y) * sin(x), sin(y)];\n}\n\northographicRaw.invert = azimuthalInvert(asin);\n\nexport default function() {\n return projection(orthographicRaw)\n .scale(249.5)\n .clipAngle(90 + epsilon);\n}\n","import {atan, cos, sin} from \"../math.js\";\nimport {azimuthalInvert} from \"./azimuthal.js\";\nimport projection from \"./index.js\";\n\nexport function stereographicRaw(x, y) {\n var cy = cos(y), k = 1 + cos(x) * cy;\n return [cy * sin(x) / k, sin(y) / k];\n}\n\nstereographicRaw.invert = azimuthalInvert(function(z) {\n return 2 * atan(z);\n});\n\nexport default function() {\n return projection(stereographicRaw)\n .scale(250)\n .clipAngle(142);\n}\n","import projection from \"./index.js\";\nimport {abs, asin, cos, epsilon2, sin, sqrt} from \"../math.js\";\n\nvar A1 = 1.340264,\n A2 = -0.081106,\n A3 = 0.000893,\n A4 = 0.003796,\n M = sqrt(3) / 2,\n iterations = 12;\n\nexport function equalEarthRaw(lambda, phi) {\n var l = asin(M * sin(phi)), l2 = l * l, l6 = l2 * l2 * l2;\n return [\n lambda * cos(l) / (M * (A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2))),\n l * (A1 + A2 * l2 + l6 * (A3 + A4 * l2))\n ];\n}\n\nequalEarthRaw.invert = function(x, y) {\n var l = y, l2 = l * l, l6 = l2 * l2 * l2;\n for (var i = 0, delta, fy, fpy; i < iterations; ++i) {\n fy = l * (A1 + A2 * l2 + l6 * (A3 + A4 * l2)) - y;\n fpy = A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2);\n l -= delta = fy / fpy, l2 = l * l, l6 = l2 * l2 * l2;\n if (abs(delta) < epsilon2) break;\n }\n return [\n M * x * (A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2)) / cos(l),\n asin(sin(l) / M)\n ];\n};\n\nexport default function() {\n return projection(equalEarthRaw)\n .scale(177.158);\n}\n","import {degrees, pi, radians} from \"../math.js\";\nimport {projectionMutator} from \"./index.js\";\n\nexport function conicProjection(projectAt) {\n var phi0 = 0,\n phi1 = pi / 3,\n m = projectionMutator(projectAt),\n p = m(phi0, phi1);\n\n p.parallels = function(_) {\n return arguments.length ? m(phi0 = _[0] * radians, phi1 = _[1] * radians) : [phi0 * degrees, phi1 * degrees];\n };\n\n return p;\n}\n","import {abs, asin, atan2, cos, epsilon, pi, sign, sin, sqrt} from \"../math.js\";\nimport {conicProjection} from \"./conic.js\";\nimport {cylindricalEqualAreaRaw} from \"./cylindricalEqualArea.js\";\n\nexport function conicEqualAreaRaw(y0, y1) {\n var sy0 = sin(y0), n = (sy0 + sin(y1)) / 2;\n\n // Are the parallels symmetrical around the Equator?\n if (abs(n) < epsilon) return cylindricalEqualAreaRaw(y0);\n\n var c = 1 + sy0 * (2 * n - sy0), r0 = sqrt(c) / n;\n\n function project(x, y) {\n var r = sqrt(c - 2 * n * sin(y)) / n;\n return [r * sin(x *= n), r0 - r * cos(x)];\n }\n\n project.invert = function(x, y) {\n var r0y = r0 - y,\n l = atan2(x, abs(r0y)) * sign(r0y);\n if (r0y * n < 0)\n l -= pi * sign(x) * sign(r0y);\n return [l / n, asin((c - (x * x + r0y * r0y) * n * n) / (2 * n))];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicEqualAreaRaw)\n .scale(155.424)\n .center([0, 33.6442]);\n}\n","import {asin, cos, sin} from \"../math.js\";\n\nexport function cylindricalEqualAreaRaw(phi0) {\n var cosPhi0 = cos(phi0);\n\n function forward(lambda, phi) {\n return [lambda * cosPhi0, sin(phi) / cosPhi0];\n }\n\n forward.invert = function(x, y) {\n return [x / cosPhi0, asin(y * cosPhi0)];\n };\n\n return forward;\n}\n","import conicEqualArea from \"./conicEqualArea.js\";\n\nexport default function() {\n return conicEqualArea()\n .parallels([29.5, 45.5])\n .scale(1070)\n .translate([480, 250])\n .rotate([96, 0])\n .center([-0.6, 38.7]);\n}\n","import {atan, exp, halfPi, log, pi, tan, tau} from \"../math.js\";\nimport rotation from \"../rotation.js\";\nimport projection from \"./index.js\";\n\nexport function mercatorRaw(lambda, phi) {\n return [lambda, log(tan((halfPi + phi) / 2))];\n}\n\nmercatorRaw.invert = function(x, y) {\n return [x, 2 * atan(exp(y)) - halfPi];\n};\n\nexport default function() {\n return mercatorProjection(mercatorRaw)\n .scale(961 / tau);\n}\n\nexport function mercatorProjection(project) {\n var m = projection(project),\n center = m.center,\n scale = m.scale,\n translate = m.translate,\n clipExtent = m.clipExtent,\n x0 = null, y0, x1, y1; // clip extent\n\n m.scale = function(_) {\n return arguments.length ? (scale(_), reclip()) : scale();\n };\n\n m.translate = function(_) {\n return arguments.length ? (translate(_), reclip()) : translate();\n };\n\n m.center = function(_) {\n return arguments.length ? (center(_), reclip()) : center();\n };\n\n m.clipExtent = function(_) {\n return arguments.length ? ((_ == null ? x0 = y0 = x1 = y1 = null : (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1])), reclip()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n function reclip() {\n var k = pi * scale(),\n t = m(rotation(m.rotate()).invert([0, 0]));\n return clipExtent(x0 == null\n ? [[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]] : project === mercatorRaw\n ? [[Math.max(t[0] - k, x0), y0], [Math.min(t[0] + k, x1), y1]]\n : [[x0, Math.max(t[1] - k, y0)], [x1, Math.min(t[1] + k, y1)]]);\n }\n\n return reclip();\n}\n","import {abs, atan, atan2, cos, epsilon, halfPi, log, pi, pow, sign, sin, sqrt, tan} from \"../math.js\";\nimport {conicProjection} from \"./conic.js\";\nimport {mercatorRaw} from \"./mercator.js\";\n\nfunction tany(y) {\n return tan((halfPi + y) / 2);\n}\n\nexport function conicConformalRaw(y0, y1) {\n var cy0 = cos(y0),\n n = y0 === y1 ? sin(y0) : log(cy0 / cos(y1)) / log(tany(y1) / tany(y0)),\n f = cy0 * pow(tany(y0), n) / n;\n\n if (!n) return mercatorRaw;\n\n function project(x, y) {\n if (f > 0) { if (y < -halfPi + epsilon) y = -halfPi + epsilon; }\n else { if (y > halfPi - epsilon) y = halfPi - epsilon; }\n var r = f / pow(tany(y), n);\n return [r * sin(n * x), f - r * cos(n * x)];\n }\n\n project.invert = function(x, y) {\n var fy = f - y, r = sign(n) * sqrt(x * x + fy * fy),\n l = atan2(x, abs(fy)) * sign(fy);\n if (fy * n < 0)\n l -= pi * sign(x) * sign(fy);\n return [l / n, 2 * atan(pow(f / r, 1 / n)) - halfPi];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicConformalRaw)\n .scale(109.5)\n .parallels([30, 30]);\n}\n","import projection from \"./index.js\";\n\nexport function equirectangularRaw(lambda, phi) {\n return [lambda, phi];\n}\n\nequirectangularRaw.invert = equirectangularRaw;\n\nexport default function() {\n return projection(equirectangularRaw)\n .scale(152.63);\n}\n","import {abs, atan2, cos, epsilon, pi, sign, sin, sqrt} from \"../math.js\";\nimport {conicProjection} from \"./conic.js\";\nimport {equirectangularRaw} from \"./equirectangular.js\";\n\nexport function conicEquidistantRaw(y0, y1) {\n var cy0 = cos(y0),\n n = y0 === y1 ? sin(y0) : (cy0 - cos(y1)) / (y1 - y0),\n g = cy0 / n + y0;\n\n if (abs(n) < epsilon) return equirectangularRaw;\n\n function project(x, y) {\n var gy = g - y, nx = n * x;\n return [gy * sin(nx), g - gy * cos(nx)];\n }\n\n project.invert = function(x, y) {\n var gy = g - y,\n l = atan2(x, abs(gy)) * sign(gy);\n if (gy * n < 0)\n l -= pi * sign(x) * sign(gy);\n return [l / n, g - sign(n) * sqrt(x * x + gy * gy)];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicEquidistantRaw)\n .scale(131.154)\n .center([0, 13.9389]);\n}\n","import {atan, exp, halfPi, log, tan} from \"../math.js\";\nimport {mercatorProjection} from \"./mercator.js\";\n\nexport function transverseMercatorRaw(lambda, phi) {\n return [log(tan((halfPi + phi) / 2)), -lambda];\n}\n\ntransverseMercatorRaw.invert = function(x, y) {\n return [-y, 2 * atan(exp(x)) - halfPi];\n};\n\nexport default function() {\n var m = mercatorProjection(transverseMercatorRaw),\n center = m.center,\n rotate = m.rotate;\n\n m.center = function(_) {\n return arguments.length ? center([-_[1], _[0]]) : (_ = center(), [_[1], -_[0]]);\n };\n\n m.rotate = function(_) {\n return arguments.length ? rotate([_[0], _[1], _.length > 2 ? _[2] + 90 : 90]) : (_ = rotate(), [_[0], _[1], _[2] - 90]);\n };\n\n return rotate([0, 0, 90])\n .scale(159.155);\n}\n","import projection from \"./index.js\";\nimport {abs, epsilon} from \"../math.js\";\n\nexport function naturalEarth1Raw(lambda, phi) {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n return [\n lambda * (0.8707 - 0.131979 * phi2 + phi4 * (-0.013791 + phi4 * (0.003971 * phi2 - 0.001529 * phi4))),\n phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4)))\n ];\n}\n\nnaturalEarth1Raw.invert = function(x, y) {\n var phi = y, i = 25, delta;\n do {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n phi -= delta = (phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4))) - y) /\n (1.007226 + phi2 * (0.015085 * 3 + phi4 * (-0.044475 * 7 + 0.028874 * 9 * phi2 - 0.005916 * 11 * phi4)));\n } while (abs(delta) > epsilon && --i > 0);\n return [\n x / (0.8707 + (phi2 = phi * phi) * (-0.131979 + phi2 * (-0.013791 + phi2 * phi2 * phi2 * (0.003971 - 0.001529 * phi2)))),\n phi\n ];\n};\n\nexport default function() {\n return projection(naturalEarth1Raw)\n .scale(175.295);\n}\n","import {Adder} from \"d3-array\";\nimport {abs} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nvar areaSum = new Adder(),\n areaRingSum = new Adder(),\n x00,\n y00,\n x0,\n y0;\n\nvar areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n areaStream.lineStart = areaStream.lineEnd = areaStream.point = noop;\n areaSum.add(abs(areaRingSum));\n areaRingSum = new Adder();\n },\n result: function() {\n var area = areaSum / 2;\n areaSum = new Adder();\n return area;\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaPointFirst(x, y) {\n areaStream.point = areaPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction areaPoint(x, y) {\n areaRingSum.add(y0 * x - x0 * y);\n x0 = x, y0 = y;\n}\n\nfunction areaRingEnd() {\n areaPoint(x00, y00);\n}\n\nexport default areaStream;\n","import {sqrt} from \"../math.js\";\n\n// TODO Enforce positive area for exterior, negative area for interior?\n\nvar X0 = 0,\n Y0 = 0,\n Z0 = 0,\n X1 = 0,\n Y1 = 0,\n Z1 = 0,\n X2 = 0,\n Y2 = 0,\n Z2 = 0,\n x00,\n y00,\n x0,\n y0;\n\nvar centroidStream = {\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.point = centroidPoint;\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n },\n result: function() {\n var centroid = Z2 ? [X2 / Z2, Y2 / Z2]\n : Z1 ? [X1 / Z1, Y1 / Z1]\n : Z0 ? [X0 / Z0, Y0 / Z0]\n : [NaN, NaN];\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n return centroid;\n }\n};\n\nfunction centroidPoint(x, y) {\n X0 += x;\n Y0 += y;\n ++Z0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidPointFirstLine;\n}\n\nfunction centroidPointFirstLine(x, y) {\n centroidStream.point = centroidPointLine;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidPointLine(x, y) {\n var dx = x - x0, dy = y - y0, z = sqrt(dx * dx + dy * dy);\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingStart() {\n centroidStream.point = centroidPointFirstRing;\n}\n\nfunction centroidRingEnd() {\n centroidPointRing(x00, y00);\n}\n\nfunction centroidPointFirstRing(x, y) {\n centroidStream.point = centroidPointRing;\n centroidPoint(x00 = x0 = x, y00 = y0 = y);\n}\n\nfunction centroidPointRing(x, y) {\n var dx = x - x0,\n dy = y - y0,\n z = sqrt(dx * dx + dy * dy);\n\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n\n z = y0 * x - x0 * y;\n X2 += z * (x0 + x);\n Y2 += z * (y0 + y);\n Z2 += z * 3;\n centroidPoint(x0 = x, y0 = y);\n}\n\nexport default centroidStream;\n","import {tau} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nexport default function PathContext(context) {\n this._context = context;\n}\n\nPathContext.prototype = {\n _radius: 4.5,\n pointRadius: function(_) {\n return this._radius = _, this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._context.closePath();\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._context.moveTo(x, y);\n this._point = 1;\n break;\n }\n case 1: {\n this._context.lineTo(x, y);\n break;\n }\n default: {\n this._context.moveTo(x + this._radius, y);\n this._context.arc(x, y, this._radius, 0, tau);\n break;\n }\n }\n },\n result: noop\n};\n","import {Adder} from \"d3-array\";\nimport {sqrt} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nvar lengthSum = new Adder(),\n lengthRing,\n x00,\n y00,\n x0,\n y0;\n\nvar lengthStream = {\n point: noop,\n lineStart: function() {\n lengthStream.point = lengthPointFirst;\n },\n lineEnd: function() {\n if (lengthRing) lengthPoint(x00, y00);\n lengthStream.point = noop;\n },\n polygonStart: function() {\n lengthRing = true;\n },\n polygonEnd: function() {\n lengthRing = null;\n },\n result: function() {\n var length = +lengthSum;\n lengthSum = new Adder();\n return length;\n }\n};\n\nfunction lengthPointFirst(x, y) {\n lengthStream.point = lengthPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction lengthPoint(x, y) {\n x0 -= x, y0 -= y;\n lengthSum.add(sqrt(x0 * x0 + y0 * y0));\n x0 = x, y0 = y;\n}\n\nexport default lengthStream;\n","// Simple caching for constant-radius points.\nlet cacheDigits, cacheAppend, cacheRadius, cacheCircle;\n\nexport default class PathString {\n constructor(digits) {\n this._append = digits == null ? append : appendRound(digits);\n this._radius = 4.5;\n this._ = \"\";\n }\n pointRadius(_) {\n this._radius = +_;\n return this;\n }\n polygonStart() {\n this._line = 0;\n }\n polygonEnd() {\n this._line = NaN;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {\n if (this._line === 0) this._ += \"Z\";\n this._point = NaN;\n }\n point(x, y) {\n switch (this._point) {\n case 0: {\n this._append`M${x},${y}`;\n this._point = 1;\n break;\n }\n case 1: {\n this._append`L${x},${y}`;\n break;\n }\n default: {\n this._append`M${x},${y}`;\n if (this._radius !== cacheRadius || this._append !== cacheAppend) {\n const r = this._radius;\n const s = this._;\n this._ = \"\"; // stash the old string so we can cache the circle path fragment\n this._append`m0,${r}a${r},${r} 0 1,1 0,${-2 * r}a${r},${r} 0 1,1 0,${2 * r}z`;\n cacheRadius = r;\n cacheAppend = this._append;\n cacheCircle = this._;\n this._ = s;\n }\n this._ += cacheCircle;\n break;\n }\n }\n }\n result() {\n const result = this._;\n this._ = \"\";\n return result.length ? result : null;\n }\n}\n\nfunction append(strings) {\n let i = 1;\n this._ += strings[0];\n for (const j = strings.length; i < j; ++i) {\n this._ += arguments[i] + strings[i];\n }\n}\n\nfunction appendRound(digits) {\n const d = Math.floor(digits);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${digits}`);\n if (d > 15) return append;\n if (d !== cacheDigits) {\n const k = 10 ** d;\n cacheDigits = d;\n cacheAppend = function append(strings) {\n let i = 1;\n this._ += strings[0];\n for (const j = strings.length; i < j; ++i) {\n this._ += Math.round(arguments[i] * k) / k + strings[i];\n }\n };\n }\n return cacheAppend;\n}\n","import identity from \"../identity.js\";\nimport stream from \"../stream.js\";\nimport pathArea from \"./area.js\";\nimport pathBounds from \"./bounds.js\";\nimport pathCentroid from \"./centroid.js\";\nimport PathContext from \"./context.js\";\nimport pathMeasure from \"./measure.js\";\nimport PathString from \"./string.js\";\n\nexport default function(projection, context) {\n let digits = 3,\n pointRadius = 4.5,\n projectionStream,\n contextStream;\n\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n stream(object, projectionStream(contextStream));\n }\n return contextStream.result();\n }\n\n path.area = function(object) {\n stream(object, projectionStream(pathArea));\n return pathArea.result();\n };\n\n path.measure = function(object) {\n stream(object, projectionStream(pathMeasure));\n return pathMeasure.result();\n };\n\n path.bounds = function(object) {\n stream(object, projectionStream(pathBounds));\n return pathBounds.result();\n };\n\n path.centroid = function(object) {\n stream(object, projectionStream(pathCentroid));\n return pathCentroid.result();\n };\n\n path.projection = function(_) {\n if (!arguments.length) return projection;\n projectionStream = _ == null ? (projection = null, identity) : (projection = _).stream;\n return path;\n };\n\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = _ == null ? (context = null, new PathString(digits)) : new PathContext(context = _);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return path;\n };\n\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n\n path.digits = function(_) {\n if (!arguments.length) return digits;\n if (_ == null) digits = null;\n else {\n const d = Math.floor(_);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n if (context === null) contextStream = new PathString(digits);\n return path;\n };\n\n return path.projection(projection).digits(digits).context(context);\n}\n","import {Adder} from \"d3-array\";\nimport {abs, atan2, cos, radians, sin, sqrt} from \"./math.js\";\nimport noop from \"./noop.js\";\nimport stream from \"./stream.js\";\n\nvar lengthSum,\n lambda0,\n sinPhi0,\n cosPhi0;\n\nvar lengthStream = {\n sphere: noop,\n point: noop,\n lineStart: lengthLineStart,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop\n};\n\nfunction lengthLineStart() {\n lengthStream.point = lengthPointFirst;\n lengthStream.lineEnd = lengthLineEnd;\n}\n\nfunction lengthLineEnd() {\n lengthStream.point = lengthStream.lineEnd = noop;\n}\n\nfunction lengthPointFirst(lambda, phi) {\n lambda *= radians, phi *= radians;\n lambda0 = lambda, sinPhi0 = sin(phi), cosPhi0 = cos(phi);\n lengthStream.point = lengthPoint;\n}\n\nfunction lengthPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var sinPhi = sin(phi),\n cosPhi = cos(phi),\n delta = abs(lambda - lambda0),\n cosDelta = cos(delta),\n sinDelta = sin(delta),\n x = cosPhi * sinDelta,\n y = cosPhi0 * sinPhi - sinPhi0 * cosPhi * cosDelta,\n z = sinPhi0 * sinPhi + cosPhi0 * cosPhi * cosDelta;\n lengthSum.add(atan2(sqrt(x * x + y * y), z));\n lambda0 = lambda, sinPhi0 = sinPhi, cosPhi0 = cosPhi;\n}\n\nexport default function(object) {\n lengthSum = new Adder();\n stream(object, lengthStream);\n return +lengthSum;\n}\n","import length from \"./length.js\";\n\nvar coordinates = [null, null],\n object = {type: \"LineString\", coordinates: coordinates};\n\nexport default function(a, b) {\n coordinates[0] = a;\n coordinates[1] = b;\n return length(object);\n}\n","import {default as polygonContains} from \"./polygonContains.js\";\nimport {default as distance} from \"./distance.js\";\nimport {epsilon2, radians} from \"./math.js\";\n\nvar containsObjectType = {\n Feature: function(object, point) {\n return containsGeometry(object.geometry, point);\n },\n FeatureCollection: function(object, point) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) if (containsGeometry(features[i].geometry, point)) return true;\n return false;\n }\n};\n\nvar containsGeometryType = {\n Sphere: function() {\n return true;\n },\n Point: function(object, point) {\n return containsPoint(object.coordinates, point);\n },\n MultiPoint: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsPoint(coordinates[i], point)) return true;\n return false;\n },\n LineString: function(object, point) {\n return containsLine(object.coordinates, point);\n },\n MultiLineString: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsLine(coordinates[i], point)) return true;\n return false;\n },\n Polygon: function(object, point) {\n return containsPolygon(object.coordinates, point);\n },\n MultiPolygon: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsPolygon(coordinates[i], point)) return true;\n return false;\n },\n GeometryCollection: function(object, point) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) if (containsGeometry(geometries[i], point)) return true;\n return false;\n }\n};\n\nfunction containsGeometry(geometry, point) {\n return geometry && containsGeometryType.hasOwnProperty(geometry.type)\n ? containsGeometryType[geometry.type](geometry, point)\n : false;\n}\n\nfunction containsPoint(coordinates, point) {\n return distance(coordinates, point) === 0;\n}\n\nfunction containsLine(coordinates, point) {\n var ao, bo, ab;\n for (var i = 0, n = coordinates.length; i < n; i++) {\n bo = distance(coordinates[i], point);\n if (bo === 0) return true;\n if (i > 0) {\n ab = distance(coordinates[i], coordinates[i - 1]);\n if (\n ab > 0 &&\n ao <= ab &&\n bo <= ab &&\n (ao + bo - ab) * (1 - Math.pow((ao - bo) / ab, 2)) < epsilon2 * ab\n )\n return true;\n }\n ao = bo;\n }\n return false;\n}\n\nfunction containsPolygon(coordinates, point) {\n return !!polygonContains(coordinates.map(ringRadians), pointRadians(point));\n}\n\nfunction ringRadians(ring) {\n return ring = ring.map(pointRadians), ring.pop(), ring;\n}\n\nfunction pointRadians(point) {\n return [point[0] * radians, point[1] * radians];\n}\n\nexport default function(object, point) {\n return (object && containsObjectType.hasOwnProperty(object.type)\n ? containsObjectType[object.type]\n : containsGeometry)(object, point);\n}\n","export default function range(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","import {range} from \"d3-array\";\nimport {abs, ceil, epsilon} from \"./math.js\";\n\nfunction graticuleX(y0, y1, dy) {\n var y = range(y0, y1 - epsilon, dy).concat(y1);\n return function(x) { return y.map(function(y) { return [x, y]; }); };\n}\n\nfunction graticuleY(x0, x1, dx) {\n var x = range(x0, x1 - epsilon, dx).concat(x1);\n return function(y) { return x.map(function(x) { return [x, y]; }); };\n}\n\nexport default function graticule() {\n var x1, x0, X1, X0,\n y1, y0, Y1, Y0,\n dx = 10, dy = dx, DX = 90, DY = 360,\n x, y, X, Y,\n precision = 2.5;\n\n function graticule() {\n return {type: \"MultiLineString\", coordinates: lines()};\n }\n\n function lines() {\n return range(ceil(X0 / DX) * DX, X1, DX).map(X)\n .concat(range(ceil(Y0 / DY) * DY, Y1, DY).map(Y))\n .concat(range(ceil(x0 / dx) * dx, x1, dx).filter(function(x) { return abs(x % DX) > epsilon; }).map(x))\n .concat(range(ceil(y0 / dy) * dy, y1, dy).filter(function(y) { return abs(y % DY) > epsilon; }).map(y));\n }\n\n graticule.lines = function() {\n return lines().map(function(coordinates) { return {type: \"LineString\", coordinates: coordinates}; });\n };\n\n graticule.outline = function() {\n return {\n type: \"Polygon\",\n coordinates: [\n X(X0).concat(\n Y(Y1).slice(1),\n X(X1).reverse().slice(1),\n Y(Y0).reverse().slice(1))\n ]\n };\n };\n\n graticule.extent = function(_) {\n if (!arguments.length) return graticule.extentMinor();\n return graticule.extentMajor(_).extentMinor(_);\n };\n\n graticule.extentMajor = function(_) {\n if (!arguments.length) return [[X0, Y0], [X1, Y1]];\n X0 = +_[0][0], X1 = +_[1][0];\n Y0 = +_[0][1], Y1 = +_[1][1];\n if (X0 > X1) _ = X0, X0 = X1, X1 = _;\n if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;\n return graticule.precision(precision);\n };\n\n graticule.extentMinor = function(_) {\n if (!arguments.length) return [[x0, y0], [x1, y1]];\n x0 = +_[0][0], x1 = +_[1][0];\n y0 = +_[0][1], y1 = +_[1][1];\n if (x0 > x1) _ = x0, x0 = x1, x1 = _;\n if (y0 > y1) _ = y0, y0 = y1, y1 = _;\n return graticule.precision(precision);\n };\n\n graticule.step = function(_) {\n if (!arguments.length) return graticule.stepMinor();\n return graticule.stepMajor(_).stepMinor(_);\n };\n\n graticule.stepMajor = function(_) {\n if (!arguments.length) return [DX, DY];\n DX = +_[0], DY = +_[1];\n return graticule;\n };\n\n graticule.stepMinor = function(_) {\n if (!arguments.length) return [dx, dy];\n dx = +_[0], dy = +_[1];\n return graticule;\n };\n\n graticule.precision = function(_) {\n if (!arguments.length) return precision;\n precision = +_;\n x = graticuleX(y0, y1, 90);\n y = graticuleY(x0, x1, precision);\n X = graticuleX(Y0, Y1, 90);\n Y = graticuleY(X0, X1, precision);\n return graticule;\n };\n\n return graticule\n .extentMajor([[-180, -90 + epsilon], [180, 90 - epsilon]])\n .extentMinor([[-180, -80 - epsilon], [180, 80 + epsilon]]);\n}\n\nexport function graticule10() {\n return graticule()();\n}\n","export default function(specifier) {\n var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;\n while (i < n) colors[i] = \"#\" + specifier.slice(i * 6, ++i * 6);\n return colors;\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {interpolateRgbBasis} from \"d3-interpolate\";\n\nexport default scheme => interpolateRgbBasis(scheme[scheme.length - 1]);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"deebf79ecae13182bd\",\n \"eff3ffbdd7e76baed62171b5\",\n \"eff3ffbdd7e76baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"d8b365f5f5f55ab4ac\",\n \"a6611adfc27d80cdc1018571\",\n \"a6611adfc27df5f5f580cdc1018571\",\n \"8c510ad8b365f6e8c3c7eae55ab4ac01665e\",\n \"8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e\",\n \"8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e\",\n \"8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e\",\n \"5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30\",\n \"5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"e5f5f999d8c92ca25f\",\n \"edf8fbb2e2e266c2a4238b45\",\n \"edf8fbb2e2e266c2a42ca25f006d2c\",\n \"edf8fbccece699d8c966c2a42ca25f006d2c\",\n \"edf8fbccece699d8c966c2a441ae76238b45005824\",\n \"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824\",\n \"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"e0ecf49ebcda8856a7\",\n \"edf8fbb3cde38c96c688419d\",\n \"edf8fbb3cde38c96c68856a7810f7c\",\n \"edf8fbbfd3e69ebcda8c96c68856a7810f7c\",\n \"edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b\",\n \"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b\",\n \"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b\"\n).map(colors);\n\nexport default ramp(scheme);\n","export const radians = Math.PI / 180;\nexport const degrees = 180 / Math.PI;\n","import define, {extend} from \"./define.js\";\nimport {Color, rgbConvert, Rgb, darker, brighter} from \"./color.js\";\nimport {degrees, radians} from \"./math.js\";\n\nvar A = -0.14861,\n B = +1.78277,\n C = -0.29227,\n D = -0.90649,\n E = +1.97294,\n ED = E * D,\n EB = E * B,\n BC_DA = B * C - D * A;\n\nfunction cubehelixConvert(o) {\n if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),\n bl = b - l,\n k = (E * (g - l) - C * bl) / D,\n s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1\n h = s ? Math.atan2(k, bl) * degrees - 120 : NaN;\n return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);\n}\n\nexport default function cubehelix(h, s, l, opacity) {\n return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);\n}\n\nexport function Cubehelix(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Cubehelix, cubehelix, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = isNaN(this.h) ? 0 : (this.h + 120) * radians,\n l = +this.l,\n a = isNaN(this.s) ? 0 : this.s * l * (1 - l),\n cosh = Math.cos(h),\n sinh = Math.sin(h);\n return new Rgb(\n 255 * (l + a * (A * cosh + B * sinh)),\n 255 * (l + a * (C * cosh + D * sinh)),\n 255 * (l + a * (E * cosh)),\n this.opacity\n );\n }\n}));\n","import {cubehelix as colorCubehelix} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction cubehelix(hue) {\n return (function cubehelixGamma(y) {\n y = +y;\n\n function cubehelix(start, end) {\n var h = hue((start = colorCubehelix(start)).h, (end = colorCubehelix(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(Math.pow(t, y));\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n cubehelix.gamma = cubehelixGamma;\n\n return cubehelix;\n })(1);\n}\n\nexport default cubehelix(hue);\nexport var cubehelixLong = cubehelix(color);\n","import {cubehelix} from \"d3-color\";\nimport {interpolateCubehelixLong} from \"d3-interpolate\";\n\nexport var warm = interpolateCubehelixLong(cubehelix(-100, 0.75, 0.35), cubehelix(80, 1.50, 0.8));\n\nexport var cool = interpolateCubehelixLong(cubehelix(260, 0.75, 0.35), cubehelix(80, 1.50, 0.8));\n\nvar c = cubehelix();\n\nexport default function(t) {\n if (t < 0 || t > 1) t -= Math.floor(t);\n var ts = Math.abs(t - 0.5);\n c.h = 360 * t - 100;\n c.s = 1.5 - 1.5 * ts;\n c.l = 0.8 - 0.9 * ts;\n return c + \"\";\n}\n","import {cubehelix} from \"d3-color\";\nimport {interpolateCubehelixLong} from \"d3-interpolate\";\n\nexport default interpolateCubehelixLong(cubehelix(300, 0.5, 0.0), cubehelix(-240, 0.5, 1.0));\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"e0f3dba8ddb543a2ca\",\n \"f0f9e8bae4bc7bccc42b8cbe\",\n \"f0f9e8bae4bc7bccc443a2ca0868ac\",\n \"f0f9e8ccebc5a8ddb57bccc443a2ca0868ac\",\n \"f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\n \"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\n \"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"e5f5e0a1d99b31a354\",\n \"edf8e9bae4b374c476238b45\",\n \"edf8e9bae4b374c47631a354006d2c\",\n \"edf8e9c7e9c0a1d99b74c47631a354006d2c\",\n \"edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32\",\n \"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32\",\n \"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"f0f0f0bdbdbd636363\",\n \"f7f7f7cccccc969696525252\",\n \"f7f7f7cccccc969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\n\nfunction ramp(range) {\n var n = range.length;\n return function(t) {\n return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];\n };\n}\n\nexport default ramp(colors(\"44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725\"));\n\nexport var magma = ramp(colors(\"00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf\"));\n\nexport var inferno = ramp(colors(\"00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4\"));\n\nexport var plasma = ramp(colors(\"0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921\"));\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fee8c8fdbb84e34a33\",\n \"fef0d9fdcc8afc8d59d7301f\",\n \"fef0d9fdcc8afc8d59e34a33b30000\",\n \"fef0d9fdd49efdbb84fc8d59e34a33b30000\",\n \"fef0d9fdd49efdbb84fc8d59ef6548d7301f990000\",\n \"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000\",\n \"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fee6cefdae6be6550d\",\n \"feeddefdbe85fd8d3cd94701\",\n \"feeddefdbe85fd8d3ce6550da63603\",\n \"feeddefdd0a2fdae6bfd8d3ce6550da63603\",\n \"feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\n \"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\n \"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"af8dc3f7f7f77fbf7b\",\n \"7b3294c2a5cfa6dba0008837\",\n \"7b3294c2a5cff7f7f7a6dba0008837\",\n \"762a83af8dc3e7d4e8d9f0d37fbf7b1b7837\",\n \"762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837\",\n \"762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837\",\n \"762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837\",\n \"40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b\",\n \"40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"e9a3c9f7f7f7a1d76a\",\n \"d01c8bf1b6dab8e1864dac26\",\n \"d01c8bf1b6daf7f7f7b8e1864dac26\",\n \"c51b7de9a3c9fde0efe6f5d0a1d76a4d9221\",\n \"c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221\",\n \"c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221\",\n \"c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221\",\n \"8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419\",\n \"8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"ece7f2a6bddb2b8cbe\",\n \"f1eef6bdc9e174a9cf0570b0\",\n \"f1eef6bdc9e174a9cf2b8cbe045a8d\",\n \"f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d\",\n \"f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\n \"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\n \"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"ece2f0a6bddb1c9099\",\n \"f6eff7bdc9e167a9cf02818a\",\n \"f6eff7bdc9e167a9cf1c9099016c59\",\n \"f6eff7d0d1e6a6bddb67a9cf1c9099016c59\",\n \"f6eff7d0d1e6a6bddb67a9cf3690c002818a016450\",\n \"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450\",\n \"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"998ec3f7f7f7f1a340\",\n \"5e3c99b2abd2fdb863e66101\",\n \"5e3c99b2abd2f7f7f7fdb863e66101\",\n \"542788998ec3d8daebfee0b6f1a340b35806\",\n \"542788998ec3d8daebf7f7f7fee0b6f1a340b35806\",\n \"5427888073acb2abd2d8daebfee0b6fdb863e08214b35806\",\n \"5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806\",\n \"2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08\",\n \"2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"e7e1efc994c7dd1c77\",\n \"f1eef6d7b5d8df65b0ce1256\",\n \"f1eef6d7b5d8df65b0dd1c77980043\",\n \"f1eef6d4b9dac994c7df65b0dd1c77980043\",\n \"f1eef6d4b9dac994c7df65b0e7298ace125691003f\",\n \"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f\",\n \"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"efedf5bcbddc756bb1\",\n \"f2f0f7cbc9e29e9ac86a51a3\",\n \"f2f0f7cbc9e29e9ac8756bb154278f\",\n \"f2f0f7dadaebbcbddc9e9ac8756bb154278f\",\n \"f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486\",\n \"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486\",\n \"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"ef8a62f7f7f767a9cf\",\n \"ca0020f4a58292c5de0571b0\",\n \"ca0020f4a582f7f7f792c5de0571b0\",\n \"b2182bef8a62fddbc7d1e5f067a9cf2166ac\",\n \"b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac\",\n \"b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac\",\n \"b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac\",\n \"67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061\",\n \"67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"ef8a62ffffff999999\",\n \"ca0020f4a582bababa404040\",\n \"ca0020f4a582ffffffbababa404040\",\n \"b2182bef8a62fddbc7e0e0e09999994d4d4d\",\n \"b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d\",\n \"b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d\",\n \"b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d\",\n \"67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a\",\n \"67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fde0ddfa9fb5c51b8a\",\n \"feebe2fbb4b9f768a1ae017e\",\n \"feebe2fbb4b9f768a1c51b8a7a0177\",\n \"feebe2fcc5c0fa9fb5f768a1c51b8a7a0177\",\n \"feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\n \"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\n \"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf91bfdb\",\n \"d7191cfdae61abd9e92c7bb6\",\n \"d7191cfdae61ffffbfabd9e92c7bb6\",\n \"d73027fc8d59fee090e0f3f891bfdb4575b4\",\n \"d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4\",\n \"d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4\",\n \"d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4\",\n \"a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695\",\n \"a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf91cf60\",\n \"d7191cfdae61a6d96a1a9641\",\n \"d7191cfdae61ffffbfa6d96a1a9641\",\n \"d73027fc8d59fee08bd9ef8b91cf601a9850\",\n \"d73027fc8d59fee08bffffbfd9ef8b91cf601a9850\",\n \"d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850\",\n \"d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850\",\n \"a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837\",\n \"a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fee0d2fc9272de2d26\",\n \"fee5d9fcae91fb6a4acb181d\",\n \"fee5d9fcae91fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d\"\n).map(colors);\n\nexport default ramp(scheme);\n","import {rgb} from \"d3-color\";\n\nvar c = rgb(),\n pi_1_3 = Math.PI / 3,\n pi_2_3 = Math.PI * 2 / 3;\n\nexport default function(t) {\n var x;\n t = (0.5 - t) * Math.PI;\n c.r = 255 * (x = Math.sin(t)) * x;\n c.g = 255 * (x = Math.sin(t + pi_1_3)) * x;\n c.b = 255 * (x = Math.sin(t + pi_2_3)) * x;\n return c + \"\";\n}\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf99d594\",\n \"d7191cfdae61abdda42b83ba\",\n \"d7191cfdae61ffffbfabdda42b83ba\",\n \"d53e4ffc8d59fee08be6f59899d5943288bd\",\n \"d53e4ffc8d59fee08bffffbfe6f59899d5943288bd\",\n \"d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd\",\n \"d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd\",\n \"9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2\",\n \"9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"f7fcb9addd8e31a354\",\n \"ffffccc2e69978c679238443\",\n \"ffffccc2e69978c67931a354006837\",\n \"ffffccd9f0a3addd8e78c67931a354006837\",\n \"ffffccd9f0a3addd8e78c67941ab5d238443005a32\",\n \"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32\",\n \"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"edf8b17fcdbb2c7fb8\",\n \"ffffcca1dab441b6c4225ea8\",\n \"ffffcca1dab441b6c42c7fb8253494\",\n \"ffffccc7e9b47fcdbb41b6c42c7fb8253494\",\n \"ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\n \"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\n \"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fff7bcfec44fd95f0e\",\n \"ffffd4fed98efe9929cc4c02\",\n \"ffffd4fed98efe9929d95f0e993404\",\n \"ffffd4fee391fec44ffe9929d95f0e993404\",\n \"ffffd4fee391fec44ffe9929ec7014cc4c028c2d04\",\n \"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04\",\n \"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"ffeda0feb24cf03b20\",\n \"ffffb2fecc5cfd8d3ce31a1c\",\n \"ffffb2fecc5cfd8d3cf03b20bd0026\",\n \"ffffb2fed976feb24cfd8d3cf03b20bd0026\",\n \"ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\n \"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\n \"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026\"\n).map(colors);\n\nexport default ramp(scheme);\n","/**\n * chartjs-chart-geo\n * https://github.com/sgratzl/chartjs-chart-geo\n *\n * Copyright (c) 2019-2022 Samuel Gratzl \n */\n\nimport { Scale, LinearScale, LogarithmicScale, BarElement, Element, DatasetController, registry, Chart, PointElement } from 'chart.js';\nimport { geoAzimuthalEqualArea, geoAzimuthalEquidistant, geoGnomonic, geoOrthographic, geoStereographic, geoEqualEarth, geoAlbers, geoAlbersUsa, geoConicConformal, geoConicEqualArea, geoConicEquidistant, geoEquirectangular, geoMercator, geoTransverseMercator, geoNaturalEarth1, geoPath, geoContains, geoGraticule10, geoGraticule } from 'd3-geo';\nexport { geoAlbers, geoAlbersUsa, geoAzimuthalEqualArea, geoAzimuthalEquidistant, geoConicConformal, geoConicEqualArea, geoConicEquidistant, geoEqualEarth, geoEquirectangular, geoGnomonic, geoMercator, geoNaturalEarth1, geoOrthographic, geoStereographic, geoTransverseMercator } from 'd3-geo';\nimport { merge, drawPoint, valueOrDefault, clipArea, unclipArea } from 'chart.js/helpers';\nimport { interpolateBlues, interpolateBrBG, interpolateBuGn, interpolateBuPu, interpolateCividis, interpolateCool, interpolateCubehelixDefault, interpolateGnBu, interpolateGreens, interpolateGreys, interpolateInferno, interpolateMagma, interpolateOrRd, interpolateOranges, interpolatePRGn, interpolatePiYG, interpolatePlasma, interpolatePuBu, interpolatePuBuGn, interpolatePuOr, interpolatePuRd, interpolatePurples, interpolateRainbow, interpolateRdBu, interpolateRdGy, interpolateRdPu, interpolateRdYlBu, interpolateRdYlGn, interpolateReds, interpolateSinebow, interpolateSpectral, interpolateTurbo, interpolateViridis, interpolateWarm, interpolateYlGn, interpolateYlGnBu, interpolateYlOrBr, interpolateYlOrRd } from 'd3-scale-chromatic';\nimport * as topojsonClient from 'topojson-client';\nexport { topojsonClient as topojson };\n\nconst lookup$1 = {\n geoAzimuthalEqualArea,\n geoAzimuthalEquidistant,\n geoGnomonic,\n geoOrthographic,\n geoStereographic,\n geoEqualEarth,\n geoAlbers,\n geoAlbersUsa,\n geoConicConformal,\n geoConicEqualArea,\n geoConicEquidistant,\n geoEquirectangular,\n geoMercator,\n geoTransverseMercator,\n geoNaturalEarth1,\n};\nObject.keys(lookup$1).forEach((key) => {\n lookup$1[`${key.charAt(3).toLowerCase()}${key.slice(4)}`] = lookup$1[key];\n});\nclass ProjectionScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this.outlineBounds = null;\n this.oldChartBounds = null;\n this.geoPath = geoPath();\n }\n init(options) {\n options.position = 'chartArea';\n super.init(options);\n if (typeof options.projection === 'function') {\n this.projection = options.projection;\n }\n else {\n this.projection = (lookup$1[options.projection] || lookup$1.albersUsa)();\n }\n this.geoPath.projection(this.projection);\n this.outlineBounds = null;\n this.oldChartBounds = null;\n }\n computeBounds(outline) {\n const bb = geoPath(this.projection.fitWidth(1000, outline)).bounds(outline);\n const bHeight = Math.ceil(bb[1][1] - bb[0][1]);\n const bWidth = Math.ceil(bb[1][0] - bb[0][0]);\n const t = this.projection.translate();\n this.outlineBounds = {\n width: bWidth,\n height: bHeight,\n aspectRatio: bWidth / bHeight,\n refScale: this.projection.scale(),\n refX: t[0],\n refY: t[1],\n };\n }\n updateBounds() {\n const area = this.chart.chartArea;\n const bb = this.outlineBounds;\n if (!bb) {\n return false;\n }\n const padding = this.options.padding;\n const paddingTop = typeof padding === 'number' ? padding : padding.top;\n const paddingLeft = typeof padding === 'number' ? padding : padding.left;\n const paddingBottom = typeof padding === 'number' ? padding : padding.bottom;\n const paddingRight = typeof padding === 'number' ? padding : padding.right;\n const chartWidth = area.right - area.left - paddingLeft - paddingRight;\n const chartHeight = area.bottom - area.top - paddingTop - paddingBottom;\n const bak = this.oldChartBounds;\n this.oldChartBounds = {\n chartWidth,\n chartHeight,\n };\n const scale = Math.min(chartWidth / bb.width, chartHeight / bb.height);\n const viewWidth = bb.width * scale;\n const viewHeight = bb.height * scale;\n const x = (chartWidth - viewWidth) * 0.5 + area.left + paddingLeft;\n const y = (chartHeight - viewHeight) * 0.5 + area.top + paddingTop;\n const o = this.options;\n this.projection\n .scale(bb.refScale * scale * o.projectionScale)\n .translate([scale * bb.refX + x + o.projectionOffset[0], scale * bb.refY + y + o.projectionOffset[1]]);\n return (!bak || bak.chartWidth !== this.oldChartBounds.chartWidth || bak.chartHeight !== this.oldChartBounds.chartHeight);\n }\n}\nProjectionScale.id = 'projection';\nProjectionScale.defaults = {\n projection: 'albersUsa',\n projectionScale: 1,\n projectionOffset: [0, 0],\n padding: 0,\n};\nProjectionScale.descriptors = {\n _scriptable: (name) => name !== 'projection',\n _indexable: (name) => name !== 'projectionOffset',\n};\n\nconst baseDefaults = {\n position: 'chartArea',\n property: 'value',\n grid: {\n z: 1,\n drawOnChartArea: false,\n },\n ticks: {\n z: 1,\n },\n legend: {\n align: 'right',\n position: 'bottom-right',\n length: 100,\n width: 50,\n margin: 8,\n indicatorWidth: 10,\n },\n};\nfunction computeLegendMargin(legend) {\n const { indicatorWidth, align: pos, margin } = legend;\n const left = (typeof margin === 'number' ? margin : margin.left) + (pos === 'right' ? indicatorWidth : 0);\n const top = (typeof margin === 'number' ? margin : margin.top) + (pos === 'bottom' ? indicatorWidth : 0);\n const right = (typeof margin === 'number' ? margin : margin.right) + (pos === 'left' ? indicatorWidth : 0);\n const bottom = (typeof margin === 'number' ? margin : margin.bottom) + (pos === 'top' ? indicatorWidth : 0);\n return { left, top, right, bottom };\n}\nfunction computeLegendPosition(chartArea, legend, width, height, legendSize) {\n const { indicatorWidth, align: axisPos, position: pos } = legend;\n const isHor = axisPos === 'top' || axisPos === 'bottom';\n const w = (axisPos === 'left' ? legendSize.w : width) + (isHor ? indicatorWidth : 0);\n const h = (axisPos === 'top' ? legendSize.h : height) + (!isHor ? indicatorWidth : 0);\n const margin = computeLegendMargin(legend);\n if (typeof pos === 'string') {\n switch (pos) {\n case 'top-left':\n return [margin.left, margin.top];\n case 'top':\n return [(chartArea.right - w) / 2, margin.top];\n case 'left':\n return [margin.left, (chartArea.bottom - h) / 2];\n case 'top-right':\n return [chartArea.right - w - margin.right, margin.top];\n case 'bottom-right':\n return [chartArea.right - w - margin.right, chartArea.bottom - h - margin.bottom];\n case 'bottom':\n return [(chartArea.right - w) / 2, chartArea.bottom - h - margin.bottom];\n case 'bottom-left':\n return [margin.left, chartArea.bottom - h - margin.bottom];\n default:\n return [chartArea.right - w - margin.right, (chartArea.bottom - h) / 2];\n }\n }\n return [pos.x, pos.y];\n}\nclass LegendScale extends LinearScale {\n constructor() {\n super(...arguments);\n this.legendSize = { w: 0, h: 0 };\n }\n init(options) {\n options.position = 'chartArea';\n super.init(options);\n this.axis = 'r';\n }\n parse(raw, index) {\n if (raw && typeof raw[this.options.property] === 'number') {\n return raw[this.options.property];\n }\n return super.parse(raw, index);\n }\n isHorizontal() {\n return this.options.legend.align === 'top' || this.options.legend.align === 'bottom';\n }\n _getNormalizedValue(v) {\n if (v == null || Number.isNaN(v)) {\n return null;\n }\n return (v - this._startValue) / this._valueRange;\n }\n update(maxWidth, maxHeight, margins) {\n const ch = Math.min(maxHeight, this.bottom == null ? Number.POSITIVE_INFINITY : this.bottom);\n const cw = Math.min(maxWidth, this.right == null ? Number.POSITIVE_INFINITY : this.right);\n const l = this.options.legend;\n const isHor = this.isHorizontal();\n const factor = (v, full) => (v < 1 ? full * v : v);\n const w = Math.min(cw, factor(isHor ? l.length : l.width, cw)) - (!isHor ? l.indicatorWidth : 0);\n const h = Math.min(ch, factor(!isHor ? l.length : l.width, ch)) - (isHor ? l.indicatorWidth : 0);\n this.legendSize = { w, h };\n this.bottom = h;\n this.height = h;\n this.right = w;\n this.width = w;\n const bak = this.options.position;\n this.options.position = this.options.legend.align;\n const r = super.update(w, h, margins);\n this.options.position = bak;\n this.height = Math.min(h, this.height);\n this.width = Math.min(w, this.width);\n return r;\n }\n _computeLabelArea() {\n return undefined;\n }\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n const pos = computeLegendPosition(chartArea, this.options.legend, this.width, this.height, this.legendSize);\n const { ctx } = this;\n ctx.save();\n ctx.translate(pos[0], pos[1]);\n const bak = this.options.position;\n this.options.position = this.options.legend.align;\n super.draw({ ...chartArea, bottom: this.height + 10, right: this.width });\n this.options.position = bak;\n const { indicatorWidth } = this.options.legend;\n switch (this.options.legend.align) {\n case 'left':\n ctx.translate(this.legendSize.w, 0);\n break;\n case 'top':\n ctx.translate(0, this.legendSize.h);\n break;\n case 'bottom':\n ctx.translate(0, -indicatorWidth);\n break;\n default:\n ctx.translate(-indicatorWidth, 0);\n break;\n }\n this._drawIndicator();\n ctx.restore();\n }\n _drawIndicator() {\n }\n}\nclass LogarithmicLegendScale extends LogarithmicScale {\n constructor() {\n super(...arguments);\n this.legendSize = { w: 0, h: 0 };\n }\n init(options) {\n LegendScale.prototype.init.call(this, options);\n }\n parse(raw, index) {\n return LegendScale.prototype.parse.call(this, raw, index);\n }\n isHorizontal() {\n return this.options.legend.align === 'top' || this.options.legend.align === 'bottom';\n }\n _getNormalizedValue(v) {\n if (v == null || Number.isNaN(v)) {\n return null;\n }\n return (Math.log10(v) - this._startValue) / this._valueRange;\n }\n update(maxWidth, maxHeight, margins) {\n return LegendScale.prototype.update.call(this, maxWidth, maxHeight, margins);\n }\n _computeLabelArea() {\n return undefined;\n }\n draw(chartArea) {\n return LegendScale.prototype.draw.call(this, chartArea);\n }\n _drawIndicator() {\n }\n}\n\nconst lookup = {\n interpolateBlues,\n interpolateBrBG,\n interpolateBuGn,\n interpolateBuPu,\n interpolateCividis,\n interpolateCool,\n interpolateCubehelixDefault,\n interpolateGnBu,\n interpolateGreens,\n interpolateGreys,\n interpolateInferno,\n interpolateMagma,\n interpolateOrRd,\n interpolateOranges,\n interpolatePRGn,\n interpolatePiYG,\n interpolatePlasma,\n interpolatePuBu,\n interpolatePuBuGn,\n interpolatePuOr,\n interpolatePuRd,\n interpolatePurples,\n interpolateRainbow,\n interpolateRdBu,\n interpolateRdGy,\n interpolateRdPu,\n interpolateRdYlBu,\n interpolateRdYlGn,\n interpolateReds,\n interpolateSinebow,\n interpolateSpectral,\n interpolateTurbo,\n interpolateViridis,\n interpolateWarm,\n interpolateYlGn,\n interpolateYlGnBu,\n interpolateYlOrBr,\n interpolateYlOrRd,\n};\nObject.keys(lookup).forEach((key) => {\n lookup[`${key.charAt(11).toLowerCase()}${key.slice(12)}`] = lookup[key];\n lookup[key.slice(11)] = lookup[key];\n});\nfunction quantize(v, steps) {\n const perStep = 1 / steps;\n if (v <= perStep) {\n return 0;\n }\n if (v >= 1 - perStep) {\n return 1;\n }\n for (let acc = 0; acc < 1; acc += perStep) {\n if (v < acc) {\n return acc - perStep / 2;\n }\n }\n return v;\n}\nconst colorScaleDefaults = {\n interpolate: 'blues',\n missing: 'transparent',\n quantize: 0,\n};\nclass ColorScale extends LegendScale {\n get interpolate() {\n const o = this.options;\n if (!o) {\n return (v) => `rgb(${v},${v},${v})`;\n }\n if (typeof o.interpolate === 'function') {\n return o.interpolate;\n }\n return lookup[o.interpolate] || lookup.blues;\n }\n getColorForValue(value) {\n const v = this._getNormalizedValue(value);\n if (v == null || Number.isNaN(v)) {\n return this.options.missing;\n }\n return this.getColor(v);\n }\n getColor(normalized) {\n let v = normalized;\n if (this.options.quantize > 0) {\n v = quantize(v, this.options.quantize);\n }\n return this.interpolate(v);\n }\n _drawIndicator() {\n const { indicatorWidth: indicatorSize } = this.options.legend;\n const reverse = this._reversePixels;\n if (this.isHorizontal()) {\n const w = this.width;\n if (this.options.quantize > 0) {\n const stepWidth = w / this.options.quantize;\n const offset = !reverse ? (i) => i : (i) => w - stepWidth - i;\n for (let i = 0; i < w; i += stepWidth) {\n const v = (i + stepWidth / 2) / w;\n this.ctx.fillStyle = this.getColor(v);\n this.ctx.fillRect(offset(i), 0, stepWidth, indicatorSize);\n }\n }\n else {\n const offset = !reverse ? (i) => i : (i) => w - 1 - i;\n for (let i = 0; i < w; i += 1) {\n this.ctx.fillStyle = this.getColor((i + 0.5) / w);\n this.ctx.fillRect(offset(i), 0, 1, indicatorSize);\n }\n }\n }\n else {\n const h = this.height;\n if (this.options.quantize > 0) {\n const stepWidth = h / this.options.quantize;\n const offset = !reverse ? (i) => i : (i) => h - stepWidth - i;\n for (let i = 0; i < h; i += stepWidth) {\n const v = (i + stepWidth / 2) / h;\n this.ctx.fillStyle = this.getColor(v);\n this.ctx.fillRect(0, offset(i), indicatorSize, stepWidth);\n }\n }\n else {\n const offset = !reverse ? (i) => i : (i) => h - 1 - i;\n for (let i = 0; i < h; i += 1) {\n this.ctx.fillStyle = this.getColor((i + 0.5) / h);\n this.ctx.fillRect(0, offset(i), indicatorSize, 1);\n }\n }\n }\n }\n}\nColorScale.id = 'color';\nColorScale.defaults = merge({}, [LinearScale.defaults, baseDefaults, colorScaleDefaults]);\nColorScale.descriptors = {\n _scriptable: (name) => name !== 'interpolate',\n _indexable: false,\n};\nclass ColorLogarithmicScale extends LogarithmicLegendScale {\n constructor() {\n super(...arguments);\n this.interpolate = (v) => `rgb(${v},${v},${v})`;\n }\n init(options) {\n super.init(options);\n if (typeof options.interpolate === 'function') {\n this.interpolate = options.interpolate;\n }\n else {\n this.interpolate = lookup[options.interpolate] || lookup.blues;\n }\n }\n getColorForValue(value) {\n return ColorScale.prototype.getColorForValue.call(this, value);\n }\n getColor(normalized) {\n let v = normalized;\n if (this.options.quantize > 0) {\n v = quantize(v, this.options.quantize);\n }\n return this.interpolate(v);\n }\n _drawIndicator() {\n return ColorScale.prototype._drawIndicator.call(this);\n }\n}\nColorLogarithmicScale.id = 'colorLogarithmic';\nColorLogarithmicScale.defaults = merge({}, [\n LogarithmicScale.defaults,\n baseDefaults,\n colorScaleDefaults,\n]);\nColorLogarithmicScale.descriptors = {\n _scriptable: (name) => name !== 'interpolate',\n _indexable: false,\n};\n\nconst scaleDefaults = {\n missing: 1,\n mode: 'area',\n range: [2, 20],\n legend: {\n align: 'bottom',\n length: 90,\n width: 70,\n indicatorWidth: 42,\n },\n};\nclass SizeScale extends LegendScale {\n constructor() {\n super(...arguments);\n this._model = null;\n }\n getSizeForValue(value) {\n const v = this._getNormalizedValue(value);\n if (v == null || Number.isNaN(v)) {\n return this.options.missing;\n }\n return this.getSizeImpl(v);\n }\n getSizeImpl(normalized) {\n const [r0, r1] = this.options.range;\n if (this.options.mode === 'area') {\n const a1 = r1 * r1 * Math.PI;\n const a0 = r0 * r0 * Math.PI;\n const range = a1 - a0;\n const a = normalized * range + a0;\n return Math.sqrt(a / Math.PI);\n }\n const range = r1 - r0;\n return normalized * range + r0;\n }\n _drawIndicator() {\n const { ctx } = this;\n const shift = this.options.legend.indicatorWidth / 2;\n const isHor = this.isHorizontal();\n const values = this.ticks;\n const labelItems = this.getLabelItems();\n const positions = labelItems\n ? labelItems.map((el) => ({ [isHor ? 'x' : 'y']: el.options.translation[isHor ? 0 : 1] }))\n : values.map((_, i) => ({ [isHor ? 'x' : 'y']: this.getPixelForTick(i) }));\n (this._gridLineItems || []).forEach((item) => {\n ctx.save();\n ctx.strokeStyle = item.color;\n ctx.lineWidth = item.width;\n if (ctx.setLineDash) {\n ctx.setLineDash(item.borderDash);\n ctx.lineDashOffset = item.borderDashOffset;\n }\n ctx.beginPath();\n if (this.options.grid.drawTicks) {\n switch (this.options.legend.align) {\n case 'left':\n ctx.moveTo(0, item.ty1);\n ctx.lineTo(shift, item.ty2);\n break;\n case 'top':\n ctx.moveTo(item.tx1, 0);\n ctx.lineTo(item.tx2, shift);\n break;\n case 'bottom':\n ctx.moveTo(item.tx1, shift);\n ctx.lineTo(item.tx2, shift * 2);\n break;\n default:\n ctx.moveTo(shift, item.ty1);\n ctx.lineTo(shift * 2, item.ty2);\n break;\n }\n }\n ctx.stroke();\n ctx.restore();\n });\n if (this._model) {\n const props = this._model;\n ctx.strokeStyle = props.borderColor;\n ctx.lineWidth = props.borderWidth || 0;\n ctx.fillStyle = props.backgroundColor;\n }\n else {\n ctx.fillStyle = 'blue';\n }\n values.forEach((v, i) => {\n const pos = positions[i];\n const radius = this.getSizeForValue(v.value);\n const x = isHor ? pos.x : shift;\n const y = isHor ? shift : pos.y;\n const renderOptions = {\n pointStyle: 'circle',\n borderWidth: 0,\n ...(this._model || {}),\n radius,\n };\n drawPoint(ctx, renderOptions, x, y);\n });\n }\n}\nSizeScale.id = 'size';\nSizeScale.defaults = merge({}, [LinearScale.defaults, baseDefaults, scaleDefaults]);\nSizeScale.descriptors = {\n _scriptable: true,\n _indexable: (name) => name !== 'range',\n};\nclass SizeLogarithmicScale extends LogarithmicLegendScale {\n constructor() {\n super(...arguments);\n this._model = null;\n }\n getSizeForValue(value) {\n const v = this._getNormalizedValue(value);\n if (v == null || Number.isNaN(v)) {\n return this.options.missing;\n }\n return this.getSizeImpl(v);\n }\n getSizeImpl(normalized) {\n return SizeScale.prototype.getSizeImpl.call(this, normalized);\n }\n _drawIndicator() {\n SizeScale.prototype._drawIndicator.call(this);\n }\n}\nSizeLogarithmicScale.id = 'sizeLogarithmic';\nSizeLogarithmicScale.defaults = merge({}, [LogarithmicScale.defaults, baseDefaults, scaleDefaults]);\n\nfunction growGeoBounds(bounds, amount) {\n return [\n [bounds[0][0] - amount, bounds[0][1] - amount],\n [bounds[1][0] + amount, bounds[1][1] + amount],\n ];\n}\nclass GeoFeature extends Element {\n constructor() {\n super(...arguments);\n this.cache = undefined;\n }\n inRange(mouseX, mouseY) {\n const bb = this.getBounds();\n const r = (Number.isNaN(mouseX) || (mouseX >= bb.x && mouseX <= bb.x2)) &&\n (Number.isNaN(mouseY) || (mouseY >= bb.y && mouseY <= bb.y2));\n const projection = this.projectionScale.geoPath.projection();\n if (r && !Number.isNaN(mouseX) && !Number.isNaN(mouseY) && typeof projection.invert === 'function') {\n const longLat = projection.invert([mouseX, mouseY]);\n return longLat != null && geoContains(this.feature, longLat);\n }\n return r;\n }\n inXRange(mouseX) {\n return this.inRange(mouseX, Number.NaN);\n }\n inYRange(mouseY) {\n return this.inRange(Number.NaN, mouseY);\n }\n getCenterPoint() {\n if (this.cache && this.cache.center) {\n return this.cache.center;\n }\n let center;\n if (this.center) {\n const p = this.projectionScale.projection([this.center.longitude, this.center.latitude]);\n center = {\n x: p[0],\n y: p[1],\n };\n }\n else {\n const centroid = this.projectionScale.geoPath.centroid(this.feature);\n center = {\n x: centroid[0],\n y: centroid[1],\n };\n }\n this.cache = { ...(this.cache || {}), center };\n return center;\n }\n getBounds() {\n if (this.cache && this.cache.bounds) {\n return this.cache.bounds;\n }\n const bb = growGeoBounds(this.projectionScale.geoPath.bounds(this.feature), this.options.borderWidth / 2);\n const bounds = {\n x: bb[0][0],\n x2: bb[1][0],\n y: bb[0][1],\n y2: bb[1][1],\n width: bb[1][0] - bb[0][0],\n height: bb[1][1] - bb[0][1],\n };\n this.cache = { ...(this.cache || {}), bounds };\n return bounds;\n }\n _drawInCache(doc) {\n const bounds = this.getBounds();\n if (!Number.isFinite(bounds.x)) {\n return;\n }\n const canvas = this.cache && this.cache.canvas ? this.cache.canvas : doc.createElement('canvas');\n const x1 = Math.floor(bounds.x);\n const y1 = Math.floor(bounds.y);\n const x2 = Math.ceil(bounds.x + bounds.width);\n const y2 = Math.ceil(bounds.y + bounds.height);\n const pixelRatio = this.pixelRatio || 1;\n const width = Math.ceil(Math.max(x2 - x1, 1) * pixelRatio);\n const height = Math.ceil(Math.max(y2 - y1, 1) * pixelRatio);\n if (width <= 0 || height <= 0) {\n return;\n }\n canvas.width = width;\n canvas.height = height;\n const ctx = canvas.getContext('2d');\n if (ctx) {\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.save();\n ctx.scale(pixelRatio, pixelRatio);\n ctx.translate(-x1, -y1);\n this._drawImpl(ctx);\n ctx.restore();\n this.cache = { ...(this.cache || {}), canvas, canvasKey: this._optionsToKey() };\n }\n }\n _optionsToKey() {\n const { options } = this;\n return `${options.backgroundColor};${options.borderColor};${options.borderWidth};${this.pixelRatio}`;\n }\n _drawImpl(ctx) {\n const { feature } = this;\n const { options } = this;\n ctx.beginPath();\n this.projectionScale.geoPath.context(ctx)(feature);\n if (options.backgroundColor) {\n ctx.fillStyle = options.backgroundColor;\n ctx.fill();\n }\n if (options.borderColor) {\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.stroke();\n }\n }\n draw(ctx) {\n const { feature } = this;\n if (!feature) {\n return;\n }\n if (!this.cache || this.cache.canvasKey !== this._optionsToKey()) {\n this._drawInCache(ctx.canvas.ownerDocument);\n }\n const bounds = this.getBounds();\n if (this.cache && this.cache.canvas && this.cache.canvas.width > 0 && this.cache.canvas.height > 0) {\n const x1 = Math.floor(bounds.x);\n const y1 = Math.floor(bounds.y);\n const x2 = Math.ceil(bounds.x + bounds.width);\n const y2 = Math.ceil(bounds.y + bounds.height);\n const width = x2 - x1;\n const height = y2 - y1;\n if (width > 0 && height > 0) {\n ctx.drawImage(this.cache.canvas, x1, y1, x2 - x1, y2 - y1);\n }\n }\n else if (Number.isFinite(bounds.x)) {\n ctx.save();\n this._drawImpl(ctx);\n ctx.restore();\n }\n }\n}\nGeoFeature.id = 'geoFeature';\nGeoFeature.defaults = {\n ...BarElement.defaults,\n outlineBackgroundColor: null,\n outlineBorderWidth: 0,\n graticuleBorderColor: '#CCCCCC',\n graticuleBorderWidth: 0,\n};\nGeoFeature.defaultRoutes = {\n outlineBorderColor: 'borderColor',\n ...(BarElement.defaultRoutes || {}),\n};\n\nconst geoDefaults = {\n showOutline: false,\n showGraticule: false,\n clipMap: true,\n};\nconst geoOverrides = {\n scales: {\n projection: {\n axis: 'x',\n type: ProjectionScale.id,\n position: 'chartArea',\n display: false,\n },\n },\n};\nfunction patchDatasetElementOptions(options) {\n const r = { ...options };\n Object.keys(options).forEach((key) => {\n let targetKey = key;\n if (key.startsWith('outline')) {\n const sub = key.slice('outline'.length);\n targetKey = sub[0].toLowerCase() + sub.slice(1);\n }\n else if (key.startsWith('hoverOutline')) {\n targetKey = `hover${key.slice('hoverOutline'.length)}`;\n }\n else {\n return;\n }\n delete r[key];\n r[targetKey] = options[key];\n });\n return r;\n}\nclass GeoController extends DatasetController {\n getGeoDataset() {\n return super.getDataset();\n }\n getGeoOptions() {\n return this.chart.options;\n }\n getProjectionScale() {\n return this.getScaleForId('projection');\n }\n linkScales() {\n const dataset = this.getGeoDataset();\n const meta = this.getMeta();\n meta.xAxisID = 'projection';\n dataset.xAxisID = 'projection';\n meta.yAxisID = 'projection';\n dataset.yAxisID = 'projection';\n meta.xScale = this.getScaleForId('projection');\n meta.yScale = this.getScaleForId('projection');\n this.getProjectionScale().computeBounds(this.resolveOutline());\n }\n showOutline() {\n return valueOrDefault(this.getGeoDataset().showOutline, this.getGeoOptions().showOutline);\n }\n clipMap() {\n return valueOrDefault(this.getGeoDataset().clipMap, this.getGeoOptions().clipMap);\n }\n getGraticule() {\n return valueOrDefault(this.getGeoDataset().showGraticule, this.getGeoOptions().showGraticule);\n }\n update(mode) {\n super.update(mode);\n const meta = this.getMeta();\n const scale = this.getProjectionScale();\n const dirtyCache = scale.updateBounds();\n if (this.showOutline()) {\n const elem = meta.dataset;\n if (dirtyCache) {\n delete elem.cache;\n }\n elem.projectionScale = scale;\n elem.pixelRatio = this.chart.currentDevicePixelRatio;\n if (mode !== 'resize') {\n const options = patchDatasetElementOptions(this.resolveDatasetElementOptions(mode));\n const properties = {\n feature: this.resolveOutline(),\n options,\n };\n this.updateElement(elem, undefined, properties, mode);\n if (this.getGraticule()) {\n meta.graticule = options;\n }\n }\n }\n else if (this.getGraticule() && mode !== 'resize') {\n meta.graticule = patchDatasetElementOptions(this.resolveDatasetElementOptions(mode));\n }\n this.updateElements(meta.data, 0, meta.data.length, mode);\n if (dirtyCache) {\n meta.data.forEach((elem) => delete elem.cache);\n }\n }\n resolveOutline() {\n const ds = this.getGeoDataset();\n const outline = ds.outline || { type: 'Sphere' };\n if (Array.isArray(outline)) {\n return {\n type: 'FeatureCollection',\n features: outline,\n };\n }\n return outline;\n }\n showGraticule() {\n const g = this.getGraticule();\n const options = this.getMeta().graticule;\n if (!g || !options) {\n return;\n }\n const { ctx } = this.chart;\n const scale = this.getProjectionScale();\n const path = scale.geoPath.context(ctx);\n ctx.save();\n ctx.beginPath();\n if (typeof g === 'boolean') {\n if (g) {\n path(geoGraticule10());\n }\n }\n else {\n const geo = geoGraticule();\n if (g.stepMajor) {\n geo.stepMajor(g.stepMajor);\n }\n if (g.stepMinor) {\n geo.stepMinor(g.stepMinor);\n }\n path(geo());\n }\n ctx.strokeStyle = options.graticuleBorderColor;\n ctx.lineWidth = options.graticuleBorderWidth;\n ctx.stroke();\n ctx.restore();\n }\n draw() {\n const { chart } = this;\n const clipMap = this.clipMap();\n let enabled = false;\n if (clipMap === true || clipMap === 'outline' || clipMap === 'outline+graticule') {\n enabled = true;\n clipArea(chart.ctx, chart.chartArea);\n }\n if (this.showOutline() && this.getMeta().dataset) {\n this.getMeta().dataset.draw.call(this.getMeta().dataset, chart.ctx, chart.chartArea);\n }\n if (clipMap === true || clipMap === 'graticule' || clipMap === 'outline+graticule') {\n if (!enabled) {\n clipArea(chart.ctx, chart.chartArea);\n }\n }\n else if (enabled) {\n enabled = false;\n unclipArea(chart.ctx);\n }\n this.showGraticule();\n if (clipMap === true || clipMap === 'items') {\n if (!enabled) {\n clipArea(chart.ctx, chart.chartArea);\n }\n }\n else if (enabled) {\n enabled = false;\n unclipArea(chart.ctx);\n }\n this.getMeta().data.forEach((elem) => elem.draw.call(elem, chart.ctx, chart.chartArea));\n if (enabled) {\n enabled = false;\n unclipArea(chart.ctx);\n }\n }\n}\n\nfunction patchController(type, config, controller, elements = [], scales = []) {\n registry.addControllers(controller);\n if (Array.isArray(elements)) {\n registry.addElements(...elements);\n }\n else {\n registry.addElements(elements);\n }\n if (Array.isArray(scales)) {\n registry.addScales(...scales);\n }\n else {\n registry.addScales(scales);\n }\n const c = config;\n c.type = type;\n return c;\n}\n\nclass ChoroplethController extends GeoController {\n initialize() {\n super.initialize();\n this.enableOptionSharing = true;\n }\n linkScales() {\n super.linkScales();\n const dataset = this.getGeoDataset();\n const meta = this.getMeta();\n meta.vAxisID = 'color';\n meta.rAxisID = 'color';\n dataset.vAxisID = 'color';\n dataset.rAxisID = 'color';\n meta.rScale = this.getScaleForId('color');\n meta.vScale = meta.rScale;\n meta.iScale = meta.xScale;\n meta.iAxisID = meta.xAxisID;\n dataset.iAxisID = meta.xAxisID;\n }\n _getOtherScale(scale) {\n return scale;\n }\n parse(start, count) {\n const rScale = this.getMeta().rScale;\n const { data } = this.getDataset();\n const meta = this._cachedMeta;\n for (let i = start; i < start + count; i += 1) {\n meta._parsed[i] = {\n [rScale.axis]: rScale.parse(data[i], i),\n };\n }\n }\n updateElements(elems, start, count, mode) {\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const scale = this.getProjectionScale();\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n for (let i = start; i < start + count; i += 1) {\n const elem = elems[i];\n elem.projectionScale = scale;\n elem.feature = this._data[i].feature;\n elem.center = this._data[i].center;\n elem.pixelRatio = this.chart.currentDevicePixelRatio;\n const center = elem.getCenterPoint();\n const properties = {\n x: center.x,\n y: center.y,\n };\n if (includeOptions) {\n properties.options = (sharedOptions || this.resolveDataElementOptions(i, mode));\n }\n this.updateElement(elem, i, properties, mode);\n }\n }\n indexToColor(index) {\n const rScale = this.getMeta().rScale;\n return rScale.getColorForValue(this.getParsed(index)[rScale.axis]);\n }\n}\nChoroplethController.id = 'choropleth';\nChoroplethController.defaults = merge({}, [\n geoDefaults,\n {\n datasetElementType: GeoFeature.id,\n dataElementType: GeoFeature.id,\n },\n]);\nChoroplethController.overrides = merge({}, [\n geoOverrides,\n {\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(item) {\n var _a, _b, _c, _d;\n if (item.formattedValue == null) {\n return (_b = (_a = item.chart.data) === null || _a === void 0 ? void 0 : _a.labels) === null || _b === void 0 ? void 0 : _b[item.dataIndex];\n }\n return `${(_d = (_c = item.chart.data) === null || _c === void 0 ? void 0 : _c.labels) === null || _d === void 0 ? void 0 : _d[item.dataIndex]}: ${item.formattedValue}`;\n },\n },\n },\n colors: {\n enabled: false,\n },\n },\n scales: {\n color: {\n type: ColorScale.id,\n axis: 'x',\n },\n },\n elements: {\n geoFeature: {\n backgroundColor(context) {\n if (context.dataIndex == null) {\n return null;\n }\n const controller = context.chart.getDatasetMeta(context.datasetIndex)\n .controller;\n return controller.indexToColor(context.dataIndex);\n },\n },\n },\n },\n]);\nclass ChoroplethChart extends Chart {\n constructor(item, config) {\n super(item, patchController('choropleth', config, ChoroplethController, GeoFeature, [ColorScale, ProjectionScale]));\n }\n}\nChoroplethChart.id = ChoroplethController.id;\n\nclass BubbleMapController extends GeoController {\n initialize() {\n super.initialize();\n this.enableOptionSharing = true;\n }\n linkScales() {\n super.linkScales();\n const dataset = this.getGeoDataset();\n const meta = this.getMeta();\n meta.vAxisID = 'size';\n meta.rAxisID = 'size';\n dataset.vAxisID = 'size';\n dataset.rAxisID = 'size';\n meta.rScale = this.getScaleForId('size');\n meta.vScale = meta.rScale;\n meta.iScale = meta.xScale;\n meta.iAxisID = meta.xAxisID;\n dataset.iAxisID = meta.xAxisID;\n }\n _getOtherScale(scale) {\n return scale;\n }\n parse(start, count) {\n const rScale = this.getMeta().rScale;\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n for (let i = start; i < start + count; i += 1) {\n const d = data[i];\n meta._parsed[i] = {\n x: d.longitude == null ? d.x : d.longitude,\n y: d.latitude == null ? d.y : d.latitude,\n [rScale.axis]: rScale.parse(d, i),\n };\n }\n }\n updateElements(elems, start, count, mode) {\n const reset = mode === 'reset';\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const scale = this.getProjectionScale();\n this.getMeta().rScale._model = firstOpts;\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n for (let i = start; i < start + count; i += 1) {\n const elem = elems[i];\n const parsed = this.getParsed(i);\n const projection = scale.projection([parsed.x, parsed.y]);\n const properties = {\n x: projection ? projection[0] : 0,\n y: projection ? projection[1] : 0,\n skip: Number.isNaN(parsed.x) || Number.isNaN(parsed.y),\n };\n if (includeOptions) {\n properties.options = (sharedOptions || this.resolveDataElementOptions(i, mode));\n if (reset) {\n properties.options.radius = 0;\n }\n }\n this.updateElement(elem, i, properties, mode);\n }\n }\n indexToRadius(index) {\n const rScale = this.getMeta().rScale;\n return rScale.getSizeForValue(this.getParsed(index)[rScale.axis]);\n }\n}\nBubbleMapController.id = 'bubbleMap';\nBubbleMapController.defaults = merge({}, [\n geoDefaults,\n {\n dataElementType: PointElement.id,\n datasetElementType: GeoFeature.id,\n showOutline: true,\n clipMap: 'outline+graticule',\n },\n]);\nBubbleMapController.overrides = merge({}, [\n geoOverrides,\n {\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(item) {\n var _a, _b, _c, _d;\n if (item.formattedValue == null) {\n return (_b = (_a = item.chart.data) === null || _a === void 0 ? void 0 : _a.labels) === null || _b === void 0 ? void 0 : _b[item.dataIndex];\n }\n return `${(_d = (_c = item.chart.data) === null || _c === void 0 ? void 0 : _c.labels) === null || _d === void 0 ? void 0 : _d[item.dataIndex]}: ${item.formattedValue}`;\n },\n },\n },\n },\n scales: {\n size: {\n axis: 'x',\n type: SizeScale.id,\n },\n },\n elements: {\n point: {\n radius(context) {\n if (context.dataIndex == null) {\n return null;\n }\n const controller = context.chart.getDatasetMeta(context.datasetIndex)\n .controller;\n return controller.indexToRadius(context.dataIndex);\n },\n hoverRadius(context) {\n if (context.dataIndex == null) {\n return null;\n }\n const controller = context.chart.getDatasetMeta(context.datasetIndex)\n .controller;\n return controller.indexToRadius(context.dataIndex) + 1;\n },\n },\n },\n },\n]);\nclass BubbleMapChart extends Chart {\n constructor(item, config) {\n super(item, patchController('bubbleMap', config, BubbleMapController, GeoFeature, [SizeScale, ProjectionScale]));\n }\n}\nBubbleMapChart.id = BubbleMapController.id;\n\nexport { BubbleMapChart, BubbleMapController, ChoroplethChart, ChoroplethController, ColorLogarithmicScale, ColorScale, GeoController, GeoFeature, ProjectionScale, SizeLogarithmicScale, SizeScale };\n//# sourceMappingURL=index.js.map\n","import {epsilon} from \"../math.js\";\nimport albers from \"./albers.js\";\nimport conicEqualArea from \"./conicEqualArea.js\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit.js\";\n\n// The projections must have mutually exclusive clip regions on the sphere,\n// as this will avoid emitting interleaving lines and polygons.\nfunction multiplex(streams) {\n var n = streams.length;\n return {\n point: function(x, y) { var i = -1; while (++i < n) streams[i].point(x, y); },\n sphere: function() { var i = -1; while (++i < n) streams[i].sphere(); },\n lineStart: function() { var i = -1; while (++i < n) streams[i].lineStart(); },\n lineEnd: function() { var i = -1; while (++i < n) streams[i].lineEnd(); },\n polygonStart: function() { var i = -1; while (++i < n) streams[i].polygonStart(); },\n polygonEnd: function() { var i = -1; while (++i < n) streams[i].polygonEnd(); }\n };\n}\n\n// A composite projection for the United States, configured by default for\n// 960×500. The projection also works quite well at 960×600 if you change the\n// scale to 1285 and adjust the translate accordingly. The set of standard\n// parallels for each region comes from USGS, which is published here:\n// http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html#albers\nexport default function() {\n var cache,\n cacheStream,\n lower48 = albers(), lower48Point,\n alaska = conicEqualArea().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), alaskaPoint, // EPSG:3338\n hawaii = conicEqualArea().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), hawaiiPoint, // ESRI:102007\n point, pointStream = {point: function(x, y) { point = [x, y]; }};\n\n function albersUsa(coordinates) {\n var x = coordinates[0], y = coordinates[1];\n return point = null,\n (lower48Point.point(x, y), point)\n || (alaskaPoint.point(x, y), point)\n || (hawaiiPoint.point(x, y), point);\n }\n\n albersUsa.invert = function(coordinates) {\n var k = lower48.scale(),\n t = lower48.translate(),\n x = (coordinates[0] - t[0]) / k,\n y = (coordinates[1] - t[1]) / k;\n return (y >= 0.120 && y < 0.234 && x >= -0.425 && x < -0.214 ? alaska\n : y >= 0.166 && y < 0.234 && x >= -0.214 && x < -0.115 ? hawaii\n : lower48).invert(coordinates);\n };\n\n albersUsa.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = multiplex([lower48.stream(cacheStream = stream), alaska.stream(stream), hawaii.stream(stream)]);\n };\n\n albersUsa.precision = function(_) {\n if (!arguments.length) return lower48.precision();\n lower48.precision(_), alaska.precision(_), hawaii.precision(_);\n return reset();\n };\n\n albersUsa.scale = function(_) {\n if (!arguments.length) return lower48.scale();\n lower48.scale(_), alaska.scale(_ * 0.35), hawaii.scale(_);\n return albersUsa.translate(lower48.translate());\n };\n\n albersUsa.translate = function(_) {\n if (!arguments.length) return lower48.translate();\n var k = lower48.scale(), x = +_[0], y = +_[1];\n\n lower48Point = lower48\n .translate(_)\n .clipExtent([[x - 0.455 * k, y - 0.238 * k], [x + 0.455 * k, y + 0.238 * k]])\n .stream(pointStream);\n\n alaskaPoint = alaska\n .translate([x - 0.307 * k, y + 0.201 * k])\n .clipExtent([[x - 0.425 * k + epsilon, y + 0.120 * k + epsilon], [x - 0.214 * k - epsilon, y + 0.234 * k - epsilon]])\n .stream(pointStream);\n\n hawaiiPoint = hawaii\n .translate([x - 0.205 * k, y + 0.212 * k])\n .clipExtent([[x - 0.214 * k + epsilon, y + 0.166 * k + epsilon], [x - 0.115 * k - epsilon, y + 0.234 * k - epsilon]])\n .stream(pointStream);\n\n return reset();\n };\n\n albersUsa.fitExtent = function(extent, object) {\n return fitExtent(albersUsa, extent, object);\n };\n\n albersUsa.fitSize = function(size, object) {\n return fitSize(albersUsa, size, object);\n };\n\n albersUsa.fitWidth = function(width, object) {\n return fitWidth(albersUsa, width, object);\n };\n\n albersUsa.fitHeight = function(height, object) {\n return fitHeight(albersUsa, height, object);\n };\n\n function reset() {\n cache = cacheStream = null;\n return albersUsa;\n }\n\n return albersUsa.scale(1070);\n}\n","export default function(t) {\n t = Math.max(0, Math.min(1, t));\n return \"rgb(\"\n + Math.max(0, Math.min(255, Math.round(-4.54 - t * (35.34 - t * (2381.73 - t * (6402.7 - t * (7024.72 - t * 2710.57))))))) + \", \"\n + Math.max(0, Math.min(255, Math.round(32.49 + t * (170.73 + t * (52.82 - t * (131.46 - t * (176.58 - t * 67.37))))))) + \", \"\n + Math.max(0, Math.min(255, Math.round(81.24 + t * (442.36 - t * (2482.43 - t * (6167.24 - t * (6614.94 - t * 2475.67)))))))\n + \")\";\n}\n","export default function(t) {\n t = Math.max(0, Math.min(1, t));\n return \"rgb(\"\n + Math.max(0, Math.min(255, Math.round(34.61 + t * (1172.33 - t * (10793.56 - t * (33300.12 - t * (38394.49 - t * 14825.05))))))) + \", \"\n + Math.max(0, Math.min(255, Math.round(23.31 + t * (557.33 + t * (1225.33 - t * (3574.96 - t * (1073.77 + t * 707.56))))))) + \", \"\n + Math.max(0, Math.min(255, Math.round(27.2 + t * (3211.1 - t * (15327.97 - t * (27814 - t * (22569.18 - t * 6838.66)))))))\n + \")\";\n}\n"],"names":["module","exports","polyfill","w","window","d","document","documentElement","style","__forceSmoothScrollPolyfill__","userAgent","Element","HTMLElement","SCROLL_TIME","original","scroll","scrollTo","scrollBy","elementScroll","prototype","scrollElement","scrollIntoView","now","performance","bind","Date","ROUNDING_TOLERANCE","navigator","RegExp","join","test","undefined","arguments","shouldBailOut","smoothScroll","call","body","left","scrollX","pageXOffset","top","scrollY","pageYOffset","this","scrollLeft","scrollTop","SyntaxError","behavior","scrollableParent","el","isScrollable","parentNode","host","findScrollableParent","parentRects","getBoundingClientRect","clientRects","getComputedStyle","position","x","y","firstArg","TypeError","hasScrollableSpace","axis","clientHeight","scrollHeight","clientWidth","scrollWidth","canOverflow","overflowValue","isScrollableY","isScrollableX","step","context","value","currentX","currentY","k","elapsed","startTime","Math","cos","PI","startX","startY","method","scrollable","requestAnimationFrame","e","i","preview","presentation","caption","name","size","file","n","default","tagName","parse","quote","nestable","heading1","terminal","breakOnReturn","group","code","htmlAttributes","text","plaintext","bulletList","bullet","listAttribute","t","r","numberList","number","attachmentGallery","exclusive","toLowerCase","o","match","s","parseInt","a","composesExistingText","recentAndroid","samsungAndroid","forcesObjectResizing","supportsInputEvents","InputEvent","every","l","attachFiles","bold","bullets","byte","bytes","captionPlaceholder","indent","italic","link","numbers","outdent","redo","remove","strike","undo","unlink","url","urlPlaceholder","GB","KB","MB","PB","TB","c","u","prefix","precision","formatter","concat","floor","log","pow","toFixed","replace","h","g","m","p","matches","f","onElement","matchingSelector","withCallback","inPhase","preventDefault","times","length","destroy","A","target","removeEventListener","addEventListener","b","bubbles","cancelable","attributes","createEvent","initEvent","dispatchEvent","v","nodeType","untilNode","Node","ELEMENT_NODE","closest","activeElement","C","previousSibling","E","removeChild","S","onlyNodesOfType","usingFilter","expandEntityReferences","NodeFilter","SHOW_ELEMENT","SHOW_TEXT","SHOW_COMMENT","SHOW_ALL","createTreeWalker","R","createElement","editable","contenteditable","setAttribute","data","dataset","className","split","forEach","classList","add","textContent","childNodes","appendChild","T","push","L","N","firstChild","D","strict","includes","I","COMMENT_NODE","O","M","trixCursorTarget","P","F","TEXT_NODE","B","level2Enabled","getLevel","pickFiles","type","multiple","hidden","id","fileInputId","files","getElementById","click","_","removeBlankTableCells","tableCellSeparator","tableRowSeparator","j","inheritable","parser","fontWeight","fontStyle","href","groupTagName","getAttribute","frozen","backgroundColor","W","getDefaultHTML","U","interval","V","Object","freeze","__proto__","attachments","blockAttributes","browser","css","attachment","attachmentCaption","attachmentCaptionEditor","attachmentMetadata","attachmentMetadataContainer","attachmentName","attachmentProgress","attachmentSize","attachmentToolbar","fileSize","input","keyNames","lang","textAttributes","toolbar","q","proxyMethod","toMethod","toProperty","optional","H","z","J","Error","apply","Function","K","G","Y","$","box","fromUCS2String","toString","tt","fromCodepoints","et","constructor","super","ucs2String","codepoints","ucs2Length","offsetToUCS2Offset","slice","max","offsetFromUCS2Offset","charAt","isEqualTo","toJSON","getCacheKey","X","Array","from","Z","codePointAt","Q","String","fromCodePoint","map","charCodeAt","fromCharCode","it","nt","fromJSONString","fromJSON","JSON","hasSameConstructorAs","inspect","contentsForInspection","toJSONString","stringify","toUTF16String","rt","ot","splice","st","at","dir","dirName","FormData","has","get","trim","lt","ct","ut","ht","dt","ft","mt","gt","keys","pt","bt","vt","At","head","insertBefore","yt","nonce","content","querySelector","xt","Ct","getData","DOMParser","parseFromString","Et","platform","metaKey","ctrlKey","St","setTimeout","Rt","kt","Tt","isArray","Dt","wt","Nt","Lt","It","update","selectionManagers","start","started","stop","registerSelectionManager","unregisterSelectionManager","filter","notifySelectionManagersOfSelectionChange","selectionDidChange","reset","Ot","Pt","getSelection","rangeCount","Ft","getRangeAt","Bt","Mt","removeAllRanges","addRange","_t","startContainer","endContainer","getPrototypeOf","jt","Wt","Ut","source","Vt","qt","utf16String","offset","Ht","fromCommonAttributesOfObjects","Gt","getKeys","getKeysCommonToHash","values","Kt","merge","zt","Jt","Yt","toArray","isEmpty","array","toObject","sort","$t","groupObjects","depth","asTree","canBeGrouped","canBeGroupedWith","objects","getObjects","getDepth","Xt","find","Zt","Qt","elements","trixStoreKey","te","isPerforming","performing","hasPerformed","performed","hasSucceeded","succeeded","hasFailed","getPromise","promise","Promise","perform","release","cancel","ee","object","options","childViews","rootView","getNodes","nodes","createNodes","cloneNode","invalidate","parentView","invalidateViewForObject","findViewForObject","findOrCreateCachedChildView","getCachedViewForObject","recordChildView","createChildView","cacheViewForObject","viewClass","ie","getAllChildViews","findElement","findElementForObject","element","getViewCache","isViewCachingEnabled","viewCache","shouldCacheViews","enableViewCaching","disableViewCaching","garbageCollectCachedViews","objectGroup","getChildViews","createContainerElement","entries","ne","setPrototypeOf","re","isFrozen","oe","se","getOwnPropertyDescriptor","ae","le","seal","ce","create","ue","he","construct","de","Reflect","ge","ke","me","pop","pe","fe","be","ve","Ae","ye","indexOf","xe","Ce","hasOwnProperty","Ee","Se","Re","Te","we","Le","De","Ne","Ie","Oe","Pe","Fe","Me","Be","_e","je","We","Ue","Ve","qe","He","ze","Je","Ke","Ge","Ye","$e","Xe","Ze","ARIA_ATTR","ATTR_WHITESPACE","CUSTOM_ELEMENT","DATA_ATTR","DOCTYPE_NAME","ERB_EXPR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","MUSTACHE_EXPR","TMPLIT_EXPR","oi","version","removed","isSupported","currentScript","DocumentFragment","HTMLTemplateElement","NamedNodeMap","MozNamedAttrMap","HTMLFormElement","trustedTypes","ownerDocument","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","createHTMLDocument","tagNameCheck","writable","configurable","enumerable","attributeNameCheck","allowCustomizedBuiltInElements","PARSER_MEDIA_TYPE","ALLOWED_TAGS","ALLOWED_ATTR","ALLOWED_NAMESPACES","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","FORBID_CONTENTS","FORBID_TAGS","FORBID_ATTR","USE_PROFILES","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","FORCE_BODY","SANITIZE_DOM","SANITIZE_NAMED_PROPS","KEEP_CONTENT","IN_PLACE","ALLOWED_URI_REGEXP","NAMESPACE","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","CUSTOM_ELEMENT_HANDLING","html","svg","svgFilters","mathMl","ADD_TAGS","ADD_ATTR","table","tbody","TRUSTED_TYPES_POLICY","createHTML","createScriptURL","createPolicy","hasAttribute","console","warn","attribute","getAttributeNode","removeAttribute","createDocument","innerHTML","createTextNode","SHOW_PROCESSING_INSTRUCTION","SHOW_CDATA_SECTION","nodeName","namespaceURI","hasChildNodes","allowedTags","firstElementChild","__removalCount","Boolean","attrName","attrValue","keepAttr","allowedAttributes","forceKeepAttr","getAttributeType","setAttributeNS","nextNode","sanitize","shadowroot","shadowrootmode","outerHTML","doctype","setConfig","clearConfig","isValidAttribute","addHook","removeHook","removeHooks","removeAllHooks","si","ai","li","ci","setHTML","getHTML","forbiddenProtocols","forbiddenElements","ui","sanitizeElements","normalizeListElementNesting","getBody","currentNode","elementIsRemovable","sanitizeElement","protocol","querySelectorAll","previousElementSibling","elementIsForbidden","elementIsntSerializable","hi","di","uploadProgressDelegate","attachmentPiece","piece","createContentNodes","getClassName","getHref","tabindex","hasContent","getContent","createCaptionElement","isPending","progressElement","class","getUploadProgress","trixMutable","gi","getCaption","getCaptionConfig","getFilename","getFormattedFilesize","getType","getExtension","trixAttachment","trixContentType","getContentType","trixId","trixAttributes","trixSerialize","mi","findProgressElement","attachmentDidChangeUploadProgress","pi","previewDelegate","image","src","refresh","updateAttributesForImage","getURL","getPreviewURL","getWidth","getHeight","width","height","attachmentDidChangeAttributes","fi","getAttributes","textConfig","string","createAttachmentNodes","createStringNodes","isPreviewable","preserveSpaces","styleProperty","isLast","isFirst","followsWhitespace","bi","getPieces","vi","Ai","yi","block","createComment","getLastAttribute","shouldAddExtraNewlineElement","isRTL","assign","getBlockBreakPosition","xi","render","sync","elementStore","setDocument","shadowElement","getBlocks","isSynced","Ei","createDocumentFragmentForSync","lastChild","didSync","Ci","replaceChild","Si","Ri","ki","resolve","then","done","reject","next","key","arg","_invoke","return","Ti","Symbol","toPrimitive","Number","wi","defineProperty","Li","Ii","Ni","Di","set","Oi","Pi","Fi","Mi","asyncIterator","throw","Bi","registerType","types","copyWithAttributes","getValue","copyWithAdditionalAttributes","copyWithoutAttribute","copy","getAttributesHash","hasSameStringValueAsPiece","hasSameAttributesAsPiece","isBlockBreak","isSerializable","getLength","canBeConsolidatedWith","_i","Image","onload","naturalWidth","naturalHeight","onerror","ji","attachmentForFile","attributesForFile","setFile","filename","filesize","contentType","releaseFile","didChangeAttributes","setAttributes","delegate","preloadURL","previewablePattern","getFilesize","getFile","preloadFile","releasePreloadedFile","uploadProgress","setUploadProgress","previewURL","preloadingURL","setPreviewURL","attachmentDidChangePreviewURL","preload","fileObjectURL","URL","createObjectURL","revokeObjectURL","catch","Wi","ensureAttachmentExclusivelyHasAttribute","removeProhibitedAttributes","permittedAttributes","toConsole","Ui","consolidateWith","splitAtOffset","Vi","eachObject","insertObjectAtIndex","insertSplittableListAtIndex","insertSplittableListAtPosition","splitObjectAtPosition","editObjectAtIndex","replaceObjectAtIndex","removeObjectAtIndex","getObjectAtIndex","getSplittableListInRange","splitObjectsAtRange","selectSplittableList","removeObjectsInRange","transformObjectsInRange","Hi","zi","getObjectAtPosition","index","findIndexAndOffsetAtPosition","consolidate","consolidateFromIndexToIndex","findPositionAtIndexAndOffset","getEndPosition","endPosition","qi","Ji","textForAttachmentWithAttributes","textForStringWithAttributes","pieceList","copyWithPieceList","copyUsingObjectMap","appendText","insertTextAtPosition","removeTextAtRange","replaceTextAtRange","moveTextFromRangeToPosition","getTextAtRange","addAttributeAtRange","addAttributesAtRange","removeAttributeAtRange","setAttributesAtRange","getAttributesAtPosition","getCommonAttributes","getCommonAttributesAtRange","getExpandedRangeForAttributeAtOffset","getStringAtRange","getStringAtPosition","startsWithString","endsWithString","getAttachmentPieces","getAttachments","getAttachmentAndPositionById","getAttachmentById","getRangeOfAttachment","updateAttributesForAttachment","eachPiece","getPieceAtPosition","toSerializableText","getDirection","Ki","Gi","copyWithText","copyWithoutText","copyWithoutAttributes","addAttribute","tn","addHTMLAttribute","nn","removeLastAttribute","en","getAttributeLevel","getAttributeAtLevel","hasAttributes","getLastNestableAttribute","getNestableAttributes","getNestingLevel","decreaseNestingLevel","increaseNestingLevel","lastIndexOf","getListItemAttributes","isListItem","isTerminalBlock","breaksOnReturn","findLineBreakInDirectionFromPosition","getTextWithoutBlockBreak","Zi","Yi","Xi","Qi","$i","blockBreak","rn","fromString","blockList","getBlockAtIndex","consolidateBlocks","copyUsingObjectsFromDocument","copyWithBaseBlockAttributes","replaceBlock","insertDocumentAtRange","locationFromPosition","getBlockAtPosition","mergeDocumentAtRange","getBaseBlockAttributes","getBlockCount","insertTextAtRange","locationRangeFromRange","getDocumentAtRange","eachBlockAtRange","eachBlock","getTextAtIndex","removeAttributeForAttachment","setHTMLAttributeAtPosition","insertBlockBreakAtRange","applyBlockAttributeAtRange","expandRangeToLineBreaksAndSplitBlocks","range","removeLastListAttributeAtRange","exceptAttributeName","convertLineBreaksToBlockBreaksInRange","removeBlockAttributesAtRange","removeLastTerminalAttributeAtRange","consolidateBlocksAtRange","positionFromLocation","getTextAtPosition","getCharacterAtPosition","getEditCount","editCount","getCommonAttributesAtPosition","on","getRangeOfCommonAttributeAtPosition","min","getLocationRangeOfAttachment","getAttachmentPieceForAttachment","findRangesForBlockAttribute","findRangesForTextAttribute","withValue","locationRangeFromPosition","rangeFromLocationRange","getTexts","toSerializableDocument","sn","an","ln","referenceElement","blocks","blockElements","processedElements","getDocument","createHiddenContainer","containerElement","dn","processNode","translateBlockElementMarginsToNewlines","removeHiddenContainer","display","nextSibling","isInsignificantTextNode","appendBlockForTextNode","processTextNode","appendBlockForElement","processElement","currentBlockElement","isBlockElement","appendStringWithAttributes","getBlockAttributes","getBlockHTMLAttributes","currentBlock","appendBlockForAttributesWithElement","findParentBlockElement","appendEmptyBlock","parentElement","cn","pn","gn","getTextAttributes","appendAttachmentWithAttributes","isExtraBR","needsTableSeparator","appendPiece","appendStringToTextAtIndex","prependStringToTextAtIndex","unshift","findBlockElementAncestors","reverse","mn","un","getMarginOfDefaultBlockElement","getMarginOfBlockElementAtIndex","bottom","hn","whiteSpace","marginTop","marginBottom","FILTER_REJECT","FILTER_ACCEPT","fn","bn","vn","An","yn","xn","Cn","attachmentManager","requestRemovalOfAttachment","En","managedAttachments","manageAttachment","attachmentIsManaged","attachmentManagerDidRequestRemovalOfAttachment","unmanageAttachment","Sn","composition","getSelectedRange","startPosition","startLocation","endLocation","previousCharacter","nextCharacter","shouldInsertBlockBreak","shouldBreakFormattedBlock","shouldDecreaseListLevel","shouldPrependListItem","shouldRemoveLastBlockAttribute","Rn","currentAttributes","revision","refreshAttachments","compositionDidChangeDocument","getSnapshot","selectedRange","loadSnapshot","compositionWillLoadSnapshot","setSelection","compositionDidLoadSnapshot","insertText","updatePosition","notifyDelegateOfInsertionAtRange","insertBlock","insertDocument","insertString","getCurrentTextAttributes","insertBlockBreak","insertLineBreak","decreaseListLevel","removeLastBlockAttribute","breakFormattedBlock","insertHTML","replaceHTML","getLocationRange","insertFile","insertFiles","compositionShouldAcceptFile","insertAttachments","insertAttachment","shouldManageDeletingInDirection","shouldManageMovingCursorInDirection","deleteInDirection","canDecreaseBlockAttributeLevel","getBlock","decreaseBlockAttributeLevel","getExpandedRangeInDirection","getAttachmentAtRange","editAttachment","moveTextFromRange","removeAttachment","stopEditingAttachment","removeCurrentAttribute","insertPlaceholder","placeholderPosition","getPosition","selectPlaceholder","setSelectedRange","forgetPlaceholder","hasCurrentAttribute","toggleCurrentAttribute","setCurrentAttribute","canSetCurrentAttribute","canSetCurrentBlockAttribute","canSetCurrentTextAttribute","getSelectedDocument","setBlockAttribute","setTextAttribute","notifyDelegateOfCurrentAttributesChange","setHTMLAtributeAtPosition","removeBlockAttribute","updateCurrentAttributes","removeTextAttribute","canDecreaseNestingLevel","canIncreaseNestingLevel","getPreviousBlock","ignoreLock","getCurrentAttributes","freezeSelection","thawSelection","hasFrozenSelection","compositionDidRequestChangingSelectionToLocationRange","getSelectionManager","setLocationRange","targetLocationRange","withTargetLocationRange","withTargetRange","withTargetDOMRange","createLocationRangeFromDOMRange","translateUTF16PositionFromOffset","editingAttachment","moveCursorInDirection","expandSelectionInDirection","expandSelectionForEditing","expandSelectionAroundCommonAttribute","selectionContainsAttachments","getSelectedAttachments","selectionIsInCursorTarget","positionIsCursorTarget","locationIsCursorTarget","positionIsBlockBreak","added","Set","compositionDidRemoveAttachment","compositionDidAddAttachment","compositionDidEditAttachment","compositionDidChangeAttachmentPreviewURL","compositionDidStartEditingAttachment","compositionDidStopEditingAttachment","compositionDidChangeCurrentAttributes","compositionDidPerformInsertionAtRange","kn","undoEntries","redoEntries","recordUndoEntry","consolidatable","Tn","createEntry","description","snapshot","canUndo","canRedo","wn","Ln","applyBlockAttribute","findRangesOfBlocks","findRangesOfPieces","moveSelectedRangeForward","Dn","Nn","In","selectionManager","undoManager","filters","loadDocument","loadHTML","loadJSON","getClientRectAtPosition","getClientRectAtLocationRange","activateAttribute","attributeIsActive","canActivateAttribute","deactivateAttribute","On","findLocationFromContainerAndOffset","findAttachmentElementParentForNode","Bn","Pn","findContainerAndOffsetFromLocation","findNodeAndOffsetFromLocation","getSignificantNodesForIndex","Fn","Mn","_n","createDOMRangeFromPoint","caretPositionFromPoint","offsetNode","createRange","setStart","caretRangeFromPoint","createTextRange","moveToPoint","select","getClientRectsForDOMRange","getClientRects","jn","didMouseDown","locationMapper","pointMapper","lockCount","currentLocationRange","lockedLocationRange","createDOMRangeFromLocationRange","updateCurrentLocationRange","setLocationRangeFromPointRange","getLocationAtPoint","lock","unlock","clearSelection","selectionIsCollapsed","collapsed","selectionIsExpanded","domRangeWithinElement","startOffset","endOffset","pauseTemporarily","paused","clearTimeout","locationRangeDidChange","setEnd","Wn","Attachment","AttachmentManager","AttachmentPiece","Block","Composition","Document","Editor","HTMLParser","HTMLSanitizer","LineBreakInsertion","LocationMapper","ManagedAttachment","Piece","PointMapper","SelectionManager","SplittableList","StringPiece","Text","UndoManager","Un","ObjectView","AttachmentView","BlockView","DocumentView","PieceView","PreviewableAttachmentView","TextView","Vn","qn","Hn","zn","do","undos","Jn","title","trixAction","didClickToolbar","didClickActionButton","placeholder","tabIndex","didInputCaption","didKeyDownCaption","didChangeCaption","didBlurCaption","editCaption","focus","container","install","makeElementMutable","addToolbar","installCaptionEditor","uninstall","savePendingCaption","didUninstallAttachmentEditor","pendingCaption","attachmentEditorDidRequestUpdatingAttributesForAttachment","attachmentEditorDidRequestRemovingAttributeForAttachment","stopPropagation","attachmentEditorDidRequestRemovalOfAttachment","keyCode","attachmentEditorDidRequestDeselectingAttachment","Kn","didFocus","didBlur","didClickAttachment","documentView","focused","compositionControllerDidFocus","blurPromise","compositionControllerDidBlur","findAttachmentForElement","compositionControllerDidSelectAttachment","getSerializableElement","isEditingAttachment","canSyncDocumentView","compositionControllerWillSyncDocumentView","compositionControllerDidSyncDocumentView","compositionControllerDidRender","rerenderViewForObject","refreshViewCache","attachmentEditor","installAttachmentEditorForAttachment","uninstallAttachmentEditor","compositionControllerWillUpdateAttachment","compositionControllerDidRequestRemovalOfAttachment","compositionControllerDidRequestDeselectingAttachment","Gn","Yn","$n","Xn","childList","characterData","characterDataOldValue","subtree","Zn","didMutate","observer","MutationObserver","observe","disconnect","mutations","findSignificantMutations","elementDidMutate","getMutationSummary","mutationIsSignificant","nodeIsMutable","nodesModifiedByMutation","nodeIsSignificant","attributeName","addedNodes","removedNodes","getTextMutationSummary","additions","deletions","getTextChangesFromCharacterData","getTextChangesFromChildList","textAdded","textDeleted","getMutationsByType","Qn","oldValue","tr","FileReader","abort","readAsArrayBuffer","er","shouldIgnore","previousEvent","event","checkSamsungKeyboardBuggyModeStart","checkSamsungKeyboardBuggyModeEnd","buggyMode","insertingLongTextAfterUnidentifiedChar","ir","innerText","inputType","isBeforeInputInsertText","previousEventWasUnidentifiedKeydown","rr","nr","or","mutationObserver","flakyKeyboardDetector","events","handlerFor","editorWillSyncDocumentView","editorDidSyncDocumentView","requestRender","inputControllerDidRequestRender","requestReparse","inputControllerDidRequestReparse","all","handleInput","inputControllerWillAttachFiles","responder","defaultPrevented","eventName","inputControllerWillHandleInput","inputControllerDidHandleInput","createLinkHTML","sr","ar","lr","cr","ur","resetInputSummary","setInputSummary","inputSummary","isComposing","inputControllerDidAllowUnhandledInput","mutationIsExpected","preferDocument","didDelete","compositionInput","getEndData","getCompositionInput","pr","isEnded","serializeSelectionToDataTransfer","setData","canAcceptDataTransfer","Files","getPastedHTMLUsingHiddenElement","opacity","keydown","didInput","keyName","inputControllerDidReceiveKeyboardCommand","keypress","altKey","gr","inputControllerWillPerformTyping","textInput","toUpperCase","dragenter","dragstart","dataTransfer","draggedRange","inputControllerDidStartDrag","dragover","clientX","clientY","draggingPoint","inputControllerDidReceiveDragOverPoint","dragend","inputControllerDidCancelDrag","drop","inputControllerWillMoveText","cut","clipboardData","inputControllerWillCutText","paste","testClipboardData","clipboard","mr","inputControllerWillPaste","inputControllerDidPaste","items","getAsFile","hr","compositionstart","compositionupdate","compositionend","end","beforeinput","backspace","tab","right","control","shift","alt","meta","dr","which","charCode","inputController","isSignificant","canApplyToDocument","fr","scheduledRender","composing","reparse","scheduleRender","cancelAnimationFrame","afterRender","toggleAttributeIfSupported","inputControllerWillPerformFormatting","activateAttributeIfSupported","getTargetDOMRange","minLength","getTargetRanges","br","withEvent","Cr","shiftKey","yr","xr","inputTypes","dragging","point","Er","vr","ArrowLeft","ArrowRight","Backspace","Tab","deleteByComposition","deleteByCut","deleteByDrag","deleteByDragRange","deleteCompositionText","deleteContent","deleteContentBackward","deleteContentForward","deleteEntireSoftLine","deleteHardLineBackward","deleteHardLineForward","deleteSoftLineBackward","deleteSoftLineForward","deleteWordBackward","deleteWordForward","formatBackColor","formatBold","formatFontColor","formatFontName","formatIndent","formatItalic","formatJustifyCenter","formatJustifyFull","formatJustifyLeft","formatJustifyRight","formatOutdent","formatRemove","formatSetBlockTextDirection","formatSetInlineTextDirection","formatStrikeThrough","formatSubscript","formatSuperscript","formatUnderline","historyRedo","inputControllerWillPerformRedo","historyUndo","inputControllerWillPerformUndo","insertCompositionText","insertFromComposition","insertFromDrop","insertFromPaste","Ar","insertFromYank","insertLink","insertOrderedList","insertParagraph","insertReplacementText","insertTranspose","insertUnorderedList","Sr","Rr","kr","Tr","wr","Lr","Dr","Nr","Or","Ir","Pr","didClickAttributeButton","didClickDialogButton","didKeyDownDialogInput","actions","resetDialogInputs","toolbarDidClickButton","getDialog","toggleDialog","toolbarDidInvokeAction","toolbarDidToggleAttribute","refreshAttributeButtons","hideDialog","updateActions","refreshActionButtons","eachActionButton","disabled","updateAttributes","eachAttributeButton","dialogIsVisible","applyKeyboardCommand","showDialog","toolbarWillShowDialog","toolbarDidShowDialog","willValidate","checkValidity","toolbarDidUpdateAttribute","toolbarDidRemoveAttribute","toolbarDidHideDialog","Fr","editorElement","compositionController","toolbarController","toolbarElement","editor","notifyEditorElement","handlingInput","updateCurrentActions","pasting","pastedRange","attachmentLocationRange","loadingSnapshot","isFocused","requestedLocationRange","compositionRevisionWhenLocationRangeRequested","renderedCompositionRevision","runEditorFilters","isFocusedInvisibly","requestedRender","recordTypingUndoEntry","recordFormattingUndoEntry","locationRangeBeforeDrag","invokeAction","selectionFrozen","dialogName","canInvokeAction","actionIsExternal","actionName","invokingElement","getCurrentActions","currentActions","updateInputElement","setFormValue","documentChangedSinceLastRender","notify","getUndoContext","getLocationContext","getTimeContext","getTime","Mr","AttachmentEditorController","CompositionController","Controller","EditorController","InputController","Level0InputController","Level2InputController","ToolbarController","Br","SelectionChangeObserver","_r","FileVerificationOperation","ImagePreloadOperation","jr","connectedCallback","Wr","Vr","qr","Hr","queryCommandSupported","execCommand","zr","Jr","WeakMap","Kr","WeakSet","Gr","attachInternals","Yr","disconnectedCallback","labels","inputElement","toggleAttribute","required","validity","validationMessage","reportValidity","setCustomValidity","setValidity","valueMissing","customError","$r","Xr","Zr","Qr","form","contains","to","eo","formAssociated","localName","nextElementSibling","editorController","defaultValue","Ur","formDisabledCallback","formResetCallback","io","VERSION","config","core","models","views","controllers","observers","operations","TrixEditorElement","TrixToolbarElement","Filter","attachmentGalleryFilter","Trix","customElements","define","globalThis","global","self","activestorage","sparkMd5","factory","undefined$1","hex_chr","md5cycle","md5blk","md5blks","md5blk_array","md51","tail","tmp","lo","state","substring","md51_array","subarray","Uint8Array","rhex","hex","toUtf8","str","unescape","encodeURIComponent","utf8Str2ArrayBuffer","returnUInt8Array","buff","ArrayBuffer","arr","arrayBuffer2Utf8Str","concatenateArrayBuffers","first","second","result","byteLength","buffer","hexToBinaryString","substr","SparkMD5","clamp","val","num","targetArray","sourceArray","begin","append","appendBinary","contents","_buff","_length","_hash","raw","ret","_finish","getState","hash","setState","hashBinary","fileSlice","File","mozSlice","webkitSlice","FileChecksum","callback","chunkSize","chunkCount","ceil","chunkIndex","md5Buffer","fileReader","fileReaderDidLoad","fileReaderDidError","readNextChunk","binaryDigest","base64digest","btoa","getMetaValue","findElements","root","selector","eventInit","detail","BlobRecord","checksum","content_type","byte_size","xhr","XMLHttpRequest","open","responseType","setRequestHeader","csrfToken","requestDidLoad","requestDidError","status","response","send","blob","direct_upload","directUploadData","BlobUpload","headers","DirectUpload","error","upload","methodName","messages","DirectUploadController","directUpload","dispatch","hiddenInput","insertAdjacentElement","dispatchError","signed_id","uploadRequestDidProgress","progress","loaded","total","alert","directUploadWillCreateBlobWithXHR","directUploadWillStoreFileWithXHR","inputSelector","DirectUploadsController","inputs","createDirectUploadControllers","startNextController","controller","processingAttribute","submitButtonsByForm","didClick","didSubmitForm","didSubmitRemoteElement","handleFormSubmissionEvent","disable","enable","submitForm","button","delete","autostart","ActiveStorage","AttachmentUpload","directUploadUrl","directUploadDidComplete","sgid","attachable_sgid","createBlobUrl","signedId","blobUrlTemplate","epsilon","epsilon2","halfPi","quarterPi","tau","abs","atan","atan2","exp","hypot","sin","sign","sqrt","tan","acos","asin","azimuthalRaw","scale","cx","cy","Infinity","azimuthalInvert","angle","sc","cc","noop","line","lines","lineStart","lineEnd","rejoin","Intersection","points","other","entry","segments","compareIntersection","startInside","interpolate","stream","subject","clip","segment","p0","p1","pointEqual","current","isSubject","Adder","_partials","Float64Array","valueOf","spherical","cartesian","lambda","phi","cosPhi","cartesianDot","cartesianCross","cartesianAddInPlace","cartesianScale","vector","cartesianNormalizeInPlace","longitude","polygon","sinPhi","normal","winding","sum","ring","point0","lambda0","phi0","sinPhi0","cosPhi0","lambda1","sinPhi1","cosPhi1","point1","phi1","delta","absDelta","antimeridian","arc","intersection","phiArc","arrays","flatten","pointVisible","clipLine","sink","ringBuffer","ringSink","polygonStarted","polygonStart","pointRing","ringStart","ringEnd","polygonEnd","polygonContains","sphere","pointLine","clean","ringSegments","validSegment","NaN","sign0","sign1","sinLambda0Lambda1","clipAntimeridianIntersect","direction","circleStream","radius","t0","t1","cosRadius","sinRadius","circleRadius","clipMax","clipMin","clipRectangle","x0","y0","x1","y1","visible","a1","corner","comparePoint","ca","cb","x__","y__","v__","x_","y_","v_","activeStream","bufferStream","clipStream","linePoint","a0","b0","b1","polygonInside","cleanInside","ax","ay","dx","dy","compose","invert","rotationIdentity","round","deltaLambda","deltaPhi","deltaGamma","rotationLambda","rotationPhiGamma","forwardRotationLambda","rotation","cosDeltaPhi","sinDeltaPhi","cosDeltaGamma","sinDeltaGamma","transformer","methods","TransformStream","streamGeometry","geometry","streamGeometryType","streamObjectType","Feature","FeatureCollection","features","Sphere","Point","coordinates","MultiPoint","LineString","streamLine","MultiLineString","Polygon","streamPolygon","MultiPolygon","GeometryCollection","geometries","closed","coordinate","boundsStream","bounds","fit","projection","fitBounds","clipExtent","translate","fitExtent","extent","fitSize","fitWidth","fitHeight","maxDepth","cosMinDistance","project","delta2","resampleLineTo","c0","c1","d2","phi2","lambda2","x2","y2","dx2","dy2","dz","lambda00","x00","y00","a00","b00","c00","resampleStream","ringPoint","resampleNone","transformRadians","scaleTranslateRotate","sx","sy","alpha","transform","scaleTranslate","cosAlpha","sinAlpha","projectionMutator","projectAt","rotate","projectResample","projectTransform","projectRotateTransform","cache","cacheStream","theta","preclip","postclip","identity","recenter","center","resample","transformRotate","clipAngle","smallRadius","notHemisphere","intersect","two","n1","n2","n2n2","n1n2","determinant","c2","n1xn2","uu","t2","polar","q1","v0","v00","point2","reflectX","reflectY","azimuthalEqualAreaRaw","cxcy","azimuthalEquidistantRaw","gnomonicRaw","orthographicRaw","stereographicRaw","A1","A2","A3","A4","equalEarthRaw","l2","l6","conicProjection","parallels","conicEqualAreaRaw","sy0","forward","cylindricalEqualAreaRaw","r0","r0y","conicEqualArea","mercatorRaw","mercatorProjection","reclip","tany","conicConformalRaw","cy0","fy","equirectangularRaw","conicEquidistantRaw","gy","nx","transverseMercatorRaw","naturalEarth1Raw","phi4","areaSum","areaRingSum","areaStream","areaRingStart","areaRingEnd","area","areaPointFirst","areaPoint","X0","Y0","Z0","X1","Y1","Z1","X2","Y2","Z2","centroidStream","centroidPoint","centroidLineStart","centroidLineEnd","centroidRingStart","centroidRingEnd","centroid","centroidPointFirstLine","centroidPointLine","centroidPointFirstRing","centroidPointRing","PathContext","_context","_radius","pointRadius","_line","_point","closePath","moveTo","lineTo","lengthRing","lengthSum","lengthStream","lengthPointFirst","lengthPoint","cacheDigits","cacheAppend","cacheRadius","cacheCircle","PathString","digits","_append","RangeError","strings","appendRound","projectionStream","contextStream","path","measure","lengthLineEnd","cosDelta","containsObjectType","containsGeometry","containsGeometryType","containsPoint","containsLine","containsPolygon","distance","ao","bo","ab","ringRadians","pointRadians","graticuleX","graticuleY","graticule","DX","DY","outline","extentMajor","extentMinor","stepMajor","stepMinor","specifier","colors","extend","parent","definition","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","rgb","formatHex","color_formatRgb","formatRgb","color","format","exec","rgbn","Rgb","rgba","hsla","rgbConvert","rgb_formatHex","rgb_formatRgb","clampa","clampi","isNaN","Hsl","hslConvert","clamph","clampt","hsl2rgb","m1","m2","basis","v1","v2","v3","t3","channels","displayable","formatHex8","formatHsl","linear","gamma","nogamma","exponential","rgbGamma","rgbSpline","spline","rgbBasis","scheme","ramp","ED","EB","BC_DA","Cubehelix","bl","cubehelixConvert","cubehelix","hue","cubehelixGamma","cosh","sinh","cubehelixLong","warm","cool","magma","inferno","plasma","pi_1_3","pi_2_3","lookup$1","geoAzimuthalEqualArea","geoAzimuthalEquidistant","geoGnomonic","geoOrthographic","geoStereographic","geoEqualEarth","geoAlbers","geoAlbersUsa","lower48Point","alaskaPoint","hawaiiPoint","lower48","albers","alaska","hawaii","pointStream","albersUsa","streams","geoConicConformal","geoConicEqualArea","geoConicEquidistant","geoEquirectangular","geoMercator","geoTransverseMercator","geoNaturalEarth1","ProjectionScale","cfg","outlineBounds","oldChartBounds","geoPath","init","computeBounds","bb","bHeight","bWidth","aspectRatio","refScale","refX","refY","updateBounds","chart","chartArea","padding","paddingTop","paddingLeft","paddingBottom","paddingRight","chartWidth","chartHeight","bak","viewWidth","viewHeight","projectionScale","projectionOffset","defaults","descriptors","_scriptable","_indexable","baseDefaults","property","grid","drawOnChartArea","ticks","legend","align","margin","indicatorWidth","LegendScale","legendSize","isHorizontal","_getNormalizedValue","_startValue","_valueRange","maxWidth","maxHeight","margins","ch","POSITIVE_INFINITY","cw","isHor","factor","full","_computeLabelArea","draw","_isVisible","pos","axisPos","computeLegendMargin","computeLegendPosition","ctx","save","_drawIndicator","restore","LogarithmicLegendScale","log10","lookup","interpolateBlues","interpolateBrBG","interpolateBuGn","interpolateBuPu","interpolateCividis","interpolateCool","interpolateCubehelixDefault","interpolateGnBu","interpolateGreens","interpolateGreys","interpolateInferno","interpolateMagma","interpolateOrRd","interpolateOranges","interpolatePRGn","interpolatePiYG","interpolatePlasma","interpolatePuBu","interpolatePuBuGn","interpolatePuOr","interpolatePuRd","interpolatePurples","interpolateRainbow","ts","interpolateRdBu","interpolateRdGy","interpolateRdPu","interpolateRdYlBu","interpolateRdYlGn","interpolateReds","interpolateSinebow","interpolateSpectral","interpolateTurbo","interpolateViridis","interpolateWarm","interpolateYlGn","interpolateYlGnBu","interpolateYlOrBr","interpolateYlOrRd","quantize","steps","perStep","acc","colorScaleDefaults","missing","ColorScale","blues","getColorForValue","getColor","normalized","indicatorSize","_reversePixels","stepWidth","fillStyle","fillRect","ColorLogarithmicScale","scaleDefaults","mode","SizeScale","_model","getSizeForValue","getSizeImpl","r1","labelItems","getLabelItems","positions","translation","getPixelForTick","_gridLineItems","item","strokeStyle","lineWidth","setLineDash","borderDash","lineDashOffset","borderDashOffset","beginPath","drawTicks","ty1","ty2","tx1","tx2","stroke","props","borderColor","borderWidth","renderOptions","pointStyle","SizeLogarithmicScale","GeoFeature","inRange","mouseX","mouseY","getBounds","longLat","feature","inXRange","inYRange","getCenterPoint","latitude","amount","growGeoBounds","_drawInCache","doc","isFinite","canvas","pixelRatio","getContext","clearRect","_drawImpl","canvasKey","_optionsToKey","fill","drawImage","outlineBackgroundColor","outlineBorderWidth","graticuleBorderColor","graticuleBorderWidth","defaultRoutes","outlineBorderColor","geoDefaults","showOutline","showGraticule","clipMap","geoOverrides","scales","patchDatasetElementOptions","targetKey","startsWith","sub","GeoController","getGeoDataset","getDataset","getGeoOptions","getProjectionScale","getScaleForId","linkScales","getMeta","xAxisID","yAxisID","xScale","yScale","resolveOutline","getGraticule","dirtyCache","elem","currentDevicePixelRatio","resolveDatasetElementOptions","properties","updateElement","updateElements","geo","enabled","patchController","addControllers","addElements","addScales","ChoroplethController","initialize","enableOptionSharing","vAxisID","rAxisID","rScale","vScale","iScale","iAxisID","_getOtherScale","count","_cachedMeta","_parsed","elems","firstOpts","resolveDataElementOptions","sharedOptions","getSharedOptions","includeOptions","updateSharedOptions","_data","indexToColor","getParsed","datasetElementType","dataElementType","overrides","plugins","tooltip","callbacks","label","_a","_b","_c","_d","formattedValue","dataIndex","geoFeature","getDatasetMeta","datasetIndex","ChoroplethChart","BubbleMapController","parsed","skip","indexToRadius","hoverRadius","BubbleMapChart"],"sourceRoot":""}