{"version":3,"file":"shared.Du7p7fDp.mjs","names":["containerStyles","emptyStateStyle","_","iconKeys","lowercaseIconKeyPairs","defaultEvents","e","isMotionValue","useAutoMotionValue","window","i","h","s","r","g","b","f","p","q","d","c","e","j","k","l","equals","x","y","z","pt","_a","_c","global","prng","seed","me","t","flatten","A","B","C","animationData","w","addFonts","sc","index","to","ti","_s","renderer","_o","_i","fc","_","loadAnimation","searchAnimations","standalone","Math","document","clamp","hue2rgb","hslToRgb","wiggle","time","len","TextExpressionSelectorPropFactory","el","placeholderUrl","c","SrcType","Poster","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","Variants","humanReadableVariantMap","getProps","createLayoutDependency","Component","className","css","C","__legacyOverrideHOC_DataObserverContext","fonts","css","className","fonts","css","className","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","Variants","humanReadableVariantMap","getProps","createLayoutDependency","Component","className","css","addPropertyOverrides","Indicator","cycleOrder","serializationHash","variantClassNames","transition1","_","Transition","Variants","humanReadableEnumMap","humanReadableVariantMap","getProps","createLayoutDependency","Component","className","css","fonts","css","className","s","r","e","i","l","React","e","defaultEvents","fonts","css","className","css","Feather","className","props","e","r","i","s","l","c","u","h","d","p","f","a","t","n","g","y","o","x","b","_","se","re","ae","te","Y","M","w","S","m","T","E","A","L","C","R","P","I","D","ye","X","J","Z","Q","K","$","ee","ne","ie","oe","le","ce","ue","he","de","pe","me","ve","B","V","N","U","z","G","F","O","H","k","W","j","q","we","h","s","e","l","c","x","r","g","b"],"sources":["https:/framer.com/m/framer/icon-nullstate.js@0.7.0","https:/framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js","https:/framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js","https:/framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js","https:/framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js","https:/framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js","https:/framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js","https:/framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js","https:/framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js","https:/framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js","https:/framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js","https:/framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js","https:/framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js","https:/framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js","https:/framer.com/m/framer/default-utils.js@^0.45.0","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js","https:/framer.com/m/framer/useAutoMotionValue.js@0.3.0","https:/jspm.dev/npm:lottie-web@5.7.8!cjs","https:/jspm.dev/lottie-web@5.7.8","https:/framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/7oWoX9MqdnxameM59dqC/Lottie.js","https:/framerusercontent.com/modules/SxA546G1odOaoFF7hm0m/aX7rvxEspnHIpfkVtOf6/ujS87Hf83.js","https:/framerusercontent.com/modules/hRfdu6flODOj0UjGoiXe/9jUl4WUVipWZllpHOStE/TextShine.js","https:/framerusercontent.com/modules/c5O8p8jfgJRQVO8TNWHo/nqP3UFAYq1KfF61ogrxz/brzpeA1Dk.js","https:/framerusercontent.com/modules/zi0BgIAu4TZz0K8IzWrK/OGl5KbYVqcC30qCqS5No/Q7hcr2l4D.js","https:/framerusercontent.com/modules/jfK7C7JmdHGaVBsvt1V7/G0lF2a2mezep3QZSQZwm/DotLottie.js","https:/framerusercontent.com/modules/8vx4bkxnRSiUfvgFkWZj/h1MV6n4V6Q5yqpR7UtjI/Pn3oTZnzW.js","https:/framerusercontent.com/modules/pv44YPltMXiLDi8WsLot/M7H8bSDko5JjvzfKeOlU/Cj_1EEupM.js","https:/framerusercontent.com/modules/8EpyktqGzH9qMSRsymcn/OFeTowz2QKIRrALXZcbi/MOHrQBiQy.js","https:/framer.com/m/feather-icons/home.js@0.0.29","https:/framerusercontent.com/modules/f0DboytQenYh21kfme7W/zb1zVBMZJKgPMiedOi0y/Feather.js","https:/framerusercontent.com/modules/L2aQkQN6NEUEUhtWVEr9/EYMf1Oy5CNIN9He3c27U/VLfFvWRgq.js","https:/framerusercontent.com/modules/grm4Nb0TolbLAue9gwjr/9EpHXV5tkaipvyuKphFT/WpYVL2Ruc.js","https:/framerusercontent.com/modules/4LAokG0PAS8t504sUGJQ/bgC8VXGOK0IpT8au9Mld/HMfhpd1ln.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framer.com/m/SharedFormCode-HQOZ.js@pl3ng44Hc2Iq0qNooDOc","https:/framer.com/m/Countries-9rNQ.js@ODe8DhLtilxFv110E4dB","https:/framerusercontent.com/modules/ajWclzz0AOntIx2Kj6iA/zU2D8oyyHARobJPcps7v/siteMetadata.js","https:/ga.jspm.io/npm:three@0.136.0/build/three.module.js","https:/framerusercontent.com/modules/lrLFKsmJ1z5FXTa9Ej4k/QmxZAGZo0U04mjLegBGM/Rays_Prod.js","https:/framer.com/m/framer/default-utils.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nexport const containerStyles = {\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nconst nullIconStyle = {\n    minWidth: \"10px\",\n    minHeight: \"10px\",\n    maxWidth: \"20px\",\n    maxHeight: \"20px\",\n    width: \"60%\",\n    height: \"60%\"\n};\nconst emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(149, 149, 149, 0.1)\",\n    border: \"1px dashed rgba(149, 149, 149, 0.15)\",\n    color: \"#a5a5a5\",\n    flexDirection: \"column\"\n};\nexport const NullState = /*#__PURE__*/ React.forwardRef((_, ref)=>{\n    return(/*#__PURE__*/ _jsx(\"div\", {\n        style: emptyStateStyle,\n        ref: ref\n    }));\n}) /*\n\n<svg\n                xmlns=\"http://www.w3.org/2000/svg\"\n                viewBox=\"0 0 30 30\"\n                style={nullIconStyle}\n            >\n                <path\n                    d=\"M 12.857 0 C 19.958 0 25.714 5.756 25.714 12.857 C 25.714 19.958 19.958 25.714 12.857 25.714 C 5.756 25.714 0 19.958 0 12.857 C 0 5.756 5.756 0 12.857 0 Z\"\n                    fill=\"#FFFFFF\"\n                ></path>\n                <path\n                    d=\"M 20.357 20.357 L 27.857 27.857\"\n                    fill=\"transparent\"\n                    strokeWidth=\"4.28\"\n                    stroke=\"#FFFFFF\"\n                    strokeLinecap=\"round\"\n                ></path>\n                <g transform=\"translate(9.643 6.429)\">\n                    <path\n                        d=\"M 3.214 12.857 L 3.214 12.857\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.75\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                    ></path>\n                    <path\n                        d=\"M 0 3.214 C 0 1.004 1.843 0 3.214 0 C 4.586 0 6.429 0.603 6.429 3.214 C 6.429 5.826 3.214 5.913 3.214 7.232 C 3.214 8.552 3.214 8.571 3.214 8.571\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.22\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                        strokeLinejoin=\"round\"\n                    ></path>\n                </g>\n            </svg>\n            */ ;\n\nexport const __FramerMetadata__ = {\"exports\":{\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NullState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./nullstate.map","import{useMemo}from\"react\";import{ControlType}from\"framer\";/*\n ** ICON UTILS\n ** Pull as much re-usable logic into here as possible\n ** This will make it easier to replace in all icon components\n */ export const containerStyles={width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\"};export const defaultEvents={onClick:{type:ControlType.EventHandler},onMouseDown:{type:ControlType.EventHandler},onMouseUp:{type:ControlType.EventHandler},onMouseEnter:{type:ControlType.EventHandler},onMouseLeave:{type:ControlType.EventHandler}};const findByArray=(arr,search)=>arr.find(a=>a.toLowerCase().includes(search));export function getIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// gotta get the exact match first THEN find\n// have a set and try to access ?\nif(selectByList)return iconSelection;if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;}export function useIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// Clean search term\nconst iconSearchResult=useMemo(()=>{if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;},[iconSelection,iconSearch]);const name=selectByList?iconSelection:iconSearchResult;return name;}\nexport const __FramerMetadata__ = {\"exports\":{\"getIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map","import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n    position: \"relative\",\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(136, 85, 255, 0.3)\",\n    color: \"#85F\",\n    border: \"1px dashed #85F\",\n    flexDirection: \"column\"\n};\nexport const defaultEvents = {\n    onClick: {\n        type: ControlType.EventHandler\n    },\n    onMouseEnter: {\n        type: ControlType.EventHandler\n    },\n    onMouseLeave: {\n        type: ControlType.EventHandler\n    }\n};\nexport const fontSizeOptions = {\n    type: ControlType.Number,\n    title: \"Font Size\",\n    min: 2,\n    max: 200,\n    step: 1,\n    displayStepper: true\n};\nexport const fontControls = {\n    font: {\n        type: ControlType.Boolean,\n        title: \"Font\",\n        defaultValue: false,\n        disabledTitle: \"Default\",\n        enabledTitle: \"Custom\"\n    },\n    fontFamily: {\n        type: ControlType.String,\n        title: \"Family\",\n        placeholder: \"Inter\",\n        hidden: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here — there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    an: \"Aragonese\",\n    ar: \"Arabic (Standard)\",\n    \"ar-dz\": \"Arabic (Algeria)\",\n    \"ar-bh\": \"Arabic (Bahrain)\",\n    \"ar-eg\": \"Arabic (Egypt)\",\n    \"ar-iq\": \"Arabic (Iraq)\",\n    \"ar-jo\": \"Arabic (Jordan)\",\n    \"ar-kw\": \"Arabic (Kuwait)\",\n    \"ar-lb\": \"Arabic (Lebanon)\",\n    \"ar-ly\": \"Arabic (Libya)\",\n    \"ar-ma\": \"Arabic (Morocco)\",\n    \"ar-om\": \"Arabic (Oman)\",\n    \"ar-qa\": \"Arabic (Qatar)\",\n    \"ar-sa\": \"Arabic (Saudi Arabia)\",\n    \"ar-sy\": \"Arabic (Syria)\",\n    \"ar-tn\": \"Arabic (Tunisia)\",\n    \"ar-ae\": \"Arabic (U.A.E.)\",\n    \"ar-ye\": \"Arabic (Yemen)\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    bg: \"Bulgarian\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-hk\": \"Chinese (Hong Kong)\",\n    \"zh-cn\": \"Chinese (PRC)\",\n    \"zh-sg\": \"Chinese (Singapore)\",\n    \"zh-tw\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-be\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-au\": \"English (Australia)\",\n    \"en-bz\": \"English (Belize)\",\n    \"en-ca\": \"English (Canada)\",\n    \"en-ie\": \"English (Ireland)\",\n    \"en-jm\": \"English (Jamaica)\",\n    \"en-nz\": \"English (New Zealand)\",\n    \"en-ph\": \"English (Philippines)\",\n    \"en-za\": \"English (South Africa)\",\n    \"en-tt\": \"English (Trinidad & Tobago)\",\n    \"en-gb\": \"English (United Kingdom)\",\n    \"en-us\": \"English (United States)\",\n    \"en-zw\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fa: \"Farsi\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-be\": \"French (Belgium)\",\n    \"fr-ca\": \"French (Canada)\",\n    \"fr-fr\": \"French (France)\",\n    \"fr-lu\": \"French (Luxembourg)\",\n    \"fr-mc\": \"French (Monaco)\",\n    \"fr-ch\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-ie\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-at\": \"German (Austria)\",\n    \"de-de\": \"German (Germany)\",\n    \"de-li\": \"German (Liechtenstein)\",\n    \"de-lu\": \"German (Luxembourg)\",\n    \"de-ch\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-ch\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-kp\": \"Korean (North Korea)\",\n    \"ko-kr\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"FYRO Macedonian\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    \"fa-ir\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-br\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-in\": \"Punjabi (India)\",\n    \"pa-pk\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-mo\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-mo\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-ar\": \"Spanish (Argentina)\",\n    \"es-bo\": \"Spanish (Bolivia)\",\n    \"es-cl\": \"Spanish (Chile)\",\n    \"es-co\": \"Spanish (Colombia)\",\n    \"es-cr\": \"Spanish (Costa Rica)\",\n    \"es-do\": \"Spanish (Dominican Republic)\",\n    \"es-ec\": \"Spanish (Ecuador)\",\n    \"es-sv\": \"Spanish (El Salvador)\",\n    \"es-gt\": \"Spanish (Guatemala)\",\n    \"es-hn\": \"Spanish (Honduras)\",\n    \"es-mx\": \"Spanish (Mexico)\",\n    \"es-ni\": \"Spanish (Nicaragua)\",\n    \"es-pa\": \"Spanish (Panama)\",\n    \"es-py\": \"Spanish (Paraguay)\",\n    \"es-pe\": \"Spanish (Peru)\",\n    \"es-pr\": \"Spanish (Puerto Rico)\",\n    \"es-es\": \"Spanish (Spain)\",\n    \"es-uy\": \"Spanish (Uruguay)\",\n    \"es-ve\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-fi\": \"Swedish (Finland)\",\n    \"sv-sv\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map","import { useIsInCurrentNavigationTarget } from \"framer\";\nimport { useEffect } from \"react\";\nexport function useOnEnter(onEnter, enabled) {\n    return useOnSpecificTargetChange(true, onEnter, enabled);\n}\nexport function useOnExit(onExit, enabled) {\n    return useOnSpecificTargetChange(false, onExit, enabled);\n}\nfunction useOnSpecificTargetChange(goal, callback, enabled = true) {\n    const isInTarget = useIsInCurrentNavigationTarget();\n    useEffect(()=>{\n        if (enabled && isInTarget === goal) callback();\n    }, [\n        isInTarget\n    ]);\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useOnEnter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnNavigationTargetChange.map","import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */ export function useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useConstant.map","import { Color } from \"framer\";\nexport function colorFromToken(color) {\n    if (color.startsWith(\"var(--token-\")) return \"rgb\" + color.split(\") /*\")[0].split(\", rgb\")[1];\n    return color;\n}\nexport function colorTokentoValue(color) {\n    return Color(colorFromToken(color)).toValue();\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"colorFromToken\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./colorFromToken.map","import { MotionValue } from \"framer\";\nexport const isMotionValue = (v)=>v instanceof MotionValue\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isMotionValue.map","import * as React from \"react\";\nconst letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\nconst l = ()=>letters[Math.floor(Math.random() * letters.length)]\n;\nexport const randomID = ()=>l() + l() + l() + l() + l() + l() + l() + l() + l()\n;\nfunction createUniqueClass(suffix) {\n    return `framer-${suffix}-${randomID()}`;\n}\nexport function useUniqueClassName(suffix, deps) {\n    const [className, setClassName] = React.useState(createUniqueClass(suffix));\n    React.useEffect(()=>{\n        setClassName(createUniqueClass(suffix));\n    }, [\n        suffix,\n        ...deps\n    ]);\n    return className;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useUniqueClassName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useUniqueClassName.map","import { ControlType } from \"framer\";\n// I realize this only applies to select right now\n// but we can work on it in here\nexport function getVariantControls(Component, variant, additionalControls = {\n}) {\n    return {\n        [`${variant}TextColor`]: {\n            type: ControlType.Color,\n            title: \"Text Color\",\n            defaultValue: Component.defaultProps[`${variant}TextColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}IconColor`]: {\n            type: ControlType.Color,\n            title: \"Icon Color\",\n            defaultValue: Component.defaultProps[`${variant}IconColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BackgroundColor`]: {\n            type: ControlType.Color,\n            title: \"Bg Color\",\n            defaultValue: Component.defaultProps[`${variant}BackgroundColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderColor`]: {\n            type: ControlType.Color,\n            title: \"Border Color\",\n            defaultValue: Component.defaultProps[`${variant}BorderColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderWidth`]: {\n            type: ControlType.Number,\n            title: \" \",\n            min: 0,\n            max: 5,\n            displayStepper: true,\n            defaultValue: Component.defaultProps[`${variant}BorderWidth`],\n            hidden: (props)=>props.variant !== variant\n        },\n        ...additionalControls\n    };\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"getVariantControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./variantUtils.map","import { useMemo } from \"react\";\nexport const isBrowserSafari = ()=>{\n    if (typeof navigator !== `undefined`) {\n        const userAgent = navigator.userAgent.toLowerCase();\n        const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0;\n        return isSafari;\n    } else return false;\n};\nexport const useIsBrowserSafari = ()=>useMemo(()=>isBrowserSafari()\n    , [])\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isBrowser.map","import { useEffect } from \"react\";\n//@ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nexport function useOnChange(value, callback) {\n    useEffect(()=>// @ts-ignore this should be detected as a MV :shrug:\n        isMotionValue(value) ? value.onChange(callback) : undefined\n    );\n}\nexport function useMultiOnChange(values, handler) {\n    useEffect(()=>{\n        const subscriptions = values.map((value)=>value.onChange(handler)\n        );\n        return ()=>subscriptions.forEach((unsubscribe)=>unsubscribe()\n            )\n        ;\n    });\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"Subscriber\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnChange.map","import { useCallback, useEffect, useRef } from \"react\";\nimport { motionValue, animate, RenderTarget } from \"framer\";\n// @ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\n// @ts-ignore\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nexport function useAutoMotionValue(inputValue, options) {\n    var ref;\n    // Put options on a local ref\n    // Might wanna just memo instead but it works for now\n    const optionsRef = useRef(options);\n    const animation = useRef();\n    const didInitialMount = useRef(false);\n    const isOnCanvas = RenderTarget.current() === RenderTarget.canvas;\n    // in-progress - trying to figure out effect hooks\n    const onChangeDeps = (options === null || options === void 0 ? void 0 : options.onChangeDeps) ? options.onChangeDeps : [];\n    // Memoize the onChange handler\n    const onChange = useCallback(options === null || options === void 0 ? void 0 : options.onChange, [\n        ...onChangeDeps, \n    ]);\n    // Optionally scale the value from props\n    const transformer = useCallback((value)=>((ref = optionsRef.current) === null || ref === void 0 ? void 0 : ref.transform) ? optionsRef.current.transform(value) : value\n    , []);\n    // Create new MotionValue from inputValue\n    const value = useConstant(()=>isMotionValue(inputValue) ? inputValue : motionValue(transformer(inputValue))\n    );\n    // Setting value from prop change\n    useEffect(()=>{\n        if (!isMotionValue(inputValue) && didInitialMount.current) {\n            var ref1, ref2;\n            const newValue = transformer(inputValue);\n            (ref1 = animation.current) === null || ref1 === void 0 ? void 0 : ref1.stop();\n            // Call change callback\n            if (onChange) onChange(newValue, value);\n            // Trigger animation to new value\n            if (((ref2 = optionsRef.current) === null || ref2 === void 0 ? void 0 : ref2.animate) && !isOnCanvas) {\n                var ref3;\n                // @ts-ignore\n                animation.current = animate(value, newValue, (ref3 = optionsRef.current) === null || ref3 === void 0 ? void 0 : ref3.transition);\n            } else {\n                value.set(newValue);\n            }\n        }\n        didInitialMount.current = true;\n    }, [\n        inputValue,\n        ...onChangeDeps\n    ]);\n    return value;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","// @ts-ignore\nimport{fontStore}from\"framer\";import{useEffect}from\"react\";import{fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";const fontWeights={100:\"Thin\",200:\"Extra-light\",300:\"Light\",400:\"Regular\",500:\"Medium\",600:\"Semi-bold\",700:\"Bold\",800:\"Extra-bold\",900:\"Black\"};export function useFontControls(props){const{fontFamily=\"Inter\",fontSize=16,fontWeight=400,font=false}=props;const fontWeightName=fontWeights[fontWeight];const customFontStack=`\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`;const fontFamilyStyle=fontFamily?{fontSize,fontWeight,fontFamily:customFontStack}:{fontSize,fontWeight};const fetchCustomFonts=async()=>{await fontStore.loadWebFontsFromSelectors([`CUSTOM;${fontFamily}`,`CUSTOM;${fontFamily} ${fontWeightName}`,`GF;${fontFamily}-${fontWeightName.toLowerCase()}`,]).catch(e=>console.error(e));};useEffect(()=>{if(font)fetchCustomFonts();},[font,fontFamily,fontWeight]);return fontFamilyStyle;}\nexport const __FramerMetadata__ = {\"exports\":{\"useFontControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useFontControls.map","import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\nexport function useIsOnCanvas() {\n    const onCanvas = useMemo(()=>RenderTarget.current() === RenderTarget.canvas\n    , []);\n    return onCanvas;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map","import * as React from \"react\";\nexport function useControlledState(value) {\n    const [controlledValue, setValue] = React.useState(value);\n    React.useEffect(()=>{\n        setValue(value);\n    }, [\n        value\n    ]);\n    return [\n        controlledValue,\n        setValue\n    ];\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useControlledState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useControlledState.map","import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map","import{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","import{MotionValue}from\"framer\";// Basic MotionValue check\nexport const isMotionValue=v=>v instanceof MotionValue;\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./isMotionValue.map","import{useCallback,useEffect,useRef}from\"react\";import{motionValue,animate,RenderTarget}from\"framer\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";export function useAutoMotionValue(inputValue,options){// Put options on a local ref\n// Might wanna just memo instead but it works for now\nconst optionsRef=useRef(options);const animation=useRef();const didInitialMount=useRef(false);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;// in-progress - trying to figure out effect hooks\nconst onChangeDeps=(options===null||options===void 0?void 0:options.onChangeDeps)?options.onChangeDeps:[];// Memoize the onChange handler\nconst onChange=useCallback(options===null||options===void 0?void 0:options.onChange,[...onChangeDeps,]);// Optionally scale the value from props\nconst transformer=useCallback(value=>{var ref;return((ref=optionsRef.current)===null||ref===void 0?void 0:ref.transform)?optionsRef.current.transform(value):value;},[]);// Create new MotionValue from inputValue\nconst value1=useConstant(()=>isMotionValue(inputValue)?inputValue:motionValue(transformer(inputValue)));// Setting value from prop change\nuseEffect(()=>{if(!isMotionValue(inputValue)&&didInitialMount.current){var ref,ref1;const newValue=transformer(inputValue);(ref=animation.current)===null||ref===void 0?void 0:ref.stop();// Call change callback\nif(onChange)onChange(newValue,value1);// Trigger animation to new value\nif(((ref1=optionsRef.current)===null||ref1===void 0?void 0:ref1.animate)&&!isOnCanvas){var ref2;// @ts-ignore\nanimation.current=animate(value1,newValue,(ref2=optionsRef.current)===null||ref2===void 0?void 0:ref2.transition);}else{value1.set(newValue);}}didInitialMount.current=true;},[inputValue,...onChangeDeps]);return value1;}\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useAutoMotionValue.map","var _global = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : global;\n\nvar exports = {};\ntypeof navigator !== \"undefined\" && function (root, factory) {\n  if (exports) {\n    exports = factory(root);\n  } else {\n    root.lottie = factory(root);\n    root.bodymovin = root.lottie;\n  }\n}(window || {}, function (window) {\n  /* global locationHref:writable, animationManager, subframeEnabled:writable, defaultCurveSegments:writable, roundValues,\r\n  expressionsPlugin:writable, PropertyFactory, ShapePropertyFactory, Matrix */\n\n  /* exported locationHref, subframeEnabled, expressionsPlugin */\n  'use strict';\n  /* exported svgNS, locationHref, initialDefaultFrame */\n\n  var svgNS = \"http://www.w3.org/2000/svg\";\n  var locationHref = \"\";\n  var initialDefaultFrame = -999999;\n  /* global createSizedArray */\n\n  /* exported subframeEnabled, expressionsPlugin, isSafari, cachedColors, bmPow, bmSqrt, bmFloor, bmMax, bmMin, ProjectInterface,\r\n  defaultCurveSegments, degToRads, roundCorner, bmRnd, styleDiv, BMEnterFrameEvent, BMCompleteEvent, BMCompleteLoopEvent,\r\n  BMSegmentStartEvent, BMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, BMAnimationConfigErrorEvent, createElementID,\r\n  addSaturationToRGB, addBrightnessToRGB, addHueToRGB, rgbToHex */\n\n  var subframeEnabled = true;\n  var expressionsPlugin;\n  var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n  var cachedColors = {};\n  var bmRnd;\n  var bmPow = Math.pow;\n  var bmSqrt = Math.sqrt;\n  var bmFloor = Math.floor;\n  var bmMax = Math.max;\n  var bmMin = Math.min;\n  var BMMath = {};\n\n  (function () {\n    var propertyNames = [\"abs\", \"acos\", \"acosh\", \"asin\", \"asinh\", \"atan\", \"atanh\", \"atan2\", \"ceil\", \"cbrt\", \"expm1\", \"clz32\", \"cos\", \"cosh\", \"exp\", \"floor\", \"fround\", \"hypot\", \"imul\", \"log\", \"log1p\", \"log2\", \"log10\", \"max\", \"min\", \"pow\", \"random\", \"round\", \"sign\", \"sin\", \"sinh\", \"sqrt\", \"tan\", \"tanh\", \"trunc\", \"E\", \"LN10\", \"LN2\", \"LOG10E\", \"LOG2E\", \"PI\", \"SQRT1_2\", \"SQRT2\"];\n    var i;\n    var len = propertyNames.length;\n\n    for (i = 0; i < len; i += 1) {\n      BMMath[propertyNames[i]] = Math[propertyNames[i]];\n    }\n  })();\n\n  function ProjectInterface() {\n    return {};\n  }\n\n  BMMath.random = Math.random;\n\n  BMMath.abs = function (val) {\n    var tOfVal = typeof val;\n\n    if (tOfVal === \"object\" && val.length) {\n      var absArr = createSizedArray(val.length);\n      var i;\n      var len = val.length;\n\n      for (i = 0; i < len; i += 1) {\n        absArr[i] = Math.abs(val[i]);\n      }\n\n      return absArr;\n    }\n\n    return Math.abs(val);\n  };\n\n  var defaultCurveSegments = 150;\n  var degToRads = Math.PI / 180;\n  var roundCorner = 0.5519;\n\n  function roundValues(flag) {\n    if (flag) {\n      bmRnd = Math.round;\n    } else {\n      bmRnd = function (val) {\n        return val;\n      };\n    }\n  }\n\n  roundValues(false);\n\n  function styleDiv(element) {\n    element.style.position = \"absolute\";\n    element.style.top = 0;\n    element.style.left = 0;\n    element.style.display = \"block\";\n    element.style.transformOrigin = \"0 0\";\n    element.style.webkitTransformOrigin = \"0 0\";\n    element.style.backfaceVisibility = \"visible\";\n    element.style.webkitBackfaceVisibility = \"visible\";\n    element.style.transformStyle = \"preserve-3d\";\n    element.style.webkitTransformStyle = \"preserve-3d\";\n    element.style.mozTransformStyle = \"preserve-3d\";\n  }\n\n  function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).currentTime = currentTime;\n    (this || _global).totalTime = totalTime;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMCompleteEvent(type, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).currentLoop = currentLoop;\n    (this || _global).totalLoops = totalLoops;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n    (this || _global).type = type;\n    (this || _global).firstFrame = firstFrame;\n    (this || _global).totalFrames = totalFrames;\n  }\n\n  function BMDestroyEvent(type, target) {\n    (this || _global).type = type;\n    (this || _global).target = target;\n  }\n\n  function BMRenderFrameErrorEvent(nativeError, currentTime) {\n    (this || _global).type = \"renderFrameError\";\n    (this || _global).nativeError = nativeError;\n    (this || _global).currentTime = currentTime;\n  }\n\n  function BMConfigErrorEvent(nativeError) {\n    (this || _global).type = \"configError\";\n    (this || _global).nativeError = nativeError;\n  }\n\n  function BMAnimationConfigErrorEvent(type, nativeError) {\n    (this || _global).type = type;\n    (this || _global).nativeError = nativeError;\n  }\n\n  var createElementID = function () {\n    var _count = 0;\n    return function createID() {\n      _count += 1;\n      return \"__lottie_element_\" + _count;\n    };\n  }();\n\n  function HSVtoRGB(h, s, v) {\n    var r;\n    var g;\n    var b;\n    var i;\n    var f;\n    var p;\n    var q;\n    var t;\n    i = Math.floor(h * 6);\n    f = h * 6 - i;\n    p = v * (1 - s);\n    q = v * (1 - f * s);\n    t = v * (1 - (1 - f) * s);\n\n    switch (i % 6) {\n      case 0:\n        r = v;\n        g = t;\n        b = p;\n        break;\n\n      case 1:\n        r = q;\n        g = v;\n        b = p;\n        break;\n\n      case 2:\n        r = p;\n        g = v;\n        b = t;\n        break;\n\n      case 3:\n        r = p;\n        g = q;\n        b = v;\n        break;\n\n      case 4:\n        r = t;\n        g = p;\n        b = v;\n        break;\n\n      case 5:\n        r = v;\n        g = p;\n        b = q;\n        break;\n\n      default:\n        break;\n    }\n\n    return [r, g, b];\n  }\n\n  function RGBtoHSV(r, g, b) {\n    var max = Math.max(r, g, b);\n    var min = Math.min(r, g, b);\n    var d = max - min;\n    var h;\n    var s = max === 0 ? 0 : d / max;\n    var v = max / 255;\n\n    switch (max) {\n      case min:\n        h = 0;\n        break;\n\n      case r:\n        h = g - b + d * (g < b ? 6 : 0);\n        h /= 6 * d;\n        break;\n\n      case g:\n        h = b - r + d * 2;\n        h /= 6 * d;\n        break;\n\n      case b:\n        h = r - g + d * 4;\n        h /= 6 * d;\n        break;\n\n      default:\n        break;\n    }\n\n    return [h, s, v];\n  }\n\n  function addSaturationToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[1] += offset;\n\n    if (hsv[1] > 1) {\n      hsv[1] = 1;\n    } else if (hsv[1] <= 0) {\n      hsv[1] = 0;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  function addBrightnessToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[2] += offset;\n\n    if (hsv[2] > 1) {\n      hsv[2] = 1;\n    } else if (hsv[2] < 0) {\n      hsv[2] = 0;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  function addHueToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[0] += offset / 360;\n\n    if (hsv[0] > 1) {\n      hsv[0] -= 1;\n    } else if (hsv[0] < 0) {\n      hsv[0] += 1;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  var rgbToHex = function () {\n    var colorMap = [];\n    var i;\n    var hex;\n\n    for (i = 0; i < 256; i += 1) {\n      hex = i.toString(16);\n      colorMap[i] = hex.length === 1 ? \"0\" + hex : hex;\n    }\n\n    return function (r, g, b) {\n      if (r < 0) {\n        r = 0;\n      }\n\n      if (g < 0) {\n        g = 0;\n      }\n\n      if (b < 0) {\n        b = 0;\n      }\n\n      return \"#\" + colorMap[r] + colorMap[g] + colorMap[b];\n    };\n  }();\n\n  function BaseEvent() {}\n\n  BaseEvent.prototype = {\n    triggerEvent: function (eventName, args) {\n      if ((this || _global)._cbs[eventName]) {\n        var len = (this || _global)._cbs[eventName].length;\n\n        for (var i = 0; i < len; i += 1) {\n          (this || _global)._cbs[eventName][i](args);\n        }\n      }\n    },\n    addEventListener: function (eventName, callback) {\n      if (!(this || _global)._cbs[eventName]) {\n        (this || _global)._cbs[eventName] = [];\n      }\n\n      (this || _global)._cbs[eventName].push(callback);\n\n      return function () {\n        this.removeEventListener(eventName, callback);\n      }.bind(this || _global);\n    },\n    removeEventListener: function (eventName, callback) {\n      if (!callback) {\n        (this || _global)._cbs[eventName] = null;\n      } else if ((this || _global)._cbs[eventName]) {\n        var i = 0;\n        var len = (this || _global)._cbs[eventName].length;\n\n        while (i < len) {\n          if ((this || _global)._cbs[eventName][i] === callback) {\n            (this || _global)._cbs[eventName].splice(i, 1);\n\n            i -= 1;\n            len -= 1;\n          }\n\n          i += 1;\n        }\n\n        if (!(this || _global)._cbs[eventName].length) {\n          (this || _global)._cbs[eventName] = null;\n        }\n      }\n    }\n  };\n  /* exported createTypedArray, createSizedArray */\n\n  var createTypedArray = function () {\n    function createRegularArray(type, len) {\n      var i = 0;\n      var arr = [];\n      var value;\n\n      switch (type) {\n        case \"int16\":\n        case \"uint8c\":\n          value = 1;\n          break;\n\n        default:\n          value = 1.1;\n          break;\n      }\n\n      for (i = 0; i < len; i += 1) {\n        arr.push(value);\n      }\n\n      return arr;\n    }\n\n    function createTypedArrayFactory(type, len) {\n      if (type === \"float32\") {\n        return new Float32Array(len);\n      }\n\n      if (type === \"int16\") {\n        return new Int16Array(len);\n      }\n\n      if (type === \"uint8c\") {\n        return new Uint8ClampedArray(len);\n      }\n\n      return createRegularArray(type, len);\n    }\n\n    if (typeof Uint8ClampedArray === \"function\" && typeof Float32Array === \"function\") {\n      return createTypedArrayFactory;\n    }\n\n    return createRegularArray;\n  }();\n\n  function createSizedArray(len) {\n    return Array.apply(null, {\n      length: len\n    });\n  }\n  /* global svgNS */\n\n  /* exported createNS */\n\n\n  function createNS(type) {\n    // return {appendChild:function(){},setAttribute:function(){},style:{}}\n    return document.createElementNS(svgNS, type);\n  }\n  /* exported createTag */\n\n\n  function createTag(type) {\n    // return {appendChild:function(){},setAttribute:function(){},style:{}}\n    return document.createElement(type);\n  }\n\n  function DynamicPropertyContainer() {}\n\n  DynamicPropertyContainer.prototype = {\n    addDynamicProperty: function (prop) {\n      if ((this || _global).dynamicProperties.indexOf(prop) === -1) {\n        (this || _global).dynamicProperties.push(prop);\n\n        (this || _global).container.addDynamicProperty(this || _global);\n\n        (this || _global)._isAnimated = true;\n      }\n    },\n    iterateDynamicProperties: function () {\n      (this || _global)._mdf = false;\n      var i;\n      var len = (this || _global).dynamicProperties.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).dynamicProperties[i].getValue();\n\n        if ((this || _global).dynamicProperties[i]._mdf) {\n          (this || _global)._mdf = true;\n        }\n      }\n    },\n    initDynamicPropertyContainer: function (container) {\n      (this || _global).container = container;\n      (this || _global).dynamicProperties = [];\n      (this || _global)._mdf = false;\n      (this || _global)._isAnimated = false;\n    }\n  };\n  /* exported getBlendMode */\n\n  var getBlendMode = function () {\n    var blendModeEnums = {\n      0: \"source-over\",\n      1: \"multiply\",\n      2: \"screen\",\n      3: \"overlay\",\n      4: \"darken\",\n      5: \"lighten\",\n      6: \"color-dodge\",\n      7: \"color-burn\",\n      8: \"hard-light\",\n      9: \"soft-light\",\n      10: \"difference\",\n      11: \"exclusion\",\n      12: \"hue\",\n      13: \"saturation\",\n      14: \"color\",\n      15: \"luminosity\"\n    };\n    return function (mode) {\n      return blendModeEnums[mode] || \"\";\n    };\n  }();\n  /* global createTypedArray */\n\n  /*!\r\n   Transformation Matrix v2.0\r\n   (c) Epistemex 2014-2015\r\n   www.epistemex.com\r\n   By Ken Fyrstenberg\r\n   Contributions by leeoniya.\r\n   License: MIT, header required.\r\n   */\n\n  /**\r\n   * 2D transformation matrix object initialized with identity matrix.\r\n   *\r\n   * The matrix can synchronize a canvas context by supplying the context\r\n   * as an argument, or later apply current absolute transform to an\r\n   * existing context.\r\n   *\r\n   * All values are handled as floating point values.\r\n   *\r\n   * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n   * @prop {number} a - scale x\r\n   * @prop {number} b - shear y\r\n   * @prop {number} c - shear x\r\n   * @prop {number} d - scale y\r\n   * @prop {number} e - translate x\r\n   * @prop {number} f - translate y\r\n   * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n   * @constructor\r\n   */\n\n\n  var Matrix = function () {\n    var _cos = Math.cos;\n    var _sin = Math.sin;\n    var _tan = Math.tan;\n    var _rnd = Math.round;\n\n    function reset() {\n      (this || _global).props[0] = 1;\n      (this || _global).props[1] = 0;\n      (this || _global).props[2] = 0;\n      (this || _global).props[3] = 0;\n      (this || _global).props[4] = 0;\n      (this || _global).props[5] = 1;\n      (this || _global).props[6] = 0;\n      (this || _global).props[7] = 0;\n      (this || _global).props[8] = 0;\n      (this || _global).props[9] = 0;\n      (this || _global).props[10] = 1;\n      (this || _global).props[11] = 0;\n      (this || _global).props[12] = 0;\n      (this || _global).props[13] = 0;\n      (this || _global).props[14] = 0;\n      (this || _global).props[15] = 1;\n      return this || _global;\n    }\n\n    function rotate(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n    }\n\n    function rotateX(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n    }\n\n    function rotateY(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n    }\n\n    function rotateZ(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n    }\n\n    function shear(sx, sy) {\n      return this._t(1, sy, sx, 1, 0, 0);\n    }\n\n    function skew(ax, ay) {\n      return this.shear(_tan(ax), _tan(ay));\n    }\n\n    function skewFromAxis(ax, angle) {\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n    }\n\n    function scale(sx, sy, sz) {\n      if (!sz && sz !== 0) {\n        sz = 1;\n      }\n\n      if (sx === 1 && sy === 1 && sz === 1) {\n        return this || _global;\n      }\n\n      return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n    }\n\n    function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n      (this || _global).props[0] = a;\n      (this || _global).props[1] = b;\n      (this || _global).props[2] = c;\n      (this || _global).props[3] = d;\n      (this || _global).props[4] = e;\n      (this || _global).props[5] = f;\n      (this || _global).props[6] = g;\n      (this || _global).props[7] = h;\n      (this || _global).props[8] = i;\n      (this || _global).props[9] = j;\n      (this || _global).props[10] = k;\n      (this || _global).props[11] = l;\n      (this || _global).props[12] = m;\n      (this || _global).props[13] = n;\n      (this || _global).props[14] = o;\n      (this || _global).props[15] = p;\n      return this || _global;\n    }\n\n    function translate(tx, ty, tz) {\n      tz = tz || 0;\n\n      if (tx !== 0 || ty !== 0 || tz !== 0) {\n        return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n      }\n\n      return this || _global;\n    }\n\n    function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n      var _p = (this || _global).props;\n\n      if (a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0) {\n        // NOTE: commenting this condition because TurboFan deoptimizes code when present\n        // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n        _p[12] = _p[12] * a2 + _p[15] * m2;\n        _p[13] = _p[13] * f2 + _p[15] * n2;\n        _p[14] = _p[14] * k2 + _p[15] * o2;\n        _p[15] *= p2; // }\n\n        (this || _global)._identityCalculated = false;\n        return this || _global;\n      }\n\n      var a1 = _p[0];\n      var b1 = _p[1];\n      var c1 = _p[2];\n      var d1 = _p[3];\n      var e1 = _p[4];\n      var f1 = _p[5];\n      var g1 = _p[6];\n      var h1 = _p[7];\n      var i1 = _p[8];\n      var j1 = _p[9];\n      var k1 = _p[10];\n      var l1 = _p[11];\n      var m1 = _p[12];\n      var n1 = _p[13];\n      var o1 = _p[14];\n      var p1 = _p[15];\n      /* matrix order (canvas compatible):\r\n           * ace\r\n           * bdf\r\n           * 001\r\n           */\n\n      _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n      _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n      _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n      _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n      _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n      _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n      _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n      _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n      _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n      _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n      _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n      _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n      _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n      _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n      _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n      _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n      (this || _global)._identityCalculated = false;\n      return this || _global;\n    }\n\n    function isIdentity() {\n      if (!(this || _global)._identityCalculated) {\n        (this || _global)._identity = !((this || _global).props[0] !== 1 || (this || _global).props[1] !== 0 || (this || _global).props[2] !== 0 || (this || _global).props[3] !== 0 || (this || _global).props[4] !== 0 || (this || _global).props[5] !== 1 || (this || _global).props[6] !== 0 || (this || _global).props[7] !== 0 || (this || _global).props[8] !== 0 || (this || _global).props[9] !== 0 || (this || _global).props[10] !== 1 || (this || _global).props[11] !== 0 || (this || _global).props[12] !== 0 || (this || _global).props[13] !== 0 || (this || _global).props[14] !== 0 || (this || _global).props[15] !== 1);\n        (this || _global)._identityCalculated = true;\n      }\n\n      return (this || _global)._identity;\n    }\n\n    function equals(matr) {\n      var i = 0;\n\n      while (i < 16) {\n        if (matr.props[i] !== (this || _global).props[i]) {\n          return false;\n        }\n\n        i += 1;\n      }\n\n      return true;\n    }\n\n    function clone(matr) {\n      var i;\n\n      for (i = 0; i < 16; i += 1) {\n        matr.props[i] = (this || _global).props[i];\n      }\n\n      return matr;\n    }\n\n    function cloneFromProps(props) {\n      var i;\n\n      for (i = 0; i < 16; i += 1) {\n        (this || _global).props[i] = props[i];\n      }\n    }\n\n    function applyToPoint(x, y, z) {\n      return {\n        x: x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12],\n        y: x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13],\n        z: x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14]\n      };\n      /* return {\r\n           x: x * me.a + y * me.c + me.e,\r\n           y: x * me.b + y * me.d + me.f\r\n           }; */\n    }\n\n    function applyToX(x, y, z) {\n      return x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12];\n    }\n\n    function applyToY(x, y, z) {\n      return x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13];\n    }\n\n    function applyToZ(x, y, z) {\n      return x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14];\n    }\n\n    function getInverseMatrix() {\n      var determinant = (this || _global).props[0] * (this || _global).props[5] - (this || _global).props[1] * (this || _global).props[4];\n      var a = (this || _global).props[5] / determinant;\n      var b = -(this || _global).props[1] / determinant;\n      var c = -(this || _global).props[4] / determinant;\n      var d = (this || _global).props[0] / determinant;\n      var e = ((this || _global).props[4] * (this || _global).props[13] - (this || _global).props[5] * (this || _global).props[12]) / determinant;\n      var f = -((this || _global).props[0] * (this || _global).props[13] - (this || _global).props[1] * (this || _global).props[12]) / determinant;\n      var inverseMatrix = new Matrix();\n      inverseMatrix.props[0] = a;\n      inverseMatrix.props[1] = b;\n      inverseMatrix.props[4] = c;\n      inverseMatrix.props[5] = d;\n      inverseMatrix.props[12] = e;\n      inverseMatrix.props[13] = f;\n      return inverseMatrix;\n    }\n\n    function inversePoint(pt) {\n      var inverseMatrix = this.getInverseMatrix();\n      return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n    }\n\n    function inversePoints(pts) {\n      var i;\n      var len = pts.length;\n      var retPts = [];\n\n      for (i = 0; i < len; i += 1) {\n        retPts[i] = inversePoint(pts[i]);\n      }\n\n      return retPts;\n    }\n\n    function applyToTriplePoints(pt1, pt2, pt3) {\n      var arr = createTypedArray(\"float32\", 6);\n\n      if (this.isIdentity()) {\n        arr[0] = pt1[0];\n        arr[1] = pt1[1];\n        arr[2] = pt2[0];\n        arr[3] = pt2[1];\n        arr[4] = pt3[0];\n        arr[5] = pt3[1];\n      } else {\n        var p0 = (this || _global).props[0];\n        var p1 = (this || _global).props[1];\n        var p4 = (this || _global).props[4];\n        var p5 = (this || _global).props[5];\n        var p12 = (this || _global).props[12];\n        var p13 = (this || _global).props[13];\n        arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n        arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n        arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n        arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n        arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n        arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n      }\n\n      return arr;\n    }\n\n    function applyToPointArray(x, y, z) {\n      var arr;\n\n      if (this.isIdentity()) {\n        arr = [x, y, z];\n      } else {\n        arr = [x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12], x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13], x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14]];\n      }\n\n      return arr;\n    }\n\n    function applyToPointStringified(x, y) {\n      if (this.isIdentity()) {\n        return x + \",\" + y;\n      }\n\n      var _p = (this || _global).props;\n      return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100 + \",\" + Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100;\n    }\n\n    function toCSS() {\n      // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n      /* if(this.isIdentity()) {\r\n              return '';\r\n          } */\n      var i = 0;\n      var props = (this || _global).props;\n      var cssValue = \"matrix3d(\";\n      var v = 10000;\n\n      while (i < 16) {\n        cssValue += _rnd(props[i] * v) / v;\n        cssValue += i === 15 ? \")\" : \",\";\n        i += 1;\n      }\n\n      return cssValue;\n    }\n\n    function roundMatrixProperty(val) {\n      var v = 10000;\n\n      if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n        return _rnd(val * v) / v;\n      }\n\n      return val;\n    }\n\n    function to2dCSS() {\n      // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n      /* if(this.isIdentity()) {\r\n              return '';\r\n          } */\n      var props = (this || _global).props;\n\n      var _a = roundMatrixProperty(props[0]);\n\n      var _b = roundMatrixProperty(props[1]);\n\n      var _c = roundMatrixProperty(props[4]);\n\n      var _d = roundMatrixProperty(props[5]);\n\n      var _e = roundMatrixProperty(props[12]);\n\n      var _f = roundMatrixProperty(props[13]);\n\n      return \"matrix(\" + _a + \",\" + _b + \",\" + _c + \",\" + _d + \",\" + _e + \",\" + _f + \")\";\n    }\n\n    return function () {\n      (this || _global).reset = reset;\n      (this || _global).rotate = rotate;\n      (this || _global).rotateX = rotateX;\n      (this || _global).rotateY = rotateY;\n      (this || _global).rotateZ = rotateZ;\n      (this || _global).skew = skew;\n      (this || _global).skewFromAxis = skewFromAxis;\n      (this || _global).shear = shear;\n      (this || _global).scale = scale;\n      (this || _global).setTransform = setTransform;\n      (this || _global).translate = translate;\n      (this || _global).transform = transform;\n      (this || _global).applyToPoint = applyToPoint;\n      (this || _global).applyToX = applyToX;\n      (this || _global).applyToY = applyToY;\n      (this || _global).applyToZ = applyToZ;\n      (this || _global).applyToPointArray = applyToPointArray;\n      (this || _global).applyToTriplePoints = applyToTriplePoints;\n      (this || _global).applyToPointStringified = applyToPointStringified;\n      (this || _global).toCSS = toCSS;\n      (this || _global).to2dCSS = to2dCSS;\n      (this || _global).clone = clone;\n      (this || _global).cloneFromProps = cloneFromProps;\n      (this || _global).equals = equals;\n      (this || _global).inversePoints = inversePoints;\n      (this || _global).inversePoint = inversePoint;\n      (this || _global).getInverseMatrix = getInverseMatrix;\n      (this || _global)._t = (this || _global).transform;\n      (this || _global).isIdentity = isIdentity;\n      (this || _global)._identity = true;\n      (this || _global)._identityCalculated = false;\n      (this || _global).props = createTypedArray(\"float32\", 16);\n      this.reset();\n    };\n  }();\n  /* eslint-disable */\n\n  /*\r\n   Copyright 2014 David Bau.\r\n  \r\n   Permission is hereby granted, free of charge, to any person obtaining\r\n   a copy of this software and associated documentation files (the\r\n   \"Software\"), to deal in the Software without restriction, including\r\n   without limitation the rights to use, copy, modify, merge, publish,\r\n   distribute, sublicense, and/or sell copies of the Software, and to\r\n   permit persons to whom the Software is furnished to do so, subject to\r\n   the following conditions:\r\n  \r\n   The above copyright notice and this permission notice shall be\r\n   included in all copies or substantial portions of the Software.\r\n  \r\n   THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n   TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n   SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n  \r\n   */\n\n\n  (function (pool, math) {\n    //\n    // The following constants are related to IEEE 754 limits.\n    //\n    var global = this || _global,\n        width = 256,\n        // each RC4 output is 0 <= x < 256\n    chunks = 6,\n        // at least six RC4 outputs for each double\n    digits = 52,\n        // there are 52 significant digits in a double\n    rngname = \"random\",\n        // rngname: name for Math.random and Math.seedrandom\n    startdenom = math.pow(width, chunks),\n        significance = math.pow(2, digits),\n        overflow = significance * 2,\n        mask = width - 1,\n        nodecrypto; // node.js crypto module, initialized at the bottom.\n    //\n    // seedrandom()\n    // This is the seedrandom function described above.\n    //\n\n    function seedrandom(seed, options, callback) {\n      var key = [];\n      options = options === true ? {\n        entropy: true\n      } : options || {}; // Flatten the seed string or build one from local entropy if needed.\n\n      var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator.\n\n      var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains\n      // randomness in every bit of the mantissa of the IEEE 754 value.\n\n      var prng = function () {\n        var n = arc4.g(chunks),\n            // Start with a numerator n < 2 ^ 48\n        d = startdenom,\n            //   and denominator d = 2 ^ 48.\n        x = 0; //   and no 'extra last byte'.\n\n        while (n < significance) {\n          // Fill up all significant digits by\n          n = (n + x) * width; //   shifting numerator and\n\n          d *= width; //   denominator and generating a\n\n          x = arc4.g(1); //   new least-significant-byte.\n        }\n\n        while (n >= overflow) {\n          // To avoid rounding up, before adding\n          n /= 2; //   last byte, shift everything\n\n          d /= 2; //   right using integer math until\n\n          x >>>= 1; //   we have exactly the desired bits.\n        }\n\n        return (n + x) / d; // Form the number within [0, 1).\n      };\n\n      prng.int32 = function () {\n        return arc4.g(4) | 0;\n      };\n\n      prng.quick = function () {\n        return arc4.g(4) / 4294967296;\n      };\n\n      prng.double = prng; // Mix the randomness into accumulated entropy.\n\n      mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math.\n\n      return (options.pass || callback || function (prng, seed, is_math_call, state) {\n        if (state) {\n          // Load the arc4 state from the given state if it has an S array.\n          if (state.S) {\n            copy(state, arc4);\n          } // Only provide the .state method if requested via options.state.\n\n\n          prng.state = function () {\n            return copy(arc4, {});\n          };\n        } // If called as a method of Math (Math.seedrandom()), mutate\n        // Math.random because that is how seedrandom.js has worked since v1.0.\n\n\n        if (is_math_call) {\n          math[rngname] = prng;\n          return seed;\n        } // Otherwise, it is a newer calling convention, so return the\n        // prng directly.\n        else return prng;\n      })(prng, shortseed, \"global\" in options ? options.global : (this || _global) == math, options.state);\n    }\n\n    math[\"seed\" + rngname] = seedrandom; //\n    // ARC4\n    //\n    // An ARC4 implementation.  The constructor takes a key in the form of\n    // an array of at most (width) integers that should be 0 <= x < (width).\n    //\n    // The g(count) method returns a pseudorandom integer that concatenates\n    // the next (count) outputs from ARC4.  Its return value is a number x\n    // that is in the range 0 <= x < (width ^ count).\n    //\n\n    function ARC4(key) {\n      var t,\n          keylen = key.length,\n          me = this || _global,\n          i = 0,\n          j = me.i = me.j = 0,\n          s = me.S = []; // The empty key [] is treated as [0].\n\n      if (!keylen) {\n        key = [keylen++];\n      } // Set up S using the standard key scheduling algorithm.\n\n\n      while (i < width) {\n        s[i] = i++;\n      }\n\n      for (i = 0; i < width; i++) {\n        s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n        s[j] = t;\n      } // The \"g\" method returns the next (count) outputs as one number.\n\n\n      me.g = function (count) {\n        // Using instance members instead of closure state nearly doubles speed.\n        var t,\n            r = 0,\n            i = me.i,\n            j = me.j,\n            s = me.S;\n\n        while (count--) {\n          t = s[i = mask & i + 1];\n          r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n        }\n\n        me.i = i;\n        me.j = j;\n        return r; // For robust unpredictability, the function call below automatically\n        // discards an initial batch of values.  This is called RC4-drop[256].\n        // See http://google.com/search?q=rsa+fluhrer+response&btnI\n      };\n    } //\n    // copy()\n    // Copies internal state of ARC4 to or from a plain object.\n    //\n\n\n    function copy(f, t) {\n      t.i = f.i;\n      t.j = f.j;\n      t.S = f.S.slice();\n      return t;\n    } //\n    // flatten()\n    // Converts an object tree to nested arrays of strings.\n    //\n\n\n    function flatten(obj, depth) {\n      var result = [],\n          typ = typeof obj,\n          prop;\n\n      if (depth && typ == \"object\") {\n        for (prop in obj) {\n          try {\n            result.push(flatten(obj[prop], depth - 1));\n          } catch (e) {}\n        }\n      }\n\n      return result.length ? result : typ == \"string\" ? obj : obj + \"\\0\";\n    } //\n    // mixkey()\n    // Mixes a string seed into a key that is an array of integers, and\n    // returns a shortened string seed that is equivalent to the result key.\n    //\n\n\n    function mixkey(seed, key) {\n      var stringseed = seed + \"\",\n          smear,\n          j = 0;\n\n      while (j < stringseed.length) {\n        key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n      }\n\n      return tostring(key);\n    } //\n    // autoseed()\n    // Returns an object for autoseeding, using window.crypto and Node crypto\n    // module if available.\n    //\n\n\n    function autoseed() {\n      try {\n        if (nodecrypto) {\n          return tostring(nodecrypto.randomBytes(width));\n        }\n\n        var out = new Uint8Array(width);\n        (global.crypto || global.msCrypto).getRandomValues(out);\n        return tostring(out);\n      } catch (e) {\n        var browser = global.navigator,\n            plugins = browser && browser.plugins;\n        return [+new Date(), global, plugins, global.screen, tostring(pool)];\n      }\n    } //\n    // tostring()\n    // Converts an array of charcodes to a string\n    //\n\n\n    function tostring(a) {\n      return String.fromCharCode.apply(0, a);\n    } //\n    // When seedrandom.js is loaded, we immediately mix a few bits\n    // from the built-in RNG into the entropy pool.  Because we do\n    // not want to interfere with deterministic PRNG state later,\n    // seedrandom will not call math.random on its own again after\n    // initialization.\n    //\n\n\n    mixkey(math.random(), pool); //\n    // Nodejs and AMD support: export the implementation as a module using\n    // either convention.\n    //\n    // End anonymous scope, and pass initial values.\n  })([], // pool: entropy pool starts empty\n  BMMath // math: package containing random, pow, and seedrandom\n  );\n  /* eslint-disable */\n\n\n  var BezierFactory = function () {\n    /**\r\n       * BezierEasing - use bezier curve for transition easing function\r\n       * by Gaëtan Renaudeau 2014 - 2015 – MIT License\r\n       *\r\n       * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n       * Usage:\r\n       * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n       * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n       *\r\n       */\n    var ob = {};\n    ob.getBezierEasing = getBezierEasing;\n    var beziers = {};\n\n    function getBezierEasing(a, b, c, d, nm) {\n      var str = nm || (\"bez_\" + a + \"_\" + b + \"_\" + c + \"_\" + d).replace(/\\./g, \"p\");\n\n      if (beziers[str]) {\n        return beziers[str];\n      }\n\n      var bezEasing = new BezierEasing([a, b, c, d]);\n      beziers[str] = bezEasing;\n      return bezEasing;\n    } // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\n\n    var NEWTON_ITERATIONS = 4;\n    var NEWTON_MIN_SLOPE = 0.001;\n    var SUBDIVISION_PRECISION = 1e-7;\n    var SUBDIVISION_MAX_ITERATIONS = 10;\n    var kSplineTableSize = 11;\n    var kSampleStepSize = 1 / (kSplineTableSize - 1);\n    var float32ArraySupported = typeof Float32Array === \"function\";\n\n    function A(aA1, aA2) {\n      return 1 - 3 * aA2 + 3 * aA1;\n    }\n\n    function B(aA1, aA2) {\n      return 3 * aA2 - 6 * aA1;\n    }\n\n    function C(aA1) {\n      return 3 * aA1;\n    } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\n    function calcBezier(aT, aA1, aA2) {\n      return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n    } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\n    function getSlope(aT, aA1, aA2) {\n      return 3 * A(aA1, aA2) * aT * aT + 2 * B(aA1, aA2) * aT + C(aA1);\n    }\n\n    function binarySubdivide(aX, aA, aB, mX1, mX2) {\n      var currentX,\n          currentT,\n          i = 0;\n\n      do {\n        currentT = aA + (aB - aA) / 2;\n        currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n        if (currentX > 0) {\n          aB = currentT;\n        } else {\n          aA = currentT;\n        }\n      } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n      return currentT;\n    }\n\n    function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n      for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n        var currentSlope = getSlope(aGuessT, mX1, mX2);\n        if (currentSlope === 0) return aGuessT;\n        var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n        aGuessT -= currentX / currentSlope;\n      }\n\n      return aGuessT;\n    }\n    /**\r\n       * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n       */\n\n\n    function BezierEasing(points) {\n      (this || _global)._p = points;\n      (this || _global)._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n      (this || _global)._precomputed = false;\n      (this || _global).get = (this || _global).get.bind(this || _global);\n    }\n\n    BezierEasing.prototype = {\n      get: function (x) {\n        var mX1 = (this || _global)._p[0],\n            mY1 = (this || _global)._p[1],\n            mX2 = (this || _global)._p[2],\n            mY2 = (this || _global)._p[3];\n        if (!(this || _global)._precomputed) this._precompute();\n        if (mX1 === mY1 && mX2 === mY2) return x; // linear\n        // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n        if (x === 0) return 0;\n        if (x === 1) return 1;\n        return calcBezier(this._getTForX(x), mY1, mY2);\n      },\n      // Private part\n      _precompute: function () {\n        var mX1 = (this || _global)._p[0],\n            mY1 = (this || _global)._p[1],\n            mX2 = (this || _global)._p[2],\n            mY2 = (this || _global)._p[3];\n        (this || _global)._precomputed = true;\n\n        if (mX1 !== mY1 || mX2 !== mY2) {\n          this._calcSampleValues();\n        }\n      },\n      _calcSampleValues: function () {\n        var mX1 = (this || _global)._p[0],\n            mX2 = (this || _global)._p[2];\n\n        for (var i = 0; i < kSplineTableSize; ++i) {\n          (this || _global)._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n        }\n      },\n\n      /**\r\n           * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n           */\n      _getTForX: function (aX) {\n        var mX1 = (this || _global)._p[0],\n            mX2 = (this || _global)._p[2],\n            mSampleValues = (this || _global)._mSampleValues;\n        var intervalStart = 0;\n        var currentSample = 1;\n        var lastSample = kSplineTableSize - 1;\n\n        for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n          intervalStart += kSampleStepSize;\n        }\n\n        --currentSample; // Interpolate to provide an initial guess for t\n\n        var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n        var guessForT = intervalStart + dist * kSampleStepSize;\n        var initialSlope = getSlope(guessForT, mX1, mX2);\n\n        if (initialSlope >= NEWTON_MIN_SLOPE) {\n          return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n        }\n\n        if (initialSlope === 0) {\n          return guessForT;\n        }\n\n        return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n      }\n    };\n    return ob;\n  }();\n\n  (function () {\n    var lastTime = 0;\n    var vendors = [\"ms\", \"moz\", \"webkit\", \"o\"];\n\n    for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\n      // eslint-disable-line no-plusplus\n      window.requestAnimationFrame = window[vendors[x] + \"RequestAnimationFrame\"];\n      window.cancelAnimationFrame = window[vendors[x] + \"CancelAnimationFrame\"] || window[vendors[x] + \"CancelRequestAnimationFrame\"];\n    }\n\n    if (!window.requestAnimationFrame) {\n      window.requestAnimationFrame = function (callback) {\n        var currTime = new Date().getTime();\n        var timeToCall = Math.max(0, 16 - (currTime - lastTime));\n        var id = setTimeout(function () {\n          callback(currTime + timeToCall);\n        }, timeToCall);\n        lastTime = currTime + timeToCall;\n        return id;\n      };\n    }\n\n    if (!window.cancelAnimationFrame) {\n      window.cancelAnimationFrame = function (id) {\n        clearTimeout(id);\n      };\n    }\n  })();\n  /* exported extendPrototype, getDescriptor, createProxyFunction */\n\n\n  function extendPrototype(sources, destination) {\n    var i;\n    var len = sources.length;\n    var sourcePrototype;\n\n    for (i = 0; i < len; i += 1) {\n      sourcePrototype = sources[i].prototype;\n\n      for (var attr in sourcePrototype) {\n        if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\n      }\n    }\n  }\n\n  function getDescriptor(object, prop) {\n    return Object.getOwnPropertyDescriptor(object, prop);\n  }\n\n  function createProxyFunction(prototype) {\n    function ProxyFunction() {}\n\n    ProxyFunction.prototype = prototype;\n    return ProxyFunction;\n  }\n  /* global segmentsLengthPool, defaultCurveSegments, createSizedArray, bmPow, bmSqrt, bmFloor, createTypedArray, bezierLengthPool */\n\n  /* exported bez */\n\n\n  function bezFunction() {\n    var math = Math;\n\n    function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n      var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n      return det1 > -0.001 && det1 < 0.001;\n    }\n\n    function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n      if (z1 === 0 && z2 === 0 && z3 === 0) {\n        return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n      }\n\n      var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\n      var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\n      var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\n      var diffDist;\n\n      if (dist1 > dist2) {\n        if (dist1 > dist3) {\n          diffDist = dist1 - dist2 - dist3;\n        } else {\n          diffDist = dist3 - dist2 - dist1;\n        }\n      } else if (dist3 > dist2) {\n        diffDist = dist3 - dist2 - dist1;\n      } else {\n        diffDist = dist2 - dist1 - dist3;\n      }\n\n      return diffDist > -0.0001 && diffDist < 0.0001;\n    }\n\n    var getBezierLength = function () {\n      return function (pt1, pt2, pt3, pt4) {\n        var curveSegments = defaultCurveSegments;\n        var k;\n        var i;\n        var len;\n        var ptCoord;\n        var perc;\n        var addedLength = 0;\n        var ptDistance;\n        var point = [];\n        var lastPoint = [];\n        var lengthData = bezierLengthPool.newElement();\n        len = pt3.length;\n\n        for (k = 0; k < curveSegments; k += 1) {\n          perc = k / (curveSegments - 1);\n          ptDistance = 0;\n\n          for (i = 0; i < len; i += 1) {\n            ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bmPow(perc, 2) * pt4[i] + bmPow(perc, 3) * pt2[i];\n            point[i] = ptCoord;\n\n            if (lastPoint[i] !== null) {\n              ptDistance += bmPow(point[i] - lastPoint[i], 2);\n            }\n\n            lastPoint[i] = point[i];\n          }\n\n          if (ptDistance) {\n            ptDistance = bmSqrt(ptDistance);\n            addedLength += ptDistance;\n          }\n\n          lengthData.percents[k] = perc;\n          lengthData.lengths[k] = addedLength;\n        }\n\n        lengthData.addedLength = addedLength;\n        return lengthData;\n      };\n    }();\n\n    function getSegmentsLength(shapeData) {\n      var segmentsLength = segmentsLengthPool.newElement();\n      var closed = shapeData.c;\n      var pathV = shapeData.v;\n      var pathO = shapeData.o;\n      var pathI = shapeData.i;\n      var i;\n      var len = shapeData._length;\n      var lengths = segmentsLength.lengths;\n      var totalLength = 0;\n\n      for (i = 0; i < len - 1; i += 1) {\n        lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n        totalLength += lengths[i].addedLength;\n      }\n\n      if (closed && len) {\n        lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n        totalLength += lengths[i].addedLength;\n      }\n\n      segmentsLength.totalLength = totalLength;\n      return segmentsLength;\n    }\n\n    function BezierData(length) {\n      (this || _global).segmentLength = 0;\n      (this || _global).points = new Array(length);\n    }\n\n    function PointData(partial, point) {\n      (this || _global).partialLength = partial;\n      (this || _global).point = point;\n    }\n\n    var buildBezierData = function () {\n      var storedData = {};\n      return function (pt1, pt2, pt3, pt4) {\n        var bezierName = (pt1[0] + \"_\" + pt1[1] + \"_\" + pt2[0] + \"_\" + pt2[1] + \"_\" + pt3[0] + \"_\" + pt3[1] + \"_\" + pt4[0] + \"_\" + pt4[1]).replace(/\\./g, \"p\");\n\n        if (!storedData[bezierName]) {\n          var curveSegments = defaultCurveSegments;\n          var k;\n          var i;\n          var len;\n          var ptCoord;\n          var perc;\n          var addedLength = 0;\n          var ptDistance;\n          var point;\n          var lastPoint = null;\n\n          if (pt1.length === 2 && (pt1[0] !== pt2[0] || pt1[1] !== pt2[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt1[0] + pt3[0], pt1[1] + pt3[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt2[0] + pt4[0], pt2[1] + pt4[1])) {\n            curveSegments = 2;\n          }\n\n          var bezierData = new BezierData(curveSegments);\n          len = pt3.length;\n\n          for (k = 0; k < curveSegments; k += 1) {\n            point = createSizedArray(len);\n            perc = k / (curveSegments - 1);\n            ptDistance = 0;\n\n            for (i = 0; i < len; i += 1) {\n              ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bmPow(perc, 2) * (pt2[i] + pt4[i]) + bmPow(perc, 3) * pt2[i];\n              point[i] = ptCoord;\n\n              if (lastPoint !== null) {\n                ptDistance += bmPow(point[i] - lastPoint[i], 2);\n              }\n            }\n\n            ptDistance = bmSqrt(ptDistance);\n            addedLength += ptDistance;\n            bezierData.points[k] = new PointData(ptDistance, point);\n            lastPoint = point;\n          }\n\n          bezierData.segmentLength = addedLength;\n          storedData[bezierName] = bezierData;\n        }\n\n        return storedData[bezierName];\n      };\n    }();\n\n    function getDistancePerc(perc, bezierData) {\n      var percents = bezierData.percents;\n      var lengths = bezierData.lengths;\n      var len = percents.length;\n      var initPos = bmFloor((len - 1) * perc);\n      var lengthPos = perc * bezierData.addedLength;\n      var lPerc = 0;\n\n      if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n        return percents[initPos];\n      }\n\n      var dir = lengths[initPos] > lengthPos ? -1 : 1;\n      var flag = true;\n\n      while (flag) {\n        if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n          lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n          flag = false;\n        } else {\n          initPos += dir;\n        }\n\n        if (initPos < 0 || initPos >= len - 1) {\n          // FIX for TypedArrays that don't store floating point values with enough accuracy\n          if (initPos === len - 1) {\n            return percents[initPos];\n          }\n\n          flag = false;\n        }\n      }\n\n      return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n    }\n\n    function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n      var t1 = getDistancePerc(percent, bezierData);\n      var u1 = 1 - t1;\n      var ptX = math.round((u1 * u1 * u1 * pt1[0] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[0] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[0] + t1 * t1 * t1 * pt2[0]) * 1000) / 1000;\n      var ptY = math.round((u1 * u1 * u1 * pt1[1] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[1] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[1] + t1 * t1 * t1 * pt2[1]) * 1000) / 1000;\n      return [ptX, ptY];\n    }\n\n    var bezierSegmentPoints = createTypedArray(\"float32\", 8);\n\n    function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n      if (startPerc < 0) {\n        startPerc = 0;\n      } else if (startPerc > 1) {\n        startPerc = 1;\n      }\n\n      var t0 = getDistancePerc(startPerc, bezierData);\n      endPerc = endPerc > 1 ? 1 : endPerc;\n      var t1 = getDistancePerc(endPerc, bezierData);\n      var i;\n      var len = pt1.length;\n      var u0 = 1 - t0;\n      var u1 = 1 - t1;\n      var u0u0u0 = u0 * u0 * u0;\n      var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\n\n      var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\n\n      var t0t0t0 = t0 * t0 * t0; //\n\n      var u0u0u1 = u0 * u0 * u1;\n      var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\n\n      var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\n\n      var t0t0t1 = t0 * t0 * t1; //\n\n      var u0u1u1 = u0 * u1 * u1;\n      var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\n\n      var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\n\n      var t0t1t1 = t0 * t1 * t1; //\n\n      var u1u1u1 = u1 * u1 * u1;\n      var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\n\n      var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\n\n      var t1t1t1 = t1 * t1 * t1;\n\n      for (i = 0; i < len; i += 1) {\n        bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n      }\n\n      return bezierSegmentPoints;\n    }\n\n    return {\n      getSegmentsLength: getSegmentsLength,\n      getNewSegment: getNewSegment,\n      getPointInSegment: getPointInSegment,\n      buildBezierData: buildBezierData,\n      pointOnLine2D: pointOnLine2D,\n      pointOnLine3D: pointOnLine3D\n    };\n  }\n\n  var bez = bezFunction();\n  /* exported dataManager */\n\n  function dataFunctionManager() {\n    // var tCanvasHelper = createTag('canvas').getContext('2d');\n    function completeLayers(layers, comps, fontManager) {\n      var layerData;\n      var i;\n      var len = layers.length;\n      var j;\n      var jLen;\n      var k;\n      var kLen;\n\n      for (i = 0; i < len; i += 1) {\n        layerData = layers[i];\n\n        if (\"ks\" in layerData && !layerData.completed) {\n          layerData.completed = true;\n\n          if (layerData.tt) {\n            layers[i - 1].td = layerData.tt;\n          }\n\n          if (layerData.hasMask) {\n            var maskProps = layerData.masksProperties;\n            jLen = maskProps.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (maskProps[j].pt.k.i) {\n                convertPathsToAbsoluteValues(maskProps[j].pt.k);\n              } else {\n                kLen = maskProps[j].pt.k.length;\n\n                for (k = 0; k < kLen; k += 1) {\n                  if (maskProps[j].pt.k[k].s) {\n                    convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n                  }\n\n                  if (maskProps[j].pt.k[k].e) {\n                    convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n                  }\n                }\n              }\n            }\n          }\n\n          if (layerData.ty === 0) {\n            layerData.layers = findCompLayers(layerData.refId, comps);\n            completeLayers(layerData.layers, comps, fontManager);\n          } else if (layerData.ty === 4) {\n            completeShapes(layerData.shapes);\n          } else if (layerData.ty === 5) {\n            completeText(layerData, fontManager);\n          }\n        }\n      }\n    }\n\n    function findCompLayers(id, comps) {\n      var i = 0;\n      var len = comps.length;\n\n      while (i < len) {\n        if (comps[i].id === id) {\n          if (!comps[i].layers.__used) {\n            comps[i].layers.__used = true;\n            return comps[i].layers;\n          }\n\n          return JSON.parse(JSON.stringify(comps[i].layers));\n        }\n\n        i += 1;\n      }\n\n      return null;\n    }\n\n    function completeShapes(arr) {\n      var i;\n      var len = arr.length;\n      var j;\n      var jLen;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        if (arr[i].ty === \"sh\") {\n          if (arr[i].ks.k.i) {\n            convertPathsToAbsoluteValues(arr[i].ks.k);\n          } else {\n            jLen = arr[i].ks.k.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (arr[i].ks.k[j].s) {\n                convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n              }\n\n              if (arr[i].ks.k[j].e) {\n                convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n              }\n            }\n          }\n        } else if (arr[i].ty === \"gr\") {\n          completeShapes(arr[i].it);\n        }\n      }\n    }\n\n    function convertPathsToAbsoluteValues(path) {\n      var i;\n      var len = path.i.length;\n\n      for (i = 0; i < len; i += 1) {\n        path.i[i][0] += path.v[i][0];\n        path.i[i][1] += path.v[i][1];\n        path.o[i][0] += path.v[i][0];\n        path.o[i][1] += path.v[i][1];\n      }\n    }\n\n    function checkVersion(minimum, animVersionString) {\n      var animVersion = animVersionString ? animVersionString.split(\".\") : [100, 100, 100];\n\n      if (minimum[0] > animVersion[0]) {\n        return true;\n      }\n\n      if (animVersion[0] > minimum[0]) {\n        return false;\n      }\n\n      if (minimum[1] > animVersion[1]) {\n        return true;\n      }\n\n      if (animVersion[1] > minimum[1]) {\n        return false;\n      }\n\n      if (minimum[2] > animVersion[2]) {\n        return true;\n      }\n\n      if (animVersion[2] > minimum[2]) {\n        return false;\n      }\n\n      return null;\n    }\n\n    var checkText = function () {\n      var minimumVersion = [4, 4, 14];\n\n      function updateTextLayer(textLayer) {\n        var documentData = textLayer.t.d;\n        textLayer.t.d = {\n          k: [{\n            s: documentData,\n            t: 0\n          }]\n        };\n      }\n\n      function iterateLayers(layers) {\n        var i;\n        var len = layers.length;\n\n        for (i = 0; i < len; i += 1) {\n          if (layers[i].ty === 5) {\n            updateTextLayer(layers[i]);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkChars = function () {\n      var minimumVersion = [4, 7, 99];\n      return function (animationData) {\n        if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n          var i;\n          var len = animationData.chars.length;\n          var j;\n          var jLen;\n          var pathData;\n          var paths;\n\n          for (i = 0; i < len; i += 1) {\n            if (animationData.chars[i].data && animationData.chars[i].data.shapes) {\n              paths = animationData.chars[i].data.shapes[0].it;\n              jLen = paths.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                pathData = paths[j].ks.k;\n\n                if (!pathData.__converted) {\n                  convertPathsToAbsoluteValues(paths[j].ks.k);\n                  pathData.__converted = true;\n                }\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkColors = function () {\n      var minimumVersion = [4, 1, 9];\n\n      function iterateShapes(shapes) {\n        var i;\n        var len = shapes.length;\n        var j;\n        var jLen;\n\n        for (i = 0; i < len; i += 1) {\n          if (shapes[i].ty === \"gr\") {\n            iterateShapes(shapes[i].it);\n          } else if (shapes[i].ty === \"fl\" || shapes[i].ty === \"st\") {\n            if (shapes[i].c.k && shapes[i].c.k[0].i) {\n              jLen = shapes[i].c.k.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                if (shapes[i].c.k[j].s) {\n                  shapes[i].c.k[j].s[0] /= 255;\n                  shapes[i].c.k[j].s[1] /= 255;\n                  shapes[i].c.k[j].s[2] /= 255;\n                  shapes[i].c.k[j].s[3] /= 255;\n                }\n\n                if (shapes[i].c.k[j].e) {\n                  shapes[i].c.k[j].e[0] /= 255;\n                  shapes[i].c.k[j].e[1] /= 255;\n                  shapes[i].c.k[j].e[2] /= 255;\n                  shapes[i].c.k[j].e[3] /= 255;\n                }\n              }\n            } else {\n              shapes[i].c.k[0] /= 255;\n              shapes[i].c.k[1] /= 255;\n              shapes[i].c.k[2] /= 255;\n              shapes[i].c.k[3] /= 255;\n            }\n          }\n        }\n      }\n\n      function iterateLayers(layers) {\n        var i;\n        var len = layers.length;\n\n        for (i = 0; i < len; i += 1) {\n          if (layers[i].ty === 4) {\n            iterateShapes(layers[i].shapes);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkShapes = function () {\n      var minimumVersion = [4, 4, 18];\n\n      function completeClosingShapes(arr) {\n        var i;\n        var len = arr.length;\n        var j;\n        var jLen;\n\n        for (i = len - 1; i >= 0; i -= 1) {\n          if (arr[i].ty === \"sh\") {\n            if (arr[i].ks.k.i) {\n              arr[i].ks.k.c = arr[i].closed;\n            } else {\n              jLen = arr[i].ks.k.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                if (arr[i].ks.k[j].s) {\n                  arr[i].ks.k[j].s[0].c = arr[i].closed;\n                }\n\n                if (arr[i].ks.k[j].e) {\n                  arr[i].ks.k[j].e[0].c = arr[i].closed;\n                }\n              }\n            }\n          } else if (arr[i].ty === \"gr\") {\n            completeClosingShapes(arr[i].it);\n          }\n        }\n      }\n\n      function iterateLayers(layers) {\n        var layerData;\n        var i;\n        var len = layers.length;\n        var j;\n        var jLen;\n        var k;\n        var kLen;\n\n        for (i = 0; i < len; i += 1) {\n          layerData = layers[i];\n\n          if (layerData.hasMask) {\n            var maskProps = layerData.masksProperties;\n            jLen = maskProps.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (maskProps[j].pt.k.i) {\n                maskProps[j].pt.k.c = maskProps[j].cl;\n              } else {\n                kLen = maskProps[j].pt.k.length;\n\n                for (k = 0; k < kLen; k += 1) {\n                  if (maskProps[j].pt.k[k].s) {\n                    maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n                  }\n\n                  if (maskProps[j].pt.k[k].e) {\n                    maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n                  }\n                }\n              }\n            }\n          }\n\n          if (layerData.ty === 4) {\n            completeClosingShapes(layerData.shapes);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    function completeData(animationData, fontManager) {\n      if (animationData.__complete) {\n        return;\n      }\n\n      checkColors(animationData);\n      checkText(animationData);\n      checkChars(animationData);\n      checkShapes(animationData);\n      completeLayers(animationData.layers, animationData.assets, fontManager);\n      animationData.__complete = true;\n    }\n\n    function completeText(data) {\n      if (data.t.a.length === 0 && !(\"m\" in data.t.p)) {\n        data.singleShape = true;\n      }\n    }\n\n    var moduleOb = {};\n    moduleOb.completeData = completeData;\n    moduleOb.checkColors = checkColors;\n    moduleOb.checkChars = checkChars;\n    moduleOb.checkShapes = checkShapes;\n    moduleOb.completeLayers = completeLayers;\n    return moduleOb;\n  }\n\n  var dataManager = dataFunctionManager();\n  /* exported getFontProperties */\n\n  function getFontProperties(fontData) {\n    var styles = fontData.fStyle ? fontData.fStyle.split(\" \") : [];\n    var fWeight = \"normal\";\n    var fStyle = \"normal\";\n    var len = styles.length;\n    var styleName;\n\n    for (var i = 0; i < len; i += 1) {\n      styleName = styles[i].toLowerCase();\n\n      switch (styleName) {\n        case \"italic\":\n          fStyle = \"italic\";\n          break;\n\n        case \"bold\":\n          fWeight = \"700\";\n          break;\n\n        case \"black\":\n          fWeight = \"900\";\n          break;\n\n        case \"medium\":\n          fWeight = \"500\";\n          break;\n\n        case \"regular\":\n        case \"normal\":\n          fWeight = \"400\";\n          break;\n\n        case \"light\":\n        case \"thin\":\n          fWeight = \"200\";\n          break;\n\n        default:\n          break;\n      }\n    }\n\n    return {\n      style: fStyle,\n      weight: fontData.fWeight || fWeight\n    };\n  }\n  /* global createNS, createTag, getFontProperties */\n\n  /* exported FontManager */\n\n\n  var FontManager = function () {\n    var maxWaitingTime = 5000;\n    var emptyChar = {\n      w: 0,\n      size: 0,\n      shapes: []\n    };\n    var combinedCharacters = []; // Hindi characters\n\n    combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\n\n    function trimFontOptions(font) {\n      var familyArray = font.split(\",\");\n      var i;\n      var len = familyArray.length;\n      var enabledFamilies = [];\n\n      for (i = 0; i < len; i += 1) {\n        if (familyArray[i] !== \"sans-serif\" && familyArray[i] !== \"monospace\") {\n          enabledFamilies.push(familyArray[i]);\n        }\n      }\n\n      return enabledFamilies.join(\",\");\n    }\n\n    function setUpNode(font, family) {\n      var parentNode = createTag(\"span\"); // Node is invisible to screen readers.\n\n      parentNode.setAttribute(\"aria-hidden\", true);\n      parentNode.style.fontFamily = family;\n      var node = createTag(\"span\"); // Characters that vary significantly among different fonts\n\n      node.innerText = \"giItT1WQy@!-/#\"; // Visible - so we can measure it - but not on the screen\n\n      parentNode.style.position = \"absolute\";\n      parentNode.style.left = \"-10000px\";\n      parentNode.style.top = \"-10000px\"; // Large font size makes even subtle changes obvious\n\n      parentNode.style.fontSize = \"300px\"; // Reset any font properties\n\n      parentNode.style.fontVariant = \"normal\";\n      parentNode.style.fontStyle = \"normal\";\n      parentNode.style.fontWeight = \"normal\";\n      parentNode.style.letterSpacing = \"0\";\n      parentNode.appendChild(node);\n      document.body.appendChild(parentNode); // Remember width with no applied web font\n\n      var width = node.offsetWidth;\n      node.style.fontFamily = trimFontOptions(font) + \", \" + family;\n      return {\n        node: node,\n        w: width,\n        parent: parentNode\n      };\n    }\n\n    function checkLoadedFonts() {\n      var i;\n      var len = (this || _global).fonts.length;\n      var node;\n      var w;\n      var loadedCount = len;\n\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).fonts[i].loaded) {\n          loadedCount -= 1;\n        } else if ((this || _global).fonts[i].fOrigin === \"n\" || (this || _global).fonts[i].origin === 0) {\n          (this || _global).fonts[i].loaded = true;\n        } else {\n          node = (this || _global).fonts[i].monoCase.node;\n          w = (this || _global).fonts[i].monoCase.w;\n\n          if (node.offsetWidth !== w) {\n            loadedCount -= 1;\n            (this || _global).fonts[i].loaded = true;\n          } else {\n            node = (this || _global).fonts[i].sansCase.node;\n            w = (this || _global).fonts[i].sansCase.w;\n\n            if (node.offsetWidth !== w) {\n              loadedCount -= 1;\n              (this || _global).fonts[i].loaded = true;\n            }\n          }\n\n          if ((this || _global).fonts[i].loaded) {\n            (this || _global).fonts[i].sansCase.parent.parentNode.removeChild((this || _global).fonts[i].sansCase.parent);\n\n            (this || _global).fonts[i].monoCase.parent.parentNode.removeChild((this || _global).fonts[i].monoCase.parent);\n          }\n        }\n      }\n\n      if (loadedCount !== 0 && Date.now() - (this || _global).initTime < maxWaitingTime) {\n        setTimeout((this || _global).checkLoadedFontsBinded, 20);\n      } else {\n        setTimeout((this || _global).setIsLoadedBinded, 10);\n      }\n    }\n\n    function createHelper(def, fontData) {\n      var tHelper = createNS(\"text\");\n      tHelper.style.fontSize = \"100px\"; // tHelper.style.fontFamily = fontData.fFamily;\n\n      var fontProps = getFontProperties(fontData);\n      tHelper.setAttribute(\"font-family\", fontData.fFamily);\n      tHelper.setAttribute(\"font-style\", fontProps.style);\n      tHelper.setAttribute(\"font-weight\", fontProps.weight);\n      tHelper.textContent = \"1\";\n\n      if (fontData.fClass) {\n        tHelper.style.fontFamily = \"inherit\";\n        tHelper.setAttribute(\"class\", fontData.fClass);\n      } else {\n        tHelper.style.fontFamily = fontData.fFamily;\n      }\n\n      def.appendChild(tHelper);\n      var tCanvasHelper = createTag(\"canvas\").getContext(\"2d\");\n      tCanvasHelper.font = fontData.fWeight + \" \" + fontData.fStyle + \" 100px \" + fontData.fFamily; // tCanvasHelper.font = ' 100px '+ fontData.fFamily;\n\n      return tHelper;\n    }\n\n    function addFonts(fontData, defs) {\n      if (!fontData) {\n        (this || _global).isLoaded = true;\n        return;\n      }\n\n      if ((this || _global).chars) {\n        (this || _global).isLoaded = true;\n        (this || _global).fonts = fontData.list;\n        return;\n      }\n\n      var fontArr = fontData.list;\n      var i;\n      var len = fontArr.length;\n      var _pendingFonts = len;\n\n      for (i = 0; i < len; i += 1) {\n        var shouldLoadFont = true;\n        var loadedSelector;\n        var j;\n        fontArr[i].loaded = false;\n        fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, \"monospace\");\n        fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, \"sans-serif\");\n\n        if (!fontArr[i].fPath) {\n          fontArr[i].loaded = true;\n          _pendingFonts -= 1;\n        } else if (fontArr[i].fOrigin === \"p\" || fontArr[i].origin === 3) {\n          loadedSelector = document.querySelectorAll(\"style[f-forigin=\\\"p\\\"][f-family=\\\"\" + fontArr[i].fFamily + \"\\\"], style[f-origin=\\\"3\\\"][f-family=\\\"\" + fontArr[i].fFamily + \"\\\"]\");\n\n          if (loadedSelector.length > 0) {\n            shouldLoadFont = false;\n          }\n\n          if (shouldLoadFont) {\n            var s = createTag(\"style\");\n            s.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            s.setAttribute(\"f-origin\", fontArr[i].origin);\n            s.setAttribute(\"f-family\", fontArr[i].fFamily);\n            s.type = \"text/css\";\n            s.innerText = \"@font-face {font-family: \" + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n            defs.appendChild(s);\n          }\n        } else if (fontArr[i].fOrigin === \"g\" || fontArr[i].origin === 1) {\n          loadedSelector = document.querySelectorAll(\"link[f-forigin=\\\"g\\\"], link[f-origin=\\\"1\\\"]\");\n\n          for (j = 0; j < loadedSelector.length; j += 1) {\n            if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n              // Font is already loaded\n              shouldLoadFont = false;\n            }\n          }\n\n          if (shouldLoadFont) {\n            var l = createTag(\"link\");\n            l.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            l.setAttribute(\"f-origin\", fontArr[i].origin);\n            l.type = \"text/css\";\n            l.rel = \"stylesheet\";\n            l.href = fontArr[i].fPath;\n            document.body.appendChild(l);\n          }\n        } else if (fontArr[i].fOrigin === \"t\" || fontArr[i].origin === 2) {\n          loadedSelector = document.querySelectorAll(\"script[f-forigin=\\\"t\\\"], script[f-origin=\\\"2\\\"]\");\n\n          for (j = 0; j < loadedSelector.length; j += 1) {\n            if (fontArr[i].fPath === loadedSelector[j].src) {\n              // Font is already loaded\n              shouldLoadFont = false;\n            }\n          }\n\n          if (shouldLoadFont) {\n            var sc = createTag(\"link\");\n            sc.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            sc.setAttribute(\"f-origin\", fontArr[i].origin);\n            sc.setAttribute(\"rel\", \"stylesheet\");\n            sc.setAttribute(\"href\", fontArr[i].fPath);\n            defs.appendChild(sc);\n          }\n        }\n\n        fontArr[i].helper = createHelper(defs, fontArr[i]);\n        fontArr[i].cache = {};\n\n        (this || _global).fonts.push(fontArr[i]);\n      }\n\n      if (_pendingFonts === 0) {\n        (this || _global).isLoaded = true;\n      } else {\n        // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n        // Adding this timeout seems to fix it\n        setTimeout((this || _global).checkLoadedFonts.bind(this || _global), 100);\n      }\n    }\n\n    function addChars(chars) {\n      if (!chars) {\n        return;\n      }\n\n      if (!(this || _global).chars) {\n        (this || _global).chars = [];\n      }\n\n      var i;\n      var len = chars.length;\n      var j;\n      var jLen = (this || _global).chars.length;\n      var found;\n\n      for (i = 0; i < len; i += 1) {\n        j = 0;\n        found = false;\n\n        while (j < jLen) {\n          if ((this || _global).chars[j].style === chars[i].style && (this || _global).chars[j].fFamily === chars[i].fFamily && (this || _global).chars[j].ch === chars[i].ch) {\n            found = true;\n          }\n\n          j += 1;\n        }\n\n        if (!found) {\n          (this || _global).chars.push(chars[i]);\n\n          jLen += 1;\n        }\n      }\n    }\n\n    function getCharData(char, style, font) {\n      var i = 0;\n      var len = (this || _global).chars.length;\n\n      while (i < len) {\n        if ((this || _global).chars[i].ch === char && (this || _global).chars[i].style === style && (this || _global).chars[i].fFamily === font) {\n          return (this || _global).chars[i];\n        }\n\n        i += 1;\n      }\n\n      if ((typeof char === \"string\" && char.charCodeAt(0) !== 13 || !char) && console && console.warn // eslint-disable-line no-console\n      && !(this || _global)._warned) {\n        (this || _global)._warned = true;\n        console.warn(\"Missing character from exported characters list: \", char, style, font); // eslint-disable-line no-console\n      }\n\n      return emptyChar;\n    }\n\n    function measureText(char, fontName, size) {\n      var fontData = this.getFontByName(fontName);\n      var index = char.charCodeAt(0);\n\n      if (!fontData.cache[index + 1]) {\n        var tHelper = fontData.helper; // Canvas version\n        // fontData.cache[index] = tHelper.measureText(char).width / 100;\n        // SVG version\n        // console.log(tHelper.getBBox().width)\n\n        if (char === \" \") {\n          tHelper.textContent = \"|\" + char + \"|\";\n          var doubleSize = tHelper.getComputedTextLength();\n          tHelper.textContent = \"||\";\n          var singleSize = tHelper.getComputedTextLength();\n          fontData.cache[index + 1] = (doubleSize - singleSize) / 100;\n        } else {\n          tHelper.textContent = char;\n          fontData.cache[index + 1] = tHelper.getComputedTextLength() / 100;\n        }\n      }\n\n      return fontData.cache[index + 1] * size;\n    }\n\n    function getFontByName(name) {\n      var i = 0;\n      var len = (this || _global).fonts.length;\n\n      while (i < len) {\n        if ((this || _global).fonts[i].fName === name) {\n          return (this || _global).fonts[i];\n        }\n\n        i += 1;\n      }\n\n      return (this || _global).fonts[0];\n    }\n\n    function getCombinedCharacterCodes() {\n      return combinedCharacters;\n    }\n\n    function setIsLoaded() {\n      (this || _global).isLoaded = true;\n    }\n\n    var Font = function () {\n      (this || _global).fonts = [];\n      (this || _global).chars = null;\n      (this || _global).typekitLoaded = 0;\n      (this || _global).isLoaded = false;\n      (this || _global)._warned = false;\n      (this || _global).initTime = Date.now();\n      (this || _global).setIsLoadedBinded = (this || _global).setIsLoaded.bind(this || _global);\n      (this || _global).checkLoadedFontsBinded = (this || _global).checkLoadedFonts.bind(this || _global);\n    }; // TODO: for now I'm adding these methods to the Class and not the prototype. Think of a better way to implement it.\n\n\n    Font.getCombinedCharacterCodes = getCombinedCharacterCodes;\n    var fontPrototype = {\n      addChars: addChars,\n      addFonts: addFonts,\n      getCharData: getCharData,\n      getFontByName: getFontByName,\n      measureText: measureText,\n      checkLoadedFonts: checkLoadedFonts,\n      setIsLoaded: setIsLoaded\n    };\n    Font.prototype = fontPrototype;\n    return Font;\n  }();\n  /* global initialDefaultFrame, BezierFactory, degToRads, bez, createTypedArray */\n\n  /* exported PropertyFactory */\n\n\n  var PropertyFactory = function () {\n    var initFrame = initialDefaultFrame;\n    var mathAbs = Math.abs;\n\n    function interpolateValue(frameNum, caching) {\n      var offsetTime = (this || _global).offsetTime;\n      var newValue;\n\n      if ((this || _global).propType === \"multidimensional\") {\n        newValue = createTypedArray(\"float32\", (this || _global).pv.length);\n      }\n\n      var iterationIndex = caching.lastIndex;\n      var i = iterationIndex;\n      var len = (this || _global).keyframes.length - 1;\n      var flag = true;\n      var keyData;\n      var nextKeyData;\n\n      while (flag) {\n        keyData = (this || _global).keyframes[i];\n        nextKeyData = (this || _global).keyframes[i + 1];\n\n        if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n          if (keyData.h) {\n            keyData = nextKeyData;\n          }\n\n          iterationIndex = 0;\n          break;\n        }\n\n        if (nextKeyData.t - offsetTime > frameNum) {\n          iterationIndex = i;\n          break;\n        }\n\n        if (i < len - 1) {\n          i += 1;\n        } else {\n          iterationIndex = 0;\n          flag = false;\n        }\n      }\n\n      var k;\n      var kLen;\n      var perc;\n      var jLen;\n      var j;\n      var fnc;\n      var nextKeyTime = nextKeyData.t - offsetTime;\n      var keyTime = keyData.t - offsetTime;\n      var endValue;\n\n      if (keyData.to) {\n        if (!keyData.bezierData) {\n          keyData.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n        }\n\n        var bezierData = keyData.bezierData;\n\n        if (frameNum >= nextKeyTime || frameNum < keyTime) {\n          var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n          kLen = bezierData.points[ind].point.length;\n\n          for (k = 0; k < kLen; k += 1) {\n            newValue[k] = bezierData.points[ind].point[k];\n          } // caching._lastKeyframeIndex = -1;\n\n        } else {\n          if (keyData.__fnct) {\n            fnc = keyData.__fnct;\n          } else {\n            fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n            keyData.__fnct = fnc;\n          }\n\n          perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n          var distanceInLine = bezierData.segmentLength * perc;\n          var segmentPerc;\n          var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n          j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n          flag = true;\n          jLen = bezierData.points.length;\n\n          while (flag) {\n            addedLength += bezierData.points[j].partialLength;\n\n            if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n              kLen = bezierData.points[j].point.length;\n\n              for (k = 0; k < kLen; k += 1) {\n                newValue[k] = bezierData.points[j].point[k];\n              }\n\n              break;\n            } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n              segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n              kLen = bezierData.points[j].point.length;\n\n              for (k = 0; k < kLen; k += 1) {\n                newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n              }\n\n              break;\n            }\n\n            if (j < jLen - 1) {\n              j += 1;\n            } else {\n              flag = false;\n            }\n          }\n\n          caching._lastPoint = j;\n          caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n          caching._lastKeyframeIndex = i;\n        }\n      } else {\n        var outX;\n        var outY;\n        var inX;\n        var inY;\n        var keyValue;\n        len = keyData.s.length;\n        endValue = nextKeyData.s || keyData.e;\n\n        if ((this || _global).sh && keyData.h !== 1) {\n          if (frameNum >= nextKeyTime) {\n            newValue[0] = endValue[0];\n            newValue[1] = endValue[1];\n            newValue[2] = endValue[2];\n          } else if (frameNum <= keyTime) {\n            newValue[0] = keyData.s[0];\n            newValue[1] = keyData.s[1];\n            newValue[2] = keyData.s[2];\n          } else {\n            var quatStart = createQuaternion(keyData.s);\n            var quatEnd = createQuaternion(endValue);\n            var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n            quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n          }\n        } else {\n          for (i = 0; i < len; i += 1) {\n            if (keyData.h !== 1) {\n              if (frameNum >= nextKeyTime) {\n                perc = 1;\n              } else if (frameNum < keyTime) {\n                perc = 0;\n              } else {\n                if (keyData.o.x.constructor === Array) {\n                  if (!keyData.__fnct) {\n                    keyData.__fnct = [];\n                  }\n\n                  if (!keyData.__fnct[i]) {\n                    outX = typeof keyData.o.x[i] === \"undefined\" ? keyData.o.x[0] : keyData.o.x[i];\n                    outY = typeof keyData.o.y[i] === \"undefined\" ? keyData.o.y[0] : keyData.o.y[i];\n                    inX = typeof keyData.i.x[i] === \"undefined\" ? keyData.i.x[0] : keyData.i.x[i];\n                    inY = typeof keyData.i.y[i] === \"undefined\" ? keyData.i.y[0] : keyData.i.y[i];\n                    fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n                    keyData.__fnct[i] = fnc;\n                  } else {\n                    fnc = keyData.__fnct[i];\n                  }\n                } else if (!keyData.__fnct) {\n                  outX = keyData.o.x;\n                  outY = keyData.o.y;\n                  inX = keyData.i.x;\n                  inY = keyData.i.y;\n                  fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n                  keyData.__fnct = fnc;\n                } else {\n                  fnc = keyData.__fnct;\n                }\n\n                perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n              }\n            }\n\n            endValue = nextKeyData.s || keyData.e;\n            keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n\n            if ((this || _global).propType === \"multidimensional\") {\n              newValue[i] = keyValue;\n            } else {\n              newValue = keyValue;\n            }\n          }\n        }\n      }\n\n      caching.lastIndex = iterationIndex;\n      return newValue;\n    } // based on @Toji's https://github.com/toji/gl-matrix/\n\n\n    function slerp(a, b, t) {\n      var out = [];\n      var ax = a[0];\n      var ay = a[1];\n      var az = a[2];\n      var aw = a[3];\n      var bx = b[0];\n      var by = b[1];\n      var bz = b[2];\n      var bw = b[3];\n      var omega;\n      var cosom;\n      var sinom;\n      var scale0;\n      var scale1;\n      cosom = ax * bx + ay * by + az * bz + aw * bw;\n\n      if (cosom < 0) {\n        cosom = -cosom;\n        bx = -bx;\n        by = -by;\n        bz = -bz;\n        bw = -bw;\n      }\n\n      if (1 - cosom > 0.000001) {\n        omega = Math.acos(cosom);\n        sinom = Math.sin(omega);\n        scale0 = Math.sin((1 - t) * omega) / sinom;\n        scale1 = Math.sin(t * omega) / sinom;\n      } else {\n        scale0 = 1 - t;\n        scale1 = t;\n      }\n\n      out[0] = scale0 * ax + scale1 * bx;\n      out[1] = scale0 * ay + scale1 * by;\n      out[2] = scale0 * az + scale1 * bz;\n      out[3] = scale0 * aw + scale1 * bw;\n      return out;\n    }\n\n    function quaternionToEuler(out, quat) {\n      var qx = quat[0];\n      var qy = quat[1];\n      var qz = quat[2];\n      var qw = quat[3];\n      var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n      var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n      var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n      out[0] = heading / degToRads;\n      out[1] = attitude / degToRads;\n      out[2] = bank / degToRads;\n    }\n\n    function createQuaternion(values) {\n      var heading = values[0] * degToRads;\n      var attitude = values[1] * degToRads;\n      var bank = values[2] * degToRads;\n      var c1 = Math.cos(heading / 2);\n      var c2 = Math.cos(attitude / 2);\n      var c3 = Math.cos(bank / 2);\n      var s1 = Math.sin(heading / 2);\n      var s2 = Math.sin(attitude / 2);\n      var s3 = Math.sin(bank / 2);\n      var w = c1 * c2 * c3 - s1 * s2 * s3;\n      var x = s1 * s2 * c3 + c1 * c2 * s3;\n      var y = s1 * c2 * c3 + c1 * s2 * s3;\n      var z = c1 * s2 * c3 - s1 * c2 * s3;\n      return [x, y, z, w];\n    }\n\n    function getValueAtCurrentTime() {\n      var frameNum = (this || _global).comp.renderedFrame - (this || _global).offsetTime;\n      var initTime = (this || _global).keyframes[0].t - (this || _global).offsetTime;\n      var endTime = (this || _global).keyframes[(this || _global).keyframes.length - 1].t - (this || _global).offsetTime;\n\n      if (!(frameNum === (this || _global)._caching.lastFrame || (this || _global)._caching.lastFrame !== initFrame && ((this || _global)._caching.lastFrame >= endTime && frameNum >= endTime || (this || _global)._caching.lastFrame < initTime && frameNum < initTime))) {\n        if ((this || _global)._caching.lastFrame >= frameNum) {\n          (this || _global)._caching._lastKeyframeIndex = -1;\n          (this || _global)._caching.lastIndex = 0;\n        }\n\n        var renderResult = this.interpolateValue(frameNum, (this || _global)._caching);\n        (this || _global).pv = renderResult;\n      }\n\n      (this || _global)._caching.lastFrame = frameNum;\n      return (this || _global).pv;\n    }\n\n    function setVValue(val) {\n      var multipliedValue;\n\n      if ((this || _global).propType === \"unidimensional\") {\n        multipliedValue = val * (this || _global).mult;\n\n        if (mathAbs((this || _global).v - multipliedValue) > 0.00001) {\n          (this || _global).v = multipliedValue;\n          (this || _global)._mdf = true;\n        }\n      } else {\n        var i = 0;\n        var len = (this || _global).v.length;\n\n        while (i < len) {\n          multipliedValue = val[i] * (this || _global).mult;\n\n          if (mathAbs((this || _global).v[i] - multipliedValue) > 0.00001) {\n            (this || _global).v[i] = multipliedValue;\n            (this || _global)._mdf = true;\n          }\n\n          i += 1;\n        }\n      }\n    }\n\n    function processEffectsSequence() {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId || !(this || _global).effectsSequence.length) {\n        return;\n      }\n\n      if ((this || _global).lock) {\n        this.setVValue((this || _global).pv);\n        return;\n      }\n\n      (this || _global).lock = true;\n      (this || _global)._mdf = (this || _global)._isFirstFrame;\n      var i;\n      var len = (this || _global).effectsSequence.length;\n      var finalValue = (this || _global).kf ? (this || _global).pv : (this || _global).data.k;\n\n      for (i = 0; i < len; i += 1) {\n        finalValue = (this || _global).effectsSequence[i](finalValue);\n      }\n\n      this.setVValue(finalValue);\n      (this || _global)._isFirstFrame = false;\n      (this || _global).lock = false;\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function addEffect(effectFunction) {\n      (this || _global).effectsSequence.push(effectFunction);\n\n      (this || _global).container.addDynamicProperty(this || _global);\n    }\n\n    function ValueProperty(elem, data, mult, container) {\n      (this || _global).propType = \"unidimensional\";\n      (this || _global).mult = mult || 1;\n      (this || _global).data = data;\n      (this || _global).v = mult ? data.k * mult : data.k;\n      (this || _global).pv = data.k;\n      (this || _global)._mdf = false;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global).vel = 0;\n      (this || _global).effectsSequence = [];\n      (this || _global)._isFirstFrame = true;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).addEffect = addEffect;\n    }\n\n    function MultiDimensionalProperty(elem, data, mult, container) {\n      (this || _global).propType = \"multidimensional\";\n      (this || _global).mult = mult || 1;\n      (this || _global).data = data;\n      (this || _global)._mdf = false;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global).frameId = -1;\n      var i;\n      var len = data.k.length;\n      (this || _global).v = createTypedArray(\"float32\", len);\n      (this || _global).pv = createTypedArray(\"float32\", len);\n      (this || _global).vel = createTypedArray(\"float32\", len);\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).v[i] = data.k[i] * (this || _global).mult;\n        (this || _global).pv[i] = data.k[i];\n      }\n\n      (this || _global)._isFirstFrame = true;\n      (this || _global).effectsSequence = [];\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).addEffect = addEffect;\n    }\n\n    function KeyframedValueProperty(elem, data, mult, container) {\n      (this || _global).propType = \"unidimensional\";\n      (this || _global).keyframes = data.k;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).frameId = -1;\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0,\n        value: 0,\n        _lastKeyframeIndex: -1\n      };\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      (this || _global).data = data;\n      (this || _global).mult = mult || 1;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).v = initFrame;\n      (this || _global).pv = initFrame;\n      (this || _global)._isFirstFrame = true;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).interpolateValue = interpolateValue;\n      (this || _global).effectsSequence = [getValueAtCurrentTime.bind(this || _global)];\n      (this || _global).addEffect = addEffect;\n    }\n\n    function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n      (this || _global).propType = \"multidimensional\";\n      var i;\n      var len = data.k.length;\n      var s;\n      var e;\n      var to;\n      var ti;\n\n      for (i = 0; i < len - 1; i += 1) {\n        if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n          s = data.k[i].s;\n          e = data.k[i + 1].s;\n          to = data.k[i].to;\n          ti = data.k[i].ti;\n\n          if (s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], s[0] + to[0], s[1] + to[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], e[0] + ti[0], e[1] + ti[1]) || s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], s[0] + to[0], s[1] + to[1], s[2] + to[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], e[0] + ti[0], e[1] + ti[1], e[2] + ti[2])) {\n            data.k[i].to = null;\n            data.k[i].ti = null;\n          }\n\n          if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n            if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n              data.k[i].to = null;\n              data.k[i].ti = null;\n            }\n          }\n        }\n      }\n\n      (this || _global).effectsSequence = [getValueAtCurrentTime.bind(this || _global)];\n      (this || _global).data = data;\n      (this || _global).keyframes = data.k;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      (this || _global)._isFirstFrame = true;\n      (this || _global).mult = mult || 1;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).interpolateValue = interpolateValue;\n      (this || _global).frameId = -1;\n      var arrLen = data.k[0].s.length;\n      (this || _global).v = createTypedArray(\"float32\", arrLen);\n      (this || _global).pv = createTypedArray(\"float32\", arrLen);\n\n      for (i = 0; i < arrLen; i += 1) {\n        (this || _global).v[i] = initFrame;\n        (this || _global).pv[i] = initFrame;\n      }\n\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0,\n        value: createTypedArray(\"float32\", arrLen)\n      };\n      (this || _global).addEffect = addEffect;\n    }\n\n    function getProp(elem, data, type, mult, container) {\n      var p;\n\n      if (!data.k.length) {\n        p = new ValueProperty(elem, data, mult, container);\n      } else if (typeof data.k[0] === \"number\") {\n        p = new MultiDimensionalProperty(elem, data, mult, container);\n      } else {\n        switch (type) {\n          case 0:\n            p = new KeyframedValueProperty(elem, data, mult, container);\n            break;\n\n          case 1:\n            p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n            break;\n\n          default:\n            break;\n        }\n      }\n\n      if (p.effectsSequence.length) {\n        container.addDynamicProperty(p);\n      }\n\n      return p;\n    }\n\n    var ob = {\n      getProp: getProp\n    };\n    return ob;\n  }();\n  /* global Matrix, degToRads, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  /* exported TransformPropertyFactory */\n\n\n  var TransformPropertyFactory = function () {\n    var defaultVector = [0, 0];\n\n    function applyToMatrix(mat) {\n      var _mdf = (this || _global)._mdf;\n      this.iterateDynamicProperties();\n      (this || _global)._mdf = (this || _global)._mdf || _mdf;\n\n      if ((this || _global).a) {\n        mat.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n      }\n\n      if ((this || _global).s) {\n        mat.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n      }\n\n      if ((this || _global).sk) {\n        mat.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n      }\n\n      if ((this || _global).r) {\n        mat.rotate(-(this || _global).r.v);\n      } else {\n        mat.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n      }\n\n      if ((this || _global).data.p.s) {\n        if ((this || _global).data.p.z) {\n          mat.translate((this || _global).px.v, (this || _global).py.v, -(this || _global).pz.v);\n        } else {\n          mat.translate((this || _global).px.v, (this || _global).py.v, 0);\n        }\n      } else {\n        mat.translate((this || _global).p.v[0], (this || _global).p.v[1], -(this || _global).p.v[2]);\n      }\n    }\n\n    function processKeys(forceRender) {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n        return;\n      }\n\n      if ((this || _global)._isDirty) {\n        this.precalculateMatrix();\n        (this || _global)._isDirty = false;\n      }\n\n      this.iterateDynamicProperties();\n\n      if ((this || _global)._mdf || forceRender) {\n        var frameRate;\n\n        (this || _global).v.cloneFromProps((this || _global).pre.props);\n\n        if ((this || _global).appliedTransformations < 1) {\n          (this || _global).v.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n        }\n\n        if ((this || _global).appliedTransformations < 2) {\n          (this || _global).v.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n        }\n\n        if ((this || _global).sk && (this || _global).appliedTransformations < 3) {\n          (this || _global).v.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n        }\n\n        if ((this || _global).r && (this || _global).appliedTransformations < 4) {\n          (this || _global).v.rotate(-(this || _global).r.v);\n        } else if (!(this || _global).r && (this || _global).appliedTransformations < 4) {\n          (this || _global).v.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n        }\n\n        if ((this || _global).autoOriented) {\n          var v1;\n          var v2;\n          frameRate = (this || _global).elem.globalData.frameRate;\n\n          if ((this || _global).p && (this || _global).p.keyframes && (this || _global).p.getValueAtTime) {\n            if ((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime <= (this || _global).p.keyframes[0].t) {\n              v1 = (this || _global).p.getValueAtTime(((this || _global).p.keyframes[0].t + 0.01) / frameRate, 0);\n              v2 = (this || _global).p.getValueAtTime((this || _global).p.keyframes[0].t / frameRate, 0);\n            } else if ((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime >= (this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t) {\n              v1 = (this || _global).p.getValueAtTime((this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t / frameRate, 0);\n              v2 = (this || _global).p.getValueAtTime(((this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n            } else {\n              v1 = (this || _global).p.pv;\n              v2 = (this || _global).p.getValueAtTime(((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime - 0.01) / frameRate, (this || _global).p.offsetTime);\n            }\n          } else if ((this || _global).px && (this || _global).px.keyframes && (this || _global).py.keyframes && (this || _global).px.getValueAtTime && (this || _global).py.getValueAtTime) {\n            v1 = [];\n            v2 = [];\n            var px = (this || _global).px;\n            var py = (this || _global).py;\n\n            if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n              v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n              v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n              v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n              v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n            } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n              v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n              v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n              v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n              v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n            } else {\n              v1 = [px.pv, py.pv];\n              v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n              v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n            }\n          } else {\n            v2 = defaultVector;\n            v1 = v2;\n          }\n\n          (this || _global).v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n        }\n\n        if ((this || _global).data.p && (this || _global).data.p.s) {\n          if ((this || _global).data.p.z) {\n            (this || _global).v.translate((this || _global).px.v, (this || _global).py.v, -(this || _global).pz.v);\n          } else {\n            (this || _global).v.translate((this || _global).px.v, (this || _global).py.v, 0);\n          }\n        } else {\n          (this || _global).v.translate((this || _global).p.v[0], (this || _global).p.v[1], -(this || _global).p.v[2]);\n        }\n      }\n\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function precalculateMatrix() {\n      if (!(this || _global).a.k) {\n        (this || _global).pre.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n\n        (this || _global).appliedTransformations = 1;\n      } else {\n        return;\n      }\n\n      if (!(this || _global).s.effectsSequence.length) {\n        (this || _global).pre.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n\n        (this || _global).appliedTransformations = 2;\n      } else {\n        return;\n      }\n\n      if ((this || _global).sk) {\n        if (!(this || _global).sk.effectsSequence.length && !(this || _global).sa.effectsSequence.length) {\n          (this || _global).pre.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n\n          (this || _global).appliedTransformations = 3;\n        } else {\n          return;\n        }\n      }\n\n      if ((this || _global).r) {\n        if (!(this || _global).r.effectsSequence.length) {\n          (this || _global).pre.rotate(-(this || _global).r.v);\n\n          (this || _global).appliedTransformations = 4;\n        }\n      } else if (!(this || _global).rz.effectsSequence.length && !(this || _global).ry.effectsSequence.length && !(this || _global).rx.effectsSequence.length && !(this || _global).or.effectsSequence.length) {\n        (this || _global).pre.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n\n        (this || _global).appliedTransformations = 4;\n      }\n    }\n\n    function autoOrient() {//\n      // var prevP = this.getValueAtTime();\n    }\n\n    function addDynamicProperty(prop) {\n      this._addDynamicProperty(prop);\n\n      (this || _global).elem.addDynamicProperty(prop);\n\n      (this || _global)._isDirty = true;\n    }\n\n    function TransformProperty(elem, data, container) {\n      (this || _global).elem = elem;\n      (this || _global).frameId = -1;\n      (this || _global).propType = \"transform\";\n      (this || _global).data = data;\n      (this || _global).v = new Matrix(); // Precalculated matrix with non animated properties\n\n      (this || _global).pre = new Matrix();\n      (this || _global).appliedTransformations = 0;\n      this.initDynamicPropertyContainer(container || elem);\n\n      if (data.p && data.p.s) {\n        (this || _global).px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this || _global);\n        (this || _global).py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this || _global);\n\n        if (data.p.z) {\n          (this || _global).pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this || _global);\n        }\n      } else {\n        (this || _global).p = PropertyFactory.getProp(elem, data.p || {\n          k: [0, 0, 0]\n        }, 1, 0, this || _global);\n      }\n\n      if (data.rx) {\n        (this || _global).rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this || _global);\n        (this || _global).ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this || _global);\n        (this || _global).rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this || _global);\n\n        if (data.or.k[0].ti) {\n          var i;\n          var len = data.or.k.length;\n\n          for (i = 0; i < len; i += 1) {\n            data.or.k[i].to = null;\n            data.or.k[i].ti = null;\n          }\n        }\n\n        (this || _global).or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this || _global); // sh Indicates it needs to be capped between -180 and 180\n\n        (this || _global).or.sh = true;\n      } else {\n        (this || _global).r = PropertyFactory.getProp(elem, data.r || {\n          k: 0\n        }, 0, degToRads, this || _global);\n      }\n\n      if (data.sk) {\n        (this || _global).sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this || _global);\n        (this || _global).sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this || _global);\n      }\n\n      (this || _global).a = PropertyFactory.getProp(elem, data.a || {\n        k: [0, 0, 0]\n      }, 1, 0, this || _global);\n      (this || _global).s = PropertyFactory.getProp(elem, data.s || {\n        k: [100, 100, 100]\n      }, 1, 0.01, this || _global); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n\n      if (data.o) {\n        (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n      } else {\n        (this || _global).o = {\n          _mdf: false,\n          v: 1\n        };\n      }\n\n      (this || _global)._isDirty = true;\n\n      if (!(this || _global).dynamicProperties.length) {\n        this.getValue(true);\n      }\n    }\n\n    TransformProperty.prototype = {\n      applyToMatrix: applyToMatrix,\n      getValue: processKeys,\n      precalculateMatrix: precalculateMatrix,\n      autoOrient: autoOrient\n    };\n    extendPrototype([DynamicPropertyContainer], TransformProperty);\n    TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n    TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n\n    function getTransformProperty(elem, data, container) {\n      return new TransformProperty(elem, data, container);\n    }\n\n    return {\n      getTransformProperty: getTransformProperty\n    };\n  }();\n  /* global createSizedArray, createSizedArray, pointPool */\n\n\n  function ShapePath() {\n    (this || _global).c = false;\n    (this || _global)._length = 0;\n    (this || _global)._maxLength = 8;\n    (this || _global).v = createSizedArray((this || _global)._maxLength);\n    (this || _global).o = createSizedArray((this || _global)._maxLength);\n    (this || _global).i = createSizedArray((this || _global)._maxLength);\n  }\n\n  ShapePath.prototype.setPathData = function (closed, len) {\n    (this || _global).c = closed;\n    this.setLength(len);\n    var i = 0;\n\n    while (i < len) {\n      (this || _global).v[i] = pointPool.newElement();\n      (this || _global).o[i] = pointPool.newElement();\n      (this || _global).i[i] = pointPool.newElement();\n      i += 1;\n    }\n  };\n\n  ShapePath.prototype.setLength = function (len) {\n    while ((this || _global)._maxLength < len) {\n      this.doubleArrayLength();\n    }\n\n    (this || _global)._length = len;\n  };\n\n  ShapePath.prototype.doubleArrayLength = function () {\n    (this || _global).v = (this || _global).v.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global).i = (this || _global).i.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global).o = (this || _global).o.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global)._maxLength *= 2;\n  };\n\n  ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n    var arr;\n    (this || _global)._length = Math.max((this || _global)._length, pos + 1);\n\n    if ((this || _global)._length >= (this || _global)._maxLength) {\n      this.doubleArrayLength();\n    }\n\n    switch (type) {\n      case \"v\":\n        arr = (this || _global).v;\n        break;\n\n      case \"i\":\n        arr = (this || _global).i;\n        break;\n\n      case \"o\":\n        arr = (this || _global).o;\n        break;\n\n      default:\n        arr = [];\n        break;\n    }\n\n    if (!arr[pos] || arr[pos] && !replace) {\n      arr[pos] = pointPool.newElement();\n    }\n\n    arr[pos][0] = x;\n    arr[pos][1] = y;\n  };\n\n  ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n    this.setXYAt(vX, vY, \"v\", pos, replace);\n    this.setXYAt(oX, oY, \"o\", pos, replace);\n    this.setXYAt(iX, iY, \"i\", pos, replace);\n  };\n\n  ShapePath.prototype.reverse = function () {\n    var newPath = new ShapePath();\n    newPath.setPathData((this || _global).c, (this || _global)._length);\n    var vertices = (this || _global).v;\n    var outPoints = (this || _global).o;\n    var inPoints = (this || _global).i;\n    var init = 0;\n\n    if ((this || _global).c) {\n      newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n      init = 1;\n    }\n\n    var cnt = (this || _global)._length - 1;\n    var len = (this || _global)._length;\n    var i;\n\n    for (i = init; i < len; i += 1) {\n      newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n      cnt -= 1;\n    }\n\n    return newPath;\n  };\n  /* global extendPrototype, roundCorner, BezierFactory, shapePool, degToRads,\r\n    shapeCollectionPool, PropertyFactory, bmMin, DynamicPropertyContainer */\n\n  /* exported ShapePropertyFactory */\n\n\n  var ShapePropertyFactory = function () {\n    var initFrame = -999999;\n\n    function interpolateShape(frameNum, previousValue, caching) {\n      var iterationIndex = caching.lastIndex;\n      var keyPropS;\n      var keyPropE;\n      var isHold;\n      var j;\n      var k;\n      var jLen;\n      var kLen;\n      var perc;\n      var vertexValue;\n      var kf = (this || _global).keyframes;\n\n      if (frameNum < kf[0].t - (this || _global).offsetTime) {\n        keyPropS = kf[0].s[0];\n        isHold = true;\n        iterationIndex = 0;\n      } else if (frameNum >= kf[kf.length - 1].t - (this || _global).offsetTime) {\n        keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n        /* if(kf[kf.length - 1].s){\r\n                  keyPropS = kf[kf.length - 1].s[0];\r\n              }else{\r\n                  keyPropS = kf[kf.length - 2].e[0];\r\n              } */\n\n        isHold = true;\n      } else {\n        var i = iterationIndex;\n        var len = kf.length - 1;\n        var flag = true;\n        var keyData;\n        var nextKeyData;\n\n        while (flag) {\n          keyData = kf[i];\n          nextKeyData = kf[i + 1];\n\n          if (nextKeyData.t - (this || _global).offsetTime > frameNum) {\n            break;\n          }\n\n          if (i < len - 1) {\n            i += 1;\n          } else {\n            flag = false;\n          }\n        }\n\n        isHold = keyData.h === 1;\n        iterationIndex = i;\n\n        if (!isHold) {\n          if (frameNum >= nextKeyData.t - (this || _global).offsetTime) {\n            perc = 1;\n          } else if (frameNum < keyData.t - (this || _global).offsetTime) {\n            perc = 0;\n          } else {\n            var fnc;\n\n            if (keyData.__fnct) {\n              fnc = keyData.__fnct;\n            } else {\n              fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n              keyData.__fnct = fnc;\n            }\n\n            perc = fnc((frameNum - (keyData.t - (this || _global).offsetTime)) / (nextKeyData.t - (this || _global).offsetTime - (keyData.t - (this || _global).offsetTime)));\n          }\n\n          keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n        }\n\n        keyPropS = keyData.s[0];\n      }\n\n      jLen = previousValue._length;\n      kLen = keyPropS.i[0].length;\n      caching.lastIndex = iterationIndex;\n\n      for (j = 0; j < jLen; j += 1) {\n        for (k = 0; k < kLen; k += 1) {\n          vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n          previousValue.i[j][k] = vertexValue;\n          vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n          previousValue.o[j][k] = vertexValue;\n          vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n          previousValue.v[j][k] = vertexValue;\n        }\n      }\n    }\n\n    function interpolateShapeCurrentTime() {\n      var frameNum = (this || _global).comp.renderedFrame - (this || _global).offsetTime;\n      var initTime = (this || _global).keyframes[0].t - (this || _global).offsetTime;\n      var endTime = (this || _global).keyframes[(this || _global).keyframes.length - 1].t - (this || _global).offsetTime;\n      var lastFrame = (this || _global)._caching.lastFrame;\n\n      if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n        /// /\n        (this || _global)._caching.lastIndex = lastFrame < frameNum ? (this || _global)._caching.lastIndex : 0;\n        this.interpolateShape(frameNum, (this || _global).pv, (this || _global)._caching); /// /\n      }\n\n      (this || _global)._caching.lastFrame = frameNum;\n      return (this || _global).pv;\n    }\n\n    function resetShape() {\n      (this || _global).paths = (this || _global).localShapeCollection;\n    }\n\n    function shapesEqual(shape1, shape2) {\n      if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n        return false;\n      }\n\n      var i;\n      var len = shape1._length;\n\n      for (i = 0; i < len; i += 1) {\n        if (shape1.v[i][0] !== shape2.v[i][0] || shape1.v[i][1] !== shape2.v[i][1] || shape1.o[i][0] !== shape2.o[i][0] || shape1.o[i][1] !== shape2.o[i][1] || shape1.i[i][0] !== shape2.i[i][0] || shape1.i[i][1] !== shape2.i[i][1]) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n\n    function setVValue(newPath) {\n      if (!shapesEqual((this || _global).v, newPath)) {\n        (this || _global).v = shapePool.clone(newPath);\n\n        (this || _global).localShapeCollection.releaseShapes();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global)._mdf = true;\n        (this || _global).paths = (this || _global).localShapeCollection;\n      }\n    }\n\n    function processEffectsSequence() {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n        return;\n      }\n\n      if (!(this || _global).effectsSequence.length) {\n        (this || _global)._mdf = false;\n        return;\n      }\n\n      if ((this || _global).lock) {\n        this.setVValue((this || _global).pv);\n        return;\n      }\n\n      (this || _global).lock = true;\n      (this || _global)._mdf = false;\n      var finalValue;\n\n      if ((this || _global).kf) {\n        finalValue = (this || _global).pv;\n      } else if ((this || _global).data.ks) {\n        finalValue = (this || _global).data.ks.k;\n      } else {\n        finalValue = (this || _global).data.pt.k;\n      }\n\n      var i;\n      var len = (this || _global).effectsSequence.length;\n\n      for (i = 0; i < len; i += 1) {\n        finalValue = (this || _global).effectsSequence[i](finalValue);\n      }\n\n      this.setVValue(finalValue);\n      (this || _global).lock = false;\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function ShapeProperty(elem, data, type) {\n      (this || _global).propType = \"shape\";\n      (this || _global).comp = elem.comp;\n      (this || _global).container = elem;\n      (this || _global).elem = elem;\n      (this || _global).data = data;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global)._mdf = false;\n      var pathData = type === 3 ? data.pt.k : data.ks.k;\n      (this || _global).v = shapePool.clone(pathData);\n      (this || _global).pv = shapePool.clone((this || _global).v);\n      (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n      (this || _global).paths = (this || _global).localShapeCollection;\n\n      (this || _global).paths.addShape((this || _global).v);\n\n      (this || _global).reset = resetShape;\n      (this || _global).effectsSequence = [];\n    }\n\n    function addEffect(effectFunction) {\n      (this || _global).effectsSequence.push(effectFunction);\n\n      (this || _global).container.addDynamicProperty(this || _global);\n    }\n\n    ShapeProperty.prototype.interpolateShape = interpolateShape;\n    ShapeProperty.prototype.getValue = processEffectsSequence;\n    ShapeProperty.prototype.setVValue = setVValue;\n    ShapeProperty.prototype.addEffect = addEffect;\n\n    function KeyframedShapeProperty(elem, data, type) {\n      (this || _global).propType = \"shape\";\n      (this || _global).comp = elem.comp;\n      (this || _global).elem = elem;\n      (this || _global).container = elem;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).keyframes = type === 3 ? data.pt.k : data.ks.k;\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      var len = (this || _global).keyframes[0].s[0].i.length;\n      (this || _global).v = shapePool.newElement();\n\n      (this || _global).v.setPathData((this || _global).keyframes[0].s[0].c, len);\n\n      (this || _global).pv = shapePool.clone((this || _global).v);\n      (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n      (this || _global).paths = (this || _global).localShapeCollection;\n\n      (this || _global).paths.addShape((this || _global).v);\n\n      (this || _global).lastFrame = initFrame;\n      (this || _global).reset = resetShape;\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0\n      };\n      (this || _global).effectsSequence = [interpolateShapeCurrentTime.bind(this || _global)];\n    }\n\n    KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n    KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n    KeyframedShapeProperty.prototype.setVValue = setVValue;\n    KeyframedShapeProperty.prototype.addEffect = addEffect;\n\n    var EllShapeProperty = function () {\n      var cPoint = roundCorner;\n\n      function EllShapePropertyFactory(elem, data) {\n        /* this.v = {\r\n                  v: createSizedArray(4),\r\n                  i: createSizedArray(4),\r\n                  o: createSizedArray(4),\r\n                  c: true\r\n              }; */\n        (this || _global).v = shapePool.newElement();\n\n        (this || _global).v.setPathData(true, 4);\n\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n        (this || _global).paths = (this || _global).localShapeCollection;\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).d = data.d;\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).frameId = -1;\n        this.initDynamicPropertyContainer(elem);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, 0, this || _global);\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertEllToPath();\n        }\n      }\n\n      EllShapePropertyFactory.prototype = {\n        reset: resetShape,\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertEllToPath();\n          }\n        },\n        convertEllToPath: function () {\n          var p0 = (this || _global).p.v[0];\n          var p1 = (this || _global).p.v[1];\n          var s0 = (this || _global).s.v[0] / 2;\n          var s1 = (this || _global).s.v[1] / 2;\n\n          var _cw = (this || _global).d !== 3;\n\n          var _v = (this || _global).v;\n          _v.v[0][0] = p0;\n          _v.v[0][1] = p1 - s1;\n          _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.v[1][1] = p1;\n          _v.v[2][0] = p0;\n          _v.v[2][1] = p1 + s1;\n          _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.v[3][1] = p1;\n          _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n          _v.i[0][1] = p1 - s1;\n          _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.i[1][1] = p1 - s1 * cPoint;\n          _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n          _v.i[2][1] = p1 + s1;\n          _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.i[3][1] = p1 + s1 * cPoint;\n          _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n          _v.o[0][1] = p1 - s1;\n          _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.o[1][1] = p1 + s1 * cPoint;\n          _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n          _v.o[2][1] = p1 + s1;\n          _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.o[3][1] = p1 - s1 * cPoint;\n        }\n      };\n      extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\n      return EllShapePropertyFactory;\n    }();\n\n    var StarShapeProperty = function () {\n      function StarShapePropertyFactory(elem, data) {\n        (this || _global).v = shapePool.newElement();\n\n        (this || _global).v.setPathData(true, 0);\n\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).data = data;\n        (this || _global).frameId = -1;\n        (this || _global).d = data.d;\n        this.initDynamicPropertyContainer(elem);\n\n        if (data.sy === 1) {\n          (this || _global).ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this || _global);\n          (this || _global).is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this || _global);\n          (this || _global).convertToPath = (this || _global).convertStarToPath;\n        } else {\n          (this || _global).convertToPath = (this || _global).convertPolygonToPath;\n        }\n\n        (this || _global).pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this || _global);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this || _global);\n        (this || _global).or = PropertyFactory.getProp(elem, data.or, 0, 0, this || _global);\n        (this || _global).os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this || _global);\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).paths = (this || _global).localShapeCollection;\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertToPath();\n        }\n      }\n\n      StarShapePropertyFactory.prototype = {\n        reset: resetShape,\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertToPath();\n          }\n        },\n        convertStarToPath: function () {\n          var numPts = Math.floor((this || _global).pt.v) * 2;\n          var angle = Math.PI * 2 / numPts;\n          /* this.v.v.length = numPts;\r\n                  this.v.i.length = numPts;\r\n                  this.v.o.length = numPts; */\n\n          var longFlag = true;\n          var longRad = (this || _global).or.v;\n          var shortRad = (this || _global).ir.v;\n          var longRound = (this || _global).os.v;\n          var shortRound = (this || _global).is.v;\n          var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n          var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n          var i;\n          var rad;\n          var roundness;\n          var perimSegment;\n          var currentAng = -Math.PI / 2;\n          currentAng += (this || _global).r.v;\n          var dir = (this || _global).data.d === 3 ? -1 : 1;\n          (this || _global).v._length = 0;\n\n          for (i = 0; i < numPts; i += 1) {\n            rad = longFlag ? longRad : shortRad;\n            roundness = longFlag ? longRound : shortRound;\n            perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n            var x = rad * Math.cos(currentAng);\n            var y = rad * Math.sin(currentAng);\n            var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n            var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n            x += +(this || _global).p.v[0];\n            y += +(this || _global).p.v[1];\n\n            (this || _global).v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n            /* this.v.v[i] = [x,y];\r\n                      this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n                      this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n                      this.v._length = numPts; */\n\n\n            longFlag = !longFlag;\n            currentAng += angle * dir;\n          }\n        },\n        convertPolygonToPath: function () {\n          var numPts = Math.floor((this || _global).pt.v);\n          var angle = Math.PI * 2 / numPts;\n          var rad = (this || _global).or.v;\n          var roundness = (this || _global).os.v;\n          var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n          var i;\n          var currentAng = -Math.PI * 0.5;\n          var dir = (this || _global).data.d === 3 ? -1 : 1;\n          currentAng += (this || _global).r.v;\n          (this || _global).v._length = 0;\n\n          for (i = 0; i < numPts; i += 1) {\n            var x = rad * Math.cos(currentAng);\n            var y = rad * Math.sin(currentAng);\n            var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n            var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n            x += +(this || _global).p.v[0];\n            y += +(this || _global).p.v[1];\n\n            (this || _global).v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n\n            currentAng += angle * dir;\n          }\n\n          (this || _global).paths.length = 0;\n          (this || _global).paths[0] = (this || _global).v;\n        }\n      };\n      extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n      return StarShapePropertyFactory;\n    }();\n\n    var RectShapeProperty = function () {\n      function RectShapePropertyFactory(elem, data) {\n        (this || _global).v = shapePool.newElement();\n        (this || _global).v.c = true;\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).paths = (this || _global).localShapeCollection;\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).frameId = -1;\n        (this || _global).d = data.d;\n        this.initDynamicPropertyContainer(elem);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, 0, this || _global);\n        (this || _global).r = PropertyFactory.getProp(elem, data.r, 0, 0, this || _global);\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertRectToPath();\n        }\n      }\n\n      RectShapePropertyFactory.prototype = {\n        convertRectToPath: function () {\n          var p0 = (this || _global).p.v[0];\n          var p1 = (this || _global).p.v[1];\n          var v0 = (this || _global).s.v[0] / 2;\n          var v1 = (this || _global).s.v[1] / 2;\n          var round = bmMin(v0, v1, (this || _global).r.v);\n          var cPoint = round * (1 - roundCorner);\n          (this || _global).v._length = 0;\n\n          if ((this || _global).d === 2 || (this || _global).d === 1) {\n            (this || _global).v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n\n            (this || _global).v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n\n            if (round !== 0) {\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n            } else {\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n            }\n          } else {\n            (this || _global).v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n\n            if (round !== 0) {\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n\n              (this || _global).v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n            } else {\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n            }\n          }\n        },\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertRectToPath();\n          }\n        },\n        reset: resetShape\n      };\n      extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\n      return RectShapePropertyFactory;\n    }();\n\n    function getShapeProp(elem, data, type) {\n      var prop;\n\n      if (type === 3 || type === 4) {\n        var dataProp = type === 3 ? data.pt : data.ks;\n        var keys = dataProp.k;\n\n        if (keys.length) {\n          prop = new KeyframedShapeProperty(elem, data, type);\n        } else {\n          prop = new ShapeProperty(elem, data, type);\n        }\n      } else if (type === 5) {\n        prop = new RectShapeProperty(elem, data);\n      } else if (type === 6) {\n        prop = new EllShapeProperty(elem, data);\n      } else if (type === 7) {\n        prop = new StarShapeProperty(elem, data);\n      }\n\n      if (prop.k) {\n        elem.addDynamicProperty(prop);\n      }\n\n      return prop;\n    }\n\n    function getConstructorFunction() {\n      return ShapeProperty;\n    }\n\n    function getKeyframedConstructorFunction() {\n      return KeyframedShapeProperty;\n    }\n\n    var ob = {};\n    ob.getShapeProp = getShapeProp;\n    ob.getConstructorFunction = getConstructorFunction;\n    ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n    return ob;\n  }();\n  /* global shapeCollectionPool, initialDefaultFrame, extendPrototype, DynamicPropertyContainer */\n\n  /* exported ShapeModifiers */\n\n\n  var ShapeModifiers = function () {\n    var ob = {};\n    var modifiers = {};\n    ob.registerModifier = registerModifier;\n    ob.getModifier = getModifier;\n\n    function registerModifier(nm, factory) {\n      if (!modifiers[nm]) {\n        modifiers[nm] = factory;\n      }\n    }\n\n    function getModifier(nm, elem, data) {\n      return new modifiers[nm](elem, data);\n    }\n\n    return ob;\n  }();\n\n  function ShapeModifier() {}\n\n  ShapeModifier.prototype.initModifierProperties = function () {};\n\n  ShapeModifier.prototype.addShapeToModifier = function () {};\n\n  ShapeModifier.prototype.addShape = function (data) {\n    if (!(this || _global).closed) {\n      // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n      data.sh.container.addDynamicProperty(data.sh);\n      var shapeData = {\n        shape: data.sh,\n        data: data,\n        localShapeCollection: shapeCollectionPool.newShapeCollection()\n      };\n\n      (this || _global).shapes.push(shapeData);\n\n      this.addShapeToModifier(shapeData);\n\n      if ((this || _global)._isAnimated) {\n        data.setAsAnimated();\n      }\n    }\n  };\n\n  ShapeModifier.prototype.init = function (elem, data) {\n    (this || _global).shapes = [];\n    (this || _global).elem = elem;\n    this.initDynamicPropertyContainer(elem);\n    this.initModifierProperties(elem, data);\n    (this || _global).frameId = initialDefaultFrame;\n    (this || _global).closed = false;\n    (this || _global).k = false;\n\n    if ((this || _global).dynamicProperties.length) {\n      (this || _global).k = true;\n    } else {\n      this.getValue(true);\n    }\n  };\n\n  ShapeModifier.prototype.processKeys = function () {\n    if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n      return;\n    }\n\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    this.iterateDynamicProperties();\n  };\n\n  extendPrototype([DynamicPropertyContainer], ShapeModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, segmentsLengthPool, bez, shapePool, ShapeModifiers */\n\n  function TrimModifier() {}\n\n  extendPrototype([ShapeModifier], TrimModifier);\n\n  TrimModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this || _global);\n    (this || _global).e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this || _global);\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0, this || _global);\n    (this || _global).sValue = 0;\n    (this || _global).eValue = 0;\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).m = data.m;\n    (this || _global)._isAnimated = !!(this || _global).s.effectsSequence.length || !!(this || _global).e.effectsSequence.length || !!(this || _global).o.effectsSequence.length;\n  };\n\n  TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n    shapeData.pathsData = [];\n  };\n\n  TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n    var segments = [];\n\n    if (e <= 1) {\n      segments.push({\n        s: s,\n        e: e\n      });\n    } else if (s >= 1) {\n      segments.push({\n        s: s - 1,\n        e: e - 1\n      });\n    } else {\n      segments.push({\n        s: s,\n        e: 1\n      });\n      segments.push({\n        s: 0,\n        e: e - 1\n      });\n    }\n\n    var shapeSegments = [];\n    var i;\n    var len = segments.length;\n    var segmentOb;\n\n    for (i = 0; i < len; i += 1) {\n      segmentOb = segments[i];\n\n      if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\n        var shapeS;\n        var shapeE;\n\n        if (segmentOb.s * totalModifierLength <= addedLength) {\n          shapeS = 0;\n        } else {\n          shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n        }\n\n        if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n          shapeE = 1;\n        } else {\n          shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n        }\n\n        shapeSegments.push([shapeS, shapeE]);\n      }\n    }\n\n    if (!shapeSegments.length) {\n      shapeSegments.push([0, 0]);\n    }\n\n    return shapeSegments;\n  };\n\n  TrimModifier.prototype.releasePathsData = function (pathsData) {\n    var i;\n    var len = pathsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      segmentsLengthPool.release(pathsData[i]);\n    }\n\n    pathsData.length = 0;\n    return pathsData;\n  };\n\n  TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n    var s;\n    var e;\n\n    if ((this || _global)._mdf || _isFirstFrame) {\n      var o = (this || _global).o.v % 360 / 360;\n\n      if (o < 0) {\n        o += 1;\n      }\n\n      if ((this || _global).s.v > 1) {\n        s = 1 + o;\n      } else if ((this || _global).s.v < 0) {\n        s = 0 + o;\n      } else {\n        s = (this || _global).s.v + o;\n      }\n\n      if ((this || _global).e.v > 1) {\n        e = 1 + o;\n      } else if ((this || _global).e.v < 0) {\n        e = 0 + o;\n      } else {\n        e = (this || _global).e.v + o;\n      }\n\n      if (s > e) {\n        var _s = s;\n        s = e;\n        e = _s;\n      }\n\n      s = Math.round(s * 10000) * 0.0001;\n      e = Math.round(e * 10000) * 0.0001;\n      (this || _global).sValue = s;\n      (this || _global).eValue = e;\n    } else {\n      s = (this || _global).sValue;\n      e = (this || _global).eValue;\n    }\n\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var pathsData;\n    var pathData;\n    var totalShapeLength;\n    var totalModifierLength = 0;\n\n    if (e === s) {\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapes[i].localShapeCollection.releaseShapes();\n\n        (this || _global).shapes[i].shape._mdf = true;\n        (this || _global).shapes[i].shape.paths = (this || _global).shapes[i].localShapeCollection;\n\n        if ((this || _global)._mdf) {\n          (this || _global).shapes[i].pathsData.length = 0;\n        }\n      }\n    } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n      var segments = [];\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n\n        if (!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame && (this || _global).m !== 2) {\n          shapeData.shape.paths = shapeData.localShapeCollection;\n        } else {\n          shapePaths = shapeData.shape.paths;\n          jLen = shapePaths._length;\n          totalShapeLength = 0;\n\n          if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n            totalShapeLength = shapeData.totalShapeLength;\n          } else {\n            pathsData = this.releasePathsData(shapeData.pathsData);\n\n            for (j = 0; j < jLen; j += 1) {\n              pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n              pathsData.push(pathData);\n              totalShapeLength += pathData.totalLength;\n            }\n\n            shapeData.totalShapeLength = totalShapeLength;\n            shapeData.pathsData = pathsData;\n          }\n\n          totalModifierLength += totalShapeLength;\n          shapeData.shape._mdf = true;\n        }\n      }\n\n      var shapeS = s;\n      var shapeE = e;\n      var addedLength = 0;\n      var edges;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        shapeData = (this || _global).shapes[i];\n\n        if (shapeData.shape._mdf) {\n          localShapeCollection = shapeData.localShapeCollection;\n          localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n\n          if ((this || _global).m === 2 && len > 1) {\n            edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n            addedLength += shapeData.totalShapeLength;\n          } else {\n            edges = [[shapeS, shapeE]];\n          }\n\n          jLen = edges.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            shapeS = edges[j][0];\n            shapeE = edges[j][1];\n            segments.length = 0;\n\n            if (shapeE <= 1) {\n              segments.push({\n                s: shapeData.totalShapeLength * shapeS,\n                e: shapeData.totalShapeLength * shapeE\n              });\n            } else if (shapeS >= 1) {\n              segments.push({\n                s: shapeData.totalShapeLength * (shapeS - 1),\n                e: shapeData.totalShapeLength * (shapeE - 1)\n              });\n            } else {\n              segments.push({\n                s: shapeData.totalShapeLength * shapeS,\n                e: shapeData.totalShapeLength\n              });\n              segments.push({\n                s: 0,\n                e: shapeData.totalShapeLength * (shapeE - 1)\n              });\n            }\n\n            var newShapesData = this.addShapes(shapeData, segments[0]);\n\n            if (segments[0].s !== segments[0].e) {\n              if (segments.length > 1) {\n                var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n\n                if (lastShapeInCollection.c) {\n                  var lastShape = newShapesData.pop();\n                  this.addPaths(newShapesData, localShapeCollection);\n                  newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n                } else {\n                  this.addPaths(newShapesData, localShapeCollection);\n                  newShapesData = this.addShapes(shapeData, segments[1]);\n                }\n              }\n\n              this.addPaths(newShapesData, localShapeCollection);\n            }\n          }\n\n          shapeData.shape.paths = localShapeCollection;\n        }\n      }\n    } else if ((this || _global)._mdf) {\n      for (i = 0; i < len; i += 1) {\n        // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n        // Don't remove this even if it's losing cached info.\n        (this || _global).shapes[i].pathsData.length = 0;\n        (this || _global).shapes[i].shape._mdf = true;\n      }\n    }\n  };\n\n  TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n    var i;\n    var len = newPaths.length;\n\n    for (i = 0; i < len; i += 1) {\n      localShapeCollection.addShape(newPaths[i]);\n    }\n  };\n\n  TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n    shapePath.setXYAt(pt2[0], pt2[1], \"o\", pos);\n    shapePath.setXYAt(pt3[0], pt3[1], \"i\", pos + 1);\n\n    if (newShape) {\n      shapePath.setXYAt(pt1[0], pt1[1], \"v\", pos);\n    }\n\n    shapePath.setXYAt(pt4[0], pt4[1], \"v\", pos + 1);\n  };\n\n  TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n    shapePath.setXYAt(points[1], points[5], \"o\", pos);\n    shapePath.setXYAt(points[2], points[6], \"i\", pos + 1);\n\n    if (newShape) {\n      shapePath.setXYAt(points[0], points[4], \"v\", pos);\n    }\n\n    shapePath.setXYAt(points[3], points[7], \"v\", pos + 1);\n  };\n\n  TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n    var pathsData = shapeData.pathsData;\n    var shapePaths = shapeData.shape.paths.shapes;\n    var i;\n    var len = shapeData.shape.paths._length;\n    var j;\n    var jLen;\n    var addedLength = 0;\n    var currentLengthData;\n    var segmentCount;\n    var lengths;\n    var segment;\n    var shapes = [];\n    var initPos;\n    var newShape = true;\n\n    if (!shapePath) {\n      shapePath = shapePool.newElement();\n      segmentCount = 0;\n      initPos = 0;\n    } else {\n      segmentCount = shapePath._length;\n      initPos = shapePath._length;\n    }\n\n    shapes.push(shapePath);\n\n    for (i = 0; i < len; i += 1) {\n      lengths = pathsData[i].lengths;\n      shapePath.c = shapePaths[i].c;\n      jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n\n      for (j = 1; j < jLen; j += 1) {\n        currentLengthData = lengths[j - 1];\n\n        if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n          addedLength += currentLengthData.addedLength;\n          shapePath.c = false;\n        } else if (addedLength > shapeSegment.e) {\n          shapePath.c = false;\n          break;\n        } else {\n          if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n            this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n            newShape = false;\n          } else {\n            segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength) / currentLengthData.addedLength, (shapeSegment.e - addedLength) / currentLengthData.addedLength, lengths[j - 1]);\n            this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n            newShape = false;\n            shapePath.c = false;\n          }\n\n          addedLength += currentLengthData.addedLength;\n          segmentCount += 1;\n        }\n      }\n\n      if (shapePaths[i].c && lengths.length) {\n        currentLengthData = lengths[j - 1];\n\n        if (addedLength <= shapeSegment.e) {\n          var segmentLength = lengths[j - 1].addedLength;\n\n          if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n            this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n            newShape = false;\n          } else {\n            segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\n            this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n            newShape = false;\n            shapePath.c = false;\n          }\n        } else {\n          shapePath.c = false;\n        }\n\n        addedLength += currentLengthData.addedLength;\n        segmentCount += 1;\n      }\n\n      if (shapePath._length) {\n        shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], \"i\", initPos);\n        shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], \"o\", shapePath._length - 1);\n      }\n\n      if (addedLength > shapeSegment.e) {\n        break;\n      }\n\n      if (i < len - 1) {\n        shapePath = shapePool.newElement();\n        newShape = true;\n        shapes.push(shapePath);\n        segmentCount = 0;\n      }\n    }\n\n    return shapes;\n  };\n\n  ShapeModifiers.registerModifier(\"tm\", TrimModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, roundCorner, ShapeModifiers */\n\n  function RoundCornersModifier() {}\n\n  extendPrototype([ShapeModifier], RoundCornersModifier);\n\n  RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).rd = PropertyFactory.getProp(elem, data.r, 0, null, this || _global);\n    (this || _global)._isAnimated = !!(this || _global).rd.effectsSequence.length;\n  };\n\n  RoundCornersModifier.prototype.processPath = function (path, round) {\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n    var i;\n    var len = path._length;\n    var currentV;\n    var currentI;\n    var currentO;\n    var closerV;\n    var distance;\n    var newPosPerc;\n    var index = 0;\n    var vX;\n    var vY;\n    var oX;\n    var oY;\n    var iX;\n    var iY;\n\n    for (i = 0; i < len; i += 1) {\n      currentV = path.v[i];\n      currentO = path.o[i];\n      currentI = path.i[i];\n\n      if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n        if ((i === 0 || i === len - 1) && !path.c) {\n          clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n          /* clonedPath.v[index] = currentV;\r\n                  clonedPath.o[index] = currentO;\r\n                  clonedPath.i[index] = currentI; */\n\n          index += 1;\n        } else {\n          if (i === 0) {\n            closerV = path.v[len - 1];\n          } else {\n            closerV = path.v[i - 1];\n          }\n\n          distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n          newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n          iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n          vX = iX;\n          iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n          vY = iY;\n          oX = vX - (vX - currentV[0]) * roundCorner;\n          oY = vY - (vY - currentV[1]) * roundCorner;\n          clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n          index += 1;\n\n          if (i === len - 1) {\n            closerV = path.v[0];\n          } else {\n            closerV = path.v[i + 1];\n          }\n\n          distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n          newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n          oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n          vX = oX;\n          oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n          vY = oY;\n          iX = vX - (vX - currentV[0]) * roundCorner;\n          iY = vY - (vY - currentV[1]) * roundCorner;\n          clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n          index += 1;\n        }\n      } else {\n        clonedPath.setTripleAt(path.v[i][0], path.v[i][1], path.o[i][0], path.o[i][1], path.i[i][0], path.i[i][1], index);\n        index += 1;\n      }\n    }\n\n    return clonedPath;\n  };\n\n  RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var rd = (this || _global).rd.v;\n\n    if (rd !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!(this || _global).dynamicProperties.length) {\n      (this || _global)._mdf = false;\n    }\n  };\n\n  ShapeModifiers.registerModifier(\"rd\", RoundCornersModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, ShapeModifiers */\n\n  function PuckerAndBloatModifier() {}\n\n  extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n  PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).amount = PropertyFactory.getProp(elem, data.a, 0, null, this || _global);\n    (this || _global)._isAnimated = !!(this || _global).amount.effectsSequence.length;\n  };\n\n  PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n    var percent = amount / 100;\n    var centerPoint = [0, 0];\n    var pathLength = path._length;\n    var i = 0;\n\n    for (i = 0; i < pathLength; i += 1) {\n      centerPoint[0] += path.v[i][0];\n      centerPoint[1] += path.v[i][1];\n    }\n\n    centerPoint[0] /= pathLength;\n    centerPoint[1] /= pathLength;\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n    var vX;\n    var vY;\n    var oX;\n    var oY;\n    var iX;\n    var iY;\n\n    for (i = 0; i < pathLength; i += 1) {\n      vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n      vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n      oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n      oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n      iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n      iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n      clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n    }\n\n    return clonedPath;\n  };\n\n  PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var amount = (this || _global).amount.v;\n\n    if (amount !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!(this || _global).dynamicProperties.length) {\n      (this || _global)._mdf = false;\n    }\n  };\n\n  ShapeModifiers.registerModifier(\"pb\", PuckerAndBloatModifier);\n  /* global extendPrototype, ShapeModifier, TransformPropertyFactory, PropertyFactory, Matrix, ShapeModifiers */\n\n  function RepeaterModifier() {}\n\n  extendPrototype([ShapeModifier], RepeaterModifier);\n\n  RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 0, null, this || _global);\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, null, this || _global);\n    (this || _global).tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this || _global);\n    (this || _global).so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this || _global);\n    (this || _global).eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this || _global);\n    (this || _global).data = data;\n\n    if (!(this || _global).dynamicProperties.length) {\n      this.getValue(true);\n    }\n\n    (this || _global)._isAnimated = !!(this || _global).dynamicProperties.length;\n    (this || _global).pMatrix = new Matrix();\n    (this || _global).rMatrix = new Matrix();\n    (this || _global).sMatrix = new Matrix();\n    (this || _global).tMatrix = new Matrix();\n    (this || _global).matrix = new Matrix();\n  };\n\n  RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n    var dir = inv ? -1 : 1;\n    var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n    var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n    pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n    rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n    rMatrix.rotate(-transform.r.v * dir * perc);\n    rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n    sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n    sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n    sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n  };\n\n  RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n    (this || _global).elem = elem;\n    (this || _global).arr = arr;\n    (this || _global).pos = pos;\n    (this || _global).elemsData = elemsData;\n    (this || _global)._currentCopies = 0;\n    (this || _global)._elements = [];\n    (this || _global)._groups = [];\n    (this || _global).frameId = -1;\n    this.initDynamicPropertyContainer(elem);\n    this.initModifierProperties(elem, arr[pos]);\n\n    while (pos > 0) {\n      pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]);\n\n      (this || _global)._elements.unshift(arr[pos]);\n    }\n\n    if ((this || _global).dynamicProperties.length) {\n      (this || _global).k = true;\n    } else {\n      this.getValue(true);\n    }\n  };\n\n  RepeaterModifier.prototype.resetElements = function (elements) {\n    var i;\n    var len = elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      elements[i]._processed = false;\n\n      if (elements[i].ty === \"gr\") {\n        this.resetElements(elements[i].it);\n      }\n    }\n  };\n\n  RepeaterModifier.prototype.cloneElements = function (elements) {\n    var newElements = JSON.parse(JSON.stringify(elements));\n    this.resetElements(newElements);\n    return newElements;\n  };\n\n  RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n    var i;\n    var len = elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      elements[i]._render = renderFlag;\n\n      if (elements[i].ty === \"gr\") {\n        this.changeGroupRender(elements[i].it, renderFlag);\n      }\n    }\n  };\n\n  RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n    var items;\n    var itemsTransform;\n    var i;\n    var dir;\n    var cont;\n    var hasReloaded = false;\n\n    if ((this || _global)._mdf || _isFirstFrame) {\n      var copies = Math.ceil((this || _global).c.v);\n\n      if ((this || _global)._groups.length < copies) {\n        while ((this || _global)._groups.length < copies) {\n          var group = {\n            it: this.cloneElements((this || _global)._elements),\n            ty: \"gr\"\n          };\n          group.it.push({\n            a: {\n              a: 0,\n              ix: 1,\n              k: [0, 0]\n            },\n            nm: \"Transform\",\n            o: {\n              a: 0,\n              ix: 7,\n              k: 100\n            },\n            p: {\n              a: 0,\n              ix: 2,\n              k: [0, 0]\n            },\n            r: {\n              a: 1,\n              ix: 6,\n              k: [{\n                s: 0,\n                e: 0,\n                t: 0\n              }, {\n                s: 0,\n                e: 0,\n                t: 1\n              }]\n            },\n            s: {\n              a: 0,\n              ix: 3,\n              k: [100, 100]\n            },\n            sa: {\n              a: 0,\n              ix: 5,\n              k: 0\n            },\n            sk: {\n              a: 0,\n              ix: 4,\n              k: 0\n            },\n            ty: \"tr\"\n          });\n\n          (this || _global).arr.splice(0, 0, group);\n\n          (this || _global)._groups.splice(0, 0, group);\n\n          (this || _global)._currentCopies += 1;\n        }\n\n        (this || _global).elem.reloadShapes();\n\n        hasReloaded = true;\n      }\n\n      cont = 0;\n      var renderFlag;\n\n      for (i = 0; i <= (this || _global)._groups.length - 1; i += 1) {\n        renderFlag = cont < copies;\n        (this || _global)._groups[i]._render = renderFlag;\n        this.changeGroupRender((this || _global)._groups[i].it, renderFlag);\n\n        if (!renderFlag) {\n          var elems = (this || _global).elemsData[i].it;\n          var transformData = elems[elems.length - 1];\n\n          if (transformData.transform.op.v !== 0) {\n            transformData.transform.op._mdf = true;\n            transformData.transform.op.v = 0;\n          } else {\n            transformData.transform.op._mdf = false;\n          }\n        }\n\n        cont += 1;\n      }\n\n      (this || _global)._currentCopies = copies; /// /\n\n      var offset = (this || _global).o.v;\n      var offsetModulo = offset % 1;\n      var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n      var pProps = (this || _global).pMatrix.props;\n      var rProps = (this || _global).rMatrix.props;\n      var sProps = (this || _global).sMatrix.props;\n\n      (this || _global).pMatrix.reset();\n\n      (this || _global).rMatrix.reset();\n\n      (this || _global).sMatrix.reset();\n\n      (this || _global).tMatrix.reset();\n\n      (this || _global).matrix.reset();\n\n      var iteration = 0;\n\n      if (offset > 0) {\n        while (iteration < roundOffset) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, false);\n          iteration += 1;\n        }\n\n        if (offsetModulo) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, offsetModulo, false);\n          iteration += offsetModulo;\n        }\n      } else if (offset < 0) {\n        while (iteration > roundOffset) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, true);\n          iteration -= 1;\n        }\n\n        if (offsetModulo) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, -offsetModulo, true);\n          iteration -= offsetModulo;\n        }\n      }\n\n      i = (this || _global).data.m === 1 ? 0 : (this || _global)._currentCopies - 1;\n      dir = (this || _global).data.m === 1 ? 1 : -1;\n      cont = (this || _global)._currentCopies;\n      var j;\n      var jLen;\n\n      while (cont) {\n        items = (this || _global).elemsData[i].it;\n        itemsTransform = items[items.length - 1].transform.mProps.v.props;\n        jLen = itemsTransform.length;\n        items[items.length - 1].transform.mProps._mdf = true;\n        items[items.length - 1].transform.op._mdf = true;\n        items[items.length - 1].transform.op.v = (this || _global)._currentCopies === 1 ? (this || _global).so.v : (this || _global).so.v + ((this || _global).eo.v - (this || _global).so.v) * (i / ((this || _global)._currentCopies - 1));\n\n        if (iteration !== 0) {\n          if (i !== 0 && dir === 1 || i !== (this || _global)._currentCopies - 1 && dir === -1) {\n            this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, false);\n          }\n\n          (this || _global).matrix.transform(rProps[0], rProps[1], rProps[2], rProps[3], rProps[4], rProps[5], rProps[6], rProps[7], rProps[8], rProps[9], rProps[10], rProps[11], rProps[12], rProps[13], rProps[14], rProps[15]);\n\n          (this || _global).matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\n\n          (this || _global).matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsTransform[j] = (this || _global).matrix.props[j];\n          }\n\n          (this || _global).matrix.reset();\n        } else {\n          (this || _global).matrix.reset();\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsTransform[j] = (this || _global).matrix.props[j];\n          }\n        }\n\n        iteration += 1;\n        cont -= 1;\n        i += dir;\n      }\n    } else {\n      cont = (this || _global)._currentCopies;\n      i = 0;\n      dir = 1;\n\n      while (cont) {\n        items = (this || _global).elemsData[i].it;\n        itemsTransform = items[items.length - 1].transform.mProps.v.props;\n        items[items.length - 1].transform.mProps._mdf = false;\n        items[items.length - 1].transform.op._mdf = false;\n        cont -= 1;\n        i += dir;\n      }\n    }\n\n    return hasReloaded;\n  };\n\n  RepeaterModifier.prototype.addShape = function () {};\n\n  ShapeModifiers.registerModifier(\"rp\", RepeaterModifier);\n  /* global createSizedArray, shapePool */\n\n  function ShapeCollection() {\n    (this || _global)._length = 0;\n    (this || _global)._maxLength = 4;\n    (this || _global).shapes = createSizedArray((this || _global)._maxLength);\n  }\n\n  ShapeCollection.prototype.addShape = function (shapeData) {\n    if ((this || _global)._length === (this || _global)._maxLength) {\n      (this || _global).shapes = (this || _global).shapes.concat(createSizedArray((this || _global)._maxLength));\n      (this || _global)._maxLength *= 2;\n    }\n\n    (this || _global).shapes[(this || _global)._length] = shapeData;\n    (this || _global)._length += 1;\n  };\n\n  ShapeCollection.prototype.releaseShapes = function () {\n    var i;\n\n    for (i = 0; i < (this || _global)._length; i += 1) {\n      shapePool.release((this || _global).shapes[i]);\n    }\n\n    (this || _global)._length = 0;\n  };\n  /* global createSizedArray, createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n\n  function DashProperty(elem, data, renderer, container) {\n    (this || _global).elem = elem;\n    (this || _global).frameId = -1;\n    (this || _global).dataProps = createSizedArray(data.length);\n    (this || _global).renderer = renderer;\n    (this || _global).k = false;\n    (this || _global).dashStr = \"\";\n    (this || _global).dashArray = createTypedArray(\"float32\", data.length ? data.length - 1 : 0);\n    (this || _global).dashoffset = createTypedArray(\"float32\", 1);\n    this.initDynamicPropertyContainer(container);\n    var i;\n    var len = data.length || 0;\n    var prop;\n\n    for (i = 0; i < len; i += 1) {\n      prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this || _global);\n      (this || _global).k = prop.k || (this || _global).k;\n      (this || _global).dataProps[i] = {\n        n: data[i].n,\n        p: prop\n      };\n    }\n\n    if (!(this || _global).k) {\n      this.getValue(true);\n    }\n\n    (this || _global)._isAnimated = (this || _global).k;\n  }\n\n  DashProperty.prototype.getValue = function (forceRender) {\n    if ((this || _global).elem.globalData.frameId === (this || _global).frameId && !forceRender) {\n      return;\n    }\n\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    this.iterateDynamicProperties();\n    (this || _global)._mdf = (this || _global)._mdf || forceRender;\n\n    if ((this || _global)._mdf) {\n      var i = 0;\n      var len = (this || _global).dataProps.length;\n\n      if ((this || _global).renderer === \"svg\") {\n        (this || _global).dashStr = \"\";\n      }\n\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).dataProps[i].n !== \"o\") {\n          if ((this || _global).renderer === \"svg\") {\n            (this || _global).dashStr += \" \" + (this || _global).dataProps[i].p.v;\n          } else {\n            (this || _global).dashArray[i] = (this || _global).dataProps[i].p.v;\n          }\n        } else {\n          (this || _global).dashoffset[0] = (this || _global).dataProps[i].p.v;\n        }\n      }\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], DashProperty);\n  /* global createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  function GradientProperty(elem, data, container) {\n    (this || _global).data = data;\n    (this || _global).c = createTypedArray(\"uint8c\", data.p * 4);\n    var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n    (this || _global).o = createTypedArray(\"float32\", cLength);\n    (this || _global)._cmdf = false;\n    (this || _global)._omdf = false;\n    (this || _global)._collapsable = this.checkCollapsable();\n    (this || _global)._hasOpacity = cLength;\n    this.initDynamicPropertyContainer(container);\n    (this || _global).prop = PropertyFactory.getProp(elem, data.k, 1, null, this || _global);\n    (this || _global).k = (this || _global).prop.k;\n    this.getValue(true);\n  }\n\n  GradientProperty.prototype.comparePoints = function (values, points) {\n    var i = 0;\n    var len = (this || _global).o.length / 2;\n    var diff;\n\n    while (i < len) {\n      diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n\n      if (diff > 0.01) {\n        return false;\n      }\n\n      i += 1;\n    }\n\n    return true;\n  };\n\n  GradientProperty.prototype.checkCollapsable = function () {\n    if ((this || _global).o.length / 2 !== (this || _global).c.length / 4) {\n      return false;\n    }\n\n    if ((this || _global).data.k.k[0].s) {\n      var i = 0;\n      var len = (this || _global).data.k.k.length;\n\n      while (i < len) {\n        if (!this.comparePoints((this || _global).data.k.k[i].s, (this || _global).data.p)) {\n          return false;\n        }\n\n        i += 1;\n      }\n    } else if (!this.comparePoints((this || _global).data.k.k, (this || _global).data.p)) {\n      return false;\n    }\n\n    return true;\n  };\n\n  GradientProperty.prototype.getValue = function (forceRender) {\n    (this || _global).prop.getValue();\n\n    (this || _global)._mdf = false;\n    (this || _global)._cmdf = false;\n    (this || _global)._omdf = false;\n\n    if ((this || _global).prop._mdf || forceRender) {\n      var i;\n      var len = (this || _global).data.p * 4;\n      var mult;\n      var val;\n\n      for (i = 0; i < len; i += 1) {\n        mult = i % 4 === 0 ? 100 : 255;\n        val = Math.round((this || _global).prop.v[i] * mult);\n\n        if ((this || _global).c[i] !== val) {\n          (this || _global).c[i] = val;\n          (this || _global)._cmdf = !forceRender;\n        }\n      }\n\n      if ((this || _global).o.length) {\n        len = (this || _global).prop.v.length;\n\n        for (i = (this || _global).data.p * 4; i < len; i += 1) {\n          mult = i % 2 === 0 ? 100 : 1;\n          val = i % 2 === 0 ? Math.round((this || _global).prop.v[i] * 100) : (this || _global).prop.v[i];\n\n          if ((this || _global).o[i - (this || _global).data.p * 4] !== val) {\n            (this || _global).o[i - (this || _global).data.p * 4] = val;\n            (this || _global)._omdf = !forceRender;\n          }\n        }\n      }\n\n      (this || _global)._mdf = !forceRender;\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], GradientProperty);\n  /* exported buildShapeString */\n\n  var buildShapeString = function (pathNodes, length, closed, mat) {\n    if (length === 0) {\n      return \"\";\n    }\n\n    var _o = pathNodes.o;\n    var _i = pathNodes.i;\n    var _v = pathNodes.v;\n    var i;\n    var shapeString = \" M\" + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n\n    for (i = 1; i < length; i += 1) {\n      shapeString += \" C\" + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + \" \" + mat.applyToPointStringified(_i[i][0], _i[i][1]) + \" \" + mat.applyToPointStringified(_v[i][0], _v[i][1]);\n    }\n\n    if (closed && length) {\n      shapeString += \" C\" + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + \" \" + mat.applyToPointStringified(_i[0][0], _i[0][1]) + \" \" + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n      shapeString += \"z\";\n    }\n\n    return shapeString;\n  };\n  /* global Howl */\n\n  /* exported audioControllerFactory */\n\n\n  var audioControllerFactory = function () {\n    function AudioController(audioFactory) {\n      (this || _global).audios = [];\n      (this || _global).audioFactory = audioFactory;\n      (this || _global)._volume = 1;\n      (this || _global)._isMuted = false;\n    }\n\n    AudioController.prototype = {\n      addAudio: function (audio) {\n        (this || _global).audios.push(audio);\n      },\n      pause: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].pause();\n        }\n      },\n      resume: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].resume();\n        }\n      },\n      setRate: function (rateValue) {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].setRate(rateValue);\n        }\n      },\n      createAudio: function (assetPath) {\n        if ((this || _global).audioFactory) {\n          return this.audioFactory(assetPath);\n        }\n\n        if (Howl) {\n          return new Howl({\n            src: [assetPath]\n          });\n        }\n\n        return {\n          isPlaying: false,\n          play: function () {\n            (this || _global).isPlaying = true;\n          },\n          seek: function () {\n            (this || _global).isPlaying = false;\n          },\n          playing: function () {},\n          rate: function () {},\n          setVolume: function () {}\n        };\n      },\n      setAudioFactory: function (audioFactory) {\n        (this || _global).audioFactory = audioFactory;\n      },\n      setVolume: function (value) {\n        (this || _global)._volume = value;\n\n        this._updateVolume();\n      },\n      mute: function () {\n        (this || _global)._isMuted = true;\n\n        this._updateVolume();\n      },\n      unmute: function () {\n        (this || _global)._isMuted = false;\n\n        this._updateVolume();\n      },\n      getVolume: function () {\n        return (this || _global)._volume;\n      },\n      _updateVolume: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].volume((this || _global)._volume * ((this || _global)._isMuted ? 0 : 1));\n        }\n      }\n    };\n    return function () {\n      return new AudioController();\n    };\n  }();\n  /* global createTag, createNS, isSafari, assetLoader */\n\n  /* exported ImagePreloader */\n\n\n  var ImagePreloader = function () {\n    var proxyImage = function () {\n      var canvas = createTag(\"canvas\");\n      canvas.width = 1;\n      canvas.height = 1;\n      var ctx = canvas.getContext(\"2d\");\n      ctx.fillStyle = \"rgba(0,0,0,0)\";\n      ctx.fillRect(0, 0, 1, 1);\n      return canvas;\n    }();\n\n    function imageLoaded() {\n      (this || _global).loadedAssets += 1;\n\n      if ((this || _global).loadedAssets === (this || _global).totalImages && (this || _global).loadedFootagesCount === (this || _global).totalFootages) {\n        if ((this || _global).imagesLoadedCb) {\n          this.imagesLoadedCb(null);\n        }\n      }\n    }\n\n    function footageLoaded() {\n      (this || _global).loadedFootagesCount += 1;\n\n      if ((this || _global).loadedAssets === (this || _global).totalImages && (this || _global).loadedFootagesCount === (this || _global).totalFootages) {\n        if ((this || _global).imagesLoadedCb) {\n          this.imagesLoadedCb(null);\n        }\n      }\n    }\n\n    function getAssetsPath(assetData, assetsPath, originalPath) {\n      var path = \"\";\n\n      if (assetData.e) {\n        path = assetData.p;\n      } else if (assetsPath) {\n        var imagePath = assetData.p;\n\n        if (imagePath.indexOf(\"images/\") !== -1) {\n          imagePath = imagePath.split(\"/\")[1];\n        }\n\n        path = assetsPath + imagePath;\n      } else {\n        path = originalPath;\n        path += assetData.u ? assetData.u : \"\";\n        path += assetData.p;\n      }\n\n      return path;\n    }\n\n    function testImageLoaded(img) {\n      var _count = 0;\n      var intervalId = setInterval(function () {\n        var box = img.getBBox();\n\n        if (box.width || _count > 500) {\n          this._imageLoaded();\n\n          clearInterval(intervalId);\n        }\n\n        _count += 1;\n      }.bind(this || _global), 50);\n    }\n\n    function createImageData(assetData) {\n      var path = getAssetsPath(assetData, (this || _global).assetsPath, (this || _global).path);\n      var img = createNS(\"image\");\n\n      if (isSafari) {\n        this.testImageLoaded(img);\n      } else {\n        img.addEventListener(\"load\", (this || _global)._imageLoaded, false);\n      }\n\n      img.addEventListener(\"error\", function () {\n        ob.img = proxyImage;\n\n        this._imageLoaded();\n      }.bind(this || _global), false);\n      img.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", path);\n\n      if ((this || _global)._elementHelper.append) {\n        (this || _global)._elementHelper.append(img);\n      } else {\n        (this || _global)._elementHelper.appendChild(img);\n      }\n\n      var ob = {\n        img: img,\n        assetData: assetData\n      };\n      return ob;\n    }\n\n    function createImgData(assetData) {\n      var path = getAssetsPath(assetData, (this || _global).assetsPath, (this || _global).path);\n      var img = createTag(\"img\");\n      img.crossOrigin = \"anonymous\";\n      img.addEventListener(\"load\", (this || _global)._imageLoaded, false);\n      img.addEventListener(\"error\", function () {\n        ob.img = proxyImage;\n\n        this._imageLoaded();\n      }.bind(this || _global), false);\n      img.src = path;\n      var ob = {\n        img: img,\n        assetData: assetData\n      };\n      return ob;\n    }\n\n    function createFootageData(data) {\n      var ob = {\n        assetData: data\n      };\n      var path = getAssetsPath(data, (this || _global).assetsPath, (this || _global).path);\n      assetLoader.load(path, function (footageData) {\n        ob.img = footageData;\n\n        this._footageLoaded();\n      }.bind(this || _global), function () {\n        ob.img = {};\n\n        this._footageLoaded();\n      }.bind(this || _global));\n      return ob;\n    }\n\n    function loadAssets(assets, cb) {\n      (this || _global).imagesLoadedCb = cb;\n      var i;\n      var len = assets.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (!assets[i].layers) {\n          if (!assets[i].t) {\n            (this || _global).totalImages += 1;\n\n            (this || _global).images.push(this._createImageData(assets[i]));\n          } else if (assets[i].t === 3) {\n            (this || _global).totalFootages += 1;\n\n            (this || _global).images.push(this.createFootageData(assets[i]));\n          }\n        }\n      }\n    }\n\n    function setPath(path) {\n      (this || _global).path = path || \"\";\n    }\n\n    function setAssetsPath(path) {\n      (this || _global).assetsPath = path || \"\";\n    }\n\n    function getAsset(assetData) {\n      var i = 0;\n      var len = (this || _global).images.length;\n\n      while (i < len) {\n        if ((this || _global).images[i].assetData === assetData) {\n          return (this || _global).images[i].img;\n        }\n\n        i += 1;\n      }\n\n      return null;\n    }\n\n    function destroy() {\n      (this || _global).imagesLoadedCb = null;\n      (this || _global).images.length = 0;\n    }\n\n    function loadedImages() {\n      return (this || _global).totalImages === (this || _global).loadedAssets;\n    }\n\n    function loadedFootages() {\n      return (this || _global).totalFootages === (this || _global).loadedFootagesCount;\n    }\n\n    function setCacheType(type, elementHelper) {\n      if (type === \"svg\") {\n        (this || _global)._elementHelper = elementHelper;\n        (this || _global)._createImageData = (this || _global).createImageData.bind(this || _global);\n      } else {\n        (this || _global)._createImageData = (this || _global).createImgData.bind(this || _global);\n      }\n    }\n\n    function ImagePreloaderFactory() {\n      (this || _global)._imageLoaded = imageLoaded.bind(this || _global);\n      (this || _global)._footageLoaded = footageLoaded.bind(this || _global);\n      (this || _global).testImageLoaded = testImageLoaded.bind(this || _global);\n      (this || _global).createFootageData = createFootageData.bind(this || _global);\n      (this || _global).assetsPath = \"\";\n      (this || _global).path = \"\";\n      (this || _global).totalImages = 0;\n      (this || _global).totalFootages = 0;\n      (this || _global).loadedAssets = 0;\n      (this || _global).loadedFootagesCount = 0;\n      (this || _global).imagesLoadedCb = null;\n      (this || _global).images = [];\n    }\n\n    ImagePreloaderFactory.prototype = {\n      loadAssets: loadAssets,\n      setAssetsPath: setAssetsPath,\n      setPath: setPath,\n      loadedImages: loadedImages,\n      loadedFootages: loadedFootages,\n      destroy: destroy,\n      getAsset: getAsset,\n      createImgData: createImgData,\n      createImageData: createImageData,\n      imageLoaded: imageLoaded,\n      footageLoaded: footageLoaded,\n      setCacheType: setCacheType\n    };\n    return ImagePreloaderFactory;\n  }();\n  /* exported featureSupport */\n\n\n  var featureSupport = function () {\n    var ob = {\n      maskType: true\n    };\n\n    if (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) {\n      ob.maskType = false;\n    }\n\n    return ob;\n  }();\n  /* global createNS */\n\n  /* exported filtersFactory */\n\n\n  var filtersFactory = function () {\n    var ob = {};\n    ob.createFilter = createFilter;\n    ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n\n    function createFilter(filId, skipCoordinates) {\n      var fil = createNS(\"filter\");\n      fil.setAttribute(\"id\", filId);\n\n      if (skipCoordinates !== true) {\n        fil.setAttribute(\"filterUnits\", \"objectBoundingBox\");\n        fil.setAttribute(\"x\", \"0%\");\n        fil.setAttribute(\"y\", \"0%\");\n        fil.setAttribute(\"width\", \"100%\");\n        fil.setAttribute(\"height\", \"100%\");\n      }\n\n      return fil;\n    }\n\n    function createAlphaToLuminanceFilter() {\n      var feColorMatrix = createNS(\"feColorMatrix\");\n      feColorMatrix.setAttribute(\"type\", \"matrix\");\n      feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      feColorMatrix.setAttribute(\"values\", \"0 0 0 1 0  0 0 0 1 0  0 0 0 1 0  0 0 0 1 1\");\n      return feColorMatrix;\n    }\n\n    return ob;\n  }();\n  /* exported assetLoader */\n\n\n  var assetLoader = function () {\n    function formatResponse(xhr) {\n      if (xhr.response && typeof xhr.response === \"object\") {\n        return xhr.response;\n      }\n\n      if (xhr.response && typeof xhr.response === \"string\") {\n        return JSON.parse(xhr.response);\n      }\n\n      if (xhr.responseText) {\n        return JSON.parse(xhr.responseText);\n      }\n\n      return null;\n    }\n\n    function loadAsset(path, callback, errorCallback) {\n      var response;\n      var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break.\n\n      try {\n        // This crashes on Android WebView prior to KitKat\n        xhr.responseType = \"json\";\n      } catch (err) {} // eslint-disable-line no-empty\n\n\n      xhr.onreadystatechange = function () {\n        if (xhr.readyState === 4) {\n          if (xhr.status === 200) {\n            response = formatResponse(xhr);\n            callback(response);\n          } else {\n            try {\n              response = formatResponse(xhr);\n              callback(response);\n            } catch (err) {\n              if (errorCallback) {\n                errorCallback(err);\n              }\n            }\n          }\n        }\n      };\n\n      xhr.open(\"GET\", path, true);\n      xhr.send();\n    }\n\n    return {\n      load: loadAsset\n    };\n  }();\n  /* global createSizedArray, PropertyFactory, TextAnimatorDataProperty, bez, addHueToRGB,\r\n    addSaturationToRGB, addBrightnessToRGB, LetterProps, Matrix, extendPrototype, DynamicPropertyContainer */\n\n\n  function TextAnimatorProperty(textData, renderType, elem) {\n    (this || _global)._isFirstFrame = true;\n    (this || _global)._hasMaskedPath = false;\n    (this || _global)._frameId = -1;\n    (this || _global)._textData = textData;\n    (this || _global)._renderType = renderType;\n    (this || _global)._elem = elem;\n    (this || _global)._animatorsData = createSizedArray((this || _global)._textData.a.length);\n    (this || _global)._pathData = {};\n    (this || _global)._moreOptions = {\n      alignment: {}\n    };\n    (this || _global).renderedLetters = [];\n    (this || _global).lettersChangedFlag = false;\n    this.initDynamicPropertyContainer(elem);\n  }\n\n  TextAnimatorProperty.prototype.searchProperties = function () {\n    var i;\n    var len = (this || _global)._textData.a.length;\n    var animatorProps;\n    var getProp = PropertyFactory.getProp;\n\n    for (i = 0; i < len; i += 1) {\n      animatorProps = (this || _global)._textData.a[i];\n      (this || _global)._animatorsData[i] = new TextAnimatorDataProperty((this || _global)._elem, animatorProps, this || _global);\n    }\n\n    if ((this || _global)._textData.p && \"m\" in (this || _global)._textData.p) {\n      (this || _global)._pathData = {\n        f: getProp((this || _global)._elem, (this || _global)._textData.p.f, 0, 0, this || _global),\n        l: getProp((this || _global)._elem, (this || _global)._textData.p.l, 0, 0, this || _global),\n        r: (this || _global)._textData.p.r,\n        m: (this || _global)._elem.maskManager.getMaskProperty((this || _global)._textData.p.m)\n      };\n      (this || _global)._hasMaskedPath = true;\n    } else {\n      (this || _global)._hasMaskedPath = false;\n    }\n\n    (this || _global)._moreOptions.alignment = getProp((this || _global)._elem, (this || _global)._textData.m.a, 1, 0, this || _global);\n  };\n\n  TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n    (this || _global).lettersChangedFlag = lettersChangedFlag;\n\n    if (!(this || _global)._mdf && !(this || _global)._isFirstFrame && !lettersChangedFlag && (!(this || _global)._hasMaskedPath || !(this || _global)._pathData.m._mdf)) {\n      return;\n    }\n\n    (this || _global)._isFirstFrame = false;\n    var alignment = (this || _global)._moreOptions.alignment.v;\n    var animators = (this || _global)._animatorsData;\n    var textData = (this || _global)._textData;\n    var matrixHelper = (this || _global).mHelper;\n    var renderType = (this || _global)._renderType;\n    var renderedLettersCount = (this || _global).renderedLetters.length;\n    var xPos;\n    var yPos;\n    var i;\n    var len;\n    var letters = documentData.l;\n    var pathInfo;\n    var currentLength;\n    var currentPoint;\n    var segmentLength;\n    var flag;\n    var pointInd;\n    var segmentInd;\n    var prevPoint;\n    var points;\n    var segments;\n    var partialLength;\n    var totalLength;\n    var perc;\n    var tanAngle;\n    var mask;\n\n    if ((this || _global)._hasMaskedPath) {\n      mask = (this || _global)._pathData.m;\n\n      if (!(this || _global)._pathData.n || (this || _global)._pathData._mdf) {\n        var paths = mask.v;\n\n        if ((this || _global)._pathData.r) {\n          paths = paths.reverse();\n        } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n\n\n        pathInfo = {\n          tLength: 0,\n          segments: []\n        };\n        len = paths._length - 1;\n        var bezierData;\n        totalLength = 0;\n\n        for (i = 0; i < len; i += 1) {\n          bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\n          pathInfo.tLength += bezierData.segmentLength;\n          pathInfo.segments.push(bezierData);\n          totalLength += bezierData.segmentLength;\n        }\n\n        i = len;\n\n        if (mask.v.c) {\n          bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\n          pathInfo.tLength += bezierData.segmentLength;\n          pathInfo.segments.push(bezierData);\n          totalLength += bezierData.segmentLength;\n        }\n\n        (this || _global)._pathData.pi = pathInfo;\n      }\n\n      pathInfo = (this || _global)._pathData.pi;\n      currentLength = (this || _global)._pathData.f.v;\n      segmentInd = 0;\n      pointInd = 1;\n      segmentLength = 0;\n      flag = true;\n      segments = pathInfo.segments;\n\n      if (currentLength < 0 && mask.v.c) {\n        if (pathInfo.tLength < Math.abs(currentLength)) {\n          currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n        }\n\n        segmentInd = segments.length - 1;\n        points = segments[segmentInd].points;\n        pointInd = points.length - 1;\n\n        while (currentLength < 0) {\n          currentLength += points[pointInd].partialLength;\n          pointInd -= 1;\n\n          if (pointInd < 0) {\n            segmentInd -= 1;\n            points = segments[segmentInd].points;\n            pointInd = points.length - 1;\n          }\n        }\n      }\n\n      points = segments[segmentInd].points;\n      prevPoint = points[pointInd - 1];\n      currentPoint = points[pointInd];\n      partialLength = currentPoint.partialLength;\n    }\n\n    len = letters.length;\n    xPos = 0;\n    yPos = 0;\n    var yOff = documentData.finalSize * 1.2 * 0.714;\n    var firstLine = true;\n    var animatorProps;\n    var animatorSelector;\n    var j;\n    var jLen;\n    var letterValue;\n    jLen = animators.length;\n    var mult;\n    var ind = -1;\n    var offf;\n    var xPathPos;\n    var yPathPos;\n    var initPathPos = currentLength;\n    var initSegmentInd = segmentInd;\n    var initPointInd = pointInd;\n    var currentLine = -1;\n    var elemOpacity;\n    var sc;\n    var sw;\n    var fc;\n    var k;\n    var letterSw;\n    var letterSc;\n    var letterFc;\n    var letterM = \"\";\n    var letterP = (this || _global).defaultPropsArray;\n    var letterO; //\n\n    if (documentData.j === 2 || documentData.j === 1) {\n      var animatorJustifyOffset = 0;\n      var animatorFirstCharOffset = 0;\n      var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n      var lastIndex = 0;\n      var isNewLine = true;\n\n      for (i = 0; i < len; i += 1) {\n        if (letters[i].n) {\n          if (animatorJustifyOffset) {\n            animatorJustifyOffset += animatorFirstCharOffset;\n          }\n\n          while (lastIndex < i) {\n            letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n            lastIndex += 1;\n          }\n\n          animatorJustifyOffset = 0;\n          isNewLine = true;\n        } else {\n          for (j = 0; j < jLen; j += 1) {\n            animatorProps = animators[j].a;\n\n            if (animatorProps.t.propType) {\n              if (isNewLine && documentData.j === 2) {\n                animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n              }\n\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n              } else {\n                animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n              }\n            }\n          }\n\n          isNewLine = false;\n        }\n      }\n\n      if (animatorJustifyOffset) {\n        animatorJustifyOffset += animatorFirstCharOffset;\n      }\n\n      while (lastIndex < i) {\n        letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n        lastIndex += 1;\n      }\n    } //\n\n\n    for (i = 0; i < len; i += 1) {\n      matrixHelper.reset();\n      elemOpacity = 1;\n\n      if (letters[i].n) {\n        xPos = 0;\n        yPos += documentData.yOffset;\n        yPos += firstLine ? 1 : 0;\n        currentLength = initPathPos;\n        firstLine = false;\n\n        if ((this || _global)._hasMaskedPath) {\n          segmentInd = initSegmentInd;\n          pointInd = initPointInd;\n          points = segments[segmentInd].points;\n          prevPoint = points[pointInd - 1];\n          currentPoint = points[pointInd];\n          partialLength = currentPoint.partialLength;\n          segmentLength = 0;\n        }\n\n        letterM = \"\";\n        letterFc = \"\";\n        letterSw = \"\";\n        letterO = \"\";\n        letterP = (this || _global).defaultPropsArray;\n      } else {\n        if ((this || _global)._hasMaskedPath) {\n          if (currentLine !== letters[i].line) {\n            switch (documentData.j) {\n              case 1:\n                currentLength += totalLength - documentData.lineWidths[letters[i].line];\n                break;\n\n              case 2:\n                currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n                break;\n\n              default:\n                break;\n            }\n\n            currentLine = letters[i].line;\n          }\n\n          if (ind !== letters[i].ind) {\n            if (letters[ind]) {\n              currentLength += letters[ind].extra;\n            }\n\n            currentLength += letters[i].an / 2;\n            ind = letters[i].ind;\n          }\n\n          currentLength += alignment[0] * letters[i].an * 0.005;\n          var animatorOffset = 0;\n\n          for (j = 0; j < jLen; j += 1) {\n            animatorProps = animators[j].a;\n\n            if (animatorProps.p.propType) {\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorOffset += animatorProps.p.v[0] * mult[0];\n              } else {\n                animatorOffset += animatorProps.p.v[0] * mult;\n              }\n            }\n\n            if (animatorProps.a.propType) {\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorOffset += animatorProps.a.v[0] * mult[0];\n              } else {\n                animatorOffset += animatorProps.a.v[0] * mult;\n              }\n            }\n          }\n\n          flag = true;\n\n          while (flag) {\n            if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n              perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n              xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n              yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n              matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01);\n              flag = false;\n            } else if (points) {\n              segmentLength += currentPoint.partialLength;\n              pointInd += 1;\n\n              if (pointInd >= points.length) {\n                pointInd = 0;\n                segmentInd += 1;\n\n                if (!segments[segmentInd]) {\n                  if (mask.v.c) {\n                    pointInd = 0;\n                    segmentInd = 0;\n                    points = segments[segmentInd].points;\n                  } else {\n                    segmentLength -= currentPoint.partialLength;\n                    points = null;\n                  }\n                } else {\n                  points = segments[segmentInd].points;\n                }\n              }\n\n              if (points) {\n                prevPoint = currentPoint;\n                currentPoint = points[pointInd];\n                partialLength = currentPoint.partialLength;\n              }\n            }\n          }\n\n          offf = letters[i].an / 2 - letters[i].add;\n          matrixHelper.translate(-offf, 0, 0);\n        } else {\n          offf = letters[i].an / 2 - letters[i].add;\n          matrixHelper.translate(-offf, 0, 0); // Grouping alignment\n\n          matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0);\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.t.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n\n            if (xPos !== 0 || documentData.j !== 0) {\n              if ((this || _global)._hasMaskedPath) {\n                if (mult.length) {\n                  currentLength += animatorProps.t.v * mult[0];\n                } else {\n                  currentLength += animatorProps.t.v * mult;\n                }\n              } else if (mult.length) {\n                xPos += animatorProps.t.v * mult[0];\n              } else {\n                xPos += animatorProps.t.v * mult;\n              }\n            }\n          }\n        }\n\n        if (documentData.strokeWidthAnim) {\n          sw = documentData.sw || 0;\n        }\n\n        if (documentData.strokeColorAnim) {\n          if (documentData.sc) {\n            sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n          } else {\n            sc = [0, 0, 0];\n          }\n        }\n\n        if (documentData.fillColorAnim && documentData.fc) {\n          fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.a.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (mult.length) {\n              matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n            } else {\n              matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.s.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (mult.length) {\n              matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n            } else {\n              matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n          animatorSelector = animators[j].s;\n          mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n          if (animatorProps.sk.propType) {\n            if (mult.length) {\n              matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n            } else {\n              matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n            }\n          }\n\n          if (animatorProps.r.propType) {\n            if (mult.length) {\n              matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n            } else {\n              matrixHelper.rotateZ(-animatorProps.r.v * mult);\n            }\n          }\n\n          if (animatorProps.ry.propType) {\n            if (mult.length) {\n              matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n            } else {\n              matrixHelper.rotateY(animatorProps.ry.v * mult);\n            }\n          }\n\n          if (animatorProps.rx.propType) {\n            if (mult.length) {\n              matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n            } else {\n              matrixHelper.rotateX(animatorProps.rx.v * mult);\n            }\n          }\n\n          if (animatorProps.o.propType) {\n            if (mult.length) {\n              elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n            } else {\n              elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n            }\n          }\n\n          if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n            if (mult.length) {\n              sw += animatorProps.sw.v * mult[0];\n            } else {\n              sw += animatorProps.sw.v * mult;\n            }\n          }\n\n          if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n            for (k = 0; k < 3; k += 1) {\n              if (mult.length) {\n                sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\n              } else {\n                sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\n              }\n            }\n          }\n\n          if (documentData.fillColorAnim && documentData.fc) {\n            if (animatorProps.fc.propType) {\n              for (k = 0; k < 3; k += 1) {\n                if (mult.length) {\n                  fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\n                } else {\n                  fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\n                }\n              }\n            }\n\n            if (animatorProps.fh.propType) {\n              if (mult.length) {\n                fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n              } else {\n                fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n              }\n            }\n\n            if (animatorProps.fs.propType) {\n              if (mult.length) {\n                fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n              } else {\n                fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n              }\n            }\n\n            if (animatorProps.fb.propType) {\n              if (mult.length) {\n                fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n              } else {\n                fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n              }\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.p.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if ((this || _global)._hasMaskedPath) {\n              if (mult.length) {\n                matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n              } else {\n                matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n              }\n            } else if (mult.length) {\n              matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n            } else {\n              matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n            }\n          }\n        }\n\n        if (documentData.strokeWidthAnim) {\n          letterSw = sw < 0 ? 0 : sw;\n        }\n\n        if (documentData.strokeColorAnim) {\n          letterSc = \"rgb(\" + Math.round(sc[0] * 255) + \",\" + Math.round(sc[1] * 255) + \",\" + Math.round(sc[2] * 255) + \")\";\n        }\n\n        if (documentData.fillColorAnim && documentData.fc) {\n          letterFc = \"rgb(\" + Math.round(fc[0] * 255) + \",\" + Math.round(fc[1] * 255) + \",\" + Math.round(fc[2] * 255) + \")\";\n        }\n\n        if ((this || _global)._hasMaskedPath) {\n          matrixHelper.translate(0, -documentData.ls);\n          matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n          if (textData.p.p) {\n            tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n            var rot = Math.atan(tanAngle) * 180 / Math.PI;\n\n            if (currentPoint.point[0] < prevPoint.point[0]) {\n              rot += 180;\n            }\n\n            matrixHelper.rotate(-rot * Math.PI / 180);\n          }\n\n          matrixHelper.translate(xPathPos, yPathPos, 0);\n          currentLength -= alignment[0] * letters[i].an * 0.005;\n\n          if (letters[i + 1] && ind !== letters[i + 1].ind) {\n            currentLength += letters[i].an / 2;\n            currentLength += documentData.tr * 0.001 * documentData.finalSize;\n          }\n        } else {\n          matrixHelper.translate(xPos, yPos, 0);\n\n          if (documentData.ps) {\n            // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n            matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n          }\n\n          switch (documentData.j) {\n            case 1:\n              matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n              break;\n\n            case 2:\n              matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n              break;\n\n            default:\n              break;\n          }\n\n          matrixHelper.translate(0, -documentData.ls);\n          matrixHelper.translate(offf, 0, 0);\n          matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0);\n          xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize;\n        }\n\n        if (renderType === \"html\") {\n          letterM = matrixHelper.toCSS();\n        } else if (renderType === \"svg\") {\n          letterM = matrixHelper.to2dCSS();\n        } else {\n          letterP = [matrixHelper.props[0], matrixHelper.props[1], matrixHelper.props[2], matrixHelper.props[3], matrixHelper.props[4], matrixHelper.props[5], matrixHelper.props[6], matrixHelper.props[7], matrixHelper.props[8], matrixHelper.props[9], matrixHelper.props[10], matrixHelper.props[11], matrixHelper.props[12], matrixHelper.props[13], matrixHelper.props[14], matrixHelper.props[15]];\n        }\n\n        letterO = elemOpacity;\n      }\n\n      if (renderedLettersCount <= i) {\n        letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n\n        (this || _global).renderedLetters.push(letterValue);\n\n        renderedLettersCount += 1;\n        (this || _global).lettersChangedFlag = true;\n      } else {\n        letterValue = (this || _global).renderedLetters[i];\n        (this || _global).lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || (this || _global).lettersChangedFlag;\n      }\n    }\n  };\n\n  TextAnimatorProperty.prototype.getValue = function () {\n    if ((this || _global)._elem.globalData.frameId === (this || _global)._frameId) {\n      return;\n    }\n\n    (this || _global)._frameId = (this || _global)._elem.globalData.frameId;\n    this.iterateDynamicProperties();\n  };\n\n  TextAnimatorProperty.prototype.mHelper = new Matrix();\n  TextAnimatorProperty.prototype.defaultPropsArray = [];\n  extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n  /* global PropertyFactory, degToRads, TextSelectorProp */\n\n  /* exported TextAnimatorDataProperty */\n\n  function TextAnimatorDataProperty(elem, animatorProps, container) {\n    var defaultData = {\n      propType: false\n    };\n    var getProp = PropertyFactory.getProp;\n    var textAnimatorAnimatables = animatorProps.a;\n    (this || _global).a = {\n      r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\n      rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\n      ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\n      sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\n      sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\n      s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\n      a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\n      o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\n      p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\n      sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\n      sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\n      fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\n      fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\n      fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\n      fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\n      t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData\n    };\n    (this || _global).s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n    (this || _global).s.t = animatorProps.s.t;\n  }\n\n  function LetterProps(o, sw, sc, fc, m, p) {\n    (this || _global).o = o;\n    (this || _global).sw = sw;\n    (this || _global).sc = sc;\n    (this || _global).fc = fc;\n    (this || _global).m = m;\n    (this || _global).p = p;\n    (this || _global)._mdf = {\n      o: true,\n      sw: !!sw,\n      sc: !!sc,\n      fc: !!fc,\n      m: true,\n      p: true\n    };\n  }\n\n  LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n    (this || _global)._mdf.o = false;\n    (this || _global)._mdf.sw = false;\n    (this || _global)._mdf.sc = false;\n    (this || _global)._mdf.fc = false;\n    (this || _global)._mdf.m = false;\n    (this || _global)._mdf.p = false;\n    var updated = false;\n\n    if ((this || _global).o !== o) {\n      (this || _global).o = o;\n      (this || _global)._mdf.o = true;\n      updated = true;\n    }\n\n    if ((this || _global).sw !== sw) {\n      (this || _global).sw = sw;\n      (this || _global)._mdf.sw = true;\n      updated = true;\n    }\n\n    if ((this || _global).sc !== sc) {\n      (this || _global).sc = sc;\n      (this || _global)._mdf.sc = true;\n      updated = true;\n    }\n\n    if ((this || _global).fc !== fc) {\n      (this || _global).fc = fc;\n      (this || _global)._mdf.fc = true;\n      updated = true;\n    }\n\n    if ((this || _global).m !== m) {\n      (this || _global).m = m;\n      (this || _global)._mdf.m = true;\n      updated = true;\n    }\n\n    if (p.length && ((this || _global).p[0] !== p[0] || (this || _global).p[1] !== p[1] || (this || _global).p[4] !== p[4] || (this || _global).p[5] !== p[5] || (this || _global).p[12] !== p[12] || (this || _global).p[13] !== p[13])) {\n      (this || _global).p = p;\n      (this || _global)._mdf.p = true;\n      updated = true;\n    }\n\n    return updated;\n  };\n  /* global FontManager, initialDefaultFrame, getFontProperties */\n\n  /* exported TextProperty */\n\n\n  function TextProperty(elem, data) {\n    (this || _global)._frameId = initialDefaultFrame;\n    (this || _global).pv = \"\";\n    (this || _global).v = \"\";\n    (this || _global).kf = false;\n    (this || _global)._isFirstFrame = true;\n    (this || _global)._mdf = false;\n    (this || _global).data = data;\n    (this || _global).elem = elem;\n    (this || _global).comp = (this || _global).elem.comp;\n    (this || _global).keysIndex = 0;\n    (this || _global).canResize = false;\n    (this || _global).minimumFontSize = 1;\n    (this || _global).effectsSequence = [];\n    (this || _global).currentData = {\n      ascent: 0,\n      boxWidth: (this || _global).defaultBoxWidth,\n      f: \"\",\n      fStyle: \"\",\n      fWeight: \"\",\n      fc: \"\",\n      j: \"\",\n      justifyOffset: \"\",\n      l: [],\n      lh: 0,\n      lineWidths: [],\n      ls: \"\",\n      of: \"\",\n      s: \"\",\n      sc: \"\",\n      sw: 0,\n      t: 0,\n      tr: 0,\n      sz: 0,\n      ps: null,\n      fillColorAnim: false,\n      strokeColorAnim: false,\n      strokeWidthAnim: false,\n      yOffset: 0,\n      finalSize: 0,\n      finalText: [],\n      finalLineHeight: 0,\n      __complete: false\n    };\n    this.copyData((this || _global).currentData, (this || _global).data.d.k[0].s);\n\n    if (!this.searchProperty()) {\n      this.completeTextData((this || _global).currentData);\n    }\n  }\n\n  TextProperty.prototype.defaultBoxWidth = [0, 0];\n\n  TextProperty.prototype.copyData = function (obj, data) {\n    for (var s in data) {\n      if (Object.prototype.hasOwnProperty.call(data, s)) {\n        obj[s] = data[s];\n      }\n    }\n\n    return obj;\n  };\n\n  TextProperty.prototype.setCurrentData = function (data) {\n    if (!data.__complete) {\n      this.completeTextData(data);\n    }\n\n    (this || _global).currentData = data;\n    (this || _global).currentData.boxWidth = (this || _global).currentData.boxWidth || (this || _global).defaultBoxWidth;\n    (this || _global)._mdf = true;\n  };\n\n  TextProperty.prototype.searchProperty = function () {\n    return this.searchKeyframes();\n  };\n\n  TextProperty.prototype.searchKeyframes = function () {\n    (this || _global).kf = (this || _global).data.d.k.length > 1;\n\n    if ((this || _global).kf) {\n      this.addEffect((this || _global).getKeyframeValue.bind(this || _global));\n    }\n\n    return (this || _global).kf;\n  };\n\n  TextProperty.prototype.addEffect = function (effectFunction) {\n    (this || _global).effectsSequence.push(effectFunction);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.getValue = function (_finalValue) {\n    if (((this || _global).elem.globalData.frameId === (this || _global).frameId || !(this || _global).effectsSequence.length) && !_finalValue) {\n      return;\n    }\n\n    (this || _global).currentData.t = (this || _global).data.d.k[(this || _global).keysIndex].s.t;\n    var currentValue = (this || _global).currentData;\n    var currentIndex = (this || _global).keysIndex;\n\n    if ((this || _global).lock) {\n      this.setCurrentData((this || _global).currentData);\n      return;\n    }\n\n    (this || _global).lock = true;\n    (this || _global)._mdf = false;\n    var i;\n    var len = (this || _global).effectsSequence.length;\n    var finalValue = _finalValue || (this || _global).data.d.k[(this || _global).keysIndex].s;\n\n    for (i = 0; i < len; i += 1) {\n      // Checking if index changed to prevent creating a new object every time the expression updates.\n      if (currentIndex !== (this || _global).keysIndex) {\n        finalValue = (this || _global).effectsSequence[i](finalValue, finalValue.t);\n      } else {\n        finalValue = (this || _global).effectsSequence[i]((this || _global).currentData, finalValue.t);\n      }\n    }\n\n    if (currentValue !== finalValue) {\n      this.setCurrentData(finalValue);\n    }\n\n    (this || _global).v = (this || _global).currentData;\n    (this || _global).pv = (this || _global).v;\n    (this || _global).lock = false;\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n  };\n\n  TextProperty.prototype.getKeyframeValue = function () {\n    var textKeys = (this || _global).data.d.k;\n    var frameNum = (this || _global).elem.comp.renderedFrame;\n    var i = 0;\n    var len = textKeys.length;\n\n    while (i <= len - 1) {\n      if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n        break;\n      }\n\n      i += 1;\n    }\n\n    if ((this || _global).keysIndex !== i) {\n      (this || _global).keysIndex = i;\n    }\n\n    return (this || _global).data.d.k[(this || _global).keysIndex].s;\n  };\n\n  TextProperty.prototype.buildFinalText = function (text) {\n    var combinedCharacters = FontManager.getCombinedCharacterCodes();\n    var charactersArray = [];\n    var i = 0;\n    var len = text.length;\n    var charCode;\n\n    while (i < len) {\n      charCode = text.charCodeAt(i);\n\n      if (combinedCharacters.indexOf(charCode) !== -1) {\n        charactersArray[charactersArray.length - 1] += text.charAt(i);\n      } else if (charCode >= 55296 && charCode <= 56319) {\n        charCode = text.charCodeAt(i + 1);\n\n        if (charCode >= 56320 && charCode <= 57343) {\n          charactersArray.push(text.substr(i, 2));\n          i += 1;\n        } else {\n          charactersArray.push(text.charAt(i));\n        }\n      } else {\n        charactersArray.push(text.charAt(i));\n      }\n\n      i += 1;\n    }\n\n    return charactersArray;\n  };\n\n  TextProperty.prototype.completeTextData = function (documentData) {\n    documentData.__complete = true;\n    var fontManager = (this || _global).elem.globalData.fontManager;\n    var data = (this || _global).data;\n    var letters = [];\n    var i;\n    var len;\n    var newLineFlag;\n    var index = 0;\n    var val;\n    var anchorGrouping = data.m.g;\n    var currentSize = 0;\n    var currentPos = 0;\n    var currentLine = 0;\n    var lineWidths = [];\n    var lineWidth = 0;\n    var maxLineWidth = 0;\n    var j;\n    var jLen;\n    var fontData = fontManager.getFontByName(documentData.f);\n    var charData;\n    var cLength = 0;\n    var fontProps = getFontProperties(fontData);\n    documentData.fWeight = fontProps.weight;\n    documentData.fStyle = fontProps.style;\n    documentData.finalSize = documentData.s;\n    documentData.finalText = this.buildFinalText(documentData.t);\n    len = documentData.finalText.length;\n    documentData.finalLineHeight = documentData.lh;\n    var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n    var charCode;\n\n    if (documentData.sz) {\n      var flag = true;\n      var boxWidth = documentData.sz[0];\n      var boxHeight = documentData.sz[1];\n      var currentHeight;\n      var finalText;\n\n      while (flag) {\n        finalText = this.buildFinalText(documentData.t);\n        currentHeight = 0;\n        lineWidth = 0;\n        len = finalText.length;\n        trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n        var lastSpaceIndex = -1;\n\n        for (i = 0; i < len; i += 1) {\n          charCode = finalText[i].charCodeAt(0);\n          newLineFlag = false;\n\n          if (finalText[i] === \" \") {\n            lastSpaceIndex = i;\n          } else if (charCode === 13 || charCode === 3) {\n            lineWidth = 0;\n            newLineFlag = true;\n            currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n          }\n\n          if (fontManager.chars) {\n            charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n            cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n          } else {\n            // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n            cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n          }\n\n          if (lineWidth + cLength > boxWidth && finalText[i] !== \" \") {\n            if (lastSpaceIndex === -1) {\n              len += 1;\n            } else {\n              i = lastSpaceIndex;\n            }\n\n            currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n            finalText.splice(i, lastSpaceIndex === i ? 1 : 0, \"\\r\"); // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n\n            lastSpaceIndex = -1;\n            lineWidth = 0;\n          } else {\n            lineWidth += cLength;\n            lineWidth += trackingOffset;\n          }\n        }\n\n        currentHeight += fontData.ascent * documentData.finalSize / 100;\n\n        if ((this || _global).canResize && documentData.finalSize > (this || _global).minimumFontSize && boxHeight < currentHeight) {\n          documentData.finalSize -= 1;\n          documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n        } else {\n          documentData.finalText = finalText;\n          len = documentData.finalText.length;\n          flag = false;\n        }\n      }\n    }\n\n    lineWidth = -trackingOffset;\n    cLength = 0;\n    var uncollapsedSpaces = 0;\n    var currentChar;\n\n    for (i = 0; i < len; i += 1) {\n      newLineFlag = false;\n      currentChar = documentData.finalText[i];\n      charCode = currentChar.charCodeAt(0);\n\n      if (charCode === 13 || charCode === 3) {\n        uncollapsedSpaces = 0;\n        lineWidths.push(lineWidth);\n        maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n        lineWidth = -2 * trackingOffset;\n        val = \"\";\n        newLineFlag = true;\n        currentLine += 1;\n      } else {\n        val = currentChar;\n      }\n\n      if (fontManager.chars) {\n        charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n        cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n      } else {\n        // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n        // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n        cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n      } //\n\n\n      if (currentChar === \" \") {\n        uncollapsedSpaces += cLength + trackingOffset;\n      } else {\n        lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n        uncollapsedSpaces = 0;\n      }\n\n      letters.push({\n        l: cLength,\n        an: cLength,\n        add: currentSize,\n        n: newLineFlag,\n        anIndexes: [],\n        val: val,\n        line: currentLine,\n        animatorJustifyOffset: 0\n      });\n\n      if (anchorGrouping == 2) {\n        // eslint-disable-line eqeqeq\n        currentSize += cLength;\n\n        if (val === \"\" || val === \" \" || i === len - 1) {\n          if (val === \"\" || val === \" \") {\n            currentSize -= cLength;\n          }\n\n          while (currentPos <= i) {\n            letters[currentPos].an = currentSize;\n            letters[currentPos].ind = index;\n            letters[currentPos].extra = cLength;\n            currentPos += 1;\n          }\n\n          index += 1;\n          currentSize = 0;\n        }\n      } else if (anchorGrouping == 3) {\n        // eslint-disable-line eqeqeq\n        currentSize += cLength;\n\n        if (val === \"\" || i === len - 1) {\n          if (val === \"\") {\n            currentSize -= cLength;\n          }\n\n          while (currentPos <= i) {\n            letters[currentPos].an = currentSize;\n            letters[currentPos].ind = index;\n            letters[currentPos].extra = cLength;\n            currentPos += 1;\n          }\n\n          currentSize = 0;\n          index += 1;\n        }\n      } else {\n        letters[index].ind = index;\n        letters[index].extra = 0;\n        index += 1;\n      }\n    }\n\n    documentData.l = letters;\n    maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n    lineWidths.push(lineWidth);\n\n    if (documentData.sz) {\n      documentData.boxWidth = documentData.sz[0];\n      documentData.justifyOffset = 0;\n    } else {\n      documentData.boxWidth = maxLineWidth;\n\n      switch (documentData.j) {\n        case 1:\n          documentData.justifyOffset = -documentData.boxWidth;\n          break;\n\n        case 2:\n          documentData.justifyOffset = -documentData.boxWidth / 2;\n          break;\n\n        default:\n          documentData.justifyOffset = 0;\n      }\n    }\n\n    documentData.lineWidths = lineWidths;\n    var animators = data.a;\n    var animatorData;\n    var letterData;\n    jLen = animators.length;\n    var based;\n    var ind;\n    var indexes = [];\n\n    for (j = 0; j < jLen; j += 1) {\n      animatorData = animators[j];\n\n      if (animatorData.a.sc) {\n        documentData.strokeColorAnim = true;\n      }\n\n      if (animatorData.a.sw) {\n        documentData.strokeWidthAnim = true;\n      }\n\n      if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n        documentData.fillColorAnim = true;\n      }\n\n      ind = 0;\n      based = animatorData.s.b;\n\n      for (i = 0; i < len; i += 1) {\n        letterData = letters[i];\n        letterData.anIndexes[j] = ind;\n\n        if (based == 1 && letterData.val !== \"\" || based == 2 && letterData.val !== \"\" && letterData.val !== \" \" || based == 3 && (letterData.n || letterData.val == \" \" || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) {\n          // eslint-disable-line eqeqeq\n          if (animatorData.s.rn === 1) {\n            indexes.push(ind);\n          }\n\n          ind += 1;\n        }\n      }\n\n      data.a[j].s.totalChars = ind;\n      var currentInd = -1;\n      var newInd;\n\n      if (animatorData.s.rn === 1) {\n        for (i = 0; i < len; i += 1) {\n          letterData = letters[i];\n\n          if (currentInd != letterData.anIndexes[j]) {\n            // eslint-disable-line eqeqeq\n            currentInd = letterData.anIndexes[j];\n            newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n          }\n\n          letterData.anIndexes[j] = newInd;\n        }\n      }\n    }\n\n    documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n    documentData.ls = documentData.ls || 0;\n    documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n  };\n\n  TextProperty.prototype.updateDocumentData = function (newData, index) {\n    index = index === undefined ? (this || _global).keysIndex : index;\n    var dData = this.copyData({}, (this || _global).data.d.k[index].s);\n    dData = this.copyData(dData, newData);\n    (this || _global).data.d.k[index].s = dData;\n    this.recalculate(index);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.recalculate = function (index) {\n    var dData = (this || _global).data.d.k[index].s;\n    dData.__complete = false;\n    (this || _global).keysIndex = 0;\n    (this || _global)._isFirstFrame = true;\n    this.getValue(dData);\n  };\n\n  TextProperty.prototype.canResizeFont = function (_canResize) {\n    (this || _global).canResize = _canResize;\n    this.recalculate((this || _global).keysIndex);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n    (this || _global).minimumFontSize = Math.floor(_fontValue) || 1;\n    this.recalculate((this || _global).keysIndex);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n  /* global extendPrototype, BezierFactory, PropertyFactory, DynamicPropertyContainer */\n\n  /* exported TextSelectorProp */\n\n\n  var TextSelectorProp = function () {\n    var max = Math.max;\n    var min = Math.min;\n    var floor = Math.floor;\n\n    function TextSelectorPropFactory(elem, data) {\n      (this || _global)._currentTextLength = -1;\n      (this || _global).k = false;\n      (this || _global).data = data;\n      (this || _global).elem = elem;\n      (this || _global).comp = elem.comp;\n      (this || _global).finalS = 0;\n      (this || _global).finalE = 0;\n      this.initDynamicPropertyContainer(elem);\n      (this || _global).s = PropertyFactory.getProp(elem, data.s || {\n        k: 0\n      }, 0, 0, this || _global);\n\n      if (\"e\" in data) {\n        (this || _global).e = PropertyFactory.getProp(elem, data.e, 0, 0, this || _global);\n      } else {\n        (this || _global).e = {\n          v: 100\n        };\n      }\n\n      (this || _global).o = PropertyFactory.getProp(elem, data.o || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).xe = PropertyFactory.getProp(elem, data.xe || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).ne = PropertyFactory.getProp(elem, data.ne || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this || _global);\n\n      if (!(this || _global).dynamicProperties.length) {\n        this.getValue();\n      }\n    }\n\n    TextSelectorPropFactory.prototype = {\n      getMult: function (ind) {\n        if ((this || _global)._currentTextLength !== (this || _global).elem.textProperty.currentData.l.length) {\n          this.getValue();\n        } // var easer = bez.getEasingCurve(this.ne.v/100,0,1-this.xe.v/100,1);\n\n\n        var x1 = 0;\n        var y1 = 0;\n        var x2 = 1;\n        var y2 = 1;\n\n        if ((this || _global).ne.v > 0) {\n          x1 = (this || _global).ne.v / 100;\n        } else {\n          y1 = -(this || _global).ne.v / 100;\n        }\n\n        if ((this || _global).xe.v > 0) {\n          x2 = 1 - (this || _global).xe.v / 100;\n        } else {\n          y2 = 1 + (this || _global).xe.v / 100;\n        }\n\n        var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n        var mult = 0;\n        var s = (this || _global).finalS;\n        var e = (this || _global).finalE;\n        var type = (this || _global).data.sh;\n\n        if (type === 2) {\n          if (e === s) {\n            mult = ind >= e ? 1 : 0;\n          } else {\n            mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n          }\n\n          mult = easer(mult);\n        } else if (type === 3) {\n          if (e === s) {\n            mult = ind >= e ? 0 : 1;\n          } else {\n            mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n          }\n\n          mult = easer(mult);\n        } else if (type === 4) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n\n            if (mult < 0.5) {\n              mult *= 2;\n            } else {\n              mult = 1 - 2 * (mult - 0.5);\n            }\n          }\n\n          mult = easer(mult);\n        } else if (type === 5) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            var tot = e - s;\n            /* ind += 0.5;\r\n                      mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\n\n            ind = min(max(0, ind + 0.5 - s), e - s);\n            var x = -tot / 2 + ind;\n            var a = tot / 2;\n            mult = Math.sqrt(1 - x * x / (a * a));\n          }\n\n          mult = easer(mult);\n        } else if (type === 6) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            ind = min(max(0, ind + 0.5 - s), e - s);\n            mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line\n          }\n\n          mult = easer(mult);\n        } else {\n          if (ind >= floor(s)) {\n            if (ind - s < 0) {\n              mult = max(0, min(min(e, 1) - (s - ind), 1));\n            } else {\n              mult = max(0, min(e - ind, 1));\n            }\n          }\n\n          mult = easer(mult);\n        }\n\n        return mult * (this || _global).a.v;\n      },\n      getValue: function (newCharsFlag) {\n        this.iterateDynamicProperties();\n        (this || _global)._mdf = newCharsFlag || (this || _global)._mdf;\n        (this || _global)._currentTextLength = (this || _global).elem.textProperty.currentData.l.length || 0;\n\n        if (newCharsFlag && (this || _global).data.r === 2) {\n          (this || _global).e.v = (this || _global)._currentTextLength;\n        }\n\n        var divisor = (this || _global).data.r === 2 ? 1 : 100 / (this || _global).data.totalChars;\n        var o = (this || _global).o.v / divisor;\n        var s = (this || _global).s.v / divisor + o;\n        var e = (this || _global).e.v / divisor + o;\n\n        if (s > e) {\n          var _s = s;\n          s = e;\n          e = _s;\n        }\n\n        (this || _global).finalS = s;\n        (this || _global).finalE = e;\n      }\n    };\n    extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\n\n    function getTextSelectorProp(elem, data, arr) {\n      return new TextSelectorPropFactory(elem, data, arr);\n    }\n\n    return {\n      getTextSelectorProp: getTextSelectorProp\n    };\n  }();\n  /* global createSizedArray, pooling */\n\n  /* exported poolFactory */\n\n\n  var poolFactory = function () {\n    return function (initialLength, _create, _release) {\n      var _length = 0;\n      var _maxLength = initialLength;\n      var pool = createSizedArray(_maxLength);\n      var ob = {\n        newElement: newElement,\n        release: release\n      };\n\n      function newElement() {\n        var element;\n\n        if (_length) {\n          _length -= 1;\n          element = pool[_length];\n        } else {\n          element = _create();\n        }\n\n        return element;\n      }\n\n      function release(element) {\n        if (_length === _maxLength) {\n          pool = pooling.double(pool);\n          _maxLength *= 2;\n        }\n\n        if (_release) {\n          _release(element);\n        }\n\n        pool[_length] = element;\n        _length += 1;\n      }\n\n      return ob;\n    };\n  }();\n  /* global createSizedArray */\n\n  /* exported pooling */\n\n\n  var pooling = function () {\n    function double(arr) {\n      return arr.concat(createSizedArray(arr.length));\n    }\n\n    return {\n      double: double\n    };\n  }();\n  /* global createTypedArray, poolFactory */\n\n  /* exported pointPool */\n\n\n  var pointPool = function () {\n    function create() {\n      return createTypedArray(\"float32\", 2);\n    }\n\n    return poolFactory(8, create);\n  }();\n  /* global ShapePath, pointPool, poolFactory */\n\n  /* exported shapePool */\n\n\n  var shapePool = function () {\n    function create() {\n      return new ShapePath();\n    }\n\n    function release(shapePath) {\n      var len = shapePath._length;\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        pointPool.release(shapePath.v[i]);\n        pointPool.release(shapePath.i[i]);\n        pointPool.release(shapePath.o[i]);\n        shapePath.v[i] = null;\n        shapePath.i[i] = null;\n        shapePath.o[i] = null;\n      }\n\n      shapePath._length = 0;\n      shapePath.c = false;\n    }\n\n    function clone(shape) {\n      var cloned = factory.newElement();\n      var i;\n      var len = shape._length === undefined ? shape.v.length : shape._length;\n      cloned.setLength(len);\n      cloned.c = shape.c;\n\n      for (i = 0; i < len; i += 1) {\n        cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i);\n      }\n\n      return cloned;\n    }\n\n    var factory = poolFactory(4, create, release);\n    factory.clone = clone;\n    return factory;\n  }();\n  /* global createSizedArray, ShapeCollection, shapePool, pooling */\n\n  /* exported shapeCollectionPool */\n\n\n  var shapeCollectionPool = function () {\n    var ob = {\n      newShapeCollection: newShapeCollection,\n      release: release\n    };\n    var _length = 0;\n    var _maxLength = 4;\n    var pool = createSizedArray(_maxLength);\n\n    function newShapeCollection() {\n      var shapeCollection;\n\n      if (_length) {\n        _length -= 1;\n        shapeCollection = pool[_length];\n      } else {\n        shapeCollection = new ShapeCollection();\n      }\n\n      return shapeCollection;\n    }\n\n    function release(shapeCollection) {\n      var i;\n      var len = shapeCollection._length;\n\n      for (i = 0; i < len; i += 1) {\n        shapePool.release(shapeCollection.shapes[i]);\n      }\n\n      shapeCollection._length = 0;\n\n      if (_length === _maxLength) {\n        pool = pooling.double(pool);\n        _maxLength *= 2;\n      }\n\n      pool[_length] = shapeCollection;\n      _length += 1;\n    }\n\n    return ob;\n  }();\n  /* global poolFactory, bezierLengthPool */\n\n  /* exported segmentsLengthPool */\n\n\n  var segmentsLengthPool = function () {\n    function create() {\n      return {\n        lengths: [],\n        totalLength: 0\n      };\n    }\n\n    function release(element) {\n      var i;\n      var len = element.lengths.length;\n\n      for (i = 0; i < len; i += 1) {\n        bezierLengthPool.release(element.lengths[i]);\n      }\n\n      element.lengths.length = 0;\n    }\n\n    return poolFactory(8, create, release);\n  }();\n  /* global createTypedArray, defaultCurveSegments, poolFactory */\n\n  /* exported bezierLengthPool */\n\n\n  var bezierLengthPool = function () {\n    function create() {\n      return {\n        addedLength: 0,\n        percents: createTypedArray(\"float32\", defaultCurveSegments),\n        lengths: createTypedArray(\"float32\", defaultCurveSegments)\n      };\n    }\n\n    return poolFactory(8, create);\n  }();\n  /* exported markerParser */\n\n\n  var markerParser = function () {\n    function parsePayloadLines(payload) {\n      var lines = payload.split(\"\\r\\n\");\n      var keys = {};\n      var line;\n      var keysCount = 0;\n\n      for (var i = 0; i < lines.length; i += 1) {\n        line = lines[i].split(\":\");\n\n        if (line.length === 2) {\n          keys[line[0]] = line[1].trim();\n          keysCount += 1;\n        }\n      }\n\n      if (keysCount === 0) {\n        throw new Error();\n      }\n\n      return keys;\n    }\n\n    return function (_markers) {\n      var markers = [];\n\n      for (var i = 0; i < _markers.length; i += 1) {\n        var _marker = _markers[i];\n        var markerData = {\n          time: _marker.tm,\n          duration: _marker.dr\n        };\n\n        try {\n          markerData.payload = JSON.parse(_markers[i].cm);\n        } catch (_) {\n          try {\n            markerData.payload = parsePayloadLines(_markers[i].cm);\n          } catch (__) {\n            markerData.payload = {\n              name: _markers[i]\n            };\n          }\n        }\n\n        markers.push(markerData);\n      }\n\n      return markers;\n    };\n  }();\n  /* global AudioElement, FootageElement, FontManager */\n\n\n  function BaseRenderer() {}\n\n  BaseRenderer.prototype.checkLayers = function (num) {\n    var i;\n    var len = (this || _global).layers.length;\n    var data;\n    (this || _global).completeLayers = true;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if (!(this || _global).elements[i]) {\n        data = (this || _global).layers[i];\n\n        if (data.ip - data.st <= num - (this || _global).layers[i].st && data.op - data.st > num - (this || _global).layers[i].st) {\n          this.buildItem(i);\n        }\n      }\n\n      (this || _global).completeLayers = (this || _global).elements[i] ? (this || _global).completeLayers : false;\n    }\n\n    this.checkPendingElements();\n  };\n\n  BaseRenderer.prototype.createItem = function (layer) {\n    switch (layer.ty) {\n      case 2:\n        return this.createImage(layer);\n\n      case 0:\n        return this.createComp(layer);\n\n      case 1:\n        return this.createSolid(layer);\n\n      case 3:\n        return this.createNull(layer);\n\n      case 4:\n        return this.createShape(layer);\n\n      case 5:\n        return this.createText(layer);\n\n      case 6:\n        return this.createAudio(layer);\n\n      case 13:\n        return this.createCamera(layer);\n\n      case 15:\n        return this.createFootage(layer);\n\n      default:\n        return this.createNull(layer);\n    }\n  };\n\n  BaseRenderer.prototype.createCamera = function () {\n    throw new Error(\"You're using a 3d camera. Try the html renderer.\");\n  };\n\n  BaseRenderer.prototype.createAudio = function (data) {\n    return new AudioElement(data, (this || _global).globalData, this || _global);\n  };\n\n  BaseRenderer.prototype.createFootage = function (data) {\n    return new FootageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  BaseRenderer.prototype.buildAllItems = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      this.buildItem(i);\n    }\n\n    this.checkPendingElements();\n  };\n\n  BaseRenderer.prototype.includeLayers = function (newLayers) {\n    (this || _global).completeLayers = false;\n    var i;\n    var len = newLayers.length;\n    var j;\n    var jLen = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      j = 0;\n\n      while (j < jLen) {\n        if ((this || _global).layers[j].id === newLayers[i].id) {\n          (this || _global).layers[j] = newLayers[i];\n          break;\n        }\n\n        j += 1;\n      }\n    }\n  };\n\n  BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n    (this || _global).globalData.projectInterface = pInterface;\n  };\n\n  BaseRenderer.prototype.initItems = function () {\n    if (!(this || _global).globalData.progressiveLoad) {\n      this.buildAllItems();\n    }\n  };\n\n  BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n    var elements = (this || _global).elements;\n    var layers = (this || _global).layers;\n    var i = 0;\n    var len = layers.length;\n\n    while (i < len) {\n      if (layers[i].ind == parentName) {\n        // eslint-disable-line eqeqeq\n        if (!elements[i] || elements[i] === true) {\n          this.buildItem(i);\n          this.addPendingElement(element);\n        } else {\n          hierarchy.push(elements[i]);\n          elements[i].setAsParent();\n\n          if (layers[i].parent !== undefined) {\n            this.buildElementParenting(element, layers[i].parent, hierarchy);\n          } else {\n            element.setHierarchy(hierarchy);\n          }\n        }\n      }\n\n      i += 1;\n    }\n  };\n\n  BaseRenderer.prototype.addPendingElement = function (element) {\n    (this || _global).pendingElements.push(element);\n  };\n\n  BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n    var i;\n    var len = assets.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (assets[i].xt) {\n        var comp = this.createComp(assets[i]);\n        comp.initExpressions();\n\n        (this || _global).globalData.projectInterface.registerComposition(comp);\n      }\n    }\n  };\n\n  BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n    (this || _global).globalData.fontManager = new FontManager();\n\n    (this || _global).globalData.fontManager.addChars(animData.chars);\n\n    (this || _global).globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n\n    (this || _global).globalData.getAssetData = (this || _global).animationItem.getAssetData.bind((this || _global).animationItem);\n    (this || _global).globalData.getAssetsPath = (this || _global).animationItem.getAssetsPath.bind((this || _global).animationItem);\n    (this || _global).globalData.imageLoader = (this || _global).animationItem.imagePreloader;\n    (this || _global).globalData.audioController = (this || _global).animationItem.audioController;\n    (this || _global).globalData.frameId = 0;\n    (this || _global).globalData.frameRate = animData.fr;\n    (this || _global).globalData.nm = animData.nm;\n    (this || _global).globalData.compSize = {\n      w: animData.w,\n      h: animData.h\n    };\n  };\n  /* global createElementID, extendPrototype, BaseRenderer, NullElement, SVGShapeElement, SVGTextLottieElement,\r\n  IImageElement, SVGCompElement, ISolidElement, createNS, locationHref, createSizedArray, expressionsPlugin */\n\n\n  function SVGRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).layers = null;\n    (this || _global).renderedFrame = -1;\n    (this || _global).svgElement = createNS(\"svg\");\n    var ariaLabel = \"\";\n\n    if (config && config.title) {\n      var titleElement = createNS(\"title\");\n      var titleId = createElementID();\n      titleElement.setAttribute(\"id\", titleId);\n      titleElement.textContent = config.title;\n\n      (this || _global).svgElement.appendChild(titleElement);\n\n      ariaLabel += titleId;\n    }\n\n    if (config && config.description) {\n      var descElement = createNS(\"desc\");\n      var descId = createElementID();\n      descElement.setAttribute(\"id\", descId);\n      descElement.textContent = config.description;\n\n      (this || _global).svgElement.appendChild(descElement);\n\n      ariaLabel += \" \" + descId;\n    }\n\n    if (ariaLabel) {\n      (this || _global).svgElement.setAttribute(\"aria-labelledby\", ariaLabel);\n    }\n\n    var defs = createNS(\"defs\");\n\n    (this || _global).svgElement.appendChild(defs);\n\n    var maskElement = createNS(\"g\");\n\n    (this || _global).svgElement.appendChild(maskElement);\n\n    (this || _global).layerElement = maskElement;\n    (this || _global).renderConfig = {\n      preserveAspectRatio: config && config.preserveAspectRatio || \"xMidYMid meet\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      progressiveLoad: config && config.progressiveLoad || false,\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      viewBoxOnly: config && config.viewBoxOnly || false,\n      viewBoxSize: config && config.viewBoxSize || false,\n      className: config && config.className || \"\",\n      id: config && config.id || \"\",\n      focusable: config && config.focusable,\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || \"100%\",\n        height: config && config.filterSize && config.filterSize.height || \"100%\",\n        x: config && config.filterSize && config.filterSize.x || \"0%\",\n        y: config && config.filterSize && config.filterSize.y || \"0%\"\n      }\n    };\n    (this || _global).globalData = {\n      _mdf: false,\n      frameNum: -1,\n      defs: defs,\n      renderConfig: (this || _global).renderConfig\n    };\n    (this || _global).elements = [];\n    (this || _global).pendingElements = [];\n    (this || _global).destroyed = false;\n    (this || _global).rendererType = \"svg\";\n  }\n\n  extendPrototype([BaseRenderer], SVGRenderer);\n\n  SVGRenderer.prototype.createNull = function (data) {\n    return new NullElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createShape = function (data) {\n    return new SVGShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createText = function (data) {\n    return new SVGTextLottieElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createImage = function (data) {\n    return new IImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createComp = function (data) {\n    return new SVGCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createSolid = function (data) {\n    return new ISolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.configAnimation = function (animData) {\n    (this || _global).svgElement.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\");\n\n    if ((this || _global).renderConfig.viewBoxSize) {\n      (this || _global).svgElement.setAttribute(\"viewBox\", (this || _global).renderConfig.viewBoxSize);\n    } else {\n      (this || _global).svgElement.setAttribute(\"viewBox\", \"0 0 \" + animData.w + \" \" + animData.h);\n    }\n\n    if (!(this || _global).renderConfig.viewBoxOnly) {\n      (this || _global).svgElement.setAttribute(\"width\", animData.w);\n\n      (this || _global).svgElement.setAttribute(\"height\", animData.h);\n\n      (this || _global).svgElement.style.width = \"100%\";\n      (this || _global).svgElement.style.height = \"100%\";\n      (this || _global).svgElement.style.transform = \"translate3d(0,0,0)\";\n    }\n\n    if ((this || _global).renderConfig.className) {\n      (this || _global).svgElement.setAttribute(\"class\", (this || _global).renderConfig.className);\n    }\n\n    if ((this || _global).renderConfig.id) {\n      (this || _global).svgElement.setAttribute(\"id\", (this || _global).renderConfig.id);\n    }\n\n    if ((this || _global).renderConfig.focusable !== undefined) {\n      (this || _global).svgElement.setAttribute(\"focusable\", (this || _global).renderConfig.focusable);\n    }\n\n    (this || _global).svgElement.setAttribute(\"preserveAspectRatio\", (this || _global).renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)';\n    // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n\n\n    (this || _global).animationItem.wrapper.appendChild((this || _global).svgElement); // Mask animation\n\n\n    var defs = (this || _global).globalData.defs;\n    this.setupGlobalData(animData, defs);\n    (this || _global).globalData.progressiveLoad = (this || _global).renderConfig.progressiveLoad;\n    (this || _global).data = animData;\n    var maskElement = createNS(\"clipPath\");\n    var rect = createNS(\"rect\");\n    rect.setAttribute(\"width\", animData.w);\n    rect.setAttribute(\"height\", animData.h);\n    rect.setAttribute(\"x\", 0);\n    rect.setAttribute(\"y\", 0);\n    var maskId = createElementID();\n    maskElement.setAttribute(\"id\", maskId);\n    maskElement.appendChild(rect);\n\n    (this || _global).layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + maskId + \")\");\n\n    defs.appendChild(maskElement);\n    (this || _global).layers = animData.layers;\n    (this || _global).elements = createSizedArray(animData.layers.length);\n  };\n\n  SVGRenderer.prototype.destroy = function () {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    (this || _global).layerElement = null;\n    (this || _global).globalData.defs = null;\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).destroyed = true;\n    (this || _global).animationItem = null;\n  };\n\n  SVGRenderer.prototype.updateContainerSize = function () {};\n\n  SVGRenderer.prototype.buildItem = function (pos) {\n    var elements = (this || _global).elements;\n\n    if (elements[pos] || (this || _global).layers[pos].ty === 99) {\n      return;\n    }\n\n    elements[pos] = true;\n    var element = this.createItem((this || _global).layers[pos]);\n    elements[pos] = element;\n\n    if (expressionsPlugin) {\n      if ((this || _global).layers[pos].ty === 0) {\n        (this || _global).globalData.projectInterface.registerComposition(element);\n      }\n\n      element.initExpressions();\n    }\n\n    this.appendElementInPos(element, pos);\n\n    if ((this || _global).layers[pos].tt) {\n      if (!(this || _global).elements[pos - 1] || (this || _global).elements[pos - 1] === true) {\n        this.buildItem(pos - 1);\n        this.addPendingElement(element);\n      } else {\n        element.setMatte(elements[pos - 1].layerId);\n      }\n    }\n  };\n\n  SVGRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n\n      if (element.data.tt) {\n        var i = 0;\n        var len = (this || _global).elements.length;\n\n        while (i < len) {\n          if ((this || _global).elements[i] === element) {\n            element.setMatte((this || _global).elements[i - 1].layerId);\n            break;\n          }\n\n          i += 1;\n        }\n      }\n    }\n  };\n\n  SVGRenderer.prototype.renderFrame = function (num) {\n    if ((this || _global).renderedFrame === num || (this || _global).destroyed) {\n      return;\n    }\n\n    if (num === null) {\n      num = (this || _global).renderedFrame;\n    } else {\n      (this || _global).renderedFrame = num;\n    } // console.log('-------');\n    // console.log('FRAME ',num);\n\n\n    (this || _global).globalData.frameNum = num;\n    (this || _global).globalData.frameId += 1;\n    (this || _global).globalData.projectInterface.currentFrame = num;\n    (this || _global).globalData._mdf = false;\n    var i;\n    var len = (this || _global).layers.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers(num);\n    }\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame(num - (this || _global).layers[i].st);\n      }\n    }\n\n    if ((this || _global).globalData._mdf) {\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).completeLayers || (this || _global).elements[i]) {\n          (this || _global).elements[i].renderFrame();\n        }\n      }\n    }\n  };\n\n  SVGRenderer.prototype.appendElementInPos = function (element, pos) {\n    var newElement = element.getBaseElement();\n\n    if (!newElement) {\n      return;\n    }\n\n    var i = 0;\n    var nextElement;\n\n    while (i < pos) {\n      if ((this || _global).elements[i] && (this || _global).elements[i] !== true && (this || _global).elements[i].getBaseElement()) {\n        nextElement = (this || _global).elements[i].getBaseElement();\n      }\n\n      i += 1;\n    }\n\n    if (nextElement) {\n      (this || _global).layerElement.insertBefore(newElement, nextElement);\n    } else {\n      (this || _global).layerElement.appendChild(newElement);\n    }\n  };\n\n  SVGRenderer.prototype.hide = function () {\n    (this || _global).layerElement.style.display = \"none\";\n  };\n\n  SVGRenderer.prototype.show = function () {\n    (this || _global).layerElement.style.display = \"block\";\n  };\n  /* global CVContextData, Matrix, extendPrototype, BaseRenderer, CVShapeElement, CVTextElement,\r\n  CVImageElement, CVCompElement, CVSolidElement, SVGRenderer, createTag, createSizedArray */\n\n\n  function CanvasRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).renderConfig = {\n      clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n      context: config && config.context || null,\n      progressiveLoad: config && config.progressiveLoad || false,\n      preserveAspectRatio: config && config.preserveAspectRatio || \"xMidYMid meet\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      className: config && config.className || \"\",\n      id: config && config.id || \"\"\n    };\n    (this || _global).renderConfig.dpr = config && config.dpr || 1;\n\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n    }\n\n    (this || _global).renderedFrame = -1;\n    (this || _global).globalData = {\n      frameNum: -1,\n      _mdf: false,\n      renderConfig: (this || _global).renderConfig,\n      currentGlobalAlpha: -1\n    };\n    (this || _global).contextData = new CVContextData();\n    (this || _global).elements = [];\n    (this || _global).pendingElements = [];\n    (this || _global).transformMat = new Matrix();\n    (this || _global).completeLayers = false;\n    (this || _global).rendererType = \"canvas\";\n  }\n\n  extendPrototype([BaseRenderer], CanvasRenderer);\n\n  CanvasRenderer.prototype.createShape = function (data) {\n    return new CVShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createText = function (data) {\n    return new CVTextElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createImage = function (data) {\n    return new CVImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createComp = function (data) {\n    return new CVCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createSolid = function (data) {\n    return new CVSolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\n\n  CanvasRenderer.prototype.ctxTransform = function (props) {\n    if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\n      return;\n    }\n\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n\n      return;\n    }\n\n    (this || _global).transformMat.cloneFromProps(props);\n\n    var cProps = (this || _global).contextData.cTr.props;\n\n    (this || _global).transformMat.transform(cProps[0], cProps[1], cProps[2], cProps[3], cProps[4], cProps[5], cProps[6], cProps[7], cProps[8], cProps[9], cProps[10], cProps[11], cProps[12], cProps[13], cProps[14], cProps[15]); // this.contextData.cTr.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);\n\n\n    (this || _global).contextData.cTr.cloneFromProps((this || _global).transformMat.props);\n\n    var trProps = (this || _global).contextData.cTr.props;\n\n    (this || _global).canvasContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n  };\n\n  CanvasRenderer.prototype.ctxOpacity = function (op) {\n    /* if(op === 1){\r\n          return;\r\n      } */\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.globalAlpha *= op < 0 ? 0 : op;\n      (this || _global).globalData.currentGlobalAlpha = (this || _global).contextData.cO;\n      return;\n    }\n\n    (this || _global).contextData.cO *= op < 0 ? 0 : op;\n\n    if ((this || _global).globalData.currentGlobalAlpha !== (this || _global).contextData.cO) {\n      (this || _global).canvasContext.globalAlpha = (this || _global).contextData.cO;\n      (this || _global).globalData.currentGlobalAlpha = (this || _global).contextData.cO;\n    }\n  };\n\n  CanvasRenderer.prototype.reset = function () {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.restore();\n\n      return;\n    }\n\n    (this || _global).contextData.reset();\n  };\n\n  CanvasRenderer.prototype.save = function (actionFlag) {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.save();\n\n      return;\n    }\n\n    if (actionFlag) {\n      (this || _global).canvasContext.save();\n    }\n\n    var props = (this || _global).contextData.cTr.props;\n\n    if ((this || _global).contextData._length <= (this || _global).contextData.cArrPos) {\n      (this || _global).contextData.duplicate();\n    }\n\n    var i;\n    var arr = (this || _global).contextData.saved[(this || _global).contextData.cArrPos];\n\n    for (i = 0; i < 16; i += 1) {\n      arr[i] = props[i];\n    }\n\n    (this || _global).contextData.savedOp[(this || _global).contextData.cArrPos] = (this || _global).contextData.cO;\n    (this || _global).contextData.cArrPos += 1;\n  };\n\n  CanvasRenderer.prototype.restore = function (actionFlag) {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.restore();\n\n      return;\n    }\n\n    if (actionFlag) {\n      (this || _global).canvasContext.restore();\n\n      (this || _global).globalData.blendMode = \"source-over\";\n    }\n\n    (this || _global).contextData.cArrPos -= 1;\n    var popped = (this || _global).contextData.saved[(this || _global).contextData.cArrPos];\n    var i;\n    var arr = (this || _global).contextData.cTr.props;\n\n    for (i = 0; i < 16; i += 1) {\n      arr[i] = popped[i];\n    }\n\n    (this || _global).canvasContext.setTransform(popped[0], popped[1], popped[4], popped[5], popped[12], popped[13]);\n\n    popped = (this || _global).contextData.savedOp[(this || _global).contextData.cArrPos];\n    (this || _global).contextData.cO = popped;\n\n    if ((this || _global).globalData.currentGlobalAlpha !== popped) {\n      (this || _global).canvasContext.globalAlpha = popped;\n      (this || _global).globalData.currentGlobalAlpha = popped;\n    }\n  };\n\n  CanvasRenderer.prototype.configAnimation = function (animData) {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.container = createTag(\"canvas\");\n      var containerStyle = (this || _global).animationItem.container.style;\n      containerStyle.width = \"100%\";\n      containerStyle.height = \"100%\";\n      var origin = \"0px 0px 0px\";\n      containerStyle.transformOrigin = origin;\n      containerStyle.mozTransformOrigin = origin;\n      containerStyle.webkitTransformOrigin = origin;\n      containerStyle[\"-webkit-transform\"] = origin;\n\n      (this || _global).animationItem.wrapper.appendChild((this || _global).animationItem.container);\n\n      (this || _global).canvasContext = (this || _global).animationItem.container.getContext(\"2d\");\n\n      if ((this || _global).renderConfig.className) {\n        (this || _global).animationItem.container.setAttribute(\"class\", (this || _global).renderConfig.className);\n      }\n\n      if ((this || _global).renderConfig.id) {\n        (this || _global).animationItem.container.setAttribute(\"id\", (this || _global).renderConfig.id);\n      }\n    } else {\n      (this || _global).canvasContext = (this || _global).renderConfig.context;\n    }\n\n    (this || _global).data = animData;\n    (this || _global).layers = animData.layers;\n    (this || _global).transformCanvas = {\n      w: animData.w,\n      h: animData.h,\n      sx: 0,\n      sy: 0,\n      tx: 0,\n      ty: 0\n    };\n    this.setupGlobalData(animData, document.body);\n    (this || _global).globalData.canvasContext = (this || _global).canvasContext;\n    (this || _global).globalData.renderer = this || _global;\n    (this || _global).globalData.isDashed = false;\n    (this || _global).globalData.progressiveLoad = (this || _global).renderConfig.progressiveLoad;\n    (this || _global).globalData.transformCanvas = (this || _global).transformCanvas;\n    (this || _global).elements = createSizedArray(animData.layers.length);\n    this.updateContainerSize();\n  };\n\n  CanvasRenderer.prototype.updateContainerSize = function () {\n    this.reset();\n    var elementWidth;\n    var elementHeight;\n\n    if ((this || _global).animationItem.wrapper && (this || _global).animationItem.container) {\n      elementWidth = (this || _global).animationItem.wrapper.offsetWidth;\n      elementHeight = (this || _global).animationItem.wrapper.offsetHeight;\n\n      (this || _global).animationItem.container.setAttribute(\"width\", elementWidth * (this || _global).renderConfig.dpr);\n\n      (this || _global).animationItem.container.setAttribute(\"height\", elementHeight * (this || _global).renderConfig.dpr);\n    } else {\n      elementWidth = (this || _global).canvasContext.canvas.width * (this || _global).renderConfig.dpr;\n      elementHeight = (this || _global).canvasContext.canvas.height * (this || _global).renderConfig.dpr;\n    }\n\n    var elementRel;\n    var animationRel;\n\n    if ((this || _global).renderConfig.preserveAspectRatio.indexOf(\"meet\") !== -1 || (this || _global).renderConfig.preserveAspectRatio.indexOf(\"slice\") !== -1) {\n      var par = (this || _global).renderConfig.preserveAspectRatio.split(\" \");\n\n      var fillType = par[1] || \"meet\";\n      var pos = par[0] || \"xMidYMid\";\n      var xPos = pos.substr(0, 4);\n      var yPos = pos.substr(4);\n      elementRel = elementWidth / elementHeight;\n      animationRel = (this || _global).transformCanvas.w / (this || _global).transformCanvas.h;\n\n      if (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\") {\n        (this || _global).transformCanvas.sx = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n        (this || _global).transformCanvas.sy = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n      } else {\n        (this || _global).transformCanvas.sx = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n        (this || _global).transformCanvas.sy = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n      }\n\n      if (xPos === \"xMid\" && (animationRel < elementRel && fillType === \"meet\" || animationRel > elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.tx = (elementWidth - (this || _global).transformCanvas.w * (elementHeight / (this || _global).transformCanvas.h)) / 2 * (this || _global).renderConfig.dpr;\n      } else if (xPos === \"xMax\" && (animationRel < elementRel && fillType === \"meet\" || animationRel > elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.tx = (elementWidth - (this || _global).transformCanvas.w * (elementHeight / (this || _global).transformCanvas.h)) * (this || _global).renderConfig.dpr;\n      } else {\n        (this || _global).transformCanvas.tx = 0;\n      }\n\n      if (yPos === \"YMid\" && (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.ty = (elementHeight - (this || _global).transformCanvas.h * (elementWidth / (this || _global).transformCanvas.w)) / 2 * (this || _global).renderConfig.dpr;\n      } else if (yPos === \"YMax\" && (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.ty = (elementHeight - (this || _global).transformCanvas.h * (elementWidth / (this || _global).transformCanvas.w)) * (this || _global).renderConfig.dpr;\n      } else {\n        (this || _global).transformCanvas.ty = 0;\n      }\n    } else if ((this || _global).renderConfig.preserveAspectRatio === \"none\") {\n      (this || _global).transformCanvas.sx = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n      (this || _global).transformCanvas.sy = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n      (this || _global).transformCanvas.tx = 0;\n      (this || _global).transformCanvas.ty = 0;\n    } else {\n      (this || _global).transformCanvas.sx = (this || _global).renderConfig.dpr;\n      (this || _global).transformCanvas.sy = (this || _global).renderConfig.dpr;\n      (this || _global).transformCanvas.tx = 0;\n      (this || _global).transformCanvas.ty = 0;\n    }\n\n    (this || _global).transformCanvas.props = [(this || _global).transformCanvas.sx, 0, 0, 0, 0, (this || _global).transformCanvas.sy, 0, 0, 0, 0, 1, 0, (this || _global).transformCanvas.tx, (this || _global).transformCanvas.ty, 0, 1];\n    /* var i, len = this.elements.length;\r\n      for(i=0;i<len;i+=1){\r\n          if(this.elements[i] && this.elements[i].data.ty === 0){\r\n              this.elements[i].resize(this.globalData.transformCanvas);\r\n          }\r\n      } */\n\n    this.ctxTransform((this || _global).transformCanvas.props);\n\n    (this || _global).canvasContext.beginPath();\n\n    (this || _global).canvasContext.rect(0, 0, (this || _global).transformCanvas.w, (this || _global).transformCanvas.h);\n\n    (this || _global).canvasContext.closePath();\n\n    (this || _global).canvasContext.clip();\n\n    this.renderFrame((this || _global).renderedFrame, true);\n  };\n\n  CanvasRenderer.prototype.destroy = function () {\n    if ((this || _global).renderConfig.clearCanvas && (this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).globalData.canvasContext = null;\n    (this || _global).animationItem.container = null;\n    (this || _global).destroyed = true;\n  };\n\n  CanvasRenderer.prototype.renderFrame = function (num, forceRender) {\n    if ((this || _global).renderedFrame === num && (this || _global).renderConfig.clearCanvas === true && !forceRender || (this || _global).destroyed || num === -1) {\n      return;\n    }\n\n    (this || _global).renderedFrame = num;\n    (this || _global).globalData.frameNum = num - (this || _global).animationItem._isFirstFrame;\n    (this || _global).globalData.frameId += 1;\n    (this || _global).globalData._mdf = !(this || _global).renderConfig.clearCanvas || forceRender;\n    (this || _global).globalData.projectInterface.currentFrame = num; // console.log('--------');\n    // console.log('NEW: ',num);\n\n    var i;\n    var len = (this || _global).layers.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers(num);\n    }\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame(num - (this || _global).layers[i].st);\n      }\n    }\n\n    if ((this || _global).globalData._mdf) {\n      if ((this || _global).renderConfig.clearCanvas === true) {\n        (this || _global).canvasContext.clearRect(0, 0, (this || _global).transformCanvas.w, (this || _global).transformCanvas.h);\n      } else {\n        this.save();\n      }\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        if ((this || _global).completeLayers || (this || _global).elements[i]) {\n          (this || _global).elements[i].renderFrame();\n        }\n      }\n\n      if ((this || _global).renderConfig.clearCanvas !== true) {\n        this.restore();\n      }\n    }\n  };\n\n  CanvasRenderer.prototype.buildItem = function (pos) {\n    var elements = (this || _global).elements;\n\n    if (elements[pos] || (this || _global).layers[pos].ty === 99) {\n      return;\n    }\n\n    var element = this.createItem((this || _global).layers[pos], this || _global, (this || _global).globalData);\n    elements[pos] = element;\n    element.initExpressions();\n    /* if(this.layers[pos].ty === 0){\r\n          element.resize(this.globalData.transformCanvas);\r\n      } */\n  };\n\n  CanvasRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n    }\n  };\n\n  CanvasRenderer.prototype.hide = function () {\n    (this || _global).animationItem.container.style.display = \"none\";\n  };\n\n  CanvasRenderer.prototype.show = function () {\n    (this || _global).animationItem.container.style.display = \"block\";\n  };\n  /* global extendPrototype, BaseRenderer, SVGRenderer, SVGShapeElement, HShapeElement, SVGTextLottieElement,\r\n  HTextElement, HCameraElement, IImageElement, HImageElement, SVGCompElement, HCompElement, ISolidElement,\r\n  HSolidElement, styleDiv, createTag, createNS */\n\n\n  function HybridRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).layers = null;\n    (this || _global).renderedFrame = -1;\n    (this || _global).renderConfig = {\n      className: config && config.className || \"\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || \"400%\",\n        height: config && config.filterSize && config.filterSize.height || \"400%\",\n        x: config && config.filterSize && config.filterSize.x || \"-100%\",\n        y: config && config.filterSize && config.filterSize.y || \"-100%\"\n      }\n    };\n    (this || _global).globalData = {\n      _mdf: false,\n      frameNum: -1,\n      renderConfig: (this || _global).renderConfig\n    };\n    (this || _global).pendingElements = [];\n    (this || _global).elements = [];\n    (this || _global).threeDElements = [];\n    (this || _global).destroyed = false;\n    (this || _global).camera = null;\n    (this || _global).supports3d = true;\n    (this || _global).rendererType = \"html\";\n  }\n\n  extendPrototype([BaseRenderer], HybridRenderer);\n  HybridRenderer.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n  HybridRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n    }\n  };\n\n  HybridRenderer.prototype.appendElementInPos = function (element, pos) {\n    var newDOMElement = element.getBaseElement();\n\n    if (!newDOMElement) {\n      return;\n    }\n\n    var layer = (this || _global).layers[pos];\n\n    if (!layer.ddd || !(this || _global).supports3d) {\n      if ((this || _global).threeDElements) {\n        this.addTo3dContainer(newDOMElement, pos);\n      } else {\n        var i = 0;\n        var nextDOMElement;\n        var nextLayer;\n        var tmpDOMElement;\n\n        while (i < pos) {\n          if ((this || _global).elements[i] && (this || _global).elements[i] !== true && (this || _global).elements[i].getBaseElement) {\n            nextLayer = (this || _global).elements[i];\n            tmpDOMElement = (this || _global).layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\n            nextDOMElement = tmpDOMElement || nextDOMElement;\n          }\n\n          i += 1;\n        }\n\n        if (nextDOMElement) {\n          if (!layer.ddd || !(this || _global).supports3d) {\n            (this || _global).layerElement.insertBefore(newDOMElement, nextDOMElement);\n          }\n        } else if (!layer.ddd || !(this || _global).supports3d) {\n          (this || _global).layerElement.appendChild(newDOMElement);\n        }\n      }\n    } else {\n      this.addTo3dContainer(newDOMElement, pos);\n    }\n  };\n\n  HybridRenderer.prototype.createShape = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGShapeElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createText = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGTextLottieElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HTextElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createCamera = function (data) {\n    (this || _global).camera = new HCameraElement(data, (this || _global).globalData, this || _global);\n    return (this || _global).camera;\n  };\n\n  HybridRenderer.prototype.createImage = function (data) {\n    if (!(this || _global).supports3d) {\n      return new IImageElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createComp = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGCompElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createSolid = function (data) {\n    if (!(this || _global).supports3d) {\n      return new ISolidElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HSolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\n\n  HybridRenderer.prototype.getThreeDContainerByPos = function (pos) {\n    var i = 0;\n    var len = (this || _global).threeDElements.length;\n\n    while (i < len) {\n      if ((this || _global).threeDElements[i].startPos <= pos && (this || _global).threeDElements[i].endPos >= pos) {\n        return (this || _global).threeDElements[i].perspectiveElem;\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  HybridRenderer.prototype.createThreeDContainer = function (pos, type) {\n    var perspectiveElem = createTag(\"div\");\n    var style;\n    var containerStyle;\n    styleDiv(perspectiveElem);\n    var container = createTag(\"div\");\n    styleDiv(container);\n\n    if (type === \"3d\") {\n      style = perspectiveElem.style;\n      style.width = (this || _global).globalData.compSize.w + \"px\";\n      style.height = (this || _global).globalData.compSize.h + \"px\";\n      var center = \"50% 50%\";\n      style.webkitTransformOrigin = center;\n      style.mozTransformOrigin = center;\n      style.transformOrigin = center;\n      containerStyle = container.style;\n      var matrix = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n      containerStyle.transform = matrix;\n      containerStyle.webkitTransform = matrix;\n    }\n\n    perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem);\n\n    var threeDContainerData = {\n      container: container,\n      perspectiveElem: perspectiveElem,\n      startPos: pos,\n      endPos: pos,\n      type: type\n    };\n\n    (this || _global).threeDElements.push(threeDContainerData);\n\n    return threeDContainerData;\n  };\n\n  HybridRenderer.prototype.build3dContainers = function () {\n    var i;\n    var len = (this || _global).layers.length;\n    var lastThreeDContainerData;\n    var currentContainer = \"\";\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).layers[i].ddd && (this || _global).layers[i].ty !== 3) {\n        if (currentContainer !== \"3d\") {\n          currentContainer = \"3d\";\n          lastThreeDContainerData = this.createThreeDContainer(i, \"3d\");\n        }\n\n        lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n      } else {\n        if (currentContainer !== \"2d\") {\n          currentContainer = \"2d\";\n          lastThreeDContainerData = this.createThreeDContainer(i, \"2d\");\n        }\n\n        lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n      }\n    }\n\n    len = (this || _global).threeDElements.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      (this || _global).resizerElem.appendChild((this || _global).threeDElements[i].perspectiveElem);\n    }\n  };\n\n  HybridRenderer.prototype.addTo3dContainer = function (elem, pos) {\n    var i = 0;\n    var len = (this || _global).threeDElements.length;\n\n    while (i < len) {\n      if (pos <= (this || _global).threeDElements[i].endPos) {\n        var j = (this || _global).threeDElements[i].startPos;\n        var nextElement;\n\n        while (j < pos) {\n          if ((this || _global).elements[j] && (this || _global).elements[j].getBaseElement) {\n            nextElement = (this || _global).elements[j].getBaseElement();\n          }\n\n          j += 1;\n        }\n\n        if (nextElement) {\n          (this || _global).threeDElements[i].container.insertBefore(elem, nextElement);\n        } else {\n          (this || _global).threeDElements[i].container.appendChild(elem);\n        }\n\n        break;\n      }\n\n      i += 1;\n    }\n  };\n\n  HybridRenderer.prototype.configAnimation = function (animData) {\n    var resizerElem = createTag(\"div\");\n    var wrapper = (this || _global).animationItem.wrapper;\n    var style = resizerElem.style;\n    style.width = animData.w + \"px\";\n    style.height = animData.h + \"px\";\n    (this || _global).resizerElem = resizerElem;\n    styleDiv(resizerElem);\n    style.transformStyle = \"flat\";\n    style.mozTransformStyle = \"flat\";\n    style.webkitTransformStyle = \"flat\";\n\n    if ((this || _global).renderConfig.className) {\n      resizerElem.setAttribute(\"class\", (this || _global).renderConfig.className);\n    }\n\n    wrapper.appendChild(resizerElem);\n    style.overflow = \"hidden\";\n    var svg = createNS(\"svg\");\n    svg.setAttribute(\"width\", \"1\");\n    svg.setAttribute(\"height\", \"1\");\n    styleDiv(svg);\n\n    (this || _global).resizerElem.appendChild(svg);\n\n    var defs = createNS(\"defs\");\n    svg.appendChild(defs);\n    (this || _global).data = animData; // Mask animation\n\n    this.setupGlobalData(animData, svg);\n    (this || _global).globalData.defs = defs;\n    (this || _global).layers = animData.layers;\n    (this || _global).layerElement = (this || _global).resizerElem;\n    this.build3dContainers();\n    this.updateContainerSize();\n  };\n\n  HybridRenderer.prototype.destroy = function () {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    (this || _global).animationItem.container = null;\n    (this || _global).globalData.defs = null;\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).elements[i].destroy();\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).destroyed = true;\n    (this || _global).animationItem = null;\n  };\n\n  HybridRenderer.prototype.updateContainerSize = function () {\n    var elementWidth = (this || _global).animationItem.wrapper.offsetWidth;\n    var elementHeight = (this || _global).animationItem.wrapper.offsetHeight;\n    var elementRel = elementWidth / elementHeight;\n    var animationRel = (this || _global).globalData.compSize.w / (this || _global).globalData.compSize.h;\n    var sx;\n    var sy;\n    var tx;\n    var ty;\n\n    if (animationRel > elementRel) {\n      sx = elementWidth / (this || _global).globalData.compSize.w;\n      sy = elementWidth / (this || _global).globalData.compSize.w;\n      tx = 0;\n      ty = (elementHeight - (this || _global).globalData.compSize.h * (elementWidth / (this || _global).globalData.compSize.w)) / 2;\n    } else {\n      sx = elementHeight / (this || _global).globalData.compSize.h;\n      sy = elementHeight / (this || _global).globalData.compSize.h;\n      tx = (elementWidth - (this || _global).globalData.compSize.w * (elementHeight / (this || _global).globalData.compSize.h)) / 2;\n      ty = 0;\n    }\n\n    var style = (this || _global).resizerElem.style;\n    style.webkitTransform = \"matrix3d(\" + sx + \",0,0,0,0,\" + sy + \",0,0,0,0,1,0,\" + tx + \",\" + ty + \",0,1)\";\n    style.transform = style.webkitTransform;\n  };\n\n  HybridRenderer.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n  HybridRenderer.prototype.hide = function () {\n    (this || _global).resizerElem.style.display = \"none\";\n  };\n\n  HybridRenderer.prototype.show = function () {\n    (this || _global).resizerElem.style.display = \"block\";\n  };\n\n  HybridRenderer.prototype.initItems = function () {\n    this.buildAllItems();\n\n    if ((this || _global).camera) {\n      (this || _global).camera.setup();\n    } else {\n      var cWidth = (this || _global).globalData.compSize.w;\n      var cHeight = (this || _global).globalData.compSize.h;\n      var i;\n      var len = (this || _global).threeDElements.length;\n\n      for (i = 0; i < len; i += 1) {\n        var style = (this || _global).threeDElements[i].perspectiveElem.style;\n        style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + \"px\";\n        style.perspective = style.webkitPerspective;\n      }\n    }\n  };\n\n  HybridRenderer.prototype.searchExtraCompositions = function (assets) {\n    var i;\n    var len = assets.length;\n    var floatingContainer = createTag(\"div\");\n\n    for (i = 0; i < len; i += 1) {\n      if (assets[i].xt) {\n        var comp = this.createComp(assets[i], floatingContainer, (this || _global).globalData.comp, null);\n        comp.initExpressions();\n\n        (this || _global).globalData.projectInterface.registerComposition(comp);\n      }\n    }\n  };\n  /* global createSizedArray, createElementID, PropertyFactory, ShapePropertyFactory, createNS, locationHref */\n\n\n  function MaskElement(data, element, globalData) {\n    (this || _global).data = data;\n    (this || _global).element = element;\n    (this || _global).globalData = globalData;\n    (this || _global).storedData = [];\n    (this || _global).masksProperties = (this || _global).data.masksProperties || [];\n    (this || _global).maskElement = null;\n    var defs = (this || _global).globalData.defs;\n    var i;\n    var len = (this || _global).masksProperties ? (this || _global).masksProperties.length : 0;\n    (this || _global).viewData = createSizedArray(len);\n    (this || _global).solidPath = \"\";\n    var path;\n    var properties = (this || _global).masksProperties;\n    var count = 0;\n    var currentMasks = [];\n    var j;\n    var jLen;\n    var layerId = createElementID();\n    var rect;\n    var expansor;\n    var feMorph;\n    var x;\n    var maskType = \"clipPath\";\n    var maskRef = \"clip-path\";\n\n    for (i = 0; i < len; i += 1) {\n      if (properties[i].mode !== \"a\" && properties[i].mode !== \"n\" || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n        maskType = \"mask\";\n        maskRef = \"mask\";\n      }\n\n      if ((properties[i].mode === \"s\" || properties[i].mode === \"i\") && count === 0) {\n        rect = createNS(\"rect\");\n        rect.setAttribute(\"fill\", \"#ffffff\");\n        rect.setAttribute(\"width\", (this || _global).element.comp.data.w || 0);\n        rect.setAttribute(\"height\", (this || _global).element.comp.data.h || 0);\n        currentMasks.push(rect);\n      } else {\n        rect = null;\n      }\n\n      path = createNS(\"path\");\n\n      if (properties[i].mode === \"n\") {\n        // TODO move this to a factory or to a constructor\n        (this || _global).viewData[i] = {\n          op: PropertyFactory.getProp((this || _global).element, properties[i].o, 0, 0.01, (this || _global).element),\n          prop: ShapePropertyFactory.getShapeProp((this || _global).element, properties[i], 3),\n          elem: path,\n          lastPath: \"\"\n        };\n        defs.appendChild(path);\n      } else {\n        count += 1;\n        path.setAttribute(\"fill\", properties[i].mode === \"s\" ? \"#000000\" : \"#ffffff\");\n        path.setAttribute(\"clip-rule\", \"nonzero\");\n        var filterID;\n\n        if (properties[i].x.k !== 0) {\n          maskType = \"mask\";\n          maskRef = \"mask\";\n          x = PropertyFactory.getProp((this || _global).element, properties[i].x, 0, null, (this || _global).element);\n          filterID = createElementID();\n          expansor = createNS(\"filter\");\n          expansor.setAttribute(\"id\", filterID);\n          feMorph = createNS(\"feMorphology\");\n          feMorph.setAttribute(\"operator\", \"erode\");\n          feMorph.setAttribute(\"in\", \"SourceGraphic\");\n          feMorph.setAttribute(\"radius\", \"0\");\n          expansor.appendChild(feMorph);\n          defs.appendChild(expansor);\n          path.setAttribute(\"stroke\", properties[i].mode === \"s\" ? \"#000000\" : \"#ffffff\");\n        } else {\n          feMorph = null;\n          x = null;\n        } // TODO move this to a factory or to a constructor\n\n\n        (this || _global).storedData[i] = {\n          elem: path,\n          x: x,\n          expan: feMorph,\n          lastPath: \"\",\n          lastOperator: \"\",\n          filterId: filterID,\n          lastRadius: 0\n        };\n\n        if (properties[i].mode === \"i\") {\n          jLen = currentMasks.length;\n          var g = createNS(\"g\");\n\n          for (j = 0; j < jLen; j += 1) {\n            g.appendChild(currentMasks[j]);\n          }\n\n          var mask = createNS(\"mask\");\n          mask.setAttribute(\"mask-type\", \"alpha\");\n          mask.setAttribute(\"id\", layerId + \"_\" + count);\n          mask.appendChild(path);\n          defs.appendChild(mask);\n          g.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + layerId + \"_\" + count + \")\");\n          currentMasks.length = 0;\n          currentMasks.push(g);\n        } else {\n          currentMasks.push(path);\n        }\n\n        if (properties[i].inv && !(this || _global).solidPath) {\n          (this || _global).solidPath = this.createLayerSolidPath();\n        } // TODO move this to a factory or to a constructor\n\n\n        (this || _global).viewData[i] = {\n          elem: path,\n          lastPath: \"\",\n          op: PropertyFactory.getProp((this || _global).element, properties[i].o, 0, 0.01, (this || _global).element),\n          prop: ShapePropertyFactory.getShapeProp((this || _global).element, properties[i], 3),\n          invRect: rect\n        };\n\n        if (!(this || _global).viewData[i].prop.k) {\n          this.drawPath(properties[i], (this || _global).viewData[i].prop.v, (this || _global).viewData[i]);\n        }\n      }\n    }\n\n    (this || _global).maskElement = createNS(maskType);\n    len = currentMasks.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).maskElement.appendChild(currentMasks[i]);\n    }\n\n    if (count > 0) {\n      (this || _global).maskElement.setAttribute(\"id\", layerId);\n\n      (this || _global).element.maskedElement.setAttribute(maskRef, \"url(\" + locationHref + \"#\" + layerId + \")\");\n\n      defs.appendChild((this || _global).maskElement);\n    }\n\n    if ((this || _global).viewData.length) {\n      (this || _global).element.addRenderableComponent(this || _global);\n    }\n  }\n\n  MaskElement.prototype.getMaskProperty = function (pos) {\n    return (this || _global).viewData[pos].prop;\n  };\n\n  MaskElement.prototype.renderFrame = function (isFirstFrame) {\n    var finalMat = (this || _global).element.finalTransform.mat;\n    var i;\n    var len = (this || _global).masksProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).viewData[i].prop._mdf || isFirstFrame) {\n        this.drawPath((this || _global).masksProperties[i], (this || _global).viewData[i].prop.v, (this || _global).viewData[i]);\n      }\n\n      if ((this || _global).viewData[i].op._mdf || isFirstFrame) {\n        (this || _global).viewData[i].elem.setAttribute(\"fill-opacity\", (this || _global).viewData[i].op.v);\n      }\n\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        if ((this || _global).viewData[i].invRect && ((this || _global).element.finalTransform.mProp._mdf || isFirstFrame)) {\n          (this || _global).viewData[i].invRect.setAttribute(\"transform\", finalMat.getInverseMatrix().to2dCSS());\n        }\n\n        if ((this || _global).storedData[i].x && ((this || _global).storedData[i].x._mdf || isFirstFrame)) {\n          var feMorph = (this || _global).storedData[i].expan;\n\n          if ((this || _global).storedData[i].x.v < 0) {\n            if ((this || _global).storedData[i].lastOperator !== \"erode\") {\n              (this || _global).storedData[i].lastOperator = \"erode\";\n\n              (this || _global).storedData[i].elem.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + (this || _global).storedData[i].filterId + \")\");\n            }\n\n            feMorph.setAttribute(\"radius\", -(this || _global).storedData[i].x.v);\n          } else {\n            if ((this || _global).storedData[i].lastOperator !== \"dilate\") {\n              (this || _global).storedData[i].lastOperator = \"dilate\";\n\n              (this || _global).storedData[i].elem.setAttribute(\"filter\", null);\n            }\n\n            (this || _global).storedData[i].elem.setAttribute(\"stroke-width\", (this || _global).storedData[i].x.v * 2);\n          }\n        }\n      }\n    }\n  };\n\n  MaskElement.prototype.getMaskelement = function () {\n    return (this || _global).maskElement;\n  };\n\n  MaskElement.prototype.createLayerSolidPath = function () {\n    var path = \"M0,0 \";\n    path += \" h\" + (this || _global).globalData.compSize.w;\n    path += \" v\" + (this || _global).globalData.compSize.h;\n    path += \" h-\" + (this || _global).globalData.compSize.w;\n    path += \" v-\" + (this || _global).globalData.compSize.h + \" \";\n    return path;\n  };\n\n  MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n    var pathString = \" M\" + pathNodes.v[0][0] + \",\" + pathNodes.v[0][1];\n    var i;\n    var len;\n    len = pathNodes._length;\n\n    for (i = 1; i < len; i += 1) {\n      // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[i][0]+','+pathNodes.i[i][1] + \" \"+pathNodes.v[i][0]+','+pathNodes.v[i][1];\n      pathString += \" C\" + pathNodes.o[i - 1][0] + \",\" + pathNodes.o[i - 1][1] + \" \" + pathNodes.i[i][0] + \",\" + pathNodes.i[i][1] + \" \" + pathNodes.v[i][0] + \",\" + pathNodes.v[i][1];\n    } // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\n\n\n    if (pathNodes.c && len > 1) {\n      pathString += \" C\" + pathNodes.o[i - 1][0] + \",\" + pathNodes.o[i - 1][1] + \" \" + pathNodes.i[0][0] + \",\" + pathNodes.i[0][1] + \" \" + pathNodes.v[0][0] + \",\" + pathNodes.v[0][1];\n    } // pathNodes.__renderedString = pathString;\n\n\n    if (viewData.lastPath !== pathString) {\n      var pathShapeValue = \"\";\n\n      if (viewData.elem) {\n        if (pathNodes.c) {\n          pathShapeValue = pathData.inv ? (this || _global).solidPath + pathString : pathString;\n        }\n\n        viewData.elem.setAttribute(\"d\", pathShapeValue);\n      }\n\n      viewData.lastPath = pathString;\n    }\n  };\n\n  MaskElement.prototype.destroy = function () {\n    (this || _global).element = null;\n    (this || _global).globalData = null;\n    (this || _global).maskElement = null;\n    (this || _global).data = null;\n    (this || _global).masksProperties = null;\n  };\n  /**\r\n   * @file\r\n   * Handles AE's layer parenting property.\r\n   *\r\n   */\n\n\n  function HierarchyElement() {}\n\n  HierarchyElement.prototype = {\n    /**\r\n       * @function\r\n       * Initializes hierarchy properties\r\n       *\r\n       */\n    initHierarchy: function () {\n      // element's parent list\n      (this || _global).hierarchy = []; // if element is parent of another layer _isParent will be true\n\n      (this || _global)._isParent = false;\n      this.checkParenting();\n    },\n\n    /**\r\n       * @function\r\n       * Sets layer's hierarchy.\r\n       * @param {array} hierarch\r\n       * layer's parent list\r\n       *\r\n       */\n    setHierarchy: function (hierarchy) {\n      (this || _global).hierarchy = hierarchy;\n    },\n\n    /**\r\n       * @function\r\n       * Sets layer as parent.\r\n       *\r\n       */\n    setAsParent: function () {\n      (this || _global)._isParent = true;\n    },\n\n    /**\r\n       * @function\r\n       * Searches layer's parenting chain\r\n       *\r\n       */\n    checkParenting: function () {\n      if ((this || _global).data.parent !== undefined) {\n        (this || _global).comp.buildElementParenting(this || _global, (this || _global).data.parent, []);\n      }\n    }\n  };\n  /**\r\n   * @file\r\n   * Handles element's layer frame update.\r\n   * Checks layer in point and out point\r\n   *\r\n   */\n\n  function FrameElement() {}\n\n  FrameElement.prototype = {\n    /**\r\n       * @function\r\n       * Initializes frame related properties.\r\n       *\r\n       */\n    initFrame: function () {\n      // set to true when inpoint is rendered\n      (this || _global)._isFirstFrame = false; // list of animated properties\n\n      (this || _global).dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n      (this || _global)._mdf = false;\n    },\n\n    /**\r\n       * @function\r\n       * Calculates all dynamic values\r\n       *\r\n       * @param {number} num\r\n       * current frame number in Layer's time\r\n       * @param {boolean} isVisible\r\n       * if layers is currently in range\r\n       *\r\n       */\n    prepareProperties: function (num, isVisible) {\n      var i;\n      var len = (this || _global).dynamicProperties.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (isVisible || (this || _global)._isParent && (this || _global).dynamicProperties[i].propType === \"transform\") {\n          (this || _global).dynamicProperties[i].getValue();\n\n          if ((this || _global).dynamicProperties[i]._mdf) {\n            (this || _global).globalData._mdf = true;\n            (this || _global)._mdf = true;\n          }\n        }\n      }\n    },\n    addDynamicProperty: function (prop) {\n      if ((this || _global).dynamicProperties.indexOf(prop) === -1) {\n        (this || _global).dynamicProperties.push(prop);\n      }\n    }\n  };\n  /* global TransformPropertyFactory, Matrix */\n\n  function TransformElement() {}\n\n  TransformElement.prototype = {\n    initTransform: function () {\n      (this || _global).finalTransform = {\n        mProp: (this || _global).data.ks ? TransformPropertyFactory.getTransformProperty(this || _global, (this || _global).data.ks, this || _global) : {\n          o: 0\n        },\n        _matMdf: false,\n        _opMdf: false,\n        mat: new Matrix()\n      };\n\n      if ((this || _global).data.ao) {\n        (this || _global).finalTransform.mProp.autoOriented = true;\n      } // TODO: check TYPE 11: Guided elements\n\n\n      if ((this || _global).data.ty !== 11) {// this.createElements();\n      }\n    },\n    renderTransform: function () {\n      (this || _global).finalTransform._opMdf = (this || _global).finalTransform.mProp.o._mdf || (this || _global)._isFirstFrame;\n      (this || _global).finalTransform._matMdf = (this || _global).finalTransform.mProp._mdf || (this || _global)._isFirstFrame;\n\n      if ((this || _global).hierarchy) {\n        var mat;\n        var finalMat = (this || _global).finalTransform.mat;\n        var i = 0;\n        var len = (this || _global).hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n        if (!(this || _global).finalTransform._matMdf) {\n          while (i < len) {\n            if ((this || _global).hierarchy[i].finalTransform.mProp._mdf) {\n              (this || _global).finalTransform._matMdf = true;\n              break;\n            }\n\n            i += 1;\n          }\n        }\n\n        if ((this || _global).finalTransform._matMdf) {\n          mat = (this || _global).finalTransform.mProp.v.props;\n          finalMat.cloneFromProps(mat);\n\n          for (i = 0; i < len; i += 1) {\n            mat = (this || _global).hierarchy[i].finalTransform.mProp.v.props;\n            finalMat.transform(mat[0], mat[1], mat[2], mat[3], mat[4], mat[5], mat[6], mat[7], mat[8], mat[9], mat[10], mat[11], mat[12], mat[13], mat[14], mat[15]);\n          }\n        }\n      }\n    },\n    globalToLocal: function (pt) {\n      var transforms = [];\n      transforms.push((this || _global).finalTransform);\n      var flag = true;\n      var comp = (this || _global).comp;\n\n      while (flag) {\n        if (comp.finalTransform) {\n          if (comp.data.hasMask) {\n            transforms.splice(0, 0, comp.finalTransform);\n          }\n\n          comp = comp.comp;\n        } else {\n          flag = false;\n        }\n      }\n\n      var i;\n      var len = transforms.length;\n      var ptNew;\n\n      for (i = 0; i < len; i += 1) {\n        ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n\n        pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n      }\n\n      return pt;\n    },\n    mHelper: new Matrix()\n  };\n\n  function RenderableElement() {}\n\n  RenderableElement.prototype = {\n    initRenderable: function () {\n      // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n      (this || _global).isInRange = false; // layer's display state\n\n      (this || _global).hidden = false; // If layer's transparency equals 0, it can be hidden\n\n      (this || _global).isTransparent = false; // list of animated components\n\n      (this || _global).renderableComponents = [];\n    },\n    addRenderableComponent: function (component) {\n      if ((this || _global).renderableComponents.indexOf(component) === -1) {\n        (this || _global).renderableComponents.push(component);\n      }\n    },\n    removeRenderableComponent: function (component) {\n      if ((this || _global).renderableComponents.indexOf(component) !== -1) {\n        (this || _global).renderableComponents.splice((this || _global).renderableComponents.indexOf(component), 1);\n      }\n    },\n    prepareRenderableFrame: function (num) {\n      this.checkLayerLimits(num);\n    },\n    checkTransparency: function () {\n      if ((this || _global).finalTransform.mProp.o.v <= 0) {\n        if (!(this || _global).isTransparent && (this || _global).globalData.renderConfig.hideOnTransparent) {\n          (this || _global).isTransparent = true;\n          this.hide();\n        }\n      } else if ((this || _global).isTransparent) {\n        (this || _global).isTransparent = false;\n        this.show();\n      }\n    },\n\n    /**\r\n       * @function\r\n       * Initializes frame related properties.\r\n       *\r\n       * @param {number} num\r\n       * current frame number in Layer's time\r\n       *\r\n       */\n    checkLayerLimits: function (num) {\n      if ((this || _global).data.ip - (this || _global).data.st <= num && (this || _global).data.op - (this || _global).data.st > num) {\n        if ((this || _global).isInRange !== true) {\n          (this || _global).globalData._mdf = true;\n          (this || _global)._mdf = true;\n          (this || _global).isInRange = true;\n          this.show();\n        }\n      } else if ((this || _global).isInRange !== false) {\n        (this || _global).globalData._mdf = true;\n        (this || _global).isInRange = false;\n        this.hide();\n      }\n    },\n    renderRenderable: function () {\n      var i;\n      var len = (this || _global).renderableComponents.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).renderableComponents[i].renderFrame((this || _global)._isFirstFrame);\n      }\n      /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n          this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\n\n    },\n    sourceRectAtTime: function () {\n      return {\n        top: 0,\n        left: 0,\n        width: 100,\n        height: 100\n      };\n    },\n    getLayerSize: function () {\n      if ((this || _global).data.ty === 5) {\n        return {\n          w: (this || _global).data.textData.width,\n          h: (this || _global).data.textData.height\n        };\n      }\n\n      return {\n        w: (this || _global).data.width,\n        h: (this || _global).data.height\n      };\n    }\n  };\n  /* global extendPrototype, RenderableElement, createProxyFunction */\n\n  function RenderableDOMElement() {}\n\n  (function () {\n    var _prototype = {\n      initElement: function (data, globalData, comp) {\n        this.initFrame();\n        this.initBaseData(data, globalData, comp);\n        this.initTransform(data, globalData, comp);\n        this.initHierarchy();\n        this.initRenderable();\n        this.initRendererElement();\n        this.createContainerElements();\n        this.createRenderableComponents();\n        this.createContent();\n        this.hide();\n      },\n      hide: function () {\n        if (!(this || _global).hidden && (!(this || _global).isInRange || (this || _global).isTransparent)) {\n          var elem = (this || _global).baseElement || (this || _global).layerElement;\n          elem.style.display = \"none\";\n          (this || _global).hidden = true;\n        }\n      },\n      show: function () {\n        if ((this || _global).isInRange && !(this || _global).isTransparent) {\n          if (!(this || _global).data.hd) {\n            var elem = (this || _global).baseElement || (this || _global).layerElement;\n            elem.style.display = \"block\";\n          }\n\n          (this || _global).hidden = false;\n          (this || _global)._isFirstFrame = true;\n        }\n      },\n      renderFrame: function () {\n        // If it is exported as hidden (data.hd === true) no need to render\n        // If it is not visible no need to render\n        if ((this || _global).data.hd || (this || _global).hidden) {\n          return;\n        }\n\n        this.renderTransform();\n        this.renderRenderable();\n        this.renderElement();\n        this.renderInnerContent();\n\n        if ((this || _global)._isFirstFrame) {\n          (this || _global)._isFirstFrame = false;\n        }\n      },\n      renderInnerContent: function () {},\n      prepareFrame: function (num) {\n        (this || _global)._mdf = false;\n        this.prepareRenderableFrame(num);\n        this.prepareProperties(num, (this || _global).isInRange);\n        this.checkTransparency();\n      },\n      destroy: function () {\n        (this || _global).innerElem = null;\n        this.destroyBaseElement();\n      }\n    };\n    extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n  })();\n  /* exported ProcessedElement */\n\n\n  function ProcessedElement(element, position) {\n    (this || _global).elem = element;\n    (this || _global).pos = position;\n  }\n  /* global createNS */\n\n\n  function SVGStyleData(data, level) {\n    (this || _global).data = data;\n    (this || _global).type = data.ty;\n    (this || _global).d = \"\";\n    (this || _global).lvl = level;\n    (this || _global)._mdf = false;\n    (this || _global).closed = data.hd === true;\n    (this || _global).pElem = createNS(\"path\");\n    (this || _global).msElem = null;\n  }\n\n  SVGStyleData.prototype.reset = function () {\n    (this || _global).d = \"\";\n    (this || _global)._mdf = false;\n  };\n\n  function SVGShapeData(transformers, level, shape) {\n    (this || _global).caches = [];\n    (this || _global).styles = [];\n    (this || _global).transformers = transformers;\n    (this || _global).lStr = \"\";\n    (this || _global).sh = shape;\n    (this || _global).lvl = level; // TODO find if there are some cases where _isAnimated can be false.\n    // For now, since shapes add up with other shapes. They have to be calculated every time.\n    // One way of finding out is checking if all styles associated to this shape depend only of this shape\n\n    (this || _global)._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated\n\n    var i = 0;\n    var len = transformers.length;\n\n    while (i < len) {\n      if (transformers[i].mProps.dynamicProperties.length) {\n        (this || _global)._isAnimated = true;\n        break;\n      }\n\n      i += 1;\n    }\n  }\n\n  SVGShapeData.prototype.setAsAnimated = function () {\n    (this || _global)._isAnimated = true;\n  };\n  /* exported SVGTransformData */\n\n\n  function SVGTransformData(mProps, op, container) {\n    (this || _global).transform = {\n      mProps: mProps,\n      op: op,\n      container: container\n    };\n    (this || _global).elements = [];\n    (this || _global)._isAnimated = (this || _global).transform.mProps.dynamicProperties.length || (this || _global).transform.op.effectsSequence.length;\n  }\n  /* global DashProperty, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n\n  function SVGStrokeStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).w = PropertyFactory.getProp(elem, data.w, 0, null, this || _global);\n    (this || _global).d = new DashProperty(elem, data.d || {}, \"svg\", this || _global);\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 1, 255, this || _global);\n    (this || _global).style = styleOb;\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n  /* global PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  function SVGFillStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 1, 255, this || _global);\n    (this || _global).style = styleOb;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n  /* global PropertyFactory, degToRads, GradientProperty, createElementID, createNS, locationHref,\r\n  extendPrototype, DynamicPropertyContainer */\n\n  function SVGGradientFillStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    this.initGradientData(elem, data, styleOb);\n  }\n\n  SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, null, this || _global);\n    (this || _global).e = PropertyFactory.getProp(elem, data.e, 1, null, this || _global);\n    (this || _global).h = PropertyFactory.getProp(elem, data.h || {\n      k: 0\n    }, 0, 0.01, this || _global);\n    (this || _global).a = PropertyFactory.getProp(elem, data.a || {\n      k: 0\n    }, 0, degToRads, this || _global);\n    (this || _global).g = new GradientProperty(elem, data.g, this || _global);\n    (this || _global).style = styleOb;\n    (this || _global).stops = [];\n    this.setGradientData(styleOb.pElem, data);\n    this.setGradientOpacity(data, styleOb);\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  };\n\n  SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n    var gradientId = createElementID();\n    var gfill = createNS(data.t === 1 ? \"linearGradient\" : \"radialGradient\");\n    gfill.setAttribute(\"id\", gradientId);\n    gfill.setAttribute(\"spreadMethod\", \"pad\");\n    gfill.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n    var stops = [];\n    var stop;\n    var j;\n    var jLen;\n    jLen = data.g.p * 4;\n\n    for (j = 0; j < jLen; j += 4) {\n      stop = createNS(\"stop\");\n      gfill.appendChild(stop);\n      stops.push(stop);\n    }\n\n    pathElement.setAttribute(data.ty === \"gf\" ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + gradientId + \")\");\n    (this || _global).gf = gfill;\n    (this || _global).cst = stops;\n  };\n\n  SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n    if ((this || _global).g._hasOpacity && !(this || _global).g._collapsable) {\n      var stop;\n      var j;\n      var jLen;\n      var mask = createNS(\"mask\");\n      var maskElement = createNS(\"path\");\n      mask.appendChild(maskElement);\n      var opacityId = createElementID();\n      var maskId = createElementID();\n      mask.setAttribute(\"id\", maskId);\n      var opFill = createNS(data.t === 1 ? \"linearGradient\" : \"radialGradient\");\n      opFill.setAttribute(\"id\", opacityId);\n      opFill.setAttribute(\"spreadMethod\", \"pad\");\n      opFill.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n      jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n      var stops = (this || _global).stops;\n\n      for (j = data.g.p * 4; j < jLen; j += 2) {\n        stop = createNS(\"stop\");\n        stop.setAttribute(\"stop-color\", \"rgb(255,255,255)\");\n        opFill.appendChild(stop);\n        stops.push(stop);\n      }\n\n      maskElement.setAttribute(data.ty === \"gf\" ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + opacityId + \")\");\n      (this || _global).of = opFill;\n      (this || _global).ms = mask;\n      (this || _global).ost = stops;\n      (this || _global).maskId = maskId;\n      styleOb.msElem = maskElement;\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n  /* global PropertyFactory, DashProperty, extendPrototype, SVGGradientFillStyleData, DynamicPropertyContainer */\n\n  function SVGGradientStrokeStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).w = PropertyFactory.getProp(elem, data.w, 0, null, this || _global);\n    (this || _global).d = new DashProperty(elem, data.d || {}, \"svg\", this || _global);\n    this.initGradientData(elem, data, styleOb);\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  }\n\n  extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n  /* global createNS */\n\n  /* exported ShapeGroupData */\n\n  function ShapeGroupData() {\n    (this || _global).it = [];\n    (this || _global).prevViewData = [];\n    (this || _global).gr = createNS(\"g\");\n  }\n  /* global Matrix, buildShapeString, bmFloor */\n\n  /* exported SVGElementsRenderer */\n\n\n  var SVGElementsRenderer = function () {\n    var _identityMatrix = new Matrix();\n\n    var _matrixHelper = new Matrix();\n\n    var ob = {\n      createRenderFunction: createRenderFunction\n    };\n\n    function createRenderFunction(data) {\n      switch (data.ty) {\n        case \"fl\":\n          return renderFill;\n\n        case \"gf\":\n          return renderGradient;\n\n        case \"gs\":\n          return renderGradientStroke;\n\n        case \"st\":\n          return renderStroke;\n\n        case \"sh\":\n        case \"el\":\n        case \"rc\":\n        case \"sr\":\n          return renderPath;\n\n        case \"tr\":\n          return renderContentTransform;\n\n        default:\n          return null;\n      }\n    }\n\n    function renderContentTransform(styleData, itemData, isFirstFrame) {\n      if (isFirstFrame || itemData.transform.op._mdf) {\n        itemData.transform.container.setAttribute(\"opacity\", itemData.transform.op.v);\n      }\n\n      if (isFirstFrame || itemData.transform.mProps._mdf) {\n        itemData.transform.container.setAttribute(\"transform\", itemData.transform.mProps.v.to2dCSS());\n      }\n    }\n\n    function renderPath(styleData, itemData, isFirstFrame) {\n      var j;\n      var jLen;\n      var pathStringTransformed;\n      var redraw;\n      var pathNodes;\n      var l;\n      var lLen = itemData.styles.length;\n      var lvl = itemData.lvl;\n      var paths;\n      var mat;\n      var props;\n      var iterations;\n      var k;\n\n      for (l = 0; l < lLen; l += 1) {\n        redraw = itemData.sh._mdf || isFirstFrame;\n\n        if (itemData.styles[l].lvl < lvl) {\n          mat = _matrixHelper.reset();\n          iterations = lvl - itemData.styles[l].lvl;\n          k = itemData.transformers.length - 1;\n\n          while (!redraw && iterations > 0) {\n            redraw = itemData.transformers[k].mProps._mdf || redraw;\n            iterations -= 1;\n            k -= 1;\n          }\n\n          if (redraw) {\n            iterations = lvl - itemData.styles[l].lvl;\n            k = itemData.transformers.length - 1;\n\n            while (iterations > 0) {\n              props = itemData.transformers[k].mProps.v.props;\n              mat.transform(props[0], props[1], props[2], props[3], props[4], props[5], props[6], props[7], props[8], props[9], props[10], props[11], props[12], props[13], props[14], props[15]);\n              iterations -= 1;\n              k -= 1;\n            }\n          }\n        } else {\n          mat = _identityMatrix;\n        }\n\n        paths = itemData.sh.paths;\n        jLen = paths._length;\n\n        if (redraw) {\n          pathStringTransformed = \"\";\n\n          for (j = 0; j < jLen; j += 1) {\n            pathNodes = paths.shapes[j];\n\n            if (pathNodes && pathNodes._length) {\n              pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n            }\n          }\n\n          itemData.caches[l] = pathStringTransformed;\n        } else {\n          pathStringTransformed = itemData.caches[l];\n        }\n\n        itemData.styles[l].d += styleData.hd === true ? \"\" : pathStringTransformed;\n        itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n      }\n    }\n\n    function renderFill(styleData, itemData, isFirstFrame) {\n      var styleElem = itemData.style;\n\n      if (itemData.c._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"fill\", \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\");\n      }\n\n      if (itemData.o._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"fill-opacity\", itemData.o.v);\n      }\n    }\n\n    function renderGradientStroke(styleData, itemData, isFirstFrame) {\n      renderGradient(styleData, itemData, isFirstFrame);\n      renderStroke(styleData, itemData, isFirstFrame);\n    }\n\n    function renderGradient(styleData, itemData, isFirstFrame) {\n      var gfill = itemData.gf;\n      var hasOpacity = itemData.g._hasOpacity;\n      var pt1 = itemData.s.v;\n      var pt2 = itemData.e.v;\n\n      if (itemData.o._mdf || isFirstFrame) {\n        var attr = styleData.ty === \"gf\" ? \"fill-opacity\" : \"stroke-opacity\";\n        itemData.style.pElem.setAttribute(attr, itemData.o.v);\n      }\n\n      if (itemData.s._mdf || isFirstFrame) {\n        var attr1 = styleData.t === 1 ? \"x1\" : \"cx\";\n        var attr2 = attr1 === \"x1\" ? \"y1\" : \"cy\";\n        gfill.setAttribute(attr1, pt1[0]);\n        gfill.setAttribute(attr2, pt1[1]);\n\n        if (hasOpacity && !itemData.g._collapsable) {\n          itemData.of.setAttribute(attr1, pt1[0]);\n          itemData.of.setAttribute(attr2, pt1[1]);\n        }\n      }\n\n      var stops;\n      var i;\n      var len;\n      var stop;\n\n      if (itemData.g._cmdf || isFirstFrame) {\n        stops = itemData.cst;\n        var cValues = itemData.g.c;\n        len = stops.length;\n\n        for (i = 0; i < len; i += 1) {\n          stop = stops[i];\n          stop.setAttribute(\"offset\", cValues[i * 4] + \"%\");\n          stop.setAttribute(\"stop-color\", \"rgb(\" + cValues[i * 4 + 1] + \",\" + cValues[i * 4 + 2] + \",\" + cValues[i * 4 + 3] + \")\");\n        }\n      }\n\n      if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n        var oValues = itemData.g.o;\n\n        if (itemData.g._collapsable) {\n          stops = itemData.cst;\n        } else {\n          stops = itemData.ost;\n        }\n\n        len = stops.length;\n\n        for (i = 0; i < len; i += 1) {\n          stop = stops[i];\n\n          if (!itemData.g._collapsable) {\n            stop.setAttribute(\"offset\", oValues[i * 2] + \"%\");\n          }\n\n          stop.setAttribute(\"stop-opacity\", oValues[i * 2 + 1]);\n        }\n      }\n\n      if (styleData.t === 1) {\n        if (itemData.e._mdf || isFirstFrame) {\n          gfill.setAttribute(\"x2\", pt2[0]);\n          gfill.setAttribute(\"y2\", pt2[1]);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"x2\", pt2[0]);\n            itemData.of.setAttribute(\"y2\", pt2[1]);\n          }\n        }\n      } else {\n        var rad;\n\n        if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n          rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n          gfill.setAttribute(\"r\", rad);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"r\", rad);\n          }\n        }\n\n        if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n          if (!rad) {\n            rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n          }\n\n          var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n          var percent = itemData.h.v;\n\n          if (percent >= 1) {\n            percent = 0.99;\n          } else if (percent <= -1) {\n            percent = -0.99;\n          }\n\n          var dist = rad * percent;\n          var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n          var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n          gfill.setAttribute(\"fx\", x);\n          gfill.setAttribute(\"fy\", y);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"fx\", x);\n            itemData.of.setAttribute(\"fy\", y);\n          }\n        } // gfill.setAttribute('fy','200');\n\n      }\n    }\n\n    function renderStroke(styleData, itemData, isFirstFrame) {\n      var styleElem = itemData.style;\n      var d = itemData.d;\n\n      if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n        styleElem.pElem.setAttribute(\"stroke-dasharray\", d.dashStr);\n        styleElem.pElem.setAttribute(\"stroke-dashoffset\", d.dashoffset[0]);\n      }\n\n      if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n        styleElem.pElem.setAttribute(\"stroke\", \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\");\n      }\n\n      if (itemData.o._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"stroke-opacity\", itemData.o.v);\n      }\n\n      if (itemData.w._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"stroke-width\", itemData.w.v);\n\n        if (styleElem.msElem) {\n          styleElem.msElem.setAttribute(\"stroke-width\", itemData.w.v);\n        }\n      }\n    }\n\n    return ob;\n  }();\n  /* global Matrix */\n\n\n  function ShapeTransformManager() {\n    (this || _global).sequences = {};\n    (this || _global).sequenceList = [];\n    (this || _global).transform_key_count = 0;\n  }\n\n  ShapeTransformManager.prototype = {\n    addTransformSequence: function (transforms) {\n      var i;\n      var len = transforms.length;\n      var key = \"_\";\n\n      for (i = 0; i < len; i += 1) {\n        key += transforms[i].transform.key + \"_\";\n      }\n\n      var sequence = (this || _global).sequences[key];\n\n      if (!sequence) {\n        sequence = {\n          transforms: [].concat(transforms),\n          finalTransform: new Matrix(),\n          _mdf: false\n        };\n        (this || _global).sequences[key] = sequence;\n\n        (this || _global).sequenceList.push(sequence);\n      }\n\n      return sequence;\n    },\n    processSequence: function (sequence, isFirstFrame) {\n      var i = 0;\n      var len = sequence.transforms.length;\n      var _mdf = isFirstFrame;\n\n      while (i < len && !isFirstFrame) {\n        if (sequence.transforms[i].transform.mProps._mdf) {\n          _mdf = true;\n          break;\n        }\n\n        i += 1;\n      }\n\n      if (_mdf) {\n        var props;\n        sequence.finalTransform.reset();\n\n        for (i = len - 1; i >= 0; i -= 1) {\n          props = sequence.transforms[i].transform.mProps.v.props;\n          sequence.finalTransform.transform(props[0], props[1], props[2], props[3], props[4], props[5], props[6], props[7], props[8], props[9], props[10], props[11], props[12], props[13], props[14], props[15]);\n        }\n      }\n\n      sequence._mdf = _mdf;\n    },\n    processSequences: function (isFirstFrame) {\n      var i;\n      var len = (this || _global).sequenceList.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.processSequence((this || _global).sequenceList[i], isFirstFrame);\n      }\n    },\n    getNewKey: function () {\n      (this || _global).transform_key_count += 1;\n      return \"_\" + (this || _global).transform_key_count;\n    }\n  };\n  /* global ShapePropertyFactory, SVGShapeData */\n\n  function CVShapeData(element, data, styles, transformsManager) {\n    (this || _global).styledShapes = [];\n    (this || _global).tr = [0, 0, 0, 0, 0, 0];\n    var ty = 4;\n\n    if (data.ty === \"rc\") {\n      ty = 5;\n    } else if (data.ty === \"el\") {\n      ty = 6;\n    } else if (data.ty === \"sr\") {\n      ty = 7;\n    }\n\n    (this || _global).sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\n    var i;\n    var len = styles.length;\n    var styledShape;\n\n    for (i = 0; i < len; i += 1) {\n      if (!styles[i].closed) {\n        styledShape = {\n          transforms: transformsManager.addTransformSequence(styles[i].transforms),\n          trNodes: []\n        };\n\n        (this || _global).styledShapes.push(styledShape);\n\n        styles[i].elements.push(styledShape);\n      }\n    }\n  }\n\n  CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n  /* global LayerExpressionInterface, EffectsExpressionInterface, CompExpressionInterface, ShapeExpressionInterface,\r\n  TextExpressionInterface, getBlendMode,createElementID, EffectsManager */\n\n  function BaseElement() {}\n\n  BaseElement.prototype = {\n    checkMasks: function () {\n      if (!(this || _global).data.hasMask) {\n        return false;\n      }\n\n      var i = 0;\n      var len = (this || _global).data.masksProperties.length;\n\n      while (i < len) {\n        if ((this || _global).data.masksProperties[i].mode !== \"n\" && (this || _global).data.masksProperties[i].cl !== false) {\n          return true;\n        }\n\n        i += 1;\n      }\n\n      return false;\n    },\n    initExpressions: function () {\n      (this || _global).layerInterface = LayerExpressionInterface(this || _global);\n\n      if ((this || _global).data.hasMask && (this || _global).maskManager) {\n        (this || _global).layerInterface.registerMaskInterface((this || _global).maskManager);\n      }\n\n      var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this || _global, (this || _global).layerInterface);\n\n      (this || _global).layerInterface.registerEffectsInterface(effectsInterface);\n\n      if ((this || _global).data.ty === 0 || (this || _global).data.xt) {\n        (this || _global).compInterface = CompExpressionInterface(this || _global);\n      } else if ((this || _global).data.ty === 4) {\n        (this || _global).layerInterface.shapeInterface = ShapeExpressionInterface((this || _global).shapesData, (this || _global).itemsData, (this || _global).layerInterface);\n        (this || _global).layerInterface.content = (this || _global).layerInterface.shapeInterface;\n      } else if ((this || _global).data.ty === 5) {\n        (this || _global).layerInterface.textInterface = TextExpressionInterface(this || _global);\n        (this || _global).layerInterface.text = (this || _global).layerInterface.textInterface;\n      }\n    },\n    setBlendMode: function () {\n      var blendModeValue = getBlendMode((this || _global).data.bm);\n      var elem = (this || _global).baseElement || (this || _global).layerElement;\n      elem.style[\"mix-blend-mode\"] = blendModeValue;\n    },\n    initBaseData: function (data, globalData, comp) {\n      (this || _global).globalData = globalData;\n      (this || _global).comp = comp;\n      (this || _global).data = data;\n      (this || _global).layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n      if (!(this || _global).data.sr) {\n        (this || _global).data.sr = 1;\n      } // effects manager\n\n\n      (this || _global).effectsManager = new EffectsManager((this || _global).data, this || _global, (this || _global).dynamicProperties);\n    },\n    getType: function () {\n      return (this || _global).type;\n    },\n    sourceRectAtTime: function () {}\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement */\n\n  function NullElement(data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initFrame();\n    this.initTransform(data, globalData, comp);\n    this.initHierarchy();\n  }\n\n  NullElement.prototype.prepareFrame = function (num) {\n    this.prepareProperties(num, true);\n  };\n\n  NullElement.prototype.renderFrame = function () {};\n\n  NullElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  NullElement.prototype.destroy = function () {};\n\n  NullElement.prototype.sourceRectAtTime = function () {};\n\n  NullElement.prototype.hide = function () {};\n\n  extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n  /* global filtersFactory, featureSupport, filtersFactory, createElementID, createNS, MaskElement, SVGEffects, locationHref */\n\n  function SVGBaseElement() {}\n\n  SVGBaseElement.prototype = {\n    initRendererElement: function () {\n      (this || _global).layerElement = createNS(\"g\");\n    },\n    createContainerElements: function () {\n      (this || _global).matteElement = createNS(\"g\");\n      (this || _global).transformedElement = (this || _global).layerElement;\n      (this || _global).maskedElement = (this || _global).layerElement;\n      (this || _global)._sizeChanged = false;\n      var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n      var filId;\n      var fil;\n      var gg;\n\n      if ((this || _global).data.td) {\n        if ((this || _global).data.td == 3 || (this || _global).data.td == 1) {\n          // eslint-disable-line eqeqeq\n          var masker = createNS(\"mask\");\n          masker.setAttribute(\"id\", (this || _global).layerId);\n          masker.setAttribute(\"mask-type\", (this || _global).data.td == 3 ? \"luminance\" : \"alpha\"); // eslint-disable-line eqeqeq\n\n          masker.appendChild((this || _global).layerElement);\n          layerElementParent = masker;\n\n          (this || _global).globalData.defs.appendChild(masker); // This is only for IE and Edge when mask if of type alpha\n\n\n          if (!featureSupport.maskType && (this || _global).data.td == 1) {\n            // eslint-disable-line eqeqeq\n            masker.setAttribute(\"mask-type\", \"luminance\");\n            filId = createElementID();\n            fil = filtersFactory.createFilter(filId);\n\n            (this || _global).globalData.defs.appendChild(fil);\n\n            fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n            gg = createNS(\"g\");\n            gg.appendChild((this || _global).layerElement);\n            layerElementParent = gg;\n            masker.appendChild(gg);\n            gg.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n          }\n        } else if ((this || _global).data.td == 2) {\n          // eslint-disable-line eqeqeq\n          var maskGroup = createNS(\"mask\");\n          maskGroup.setAttribute(\"id\", (this || _global).layerId);\n          maskGroup.setAttribute(\"mask-type\", \"alpha\");\n          var maskGrouper = createNS(\"g\");\n          maskGroup.appendChild(maskGrouper);\n          filId = createElementID();\n          fil = filtersFactory.createFilter(filId); /// /\n          // This solution doesn't work on Android when meta tag with viewport attribute is set\n\n          /* var feColorMatrix = createNS('feColorMatrix');\r\n                  feColorMatrix.setAttribute('type', 'matrix');\r\n                  feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\r\n                  feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 -1 1');\r\n                  fil.appendChild(feColorMatrix); */\n          /// /\n\n          var feCTr = createNS(\"feComponentTransfer\");\n          feCTr.setAttribute(\"in\", \"SourceGraphic\");\n          fil.appendChild(feCTr);\n          var feFunc = createNS(\"feFuncA\");\n          feFunc.setAttribute(\"type\", \"table\");\n          feFunc.setAttribute(\"tableValues\", \"1.0 0.0\");\n          feCTr.appendChild(feFunc); /// /\n\n          (this || _global).globalData.defs.appendChild(fil);\n\n          var alphaRect = createNS(\"rect\");\n          alphaRect.setAttribute(\"width\", (this || _global).comp.data.w);\n          alphaRect.setAttribute(\"height\", (this || _global).comp.data.h);\n          alphaRect.setAttribute(\"x\", \"0\");\n          alphaRect.setAttribute(\"y\", \"0\");\n          alphaRect.setAttribute(\"fill\", \"#ffffff\");\n          alphaRect.setAttribute(\"opacity\", \"0\");\n          maskGrouper.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n          maskGrouper.appendChild(alphaRect);\n          maskGrouper.appendChild((this || _global).layerElement);\n          layerElementParent = maskGrouper;\n\n          if (!featureSupport.maskType) {\n            maskGroup.setAttribute(\"mask-type\", \"luminance\");\n            fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n            gg = createNS(\"g\");\n            maskGrouper.appendChild(alphaRect);\n            gg.appendChild((this || _global).layerElement);\n            layerElementParent = gg;\n            maskGrouper.appendChild(gg);\n          }\n\n          (this || _global).globalData.defs.appendChild(maskGroup);\n        }\n      } else if ((this || _global).data.tt) {\n        (this || _global).matteElement.appendChild((this || _global).layerElement);\n\n        layerElementParent = (this || _global).matteElement;\n        (this || _global).baseElement = (this || _global).matteElement;\n      } else {\n        (this || _global).baseElement = (this || _global).layerElement;\n      }\n\n      if ((this || _global).data.ln) {\n        (this || _global).layerElement.setAttribute(\"id\", (this || _global).data.ln);\n      }\n\n      if ((this || _global).data.cl) {\n        (this || _global).layerElement.setAttribute(\"class\", (this || _global).data.cl);\n      } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n\n\n      if ((this || _global).data.ty === 0 && !(this || _global).data.hd) {\n        var cp = createNS(\"clipPath\");\n        var pt = createNS(\"path\");\n        pt.setAttribute(\"d\", \"M0,0 L\" + (this || _global).data.w + \",0 L\" + (this || _global).data.w + \",\" + (this || _global).data.h + \" L0,\" + (this || _global).data.h + \"z\");\n        var clipId = createElementID();\n        cp.setAttribute(\"id\", clipId);\n        cp.appendChild(pt);\n\n        (this || _global).globalData.defs.appendChild(cp);\n\n        if (this.checkMasks()) {\n          var cpGroup = createNS(\"g\");\n          cpGroup.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + clipId + \")\");\n          cpGroup.appendChild((this || _global).layerElement);\n          (this || _global).transformedElement = cpGroup;\n\n          if (layerElementParent) {\n            layerElementParent.appendChild((this || _global).transformedElement);\n          } else {\n            (this || _global).baseElement = (this || _global).transformedElement;\n          }\n        } else {\n          (this || _global).layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + clipId + \")\");\n        }\n      }\n\n      if ((this || _global).data.bm !== 0) {\n        this.setBlendMode();\n      }\n    },\n    renderElement: function () {\n      if ((this || _global).finalTransform._matMdf) {\n        (this || _global).transformedElement.setAttribute(\"transform\", (this || _global).finalTransform.mat.to2dCSS());\n      }\n\n      if ((this || _global).finalTransform._opMdf) {\n        (this || _global).transformedElement.setAttribute(\"opacity\", (this || _global).finalTransform.mProp.o.v);\n      }\n    },\n    destroyBaseElement: function () {\n      (this || _global).layerElement = null;\n      (this || _global).matteElement = null;\n\n      (this || _global).maskManager.destroy();\n    },\n    getBaseElement: function () {\n      if ((this || _global).data.hd) {\n        return null;\n      }\n\n      return (this || _global).baseElement;\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new MaskElement((this || _global).data, this || _global, (this || _global).globalData);\n      (this || _global).renderableEffectsManager = new SVGEffects(this || _global);\n    },\n    setMatte: function (id) {\n      if (!(this || _global).matteElement) {\n        return;\n      }\n\n      (this || _global).matteElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + id + \")\");\n    }\n  };\n  /* global ProcessedElement */\n\n  function IShapeElement() {}\n\n  IShapeElement.prototype = {\n    addShapeToModifiers: function (data) {\n      var i;\n      var len = (this || _global).shapeModifiers.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapeModifiers[i].addShape(data);\n      }\n    },\n    isShapeInAnimatedModifiers: function (data) {\n      var i = 0;\n      var len = (this || _global).shapeModifiers.length;\n\n      while (i < len) {\n        if ((this || _global).shapeModifiers[i].isAnimatedWithShape(data)) {\n          return true;\n        }\n      }\n\n      return false;\n    },\n    renderModifiers: function () {\n      if (!(this || _global).shapeModifiers.length) {\n        return;\n      }\n\n      var i;\n      var len = (this || _global).shapes.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapes[i].sh.reset();\n      }\n\n      len = (this || _global).shapeModifiers.length;\n      var shouldBreakProcess;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        shouldBreakProcess = (this || _global).shapeModifiers[i].processShapes((this || _global)._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice\n        // TODO: find a better solution for this\n\n        if (shouldBreakProcess) {\n          break;\n        }\n      }\n    },\n    lcEnum: {\n      1: \"butt\",\n      2: \"round\",\n      3: \"square\"\n    },\n    ljEnum: {\n      1: \"miter\",\n      2: \"round\",\n      3: \"bevel\"\n    },\n    searchProcessedElement: function (elem) {\n      var elements = (this || _global).processedElements;\n      var i = 0;\n      var len = elements.length;\n\n      while (i < len) {\n        if (elements[i].elem === elem) {\n          return elements[i].pos;\n        }\n\n        i += 1;\n      }\n\n      return 0;\n    },\n    addProcessedElement: function (elem, pos) {\n      var elements = (this || _global).processedElements;\n      var i = elements.length;\n\n      while (i) {\n        i -= 1;\n\n        if (elements[i].elem === elem) {\n          elements[i].pos = pos;\n          return;\n        }\n      }\n\n      elements.push(new ProcessedElement(elem, pos));\n    },\n    prepareFrame: function (num) {\n      this.prepareRenderableFrame(num);\n      this.prepareProperties(num, (this || _global).isInRange);\n    }\n  };\n  /* global TextProperty, TextAnimatorProperty, buildShapeString, LetterProps */\n\n  function ITextElement() {}\n\n  ITextElement.prototype.initElement = function (data, globalData, comp) {\n    (this || _global).lettersChangedFlag = true;\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    (this || _global).textProperty = new TextProperty(this || _global, data.t, (this || _global).dynamicProperties);\n    (this || _global).textAnimator = new TextAnimatorProperty(data.t, (this || _global).renderType, this || _global);\n    this.initTransform(data, globalData, comp);\n    this.initHierarchy();\n    this.initRenderable();\n    this.initRendererElement();\n    this.createContainerElements();\n    this.createRenderableComponents();\n    this.createContent();\n    this.hide();\n\n    (this || _global).textAnimator.searchProperties((this || _global).dynamicProperties);\n  };\n\n  ITextElement.prototype.prepareFrame = function (num) {\n    (this || _global)._mdf = false;\n    this.prepareRenderableFrame(num);\n    this.prepareProperties(num, (this || _global).isInRange);\n\n    if ((this || _global).textProperty._mdf || (this || _global).textProperty._isFirstFrame) {\n      this.buildNewText();\n      (this || _global).textProperty._isFirstFrame = false;\n      (this || _global).textProperty._mdf = false;\n    }\n  };\n\n  ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n    var j;\n    var jLen = shapes.length;\n    var pathNodes;\n    var shapeStr = \"\";\n\n    for (j = 0; j < jLen; j += 1) {\n      pathNodes = shapes[j].ks.k;\n      shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n    }\n\n    return shapeStr;\n  };\n\n  ITextElement.prototype.updateDocumentData = function (newData, index) {\n    (this || _global).textProperty.updateDocumentData(newData, index);\n  };\n\n  ITextElement.prototype.canResizeFont = function (_canResize) {\n    (this || _global).textProperty.canResizeFont(_canResize);\n  };\n\n  ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n    (this || _global).textProperty.setMinimumFontSize(_fontSize);\n  };\n\n  ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n    if (documentData.ps) {\n      matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n    }\n\n    matrixHelper.translate(0, -documentData.ls, 0);\n\n    switch (documentData.j) {\n      case 1:\n        matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n        break;\n\n      case 2:\n        matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n        break;\n\n      default:\n        break;\n    }\n\n    matrixHelper.translate(xPos, yPos, 0);\n  };\n\n  ITextElement.prototype.buildColor = function (colorData) {\n    return \"rgb(\" + Math.round(colorData[0] * 255) + \",\" + Math.round(colorData[1] * 255) + \",\" + Math.round(colorData[2] * 255) + \")\";\n  };\n\n  ITextElement.prototype.emptyProp = new LetterProps();\n\n  ITextElement.prototype.destroy = function () {};\n  /* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement */\n\n\n  function ICompElement() {}\n\n  extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n\n  ICompElement.prototype.initElement = function (data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initTransform(data, globalData, comp);\n    this.initRenderable();\n    this.initHierarchy();\n    this.initRendererElement();\n    this.createContainerElements();\n    this.createRenderableComponents();\n\n    if ((this || _global).data.xt || !globalData.progressiveLoad) {\n      this.buildAllItems();\n    }\n\n    this.hide();\n  };\n  /* ICompElement.prototype.hide = function(){\r\n      if(!this.hidden){\r\n          this.hideElement();\r\n          var i,len = this.elements.length;\r\n          for( i = 0; i < len; i+=1 ){\r\n              if(this.elements[i]){\r\n                  this.elements[i].hide();\r\n              }\r\n          }\r\n      }\r\n  }; */\n\n\n  ICompElement.prototype.prepareFrame = function (num) {\n    (this || _global)._mdf = false;\n    this.prepareRenderableFrame(num);\n    this.prepareProperties(num, (this || _global).isInRange);\n\n    if (!(this || _global).isInRange && !(this || _global).data.xt) {\n      return;\n    }\n\n    if (!(this || _global).tm._placeholder) {\n      var timeRemapped = (this || _global).tm.v;\n\n      if (timeRemapped === (this || _global).data.op) {\n        timeRemapped = (this || _global).data.op - 1;\n      }\n\n      (this || _global).renderedFrame = timeRemapped;\n    } else {\n      (this || _global).renderedFrame = num / (this || _global).data.sr;\n    }\n\n    var i;\n    var len = (this || _global).elements.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers((this || _global).renderedFrame);\n    } // This iteration needs to be backwards because of how expressions connect between each other\n\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame((this || _global).renderedFrame - (this || _global).layers[i].st);\n\n        if ((this || _global).elements[i]._mdf) {\n          (this || _global)._mdf = true;\n        }\n      }\n    }\n  };\n\n  ICompElement.prototype.renderInnerContent = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].renderFrame();\n      }\n    }\n  };\n\n  ICompElement.prototype.setElements = function (elems) {\n    (this || _global).elements = elems;\n  };\n\n  ICompElement.prototype.getElements = function () {\n    return (this || _global).elements;\n  };\n\n  ICompElement.prototype.destroyElements = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n  };\n\n  ICompElement.prototype.destroy = function () {\n    this.destroyElements();\n    this.destroyBaseElement();\n  };\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, createNS */\n\n\n  function IImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initElement(data, globalData, comp);\n    (this || _global).sourceRect = {\n      top: 0,\n      left: 0,\n      width: (this || _global).assetData.w,\n      height: (this || _global).assetData.h\n    };\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n  IImageElement.prototype.createContent = function () {\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    (this || _global).innerElem = createNS(\"image\");\n\n    (this || _global).innerElem.setAttribute(\"width\", (this || _global).assetData.w + \"px\");\n\n    (this || _global).innerElem.setAttribute(\"height\", (this || _global).assetData.h + \"px\");\n\n    (this || _global).innerElem.setAttribute(\"preserveAspectRatio\", (this || _global).assetData.pr || (this || _global).globalData.renderConfig.imagePreserveAspectRatio);\n\n    (this || _global).innerElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", assetPath);\n\n    (this || _global).layerElement.appendChild((this || _global).innerElem);\n  };\n\n  IImageElement.prototype.sourceRectAtTime = function () {\n    return (this || _global).sourceRect;\n  };\n  /* global extendPrototype, IImageElement, createNS */\n\n\n  function ISolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([IImageElement], ISolidElement);\n\n  ISolidElement.prototype.createContent = function () {\n    var rect = createNS(\"rect\"); /// /rect.style.width = this.data.sw;\n    /// /rect.style.height = this.data.sh;\n    /// /rect.style.fill = this.data.sc;\n\n    rect.setAttribute(\"width\", (this || _global).data.sw);\n    rect.setAttribute(\"height\", (this || _global).data.sh);\n    rect.setAttribute(\"fill\", (this || _global).data.sc);\n\n    (this || _global).layerElement.appendChild(rect);\n  };\n  /* global PropertyFactory, extendPrototype, RenderableElement, BaseElement, FrameElement */\n\n\n  function AudioElement(data, globalData, comp) {\n    this.initFrame();\n    this.initRenderable();\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initBaseData(data, globalData, comp);\n    (this || _global)._isPlaying = false;\n    (this || _global)._canPlay = false;\n\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    (this || _global).audio = (this || _global).globalData.audioController.createAudio(assetPath);\n    (this || _global)._currentTime = 0;\n\n    (this || _global).globalData.audioController.addAudio(this || _global);\n\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  AudioElement.prototype.prepareFrame = function (num) {\n    this.prepareRenderableFrame(num, true);\n    this.prepareProperties(num, true);\n\n    if (!(this || _global).tm._placeholder) {\n      var timeRemapped = (this || _global).tm.v;\n      (this || _global)._currentTime = timeRemapped;\n    } else {\n      (this || _global)._currentTime = num / (this || _global).data.sr;\n    }\n  };\n\n  extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n  AudioElement.prototype.renderFrame = function () {\n    if ((this || _global).isInRange && (this || _global)._canPlay) {\n      if (!(this || _global)._isPlaying) {\n        (this || _global).audio.play();\n\n        (this || _global).audio.seek((this || _global)._currentTime / (this || _global).globalData.frameRate);\n\n        (this || _global)._isPlaying = true;\n      } else if (!(this || _global).audio.playing() || Math.abs((this || _global)._currentTime / (this || _global).globalData.frameRate - (this || _global).audio.seek()) > 0.1) {\n        (this || _global).audio.seek((this || _global)._currentTime / (this || _global).globalData.frameRate);\n      }\n    }\n  };\n\n  AudioElement.prototype.show = function () {// this.audio.play()\n  };\n\n  AudioElement.prototype.hide = function () {\n    (this || _global).audio.pause();\n\n    (this || _global)._isPlaying = false;\n  };\n\n  AudioElement.prototype.pause = function () {\n    (this || _global).audio.pause();\n\n    (this || _global)._isPlaying = false;\n    (this || _global)._canPlay = false;\n  };\n\n  AudioElement.prototype.resume = function () {\n    (this || _global)._canPlay = true;\n  };\n\n  AudioElement.prototype.setRate = function (rateValue) {\n    (this || _global).audio.rate(rateValue);\n  };\n\n  AudioElement.prototype.volume = function (volumeValue) {\n    (this || _global).audio.volume(volumeValue);\n  };\n\n  AudioElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  AudioElement.prototype.destroy = function () {};\n\n  AudioElement.prototype.sourceRectAtTime = function () {};\n\n  AudioElement.prototype.initExpressions = function () {};\n  /* global extendPrototype, RenderableElement, BaseElement, FrameElement, FootageInterface */\n\n\n  function FootageElement(data, globalData, comp) {\n    this.initFrame();\n    this.initRenderable();\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    (this || _global).footageData = globalData.imageLoader.getAsset((this || _global).assetData);\n    this.initBaseData(data, globalData, comp);\n  }\n\n  FootageElement.prototype.prepareFrame = function () {};\n\n  extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\n\n  FootageElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  FootageElement.prototype.renderFrame = function () {};\n\n  FootageElement.prototype.destroy = function () {};\n\n  FootageElement.prototype.initExpressions = function () {\n    (this || _global).layerInterface = FootageInterface(this || _global);\n  };\n\n  FootageElement.prototype.getFootageData = function () {\n    return (this || _global).footageData;\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, SVGRenderer, ICompElement, SVGBaseElement */\n\n\n  function SVGCompElement(data, globalData, comp) {\n    (this || _global).layers = data.layers;\n    (this || _global).supports3d = true;\n    (this || _global).completeLayers = false;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = (this || _global).layers ? createSizedArray((this || _global).layers.length) : []; // this.layerElement = createNS('g');\n\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement);\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, ITextElement, createSizedArray, createNS */\n\n  function SVGTextLottieElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).renderType = \"svg\";\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\n\n  SVGTextLottieElement.prototype.createContent = function () {\n    if ((this || _global).data.singleShape && !(this || _global).globalData.fontManager.chars) {\n      (this || _global).textContainer = createNS(\"text\");\n    }\n  };\n\n  SVGTextLottieElement.prototype.buildTextContents = function (textArray) {\n    var i = 0;\n    var len = textArray.length;\n    var textContents = [];\n    var currentTextContent = \"\";\n\n    while (i < len) {\n      if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n        textContents.push(currentTextContent);\n        currentTextContent = \"\";\n      } else {\n        currentTextContent += textArray[i];\n      }\n\n      i += 1;\n    }\n\n    textContents.push(currentTextContent);\n    return textContents;\n  };\n\n  SVGTextLottieElement.prototype.buildNewText = function () {\n    var i;\n    var len;\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n    if (documentData.fc) {\n      (this || _global).layerElement.setAttribute(\"fill\", this.buildColor(documentData.fc));\n    } else {\n      (this || _global).layerElement.setAttribute(\"fill\", \"rgba(0,0,0,0)\");\n    }\n\n    if (documentData.sc) {\n      (this || _global).layerElement.setAttribute(\"stroke\", this.buildColor(documentData.sc));\n\n      (this || _global).layerElement.setAttribute(\"stroke-width\", documentData.sw);\n    }\n\n    (this || _global).layerElement.setAttribute(\"font-size\", documentData.finalSize);\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    if (fontData.fClass) {\n      (this || _global).layerElement.setAttribute(\"class\", fontData.fClass);\n    } else {\n      (this || _global).layerElement.setAttribute(\"font-family\", fontData.fFamily);\n\n      var fWeight = documentData.fWeight;\n      var fStyle = documentData.fStyle;\n\n      (this || _global).layerElement.setAttribute(\"font-style\", fStyle);\n\n      (this || _global).layerElement.setAttribute(\"font-weight\", fWeight);\n    }\n\n    (this || _global).layerElement.setAttribute(\"aria-label\", documentData.t);\n\n    var letters = documentData.l || [];\n    var usesGlyphs = !!(this || _global).globalData.fontManager.chars;\n    len = letters.length;\n    var tSpan;\n    var matrixHelper = (this || _global).mHelper;\n    var shapes;\n    var shapeStr = \"\";\n    var singleShape = (this || _global).data.singleShape;\n    var xPos = 0;\n    var yPos = 0;\n    var firstLine = true;\n    var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n\n    if (singleShape && !usesGlyphs && !documentData.sz) {\n      var tElement = (this || _global).textContainer;\n      var justify = \"start\";\n\n      switch (documentData.j) {\n        case 1:\n          justify = \"end\";\n          break;\n\n        case 2:\n          justify = \"middle\";\n          break;\n\n        default:\n          justify = \"start\";\n          break;\n      }\n\n      tElement.setAttribute(\"text-anchor\", justify);\n      tElement.setAttribute(\"letter-spacing\", trackingOffset);\n      var textContent = this.buildTextContents(documentData.finalText);\n      len = textContent.length;\n      yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n\n      for (i = 0; i < len; i += 1) {\n        tSpan = (this || _global).textSpans[i] || createNS(\"tspan\");\n        tSpan.textContent = textContent[i];\n        tSpan.setAttribute(\"x\", 0);\n        tSpan.setAttribute(\"y\", yPos);\n        tSpan.style.display = \"inherit\";\n        tElement.appendChild(tSpan);\n        (this || _global).textSpans[i] = tSpan;\n        yPos += documentData.finalLineHeight;\n      }\n\n      (this || _global).layerElement.appendChild(tElement);\n    } else {\n      var cachedSpansLength = (this || _global).textSpans.length;\n      var shapeData;\n      var charData;\n\n      for (i = 0; i < len; i += 1) {\n        if (!usesGlyphs || !singleShape || i === 0) {\n          tSpan = cachedSpansLength > i ? (this || _global).textSpans[i] : createNS(usesGlyphs ? \"path\" : \"text\");\n\n          if (cachedSpansLength <= i) {\n            tSpan.setAttribute(\"stroke-linecap\", \"butt\");\n            tSpan.setAttribute(\"stroke-linejoin\", \"round\");\n            tSpan.setAttribute(\"stroke-miterlimit\", \"4\");\n            (this || _global).textSpans[i] = tSpan;\n\n            (this || _global).layerElement.appendChild(tSpan);\n          }\n\n          tSpan.style.display = \"inherit\";\n        }\n\n        matrixHelper.reset();\n        matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n        if (singleShape) {\n          if (letters[i].n) {\n            xPos = -trackingOffset;\n            yPos += documentData.yOffset;\n            yPos += firstLine ? 1 : 0;\n            firstLine = false;\n          }\n\n          this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n          xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n\n          xPos += trackingOffset;\n        }\n\n        if (usesGlyphs) {\n          charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n          shapeData = charData && charData.data || {};\n          shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n\n          if (!singleShape) {\n            tSpan.setAttribute(\"d\", this.createPathShape(matrixHelper, shapes));\n          } else {\n            shapeStr += this.createPathShape(matrixHelper, shapes);\n          }\n        } else {\n          if (singleShape) {\n            tSpan.setAttribute(\"transform\", \"translate(\" + matrixHelper.props[12] + \",\" + matrixHelper.props[13] + \")\");\n          }\n\n          tSpan.textContent = letters[i].val;\n          tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n        } //\n\n      }\n\n      if (singleShape && tSpan) {\n        tSpan.setAttribute(\"d\", shapeStr);\n      }\n    }\n\n    while (i < (this || _global).textSpans.length) {\n      (this || _global).textSpans[i].style.display = \"none\";\n      i += 1;\n    }\n\n    (this || _global)._sizeChanged = true;\n  };\n\n  SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n    this.prepareFrame((this || _global).comp.renderedFrame - (this || _global).data.st);\n    this.renderInnerContent();\n\n    if ((this || _global)._sizeChanged) {\n      (this || _global)._sizeChanged = false;\n\n      var textBox = (this || _global).layerElement.getBBox();\n\n      (this || _global).bbox = {\n        top: textBox.y,\n        left: textBox.x,\n        width: textBox.width,\n        height: textBox.height\n      };\n    }\n\n    return (this || _global).bbox;\n  };\n\n  SVGTextLottieElement.prototype.renderInnerContent = function () {\n    if (!(this || _global).data.singleShape) {\n      (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n\n      if ((this || _global).lettersChangedFlag || (this || _global).textAnimator.lettersChangedFlag) {\n        (this || _global)._sizeChanged = true;\n        var i;\n        var len;\n        var renderedLetters = (this || _global).textAnimator.renderedLetters;\n        var letters = (this || _global).textProperty.currentData.l;\n        len = letters.length;\n        var renderedLetter;\n        var textSpan;\n\n        for (i = 0; i < len; i += 1) {\n          if (!letters[i].n) {\n            renderedLetter = renderedLetters[i];\n            textSpan = (this || _global).textSpans[i];\n\n            if (renderedLetter._mdf.m) {\n              textSpan.setAttribute(\"transform\", renderedLetter.m);\n            }\n\n            if (renderedLetter._mdf.o) {\n              textSpan.setAttribute(\"opacity\", renderedLetter.o);\n            }\n\n            if (renderedLetter._mdf.sw) {\n              textSpan.setAttribute(\"stroke-width\", renderedLetter.sw);\n            }\n\n            if (renderedLetter._mdf.sc) {\n              textSpan.setAttribute(\"stroke\", renderedLetter.sc);\n            }\n\n            if (renderedLetter._mdf.fc) {\n              textSpan.setAttribute(\"fill\", renderedLetter.fc);\n            }\n          }\n        }\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement,\r\n  FrameElement, RenderableDOMElement, Matrix, SVGStyleData, SVGStrokeStyleData, SVGFillStyleData,\r\n  SVGGradientFillStyleData, SVGGradientStrokeStyleData, locationHref, getBlendMode, ShapeGroupData,\r\n  TransformPropertyFactory, SVGTransformData, ShapePropertyFactory, SVGShapeData, SVGElementsRenderer, ShapeModifiers */\n\n\n  function SVGShapeElement(data, globalData, comp) {\n    // List of drawable elements\n    (this || _global).shapes = []; // Full shape data\n\n    (this || _global).shapesData = data.shapes; // List of styles that will be applied to shapes\n\n    (this || _global).stylesList = []; // List of modifiers that will be applied to shapes\n\n    (this || _global).shapeModifiers = []; // List of items in shape tree\n\n    (this || _global).itemsData = []; // List of items in previous shape tree\n\n    (this || _global).processedElements = []; // List of animated components\n\n    (this || _global).animatedContents = [];\n    this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n    // List of elements that have been created\n\n    (this || _global).prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n\n  SVGShapeElement.prototype.initSecondaryElement = function () {};\n\n  SVGShapeElement.prototype.identityMatrix = new Matrix();\n\n  SVGShapeElement.prototype.buildExpressionInterface = function () {};\n\n  SVGShapeElement.prototype.createContent = function () {\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).layerElement, 0, [], true);\n    this.filterUniqueShapes();\n  };\n  /*\r\n  This method searches for multiple shapes that affect a single element and one of them is animated\r\n  */\n\n\n  SVGShapeElement.prototype.filterUniqueShapes = function () {\n    var i;\n    var len = (this || _global).shapes.length;\n    var shape;\n    var j;\n    var jLen = (this || _global).stylesList.length;\n    var style;\n    var tempShapes = [];\n    var areAnimated = false;\n\n    for (j = 0; j < jLen; j += 1) {\n      style = (this || _global).stylesList[j];\n      areAnimated = false;\n      tempShapes.length = 0;\n\n      for (i = 0; i < len; i += 1) {\n        shape = (this || _global).shapes[i];\n\n        if (shape.styles.indexOf(style) !== -1) {\n          tempShapes.push(shape);\n          areAnimated = shape._isAnimated || areAnimated;\n        }\n      }\n\n      if (tempShapes.length > 1 && areAnimated) {\n        this.setShapesAsAnimated(tempShapes);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n    var i;\n    var len = shapes.length;\n\n    for (i = 0; i < len; i += 1) {\n      shapes[i].setAsAnimated();\n    }\n  };\n\n  SVGShapeElement.prototype.createStyleElement = function (data, level) {\n    // TODO: prevent drawing of hidden styles\n    var elementData;\n    var styleOb = new SVGStyleData(data, level);\n    var pathElement = styleOb.pElem;\n\n    if (data.ty === \"st\") {\n      elementData = new SVGStrokeStyleData(this || _global, data, styleOb);\n    } else if (data.ty === \"fl\") {\n      elementData = new SVGFillStyleData(this || _global, data, styleOb);\n    } else if (data.ty === \"gf\" || data.ty === \"gs\") {\n      var GradientConstructor = data.ty === \"gf\" ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n      elementData = new GradientConstructor(this || _global, data, styleOb);\n\n      (this || _global).globalData.defs.appendChild(elementData.gf);\n\n      if (elementData.maskId) {\n        (this || _global).globalData.defs.appendChild(elementData.ms);\n\n        (this || _global).globalData.defs.appendChild(elementData.of);\n\n        pathElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + elementData.maskId + \")\");\n      }\n    }\n\n    if (data.ty === \"st\" || data.ty === \"gs\") {\n      pathElement.setAttribute(\"stroke-linecap\", (this || _global).lcEnum[data.lc] || \"round\");\n      pathElement.setAttribute(\"stroke-linejoin\", (this || _global).ljEnum[data.lj] || \"round\");\n      pathElement.setAttribute(\"fill-opacity\", \"0\");\n\n      if (data.lj === 1) {\n        pathElement.setAttribute(\"stroke-miterlimit\", data.ml);\n      }\n    }\n\n    if (data.r === 2) {\n      pathElement.setAttribute(\"fill-rule\", \"evenodd\");\n    }\n\n    if (data.ln) {\n      pathElement.setAttribute(\"id\", data.ln);\n    }\n\n    if (data.cl) {\n      pathElement.setAttribute(\"class\", data.cl);\n    }\n\n    if (data.bm) {\n      pathElement.style[\"mix-blend-mode\"] = getBlendMode(data.bm);\n    }\n\n    (this || _global).stylesList.push(styleOb);\n\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createGroupElement = function (data) {\n    var elementData = new ShapeGroupData();\n\n    if (data.ln) {\n      elementData.gr.setAttribute(\"id\", data.ln);\n    }\n\n    if (data.cl) {\n      elementData.gr.setAttribute(\"class\", data.cl);\n    }\n\n    if (data.bm) {\n      elementData.gr.style[\"mix-blend-mode\"] = getBlendMode(data.bm);\n    }\n\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createTransformElement = function (data, container) {\n    var transformProperty = TransformPropertyFactory.getTransformProperty(this || _global, data, this || _global);\n    var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n    var ty = 4;\n\n    if (data.ty === \"rc\") {\n      ty = 5;\n    } else if (data.ty === \"el\") {\n      ty = 6;\n    } else if (data.ty === \"sr\") {\n      ty = 7;\n    }\n\n    var shapeProperty = ShapePropertyFactory.getShapeProp(this || _global, data, ty, this || _global);\n    var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n\n    (this || _global).shapes.push(elementData);\n\n    this.addShapeToModifiers(elementData);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n    var i = 0;\n    var len = (this || _global).animatedContents.length;\n\n    while (i < len) {\n      if ((this || _global).animatedContents[i].element === element) {\n        return;\n      }\n\n      i += 1;\n    }\n\n    (this || _global).animatedContents.push({\n      fn: SVGElementsRenderer.createRenderFunction(data),\n      element: element,\n      data: data\n    });\n  };\n\n  SVGShapeElement.prototype.setElementStyles = function (elementData) {\n    var arr = elementData.styles;\n    var j;\n    var jLen = (this || _global).stylesList.length;\n\n    for (j = 0; j < jLen; j += 1) {\n      if (!(this || _global).stylesList[j].closed) {\n        arr.push((this || _global).stylesList[j]);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.reloadShapes = function () {\n    (this || _global)._isFirstFrame = true;\n    var i;\n    var len = (this || _global).itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).prevViewData[i] = (this || _global).itemsData[i];\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).layerElement, 0, [], true);\n    this.filterUniqueShapes();\n    len = (this || _global).dynamicProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).dynamicProperties[i].getValue();\n    }\n\n    this.renderModifiers();\n  };\n\n  SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n    var ownTransformers = [].concat(transformers);\n    var i;\n    var len = arr.length - 1;\n    var j;\n    var jLen;\n    var ownStyles = [];\n    var ownModifiers = [];\n    var currentTransform;\n    var modifier;\n    var processedPos;\n\n    for (i = len; i >= 0; i -= 1) {\n      processedPos = this.searchProcessedElement(arr[i]);\n\n      if (!processedPos) {\n        arr[i]._render = render;\n      } else {\n        itemsData[i] = prevViewData[processedPos - 1];\n      }\n\n      if (arr[i].ty === \"fl\" || arr[i].ty === \"st\" || arr[i].ty === \"gf\" || arr[i].ty === \"gs\") {\n        if (!processedPos) {\n          itemsData[i] = this.createStyleElement(arr[i], level);\n        } else {\n          itemsData[i].style.closed = false;\n        }\n\n        if (arr[i]._render) {\n          container.appendChild(itemsData[i].style.pElem);\n        }\n\n        ownStyles.push(itemsData[i].style);\n      } else if (arr[i].ty === \"gr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createGroupElement(arr[i]);\n        } else {\n          jLen = itemsData[i].it.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsData[i].prevViewData[j] = itemsData[i].it[j];\n          }\n        }\n\n        this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n\n        if (arr[i]._render) {\n          container.appendChild(itemsData[i].gr);\n        }\n      } else if (arr[i].ty === \"tr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createTransformElement(arr[i], container);\n        }\n\n        currentTransform = itemsData[i].transform;\n        ownTransformers.push(currentTransform);\n      } else if (arr[i].ty === \"sh\" || arr[i].ty === \"rc\" || arr[i].ty === \"el\" || arr[i].ty === \"sr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n        }\n\n        this.setElementStyles(itemsData[i]);\n      } else if (arr[i].ty === \"tm\" || arr[i].ty === \"rd\" || arr[i].ty === \"ms\" || arr[i].ty === \"pb\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          modifier.init(this || _global, arr[i]);\n          itemsData[i] = modifier;\n\n          (this || _global).shapeModifiers.push(modifier);\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = false;\n        }\n\n        ownModifiers.push(modifier);\n      } else if (arr[i].ty === \"rp\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          itemsData[i] = modifier;\n          modifier.init(this || _global, arr, i, itemsData);\n\n          (this || _global).shapeModifiers.push(modifier);\n\n          render = false;\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = true;\n        }\n\n        ownModifiers.push(modifier);\n      }\n\n      this.addProcessedElement(arr[i], i + 1);\n    }\n\n    len = ownStyles.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownStyles[i].closed = true;\n    }\n\n    len = ownModifiers.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownModifiers[i].closed = true;\n    }\n  };\n\n  SVGShapeElement.prototype.renderInnerContent = function () {\n    this.renderModifiers();\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).stylesList[i].reset();\n    }\n\n    this.renderShape();\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).stylesList[i]._mdf || (this || _global)._isFirstFrame) {\n        if ((this || _global).stylesList[i].msElem) {\n          (this || _global).stylesList[i].msElem.setAttribute(\"d\", (this || _global).stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n\n          (this || _global).stylesList[i].d = \"M0 0\" + (this || _global).stylesList[i].d;\n        }\n\n        (this || _global).stylesList[i].pElem.setAttribute(\"d\", (this || _global).stylesList[i].d || \"M0 0\");\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.renderShape = function () {\n    var i;\n    var len = (this || _global).animatedContents.length;\n    var animatedContent;\n\n    for (i = 0; i < len; i += 1) {\n      animatedContent = (this || _global).animatedContents[i];\n\n      if (((this || _global)._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n        animatedContent.fn(animatedContent.data, animatedContent.element, (this || _global)._isFirstFrame);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.destroy = function () {\n    this.destroyBaseElement();\n    (this || _global).shapesData = null;\n    (this || _global).itemsData = null;\n  };\n  /* global createNS */\n\n\n  function SVGTintFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"linearRGB\");\n    feColorMatrix.setAttribute(\"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f1\");\n    filter.appendChild(feColorMatrix);\n    feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    feColorMatrix.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f2\");\n    filter.appendChild(feColorMatrix);\n    (this || _global).matrixFilter = feColorMatrix;\n\n    if (filterManager.effectElements[2].p.v !== 100 || filterManager.effectElements[2].p.k) {\n      var feMerge = createNS(\"feMerge\");\n      filter.appendChild(feMerge);\n      var feMergeNode;\n      feMergeNode = createNS(\"feMergeNode\");\n      feMergeNode.setAttribute(\"in\", \"SourceGraphic\");\n      feMerge.appendChild(feMergeNode);\n      feMergeNode = createNS(\"feMergeNode\");\n      feMergeNode.setAttribute(\"in\", \"f2\");\n      feMerge.appendChild(feMergeNode);\n    }\n  }\n\n  SVGTintFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var colorBlack = (this || _global).filterManager.effectElements[0].p.v;\n      var colorWhite = (this || _global).filterManager.effectElements[1].p.v;\n      var opacity = (this || _global).filterManager.effectElements[2].p.v / 100;\n\n      (this || _global).matrixFilter.setAttribute(\"values\", colorWhite[0] - colorBlack[0] + \" 0 0 0 \" + colorBlack[0] + \" \" + (colorWhite[1] - colorBlack[1]) + \" 0 0 0 \" + colorBlack[1] + \" \" + (colorWhite[2] - colorBlack[2]) + \" 0 0 0 \" + colorBlack[2] + \" 0 0 0 \" + opacity + \" 0\");\n    }\n  };\n  /* global createNS */\n\n\n  function SVGFillFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    feColorMatrix.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\");\n    filter.appendChild(feColorMatrix);\n    (this || _global).matrixFilter = feColorMatrix;\n  }\n\n  SVGFillFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var color = (this || _global).filterManager.effectElements[2].p.v;\n      var opacity = (this || _global).filterManager.effectElements[6].p.v;\n\n      (this || _global).matrixFilter.setAttribute(\"values\", \"0 0 0 0 \" + color[0] + \" 0 0 0 0 \" + color[1] + \" 0 0 0 0 \" + color[2] + \" 0 0 0 \" + opacity + \" 0\");\n    }\n  };\n  /* global createNS */\n\n\n  function SVGGaussianBlurEffect(filter, filterManager) {\n    // Outset the filter region by 100% on all sides to accommodate blur expansion.\n    filter.setAttribute(\"x\", \"-100%\");\n    filter.setAttribute(\"y\", \"-100%\");\n    filter.setAttribute(\"width\", \"300%\");\n    filter.setAttribute(\"height\", \"300%\");\n    (this || _global).filterManager = filterManager;\n    var feGaussianBlur = createNS(\"feGaussianBlur\");\n    filter.appendChild(feGaussianBlur);\n    (this || _global).feGaussianBlur = feGaussianBlur;\n  }\n\n  SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      // Empirical value, matching AE's blur appearance.\n      var kBlurrinessToSigma = 0.3;\n      var sigma = (this || _global).filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping:\n      //\n      //   1 -> horizontal & vertical\n      //   2 -> horizontal only\n      //   3 -> vertical only\n      //\n\n      var dimensions = (this || _global).filterManager.effectElements[1].p.v;\n      var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n      var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n      (this || _global).feGaussianBlur.setAttribute(\"stdDeviation\", sigmaX + \" \" + sigmaY); // Repeat edges mapping:\n      //\n      //   0 -> off -> duplicate\n      //   1 -> on  -> wrap\n\n\n      var edgeMode = (this || _global).filterManager.effectElements[2].p.v == 1 ? \"wrap\" : \"duplicate\"; // eslint-disable-line eqeqeq\n\n      (this || _global).feGaussianBlur.setAttribute(\"edgeMode\", edgeMode);\n    }\n  };\n  /* global createNS, createElementID, locationHref, bmFloor */\n\n\n  function SVGStrokeEffect(elem, filterManager) {\n    (this || _global).initialized = false;\n    (this || _global).filterManager = filterManager;\n    (this || _global).elem = elem;\n    (this || _global).paths = [];\n  }\n\n  SVGStrokeEffect.prototype.initialize = function () {\n    var elemChildren = (this || _global).elem.layerElement.children || (this || _global).elem.layerElement.childNodes;\n    var path;\n    var groupPath;\n    var i;\n    var len;\n\n    if ((this || _global).filterManager.effectElements[1].p.v === 1) {\n      len = (this || _global).elem.maskManager.masksProperties.length;\n      i = 0;\n    } else {\n      i = (this || _global).filterManager.effectElements[0].p.v - 1;\n      len = i + 1;\n    }\n\n    groupPath = createNS(\"g\");\n    groupPath.setAttribute(\"fill\", \"none\");\n    groupPath.setAttribute(\"stroke-linecap\", \"round\");\n    groupPath.setAttribute(\"stroke-dashoffset\", 1);\n\n    for (i; i < len; i += 1) {\n      path = createNS(\"path\");\n      groupPath.appendChild(path);\n\n      (this || _global).paths.push({\n        p: path,\n        m: i\n      });\n    }\n\n    if ((this || _global).filterManager.effectElements[10].p.v === 3) {\n      var mask = createNS(\"mask\");\n      var id = createElementID();\n      mask.setAttribute(\"id\", id);\n      mask.setAttribute(\"mask-type\", \"alpha\");\n      mask.appendChild(groupPath);\n\n      (this || _global).elem.globalData.defs.appendChild(mask);\n\n      var g = createNS(\"g\");\n      g.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + id + \")\");\n\n      while (elemChildren[0]) {\n        g.appendChild(elemChildren[0]);\n      }\n\n      (this || _global).elem.layerElement.appendChild(g);\n\n      (this || _global).masker = mask;\n      groupPath.setAttribute(\"stroke\", \"#fff\");\n    } else if ((this || _global).filterManager.effectElements[10].p.v === 1 || (this || _global).filterManager.effectElements[10].p.v === 2) {\n      if ((this || _global).filterManager.effectElements[10].p.v === 2) {\n        elemChildren = (this || _global).elem.layerElement.children || (this || _global).elem.layerElement.childNodes;\n\n        while (elemChildren.length) {\n          (this || _global).elem.layerElement.removeChild(elemChildren[0]);\n        }\n      }\n\n      (this || _global).elem.layerElement.appendChild(groupPath);\n\n      (this || _global).elem.layerElement.removeAttribute(\"mask\");\n\n      groupPath.setAttribute(\"stroke\", \"#fff\");\n    }\n\n    (this || _global).initialized = true;\n    (this || _global).pathMasker = groupPath;\n  };\n\n  SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n    if (!(this || _global).initialized) {\n      this.initialize();\n    }\n\n    var i;\n    var len = (this || _global).paths.length;\n    var mask;\n    var path;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).paths[i].m !== -1) {\n        mask = (this || _global).elem.maskManager.viewData[(this || _global).paths[i].m];\n        path = (this || _global).paths[i].p;\n\n        if (forceRender || (this || _global).filterManager._mdf || mask.prop._mdf) {\n          path.setAttribute(\"d\", mask.lastPath);\n        }\n\n        if (forceRender || (this || _global).filterManager.effectElements[9].p._mdf || (this || _global).filterManager.effectElements[4].p._mdf || (this || _global).filterManager.effectElements[7].p._mdf || (this || _global).filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n          var dasharrayValue;\n\n          if ((this || _global).filterManager.effectElements[7].p.v !== 0 || (this || _global).filterManager.effectElements[8].p.v !== 100) {\n            var s = Math.min((this || _global).filterManager.effectElements[7].p.v, (this || _global).filterManager.effectElements[8].p.v) * 0.01;\n            var e = Math.max((this || _global).filterManager.effectElements[7].p.v, (this || _global).filterManager.effectElements[8].p.v) * 0.01;\n            var l = path.getTotalLength();\n            dasharrayValue = \"0 0 0 \" + l * s + \" \";\n            var lineLength = l * (e - s);\n            var segment = 1 + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01;\n            var units = Math.floor(lineLength / segment);\n            var j;\n\n            for (j = 0; j < units; j += 1) {\n              dasharrayValue += \"1 \" + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01 + \" \";\n            }\n\n            dasharrayValue += \"0 \" + l * 10 + \" 0 0\";\n          } else {\n            dasharrayValue = \"1 \" + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01;\n          }\n\n          path.setAttribute(\"stroke-dasharray\", dasharrayValue);\n        }\n      }\n    }\n\n    if (forceRender || (this || _global).filterManager.effectElements[4].p._mdf) {\n      (this || _global).pathMasker.setAttribute(\"stroke-width\", (this || _global).filterManager.effectElements[4].p.v * 2);\n    }\n\n    if (forceRender || (this || _global).filterManager.effectElements[6].p._mdf) {\n      (this || _global).pathMasker.setAttribute(\"opacity\", (this || _global).filterManager.effectElements[6].p.v);\n    }\n\n    if ((this || _global).filterManager.effectElements[10].p.v === 1 || (this || _global).filterManager.effectElements[10].p.v === 2) {\n      if (forceRender || (this || _global).filterManager.effectElements[3].p._mdf) {\n        var color = (this || _global).filterManager.effectElements[3].p.v;\n\n        (this || _global).pathMasker.setAttribute(\"stroke\", \"rgb(\" + bmFloor(color[0] * 255) + \",\" + bmFloor(color[1] * 255) + \",\" + bmFloor(color[2] * 255) + \")\");\n      }\n    }\n  };\n  /* global createNS */\n\n\n  function SVGTritoneFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"linearRGB\");\n    feColorMatrix.setAttribute(\"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f1\");\n    filter.appendChild(feColorMatrix);\n    var feComponentTransfer = createNS(\"feComponentTransfer\");\n    feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    filter.appendChild(feComponentTransfer);\n    (this || _global).matrixFilter = feComponentTransfer;\n    var feFuncR = createNS(\"feFuncR\");\n    feFuncR.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncR);\n    (this || _global).feFuncR = feFuncR;\n    var feFuncG = createNS(\"feFuncG\");\n    feFuncG.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncG);\n    (this || _global).feFuncG = feFuncG;\n    var feFuncB = createNS(\"feFuncB\");\n    feFuncB.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncB);\n    (this || _global).feFuncB = feFuncB;\n  }\n\n  SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var color1 = (this || _global).filterManager.effectElements[0].p.v;\n      var color2 = (this || _global).filterManager.effectElements[1].p.v;\n      var color3 = (this || _global).filterManager.effectElements[2].p.v;\n      var tableR = color3[0] + \" \" + color2[0] + \" \" + color1[0];\n      var tableG = color3[1] + \" \" + color2[1] + \" \" + color1[1];\n      var tableB = color3[2] + \" \" + color2[2] + \" \" + color1[2];\n\n      (this || _global).feFuncR.setAttribute(\"tableValues\", tableR);\n\n      (this || _global).feFuncG.setAttribute(\"tableValues\", tableG);\n\n      (this || _global).feFuncB.setAttribute(\"tableValues\", tableB); // var opacity = this.filterManager.effectElements[2].p.v/100;\n      // this.matrixFilter.setAttribute('values',(colorWhite[0]- colorBlack[0])+' 0 0 0 '+ colorBlack[0] +' '+ (colorWhite[1]- colorBlack[1]) +' 0 0 0 '+ colorBlack[1] +' '+ (colorWhite[2]- colorBlack[2]) +' 0 0 0 '+ colorBlack[2] +' 0 0 0 ' + opacity + ' 0');\n\n    }\n  };\n  /* global createNS */\n\n\n  function SVGProLevelsFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var effectElements = (this || _global).filterManager.effectElements;\n    var feComponentTransfer = createNS(\"feComponentTransfer\");\n\n    if (effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1) {\n      (this || _global).feFuncR = this.createFeFunc(\"feFuncR\", feComponentTransfer);\n    }\n\n    if (effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1) {\n      (this || _global).feFuncG = this.createFeFunc(\"feFuncG\", feComponentTransfer);\n    }\n\n    if (effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1) {\n      (this || _global).feFuncB = this.createFeFunc(\"feFuncB\", feComponentTransfer);\n    }\n\n    if (effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1) {\n      (this || _global).feFuncA = this.createFeFunc(\"feFuncA\", feComponentTransfer);\n    }\n\n    if ((this || _global).feFuncR || (this || _global).feFuncG || (this || _global).feFuncB || (this || _global).feFuncA) {\n      feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      filter.appendChild(feComponentTransfer);\n      feComponentTransfer = createNS(\"feComponentTransfer\");\n    }\n\n    if (effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1) {\n      feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      filter.appendChild(feComponentTransfer);\n      (this || _global).feFuncRComposed = this.createFeFunc(\"feFuncR\", feComponentTransfer);\n      (this || _global).feFuncGComposed = this.createFeFunc(\"feFuncG\", feComponentTransfer);\n      (this || _global).feFuncBComposed = this.createFeFunc(\"feFuncB\", feComponentTransfer);\n    }\n  }\n\n  SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n    var feFunc = createNS(type);\n    feFunc.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFunc);\n    return feFunc;\n  };\n\n  SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n    var cnt = 0;\n    var segments = 256;\n    var perc;\n    var min = Math.min(inputBlack, inputWhite);\n    var max = Math.max(inputBlack, inputWhite);\n    var table = Array.call(null, {\n      length: segments\n    });\n    var colorValue;\n    var pos = 0;\n    var outputDelta = outputWhite - outputBlack;\n    var inputDelta = inputWhite - inputBlack;\n\n    while (cnt <= 256) {\n      perc = cnt / 256;\n\n      if (perc <= min) {\n        colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n      } else if (perc >= max) {\n        colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n      } else {\n        colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n      }\n\n      table[pos] = colorValue;\n      pos += 1;\n      cnt += 256 / (segments - 1);\n    }\n\n    return table.join(\" \");\n  };\n\n  SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var val;\n      var effectElements = (this || _global).filterManager.effectElements;\n\n      if ((this || _global).feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n        val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n\n        (this || _global).feFuncRComposed.setAttribute(\"tableValues\", val);\n\n        (this || _global).feFuncGComposed.setAttribute(\"tableValues\", val);\n\n        (this || _global).feFuncBComposed.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n        val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n\n        (this || _global).feFuncR.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n        val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n\n        (this || _global).feFuncG.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n        val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n\n        (this || _global).feFuncB.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n        val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n\n        (this || _global).feFuncA.setAttribute(\"tableValues\", val);\n      }\n    }\n  };\n  /* global createNS, rgbToHex, degToRads */\n\n\n  function SVGDropShadowEffect(filter, filterManager) {\n    var filterSize = filterManager.container.globalData.renderConfig.filterSize;\n    filter.setAttribute(\"x\", filterSize.x);\n    filter.setAttribute(\"y\", filterSize.y);\n    filter.setAttribute(\"width\", filterSize.width);\n    filter.setAttribute(\"height\", filterSize.height);\n    (this || _global).filterManager = filterManager;\n    var feGaussianBlur = createNS(\"feGaussianBlur\");\n    feGaussianBlur.setAttribute(\"in\", \"SourceAlpha\");\n    feGaussianBlur.setAttribute(\"result\", \"drop_shadow_1\");\n    feGaussianBlur.setAttribute(\"stdDeviation\", \"0\");\n    (this || _global).feGaussianBlur = feGaussianBlur;\n    filter.appendChild(feGaussianBlur);\n    var feOffset = createNS(\"feOffset\");\n    feOffset.setAttribute(\"dx\", \"25\");\n    feOffset.setAttribute(\"dy\", \"0\");\n    feOffset.setAttribute(\"in\", \"drop_shadow_1\");\n    feOffset.setAttribute(\"result\", \"drop_shadow_2\");\n    (this || _global).feOffset = feOffset;\n    filter.appendChild(feOffset);\n    var feFlood = createNS(\"feFlood\");\n    feFlood.setAttribute(\"flood-color\", \"#00ff00\");\n    feFlood.setAttribute(\"flood-opacity\", \"1\");\n    feFlood.setAttribute(\"result\", \"drop_shadow_3\");\n    (this || _global).feFlood = feFlood;\n    filter.appendChild(feFlood);\n    var feComposite = createNS(\"feComposite\");\n    feComposite.setAttribute(\"in\", \"drop_shadow_3\");\n    feComposite.setAttribute(\"in2\", \"drop_shadow_2\");\n    feComposite.setAttribute(\"operator\", \"in\");\n    feComposite.setAttribute(\"result\", \"drop_shadow_4\");\n    filter.appendChild(feComposite);\n    var feMerge = createNS(\"feMerge\");\n    filter.appendChild(feMerge);\n    var feMergeNode;\n    feMergeNode = createNS(\"feMergeNode\");\n    feMerge.appendChild(feMergeNode);\n    feMergeNode = createNS(\"feMergeNode\");\n    feMergeNode.setAttribute(\"in\", \"SourceGraphic\");\n    (this || _global).feMergeNode = feMergeNode;\n    (this || _global).feMerge = feMerge;\n    (this || _global).originalNodeAdded = false;\n    feMerge.appendChild(feMergeNode);\n  }\n\n  SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      if (forceRender || (this || _global).filterManager.effectElements[4].p._mdf) {\n        (this || _global).feGaussianBlur.setAttribute(\"stdDeviation\", (this || _global).filterManager.effectElements[4].p.v / 4);\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[0].p._mdf) {\n        var col = (this || _global).filterManager.effectElements[0].p.v;\n\n        (this || _global).feFlood.setAttribute(\"flood-color\", rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[1].p._mdf) {\n        (this || _global).feFlood.setAttribute(\"flood-opacity\", (this || _global).filterManager.effectElements[1].p.v / 255);\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[2].p._mdf || (this || _global).filterManager.effectElements[3].p._mdf) {\n        var distance = (this || _global).filterManager.effectElements[3].p.v;\n        var angle = ((this || _global).filterManager.effectElements[2].p.v - 90) * degToRads;\n        var x = distance * Math.cos(angle);\n        var y = distance * Math.sin(angle);\n\n        (this || _global).feOffset.setAttribute(\"dx\", x);\n\n        (this || _global).feOffset.setAttribute(\"dy\", y);\n      }\n      /* if(forceRender || this.filterManager.effectElements[5].p._mdf){\r\n              if(this.filterManager.effectElements[5].p.v === 1 && this.originalNodeAdded) {\r\n                  this.feMerge.removeChild(this.feMergeNode);\r\n                  this.originalNodeAdded = false;\r\n              } else if(this.filterManager.effectElements[5].p.v === 0 && !this.originalNodeAdded) {\r\n                  this.feMerge.appendChild(this.feMergeNode);\r\n                  this.originalNodeAdded = true;\r\n              }\r\n          } */\n\n    }\n  };\n  /* global createElementID, createNS */\n\n\n  var _svgMatteSymbols = [];\n\n  function SVGMatte3Effect(filterElem, filterManager, elem) {\n    (this || _global).initialized = false;\n    (this || _global).filterManager = filterManager;\n    (this || _global).filterElem = filterElem;\n    (this || _global).elem = elem;\n    elem.matteElement = createNS(\"g\");\n    elem.matteElement.appendChild(elem.layerElement);\n    elem.matteElement.appendChild(elem.transformedElement);\n    elem.baseElement = elem.matteElement;\n  }\n\n  SVGMatte3Effect.prototype.findSymbol = function (mask) {\n    var i = 0;\n    var len = _svgMatteSymbols.length;\n\n    while (i < len) {\n      if (_svgMatteSymbols[i] === mask) {\n        return _svgMatteSymbols[i];\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n    var parentNode = mask.layerElement.parentNode;\n\n    if (!parentNode) {\n      return;\n    }\n\n    var children = parentNode.children;\n    var i = 0;\n    var len = children.length;\n\n    while (i < len) {\n      if (children[i] === mask.layerElement) {\n        break;\n      }\n\n      i += 1;\n    }\n\n    var nextChild;\n\n    if (i <= len - 2) {\n      nextChild = children[i + 1];\n    }\n\n    var useElem = createNS(\"use\");\n    useElem.setAttribute(\"href\", \"#\" + symbolId);\n\n    if (nextChild) {\n      parentNode.insertBefore(useElem, nextChild);\n    } else {\n      parentNode.appendChild(useElem);\n    }\n  };\n\n  SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n    if (!this.findSymbol(mask)) {\n      var symbolId = createElementID();\n      var masker = createNS(\"mask\");\n      masker.setAttribute(\"id\", mask.layerId);\n      masker.setAttribute(\"mask-type\", \"alpha\");\n\n      _svgMatteSymbols.push(mask);\n\n      var defs = elem.globalData.defs;\n      defs.appendChild(masker);\n      var symbol = createNS(\"symbol\");\n      symbol.setAttribute(\"id\", symbolId);\n      this.replaceInParent(mask, symbolId);\n      symbol.appendChild(mask.layerElement);\n      defs.appendChild(symbol);\n      var useElem = createNS(\"use\");\n      useElem.setAttribute(\"href\", \"#\" + symbolId);\n      masker.appendChild(useElem);\n      mask.data.hd = false;\n      mask.show();\n    }\n\n    elem.setMatte(mask.layerId);\n  };\n\n  SVGMatte3Effect.prototype.initialize = function () {\n    var ind = (this || _global).filterManager.effectElements[0].p.v;\n    var elements = (this || _global).elem.comp.elements;\n    var i = 0;\n    var len = elements.length;\n\n    while (i < len) {\n      if (elements[i] && elements[i].data.ind === ind) {\n        this.setElementAsMask((this || _global).elem, elements[i]);\n      }\n\n      i += 1;\n    }\n\n    (this || _global).initialized = true;\n  };\n\n  SVGMatte3Effect.prototype.renderFrame = function () {\n    if (!(this || _global).initialized) {\n      this.initialize();\n    }\n  };\n  /* global createElementID, filtersFactory, SVGTintFilter, SVGFillFilter, SVGStrokeEffect, SVGTritoneFilter,\r\n  SVGProLevelsFilter, SVGDropShadowEffect, SVGMatte3Effect, SVGGaussianBlurEffect, locationHref */\n\n\n  function SVGEffects(elem) {\n    var i;\n    var len = elem.data.ef ? elem.data.ef.length : 0;\n    var filId = createElementID();\n    var fil = filtersFactory.createFilter(filId, true);\n    var count = 0;\n    (this || _global).filters = [];\n    var filterManager;\n\n    for (i = 0; i < len; i += 1) {\n      filterManager = null;\n\n      if (elem.data.ef[i].ty === 20) {\n        count += 1;\n        filterManager = new SVGTintFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 21) {\n        count += 1;\n        filterManager = new SVGFillFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 22) {\n        filterManager = new SVGStrokeEffect(elem, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 23) {\n        count += 1;\n        filterManager = new SVGTritoneFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 24) {\n        count += 1;\n        filterManager = new SVGProLevelsFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 25) {\n        count += 1;\n        filterManager = new SVGDropShadowEffect(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 28) {\n        // count += 1;\n        filterManager = new SVGMatte3Effect(fil, elem.effectsManager.effectElements[i], elem);\n      } else if (elem.data.ef[i].ty === 29) {\n        count += 1;\n        filterManager = new SVGGaussianBlurEffect(fil, elem.effectsManager.effectElements[i]);\n      }\n\n      if (filterManager) {\n        (this || _global).filters.push(filterManager);\n      }\n    }\n\n    if (count) {\n      elem.globalData.defs.appendChild(fil);\n      elem.layerElement.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n    }\n\n    if ((this || _global).filters.length) {\n      elem.addRenderableComponent(this || _global);\n    }\n  }\n\n  SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n    var i;\n    var len = (this || _global).filters.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).filters[i].renderFrame(_isFirstFrame);\n    }\n  };\n  /* global Matrix, createTypedArray */\n\n\n  function CVContextData() {\n    (this || _global).saved = [];\n    (this || _global).cArrPos = 0;\n    (this || _global).cTr = new Matrix();\n    (this || _global).cO = 1;\n    var i;\n    var len = 15;\n    (this || _global).savedOp = createTypedArray(\"float32\", len);\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).saved[i] = createTypedArray(\"float32\", 16);\n    }\n\n    (this || _global)._length = len;\n  }\n\n  CVContextData.prototype.duplicate = function () {\n    var newLength = (this || _global)._length * 2;\n    var currentSavedOp = (this || _global).savedOp;\n    (this || _global).savedOp = createTypedArray(\"float32\", newLength);\n\n    (this || _global).savedOp.set(currentSavedOp);\n\n    var i = 0;\n\n    for (i = (this || _global)._length; i < newLength; i += 1) {\n      (this || _global).saved[i] = createTypedArray(\"float32\", 16);\n    }\n\n    (this || _global)._length = newLength;\n  };\n\n  CVContextData.prototype.reset = function () {\n    (this || _global).cArrPos = 0;\n\n    (this || _global).cTr.reset();\n\n    (this || _global).cO = 1;\n  };\n  /* global CVEffects, getBlendMode, CVMaskElement, Matrix */\n\n\n  function CVBaseElement() {}\n\n  CVBaseElement.prototype = {\n    createElements: function () {},\n    initRendererElement: function () {},\n    createContainerElements: function () {\n      (this || _global).canvasContext = (this || _global).globalData.canvasContext;\n      (this || _global).renderableEffectsManager = new CVEffects(this || _global);\n    },\n    createContent: function () {},\n    setBlendMode: function () {\n      var globalData = (this || _global).globalData;\n\n      if (globalData.blendMode !== (this || _global).data.bm) {\n        globalData.blendMode = (this || _global).data.bm;\n        var blendModeValue = getBlendMode((this || _global).data.bm);\n        globalData.canvasContext.globalCompositeOperation = blendModeValue;\n      }\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new CVMaskElement((this || _global).data, this || _global);\n    },\n    hideElement: function () {\n      if (!(this || _global).hidden && (!(this || _global).isInRange || (this || _global).isTransparent)) {\n        (this || _global).hidden = true;\n      }\n    },\n    showElement: function () {\n      if ((this || _global).isInRange && !(this || _global).isTransparent) {\n        (this || _global).hidden = false;\n        (this || _global)._isFirstFrame = true;\n        (this || _global).maskManager._isFirstFrame = true;\n      }\n    },\n    renderFrame: function () {\n      if ((this || _global).hidden || (this || _global).data.hd) {\n        return;\n      }\n\n      this.renderTransform();\n      this.renderRenderable();\n      this.setBlendMode();\n      var forceRealStack = (this || _global).data.ty === 0;\n\n      (this || _global).globalData.renderer.save(forceRealStack);\n\n      (this || _global).globalData.renderer.ctxTransform((this || _global).finalTransform.mat.props);\n\n      (this || _global).globalData.renderer.ctxOpacity((this || _global).finalTransform.mProp.o.v);\n\n      this.renderInnerContent();\n\n      (this || _global).globalData.renderer.restore(forceRealStack);\n\n      if ((this || _global).maskManager.hasMasks) {\n        (this || _global).globalData.renderer.restore(true);\n      }\n\n      if ((this || _global)._isFirstFrame) {\n        (this || _global)._isFirstFrame = false;\n      }\n    },\n    destroy: function () {\n      (this || _global).canvasContext = null;\n      (this || _global).data = null;\n      (this || _global).globalData = null;\n\n      (this || _global).maskManager.destroy();\n    },\n    mHelper: new Matrix()\n  };\n  CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n  CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement,HierarchyElement, FrameElement,\r\n  RenderableElement, SVGShapeElement, IImageElement, createTag */\n\n  function CVImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    (this || _global).img = globalData.imageLoader.getAsset((this || _global).assetData);\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\n  CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n  CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n  CVImageElement.prototype.createContent = function () {\n    if ((this || _global).img.width && ((this || _global).assetData.w !== (this || _global).img.width || (this || _global).assetData.h !== (this || _global).img.height)) {\n      var canvas = createTag(\"canvas\");\n      canvas.width = (this || _global).assetData.w;\n      canvas.height = (this || _global).assetData.h;\n      var ctx = canvas.getContext(\"2d\");\n      var imgW = (this || _global).img.width;\n      var imgH = (this || _global).img.height;\n      var imgRel = imgW / imgH;\n      var canvasRel = (this || _global).assetData.w / (this || _global).assetData.h;\n      var widthCrop;\n      var heightCrop;\n      var par = (this || _global).assetData.pr || (this || _global).globalData.renderConfig.imagePreserveAspectRatio;\n\n      if (imgRel > canvasRel && par === \"xMidYMid slice\" || imgRel < canvasRel && par !== \"xMidYMid slice\") {\n        heightCrop = imgH;\n        widthCrop = heightCrop * canvasRel;\n      } else {\n        widthCrop = imgW;\n        heightCrop = widthCrop / canvasRel;\n      }\n\n      ctx.drawImage((this || _global).img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, (this || _global).assetData.w, (this || _global).assetData.h);\n      (this || _global).img = canvas;\n    }\n  };\n\n  CVImageElement.prototype.renderInnerContent = function () {\n    (this || _global).canvasContext.drawImage((this || _global).img, 0, 0);\n  };\n\n  CVImageElement.prototype.destroy = function () {\n    (this || _global).img = null;\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, CanvasRenderer, ICompElement, CVBaseElement */\n\n\n  function CVCompElement(data, globalData, comp) {\n    (this || _global).completeLayers = false;\n    (this || _global).layers = data.layers;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = createSizedArray((this || _global).layers.length);\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement);\n\n  CVCompElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.beginPath();\n    ctx.moveTo(0, 0);\n    ctx.lineTo((this || _global).data.w, 0);\n    ctx.lineTo((this || _global).data.w, (this || _global).data.h);\n    ctx.lineTo(0, (this || _global).data.h);\n    ctx.lineTo(0, 0);\n    ctx.clip();\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].renderFrame();\n      }\n    }\n  };\n\n  CVCompElement.prototype.destroy = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).layers = null;\n    (this || _global).elements = null;\n  };\n  /* global createSizedArray, ShapePropertyFactory, MaskElement */\n\n\n  function CVMaskElement(data, element) {\n    (this || _global).data = data;\n    (this || _global).element = element;\n    (this || _global).masksProperties = (this || _global).data.masksProperties || [];\n    (this || _global).viewData = createSizedArray((this || _global).masksProperties.length);\n    var i;\n    var len = (this || _global).masksProperties.length;\n    var hasMasks = false;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        hasMasks = true;\n      }\n\n      (this || _global).viewData[i] = ShapePropertyFactory.getShapeProp((this || _global).element, (this || _global).masksProperties[i], 3);\n    }\n\n    (this || _global).hasMasks = hasMasks;\n\n    if (hasMasks) {\n      (this || _global).element.addRenderableComponent(this || _global);\n    }\n  }\n\n  CVMaskElement.prototype.renderFrame = function () {\n    if (!(this || _global).hasMasks) {\n      return;\n    }\n\n    var transform = (this || _global).element.finalTransform.mat;\n    var ctx = (this || _global).element.canvasContext;\n    var i;\n    var len = (this || _global).masksProperties.length;\n    var pt;\n    var pts;\n    var data;\n    ctx.beginPath();\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        if ((this || _global).masksProperties[i].inv) {\n          ctx.moveTo(0, 0);\n          ctx.lineTo((this || _global).element.globalData.compSize.w, 0);\n          ctx.lineTo((this || _global).element.globalData.compSize.w, (this || _global).element.globalData.compSize.h);\n          ctx.lineTo(0, (this || _global).element.globalData.compSize.h);\n          ctx.lineTo(0, 0);\n        }\n\n        data = (this || _global).viewData[i].v;\n        pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\n        ctx.moveTo(pt[0], pt[1]);\n        var j;\n        var jLen = data._length;\n\n        for (j = 1; j < jLen; j += 1) {\n          pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\n          ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n        }\n\n        pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\n        ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n      }\n    }\n\n    (this || _global).element.globalData.renderer.save(true);\n\n    ctx.clip();\n  };\n\n  CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n  CVMaskElement.prototype.destroy = function () {\n    (this || _global).element = null;\n  };\n  /* global ShapeTransformManager, extendPrototype, BaseElement, TransformElement, CVBaseElement, IShapeElement,\r\n  HierarchyElement, FrameElement, RenderableElement, RenderableDOMElement, PropertyFactory, degToRads, GradientProperty,\r\n  DashProperty, TransformPropertyFactory, CVShapeData, ShapeModifiers, bmFloor */\n\n\n  function CVShapeElement(data, globalData, comp) {\n    (this || _global).shapes = [];\n    (this || _global).shapesData = data.shapes;\n    (this || _global).stylesList = [];\n    (this || _global).itemsData = [];\n    (this || _global).prevViewData = [];\n    (this || _global).shapeModifiers = [];\n    (this || _global).processedElements = [];\n    (this || _global).transformsManager = new ShapeTransformManager();\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\n  CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\n  CVShapeElement.prototype.transformHelper = {\n    opacity: 1,\n    _opMdf: false\n  };\n  CVShapeElement.prototype.dashResetter = [];\n\n  CVShapeElement.prototype.createContent = function () {\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, true, []);\n  };\n\n  CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n    var styleElem = {\n      data: data,\n      type: data.ty,\n      preTransforms: (this || _global).transformsManager.addTransformSequence(transforms),\n      transforms: [],\n      elements: [],\n      closed: data.hd === true\n    };\n    var elementData = {};\n\n    if (data.ty === \"fl\" || data.ty === \"st\") {\n      elementData.c = PropertyFactory.getProp(this || _global, data.c, 1, 255, this || _global);\n\n      if (!elementData.c.k) {\n        styleElem.co = \"rgb(\" + bmFloor(elementData.c.v[0]) + \",\" + bmFloor(elementData.c.v[1]) + \",\" + bmFloor(elementData.c.v[2]) + \")\";\n      }\n    } else if (data.ty === \"gf\" || data.ty === \"gs\") {\n      elementData.s = PropertyFactory.getProp(this || _global, data.s, 1, null, this || _global);\n      elementData.e = PropertyFactory.getProp(this || _global, data.e, 1, null, this || _global);\n      elementData.h = PropertyFactory.getProp(this || _global, data.h || {\n        k: 0\n      }, 0, 0.01, this || _global);\n      elementData.a = PropertyFactory.getProp(this || _global, data.a || {\n        k: 0\n      }, 0, degToRads, this || _global);\n      elementData.g = new GradientProperty(this || _global, data.g, this || _global);\n    }\n\n    elementData.o = PropertyFactory.getProp(this || _global, data.o, 0, 0.01, this || _global);\n\n    if (data.ty === \"st\" || data.ty === \"gs\") {\n      styleElem.lc = (this || _global).lcEnum[data.lc] || \"round\";\n      styleElem.lj = (this || _global).ljEnum[data.lj] || \"round\";\n\n      if (data.lj == 1) {\n        // eslint-disable-line eqeqeq\n        styleElem.ml = data.ml;\n      }\n\n      elementData.w = PropertyFactory.getProp(this || _global, data.w, 0, null, this || _global);\n\n      if (!elementData.w.k) {\n        styleElem.wi = elementData.w.v;\n      }\n\n      if (data.d) {\n        var d = new DashProperty(this || _global, data.d, \"canvas\", this || _global);\n        elementData.d = d;\n\n        if (!elementData.d.k) {\n          styleElem.da = elementData.d.dashArray;\n          styleElem.do = elementData.d.dashoffset[0];\n        }\n      }\n    } else {\n      styleElem.r = data.r === 2 ? \"evenodd\" : \"nonzero\";\n    }\n\n    (this || _global).stylesList.push(styleElem);\n\n    elementData.style = styleElem;\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createGroupElement = function () {\n    var elementData = {\n      it: [],\n      prevViewData: []\n    };\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createTransformElement = function (data) {\n    var elementData = {\n      transform: {\n        opacity: 1,\n        _opMdf: false,\n        key: (this || _global).transformsManager.getNewKey(),\n        op: PropertyFactory.getProp(this || _global, data.o, 0, 0.01, this || _global),\n        mProps: TransformPropertyFactory.getTransformProperty(this || _global, data, this || _global)\n      }\n    };\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createShapeElement = function (data) {\n    var elementData = new CVShapeData(this || _global, data, (this || _global).stylesList, (this || _global).transformsManager);\n\n    (this || _global).shapes.push(elementData);\n\n    this.addShapeToModifiers(elementData);\n    return elementData;\n  };\n\n  CVShapeElement.prototype.reloadShapes = function () {\n    (this || _global)._isFirstFrame = true;\n    var i;\n    var len = (this || _global).itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).prevViewData[i] = (this || _global).itemsData[i];\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, true, []);\n    len = (this || _global).dynamicProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).dynamicProperties[i].getValue();\n    }\n\n    this.renderModifiers();\n\n    (this || _global).transformsManager.processSequences((this || _global)._isFirstFrame);\n  };\n\n  CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (!(this || _global).stylesList[i].closed) {\n        (this || _global).stylesList[i].transforms.push(transform);\n      }\n    }\n  };\n\n  CVShapeElement.prototype.removeTransformFromStyleList = function () {\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (!(this || _global).stylesList[i].closed) {\n        (this || _global).stylesList[i].transforms.pop();\n      }\n    }\n  };\n\n  CVShapeElement.prototype.closeStyles = function (styles) {\n    var i;\n    var len = styles.length;\n\n    for (i = 0; i < len; i += 1) {\n      styles[i].closed = true;\n    }\n  };\n\n  CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\n    var i;\n    var len = arr.length - 1;\n    var j;\n    var jLen;\n    var ownStyles = [];\n    var ownModifiers = [];\n    var processedPos;\n    var modifier;\n    var currentTransform;\n    var ownTransforms = [].concat(transforms);\n\n    for (i = len; i >= 0; i -= 1) {\n      processedPos = this.searchProcessedElement(arr[i]);\n\n      if (!processedPos) {\n        arr[i]._shouldRender = shouldRender;\n      } else {\n        itemsData[i] = prevViewData[processedPos - 1];\n      }\n\n      if (arr[i].ty === \"fl\" || arr[i].ty === \"st\" || arr[i].ty === \"gf\" || arr[i].ty === \"gs\") {\n        if (!processedPos) {\n          itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\n        } else {\n          itemsData[i].style.closed = false;\n        }\n\n        ownStyles.push(itemsData[i].style);\n      } else if (arr[i].ty === \"gr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createGroupElement(arr[i]);\n        } else {\n          jLen = itemsData[i].it.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsData[i].prevViewData[j] = itemsData[i].it[j];\n          }\n        }\n\n        this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\n      } else if (arr[i].ty === \"tr\") {\n        if (!processedPos) {\n          currentTransform = this.createTransformElement(arr[i]);\n          itemsData[i] = currentTransform;\n        }\n\n        ownTransforms.push(itemsData[i]);\n        this.addTransformToStyleList(itemsData[i]);\n      } else if (arr[i].ty === \"sh\" || arr[i].ty === \"rc\" || arr[i].ty === \"el\" || arr[i].ty === \"sr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createShapeElement(arr[i]);\n        }\n      } else if (arr[i].ty === \"tm\" || arr[i].ty === \"rd\" || arr[i].ty === \"pb\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          modifier.init(this || _global, arr[i]);\n          itemsData[i] = modifier;\n\n          (this || _global).shapeModifiers.push(modifier);\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = false;\n        }\n\n        ownModifiers.push(modifier);\n      } else if (arr[i].ty === \"rp\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          itemsData[i] = modifier;\n          modifier.init(this || _global, arr, i, itemsData);\n\n          (this || _global).shapeModifiers.push(modifier);\n\n          shouldRender = false;\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = true;\n        }\n\n        ownModifiers.push(modifier);\n      }\n\n      this.addProcessedElement(arr[i], i + 1);\n    }\n\n    this.removeTransformFromStyleList();\n    this.closeStyles(ownStyles);\n    len = ownModifiers.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownModifiers[i].closed = true;\n    }\n  };\n\n  CVShapeElement.prototype.renderInnerContent = function () {\n    (this || _global).transformHelper.opacity = 1;\n    (this || _global).transformHelper._opMdf = false;\n    this.renderModifiers();\n\n    (this || _global).transformsManager.processSequences((this || _global)._isFirstFrame);\n\n    this.renderShape((this || _global).transformHelper, (this || _global).shapesData, (this || _global).itemsData, true);\n  };\n\n  CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n    if (parentTransform._opMdf || groupTransform.op._mdf || (this || _global)._isFirstFrame) {\n      groupTransform.opacity = parentTransform.opacity;\n      groupTransform.opacity *= groupTransform.op.v;\n      groupTransform._opMdf = true;\n    }\n  };\n\n  CVShapeElement.prototype.drawLayer = function () {\n    var i;\n    var len = (this || _global).stylesList.length;\n    var j;\n    var jLen;\n    var k;\n    var kLen;\n    var elems;\n    var nodes;\n    var renderer = (this || _global).globalData.renderer;\n    var ctx = (this || _global).globalData.canvasContext;\n    var type;\n    var currentStyle;\n\n    for (i = 0; i < len; i += 1) {\n      currentStyle = (this || _global).stylesList[i];\n      type = currentStyle.type; // Skipping style when\n      // Stroke width equals 0\n      // style should not be rendered (extra unused repeaters)\n      // current opacity equals 0\n      // global opacity equals 0\n\n      if (!((type === \"st\" || type === \"gs\") && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || (this || _global).globalData.currentGlobalAlpha === 0)) {\n        renderer.save();\n        elems = currentStyle.elements;\n\n        if (type === \"st\" || type === \"gs\") {\n          ctx.strokeStyle = type === \"st\" ? currentStyle.co : currentStyle.grd;\n          ctx.lineWidth = currentStyle.wi;\n          ctx.lineCap = currentStyle.lc;\n          ctx.lineJoin = currentStyle.lj;\n          ctx.miterLimit = currentStyle.ml || 0;\n        } else {\n          ctx.fillStyle = type === \"fl\" ? currentStyle.co : currentStyle.grd;\n        }\n\n        renderer.ctxOpacity(currentStyle.coOp);\n\n        if (type !== \"st\" && type !== \"gs\") {\n          ctx.beginPath();\n        }\n\n        renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\n        jLen = elems.length;\n\n        for (j = 0; j < jLen; j += 1) {\n          if (type === \"st\" || type === \"gs\") {\n            ctx.beginPath();\n\n            if (currentStyle.da) {\n              ctx.setLineDash(currentStyle.da);\n              ctx.lineDashOffset = currentStyle.do;\n            }\n          }\n\n          nodes = elems[j].trNodes;\n          kLen = nodes.length;\n\n          for (k = 0; k < kLen; k += 1) {\n            if (nodes[k].t === \"m\") {\n              ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\n            } else if (nodes[k].t === \"c\") {\n              ctx.bezierCurveTo(nodes[k].pts[0], nodes[k].pts[1], nodes[k].pts[2], nodes[k].pts[3], nodes[k].pts[4], nodes[k].pts[5]);\n            } else {\n              ctx.closePath();\n            }\n          }\n\n          if (type === \"st\" || type === \"gs\") {\n            ctx.stroke();\n\n            if (currentStyle.da) {\n              ctx.setLineDash((this || _global).dashResetter);\n            }\n          }\n        }\n\n        if (type !== \"st\" && type !== \"gs\") {\n          ctx.fill(currentStyle.r);\n        }\n\n        renderer.restore();\n      }\n    }\n  };\n\n  CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\n    var i;\n    var len = items.length - 1;\n    var groupTransform;\n    groupTransform = parentTransform;\n\n    for (i = len; i >= 0; i -= 1) {\n      if (items[i].ty === \"tr\") {\n        groupTransform = data[i].transform;\n        this.renderShapeTransform(parentTransform, groupTransform);\n      } else if (items[i].ty === \"sh\" || items[i].ty === \"el\" || items[i].ty === \"rc\" || items[i].ty === \"sr\") {\n        this.renderPath(items[i], data[i]);\n      } else if (items[i].ty === \"fl\") {\n        this.renderFill(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"st\") {\n        this.renderStroke(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"gf\" || items[i].ty === \"gs\") {\n        this.renderGradientFill(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"gr\") {\n        this.renderShape(groupTransform, items[i].it, data[i].it);\n      } else if (items[i].ty === \"tm\") {//\n      }\n    }\n\n    if (isMain) {\n      this.drawLayer();\n    }\n  };\n\n  CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\n    if ((this || _global)._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\n      var shapeNodes = styledShape.trNodes;\n      var paths = shape.paths;\n      var i;\n      var len;\n      var j;\n      var jLen = paths._length;\n      shapeNodes.length = 0;\n      var groupTransformMat = styledShape.transforms.finalTransform;\n\n      for (j = 0; j < jLen; j += 1) {\n        var pathNodes = paths.shapes[j];\n\n        if (pathNodes && pathNodes.v) {\n          len = pathNodes._length;\n\n          for (i = 1; i < len; i += 1) {\n            if (i === 1) {\n              shapeNodes.push({\n                t: \"m\",\n                p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n              });\n            }\n\n            shapeNodes.push({\n              t: \"c\",\n              pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\n            });\n          }\n\n          if (len === 1) {\n            shapeNodes.push({\n              t: \"m\",\n              p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n            });\n          }\n\n          if (pathNodes.c && len) {\n            shapeNodes.push({\n              t: \"c\",\n              pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\n            });\n            shapeNodes.push({\n              t: \"z\"\n            });\n          }\n        }\n      }\n\n      styledShape.trNodes = shapeNodes;\n    }\n  };\n\n  CVShapeElement.prototype.renderPath = function (pathData, itemData) {\n    if (pathData.hd !== true && pathData._shouldRender) {\n      var i;\n      var len = itemData.styledShapes.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\n      }\n    }\n  };\n\n  CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n\n    if (itemData.c._mdf || (this || _global)._isFirstFrame) {\n      styleElem.co = \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\";\n    }\n\n    if (itemData.o._mdf || groupTransform._opMdf || (this || _global)._isFirstFrame) {\n      styleElem.coOp = itemData.o.v * groupTransform.opacity;\n    }\n  };\n\n  CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n    var grd;\n\n    if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {\n      var ctx = (this || _global).globalData.canvasContext;\n      var pt1 = itemData.s.v;\n      var pt2 = itemData.e.v;\n\n      if (styleData.t === 1) {\n        grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\n      } else {\n        var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n        var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n        var percent = itemData.h.v;\n\n        if (percent >= 1) {\n          percent = 0.99;\n        } else if (percent <= -1) {\n          percent = -0.99;\n        }\n\n        var dist = rad * percent;\n        var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n        var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n        grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\n      }\n\n      var i;\n      var len = styleData.g.p;\n      var cValues = itemData.g.c;\n      var opacity = 1;\n\n      for (i = 0; i < len; i += 1) {\n        if (itemData.g._hasOpacity && itemData.g._collapsable) {\n          opacity = itemData.g.o[i * 2 + 1];\n        }\n\n        grd.addColorStop(cValues[i * 4] / 100, \"rgba(\" + cValues[i * 4 + 1] + \",\" + cValues[i * 4 + 2] + \",\" + cValues[i * 4 + 3] + \",\" + opacity + \")\");\n      }\n\n      styleElem.grd = grd;\n    }\n\n    styleElem.coOp = itemData.o.v * groupTransform.opacity;\n  };\n\n  CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n    var d = itemData.d;\n\n    if (d && (d._mdf || (this || _global)._isFirstFrame)) {\n      styleElem.da = d.dashArray;\n      styleElem.do = d.dashoffset[0];\n    }\n\n    if (itemData.c._mdf || (this || _global)._isFirstFrame) {\n      styleElem.co = \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\";\n    }\n\n    if (itemData.o._mdf || groupTransform._opMdf || (this || _global)._isFirstFrame) {\n      styleElem.coOp = itemData.o.v * groupTransform.opacity;\n    }\n\n    if (itemData.w._mdf || (this || _global)._isFirstFrame) {\n      styleElem.wi = itemData.w.v;\n    }\n  };\n\n  CVShapeElement.prototype.destroy = function () {\n    (this || _global).shapesData = null;\n    (this || _global).globalData = null;\n    (this || _global).canvasContext = null;\n    (this || _global).stylesList.length = 0;\n    (this || _global).itemsData.length = 0;\n  };\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement,\r\n  SVGShapeElement, IImageElement */\n\n\n  function CVSolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\n  CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n  CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n  CVSolidElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.fillStyle = (this || _global).data.sc;\n    ctx.fillRect(0, 0, (this || _global).data.sw, (this || _global).data.sh); //\n  };\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement,\r\n  RenderableElement, ITextElement, createTag, createSizedArray */\n\n\n  function CVTextElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).yOffset = 0;\n    (this || _global).fillColorAnim = false;\n    (this || _global).strokeColorAnim = false;\n    (this || _global).strokeWidthAnim = false;\n    (this || _global).stroke = false;\n    (this || _global).fill = false;\n    (this || _global).justifyOffset = 0;\n    (this || _global).currentRender = null;\n    (this || _global).renderType = \"canvas\";\n    (this || _global).values = {\n      fill: \"rgba(0,0,0,0)\",\n      stroke: \"rgba(0,0,0,0)\",\n      sWidth: 0,\n      fValue: \"\"\n    };\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\n  CVTextElement.prototype.tHelper = createTag(\"canvas\").getContext(\"2d\");\n\n  CVTextElement.prototype.buildNewText = function () {\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n    var hasFill = false;\n\n    if (documentData.fc) {\n      hasFill = true;\n      (this || _global).values.fill = this.buildColor(documentData.fc);\n    } else {\n      (this || _global).values.fill = \"rgba(0,0,0,0)\";\n    }\n\n    (this || _global).fill = hasFill;\n    var hasStroke = false;\n\n    if (documentData.sc) {\n      hasStroke = true;\n      (this || _global).values.stroke = this.buildColor(documentData.sc);\n      (this || _global).values.sWidth = documentData.sw;\n    }\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    var i;\n    var len;\n    var letters = documentData.l;\n    var matrixHelper = (this || _global).mHelper;\n    (this || _global).stroke = hasStroke;\n    (this || _global).values.fValue = documentData.finalSize + \"px \" + (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily;\n    len = documentData.finalText.length; // this.tHelper.font = this.values.fValue;\n\n    var charData;\n    var shapeData;\n    var k;\n    var kLen;\n    var shapes;\n    var j;\n    var jLen;\n    var pathNodes;\n    var commands;\n    var pathArr;\n    var singleShape = (this || _global).data.singleShape;\n    var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n    var xPos = 0;\n    var yPos = 0;\n    var firstLine = true;\n    var cnt = 0;\n\n    for (i = 0; i < len; i += 1) {\n      charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n      shapeData = charData && charData.data || {};\n      matrixHelper.reset();\n\n      if (singleShape && letters[i].n) {\n        xPos = -trackingOffset;\n        yPos += documentData.yOffset;\n        yPos += firstLine ? 1 : 0;\n        firstLine = false;\n      }\n\n      shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n      jLen = shapes.length;\n      matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n      if (singleShape) {\n        this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n      }\n\n      commands = createSizedArray(jLen);\n\n      for (j = 0; j < jLen; j += 1) {\n        kLen = shapes[j].ks.k.i.length;\n        pathNodes = shapes[j].ks.k;\n        pathArr = [];\n\n        for (k = 1; k < kLen; k += 1) {\n          if (k === 1) {\n            pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n          }\n\n          pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToY(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToX(pathNodes.v[k][0], pathNodes.v[k][1], 0), matrixHelper.applyToY(pathNodes.v[k][0], pathNodes.v[k][1], 0));\n        }\n\n        pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToY(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n        commands[j] = pathArr;\n      }\n\n      if (singleShape) {\n        xPos += letters[i].l;\n        xPos += trackingOffset;\n      }\n\n      if ((this || _global).textSpans[cnt]) {\n        (this || _global).textSpans[cnt].elem = commands;\n      } else {\n        (this || _global).textSpans[cnt] = {\n          elem: commands\n        };\n      }\n\n      cnt += 1;\n    }\n  };\n\n  CVTextElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.font = (this || _global).values.fValue;\n    ctx.lineCap = \"butt\";\n    ctx.lineJoin = \"miter\";\n    ctx.miterLimit = 4;\n\n    if (!(this || _global).data.singleShape) {\n      (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n    }\n\n    var i;\n    var len;\n    var j;\n    var jLen;\n    var k;\n    var kLen;\n    var renderedLetters = (this || _global).textAnimator.renderedLetters;\n    var letters = (this || _global).textProperty.currentData.l;\n    len = letters.length;\n    var renderedLetter;\n    var lastFill = null;\n    var lastStroke = null;\n    var lastStrokeW = null;\n    var commands;\n    var pathArr;\n\n    for (i = 0; i < len; i += 1) {\n      if (!letters[i].n) {\n        renderedLetter = renderedLetters[i];\n\n        if (renderedLetter) {\n          (this || _global).globalData.renderer.save();\n\n          (this || _global).globalData.renderer.ctxTransform(renderedLetter.p);\n\n          (this || _global).globalData.renderer.ctxOpacity(renderedLetter.o);\n        }\n\n        if ((this || _global).fill) {\n          if (renderedLetter && renderedLetter.fc) {\n            if (lastFill !== renderedLetter.fc) {\n              lastFill = renderedLetter.fc;\n              ctx.fillStyle = renderedLetter.fc;\n            }\n          } else if (lastFill !== (this || _global).values.fill) {\n            lastFill = (this || _global).values.fill;\n            ctx.fillStyle = (this || _global).values.fill;\n          }\n\n          commands = (this || _global).textSpans[i].elem;\n          jLen = commands.length;\n\n          (this || _global).globalData.canvasContext.beginPath();\n\n          for (j = 0; j < jLen; j += 1) {\n            pathArr = commands[j];\n            kLen = pathArr.length;\n\n            (this || _global).globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n            for (k = 2; k < kLen; k += 6) {\n              (this || _global).globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n            }\n          }\n\n          (this || _global).globalData.canvasContext.closePath();\n\n          (this || _global).globalData.canvasContext.fill(); /// ctx.fillText(this.textSpans[i].val,0,0);\n\n        }\n\n        if ((this || _global).stroke) {\n          if (renderedLetter && renderedLetter.sw) {\n            if (lastStrokeW !== renderedLetter.sw) {\n              lastStrokeW = renderedLetter.sw;\n              ctx.lineWidth = renderedLetter.sw;\n            }\n          } else if (lastStrokeW !== (this || _global).values.sWidth) {\n            lastStrokeW = (this || _global).values.sWidth;\n            ctx.lineWidth = (this || _global).values.sWidth;\n          }\n\n          if (renderedLetter && renderedLetter.sc) {\n            if (lastStroke !== renderedLetter.sc) {\n              lastStroke = renderedLetter.sc;\n              ctx.strokeStyle = renderedLetter.sc;\n            }\n          } else if (lastStroke !== (this || _global).values.stroke) {\n            lastStroke = (this || _global).values.stroke;\n            ctx.strokeStyle = (this || _global).values.stroke;\n          }\n\n          commands = (this || _global).textSpans[i].elem;\n          jLen = commands.length;\n\n          (this || _global).globalData.canvasContext.beginPath();\n\n          for (j = 0; j < jLen; j += 1) {\n            pathArr = commands[j];\n            kLen = pathArr.length;\n\n            (this || _global).globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n            for (k = 2; k < kLen; k += 6) {\n              (this || _global).globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n            }\n          }\n\n          (this || _global).globalData.canvasContext.closePath();\n\n          (this || _global).globalData.canvasContext.stroke(); /// ctx.strokeText(letters[i].val,0,0);\n\n        }\n\n        if (renderedLetter) {\n          (this || _global).globalData.renderer.restore();\n        }\n      }\n    }\n  };\n\n  function CVEffects() {}\n\n  CVEffects.prototype.renderFrame = function () {};\n  /* global createTag, createNS, styleDiv, CVEffects, MaskElement, SVGBaseElement, HybridRenderer */\n\n\n  function HBaseElement() {}\n\n  HBaseElement.prototype = {\n    checkBlendMode: function () {},\n    initRendererElement: function () {\n      (this || _global).baseElement = createTag((this || _global).data.tg || \"div\");\n\n      if ((this || _global).data.hasMask) {\n        (this || _global).svgElement = createNS(\"svg\");\n        (this || _global).layerElement = createNS(\"g\");\n        (this || _global).maskedElement = (this || _global).layerElement;\n\n        (this || _global).svgElement.appendChild((this || _global).layerElement);\n\n        (this || _global).baseElement.appendChild((this || _global).svgElement);\n      } else {\n        (this || _global).layerElement = (this || _global).baseElement;\n      }\n\n      styleDiv((this || _global).baseElement);\n    },\n    createContainerElements: function () {\n      (this || _global).renderableEffectsManager = new CVEffects(this || _global);\n      (this || _global).transformedElement = (this || _global).baseElement;\n      (this || _global).maskedElement = (this || _global).layerElement;\n\n      if ((this || _global).data.ln) {\n        (this || _global).layerElement.setAttribute(\"id\", (this || _global).data.ln);\n      }\n\n      if ((this || _global).data.cl) {\n        (this || _global).layerElement.setAttribute(\"class\", (this || _global).data.cl);\n      }\n\n      if ((this || _global).data.bm !== 0) {\n        this.setBlendMode();\n      }\n    },\n    renderElement: function () {\n      var transformedElementStyle = (this || _global).transformedElement ? (this || _global).transformedElement.style : {};\n\n      if ((this || _global).finalTransform._matMdf) {\n        var matrixValue = (this || _global).finalTransform.mat.toCSS();\n\n        transformedElementStyle.transform = matrixValue;\n        transformedElementStyle.webkitTransform = matrixValue;\n      }\n\n      if ((this || _global).finalTransform._opMdf) {\n        transformedElementStyle.opacity = (this || _global).finalTransform.mProp.o.v;\n      }\n    },\n    renderFrame: function () {\n      // If it is exported as hidden (data.hd === true) no need to render\n      // If it is not visible no need to render\n      if ((this || _global).data.hd || (this || _global).hidden) {\n        return;\n      }\n\n      this.renderTransform();\n      this.renderRenderable();\n      this.renderElement();\n      this.renderInnerContent();\n\n      if ((this || _global)._isFirstFrame) {\n        (this || _global)._isFirstFrame = false;\n      }\n    },\n    destroy: function () {\n      (this || _global).layerElement = null;\n      (this || _global).transformedElement = null;\n\n      if ((this || _global).matteElement) {\n        (this || _global).matteElement = null;\n      }\n\n      if ((this || _global).maskManager) {\n        (this || _global).maskManager.destroy();\n\n        (this || _global).maskManager = null;\n      }\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new MaskElement((this || _global).data, this || _global, (this || _global).globalData);\n    },\n    addEffects: function () {},\n    setMatte: function () {}\n  };\n  HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n  HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n  HBaseElement.prototype.buildElementParenting = HybridRenderer.prototype.buildElementParenting;\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, createNS, createTag */\n\n  function HSolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\n\n  HSolidElement.prototype.createContent = function () {\n    var rect;\n\n    if ((this || _global).data.hasMask) {\n      rect = createNS(\"rect\");\n      rect.setAttribute(\"width\", (this || _global).data.sw);\n      rect.setAttribute(\"height\", (this || _global).data.sh);\n      rect.setAttribute(\"fill\", (this || _global).data.sc);\n\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).data.sw);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).data.sh);\n    } else {\n      rect = createTag(\"div\");\n      rect.style.width = (this || _global).data.sw + \"px\";\n      rect.style.height = (this || _global).data.sh + \"px\";\n      rect.style.backgroundColor = (this || _global).data.sc;\n    }\n\n    (this || _global).layerElement.appendChild(rect);\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, HybridRenderer, ICompElement, HBaseElement */\n\n\n  function HCompElement(data, globalData, comp) {\n    (this || _global).layers = data.layers;\n    (this || _global).supports3d = !data.hasMask;\n    (this || _global).completeLayers = false;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = (this || _global).layers ? createSizedArray((this || _global).layers.length) : [];\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([HybridRenderer, ICompElement, HBaseElement], HCompElement);\n  HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\n\n  HCompElement.prototype.createContainerElements = function () {\n    this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\n\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).data.w);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).data.h);\n\n      (this || _global).transformedElement = (this || _global).baseElement;\n    } else {\n      (this || _global).transformedElement = (this || _global).layerElement;\n    }\n  };\n\n  HCompElement.prototype.addTo3dContainer = function (elem, pos) {\n    var j = 0;\n    var nextElement;\n\n    while (j < pos) {\n      if ((this || _global).elements[j] && (this || _global).elements[j].getBaseElement) {\n        nextElement = (this || _global).elements[j].getBaseElement();\n      }\n\n      j += 1;\n    }\n\n    if (nextElement) {\n      (this || _global).layerElement.insertBefore(elem, nextElement);\n    } else {\n      (this || _global).layerElement.appendChild(elem);\n    }\n  };\n  /* global createNS, extendPrototype, BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement,\r\n  HierarchyElement, FrameElement, RenderableElement, createNS, bmMin, bmSqrt, bmMin, bmMax, bmPow */\n\n\n  function HShapeElement(data, globalData, comp) {\n    // List of drawable elements\n    (this || _global).shapes = []; // Full shape data\n\n    (this || _global).shapesData = data.shapes; // List of styles that will be applied to shapes\n\n    (this || _global).stylesList = []; // List of modifiers that will be applied to shapes\n\n    (this || _global).shapeModifiers = []; // List of items in shape tree\n\n    (this || _global).itemsData = []; // List of items in previous shape tree\n\n    (this || _global).processedElements = []; // List of animated components\n\n    (this || _global).animatedContents = [];\n    (this || _global).shapesContainer = createNS(\"g\");\n    this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n    // List of elements that have been created\n\n    (this || _global).prevViewData = [];\n    (this || _global).currentBBox = {\n      x: 999999,\n      y: -999999,\n      h: 0,\n      w: 0\n    };\n  }\n\n  extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\n  HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\n\n  HShapeElement.prototype.createContent = function () {\n    var cont;\n    (this || _global).baseElement.style.fontSize = 0;\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).layerElement.appendChild((this || _global).shapesContainer);\n\n      cont = (this || _global).svgElement;\n    } else {\n      cont = createNS(\"svg\");\n      var size = (this || _global).comp.data ? (this || _global).comp.data : (this || _global).globalData.compSize;\n      cont.setAttribute(\"width\", size.w);\n      cont.setAttribute(\"height\", size.h);\n      cont.appendChild((this || _global).shapesContainer);\n\n      (this || _global).layerElement.appendChild(cont);\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).shapesContainer, 0, [], true);\n    this.filterUniqueShapes();\n    (this || _global).shapeCont = cont;\n  };\n\n  HShapeElement.prototype.getTransformedPoint = function (transformers, point) {\n    var i;\n    var len = transformers.length;\n\n    for (i = 0; i < len; i += 1) {\n      point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\n    }\n\n    return point;\n  };\n\n  HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\n    var shape = item.sh.v;\n    var transformers = item.transformers;\n    var i;\n    var len = shape._length;\n    var vPoint;\n    var oPoint;\n    var nextIPoint;\n    var nextVPoint;\n\n    if (len <= 1) {\n      return;\n    }\n\n    for (i = 0; i < len - 1; i += 1) {\n      vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n      oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n      nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\n      nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\n      this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n    }\n\n    if (shape.c) {\n      vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n      oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n      nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\n      nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\n      this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n    }\n  };\n\n  HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\n    this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\n    var bounds = (this || _global).shapeBoundingBox;\n    boundingBox.x = bmMin(bounds.left, boundingBox.x);\n    boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\n    boundingBox.y = bmMin(bounds.top, boundingBox.y);\n    boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\n  };\n\n  HShapeElement.prototype.shapeBoundingBox = {\n    left: 0,\n    right: 0,\n    top: 0,\n    bottom: 0\n  };\n  HShapeElement.prototype.tempBoundingBox = {\n    x: 0,\n    xMax: 0,\n    y: 0,\n    yMax: 0,\n    width: 0,\n    height: 0\n  };\n\n  HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\n    var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\n\n    for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {\n      // eslint-disable-line no-plusplus\n      b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n      a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n      c = 3 * p1[i] - 3 * p0[i];\n      b |= 0; // eslint-disable-line no-bitwise\n\n      a |= 0; // eslint-disable-line no-bitwise\n\n      c |= 0; // eslint-disable-line no-bitwise\n\n      if (a === 0 && b === 0) {//\n      } else if (a === 0) {\n        t = -c / b;\n\n        if (t > 0 && t < 1) {\n          bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\n        }\n      } else {\n        b2ac = b * b - 4 * c * a;\n\n        if (b2ac >= 0) {\n          t1 = (-b + bmSqrt(b2ac)) / (2 * a);\n          if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\n          t2 = (-b - bmSqrt(b2ac)) / (2 * a);\n          if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\n        }\n      }\n    }\n\n    (this || _global).shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n    (this || _global).shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n    (this || _global).shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n    (this || _global).shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\n  };\n\n  HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\n    return bmPow(1 - t, 3) * p0[i] + 3 * bmPow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * bmPow(t, 2) * p2[i] + bmPow(t, 3) * p3[i];\n  };\n\n  HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\n    var i;\n    var len = itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (itemsData[i] && itemsData[i].sh) {\n        this.calculateShapeBoundingBox(itemsData[i], boundingBox);\n      } else if (itemsData[i] && itemsData[i].it) {\n        this.calculateBoundingBox(itemsData[i].it, boundingBox);\n      }\n    }\n  };\n\n  HShapeElement.prototype.currentBoxContains = function (box) {\n    return (this || _global).currentBBox.x <= box.x && (this || _global).currentBBox.y <= box.y && (this || _global).currentBBox.width + (this || _global).currentBBox.x >= box.x + box.width && (this || _global).currentBBox.height + (this || _global).currentBBox.y >= box.y + box.height;\n  };\n\n  HShapeElement.prototype.renderInnerContent = function () {\n    this._renderShapeFrame();\n\n    if (!(this || _global).hidden && ((this || _global)._isFirstFrame || (this || _global)._mdf)) {\n      var tempBoundingBox = (this || _global).tempBoundingBox;\n      var max = 999999;\n      tempBoundingBox.x = max;\n      tempBoundingBox.xMax = -max;\n      tempBoundingBox.y = max;\n      tempBoundingBox.yMax = -max;\n      this.calculateBoundingBox((this || _global).itemsData, tempBoundingBox);\n      tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\n      tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox();\n\n      if (this.currentBoxContains(tempBoundingBox)) {\n        return;\n      }\n\n      var changed = false;\n\n      if ((this || _global).currentBBox.w !== tempBoundingBox.width) {\n        (this || _global).currentBBox.w = tempBoundingBox.width;\n\n        (this || _global).shapeCont.setAttribute(\"width\", tempBoundingBox.width);\n\n        changed = true;\n      }\n\n      if ((this || _global).currentBBox.h !== tempBoundingBox.height) {\n        (this || _global).currentBBox.h = tempBoundingBox.height;\n\n        (this || _global).shapeCont.setAttribute(\"height\", tempBoundingBox.height);\n\n        changed = true;\n      }\n\n      if (changed || (this || _global).currentBBox.x !== tempBoundingBox.x || (this || _global).currentBBox.y !== tempBoundingBox.y) {\n        (this || _global).currentBBox.w = tempBoundingBox.width;\n        (this || _global).currentBBox.h = tempBoundingBox.height;\n        (this || _global).currentBBox.x = tempBoundingBox.x;\n        (this || _global).currentBBox.y = tempBoundingBox.y;\n\n        (this || _global).shapeCont.setAttribute(\"viewBox\", (this || _global).currentBBox.x + \" \" + (this || _global).currentBBox.y + \" \" + (this || _global).currentBBox.w + \" \" + (this || _global).currentBBox.h);\n\n        var shapeStyle = (this || _global).shapeCont.style;\n        var shapeTransform = \"translate(\" + (this || _global).currentBBox.x + \"px,\" + (this || _global).currentBBox.y + \"px)\";\n        shapeStyle.transform = shapeTransform;\n        shapeStyle.webkitTransform = shapeTransform;\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, ITextElement, createSizedArray, createTag, styleDiv, createNS */\n\n\n  function HTextElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).textPaths = [];\n    (this || _global).currentBBox = {\n      x: 999999,\n      y: -999999,\n      h: 0,\n      w: 0\n    };\n    (this || _global).renderType = \"svg\";\n    (this || _global).isMasked = false;\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\n\n  HTextElement.prototype.createContent = function () {\n    (this || _global).isMasked = this.checkMasks();\n\n    if ((this || _global).isMasked) {\n      (this || _global).renderType = \"svg\";\n      (this || _global).compW = (this || _global).comp.data.w;\n      (this || _global).compH = (this || _global).comp.data.h;\n\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).compW);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).compH);\n\n      var g = createNS(\"g\");\n\n      (this || _global).maskedElement.appendChild(g);\n\n      (this || _global).innerElem = g;\n    } else {\n      (this || _global).renderType = \"html\";\n      (this || _global).innerElem = (this || _global).layerElement;\n    }\n\n    this.checkParenting();\n  };\n\n  HTextElement.prototype.buildNewText = function () {\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n    var innerElemStyle = (this || _global).innerElem.style;\n    var textColor = documentData.fc ? this.buildColor(documentData.fc) : \"rgba(0,0,0,0)\";\n    innerElemStyle.fill = textColor;\n    innerElemStyle.color = textColor;\n\n    if (documentData.sc) {\n      innerElemStyle.stroke = this.buildColor(documentData.sc);\n      innerElemStyle.strokeWidth = documentData.sw + \"px\";\n    }\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    if (!(this || _global).globalData.fontManager.chars) {\n      innerElemStyle.fontSize = documentData.finalSize + \"px\";\n      innerElemStyle.lineHeight = documentData.finalSize + \"px\";\n\n      if (fontData.fClass) {\n        (this || _global).innerElem.className = fontData.fClass;\n      } else {\n        innerElemStyle.fontFamily = fontData.fFamily;\n        var fWeight = documentData.fWeight;\n        var fStyle = documentData.fStyle;\n        innerElemStyle.fontStyle = fStyle;\n        innerElemStyle.fontWeight = fWeight;\n      }\n    }\n\n    var i;\n    var len;\n    var letters = documentData.l;\n    len = letters.length;\n    var tSpan;\n    var tParent;\n    var tCont;\n    var matrixHelper = (this || _global).mHelper;\n    var shapes;\n    var shapeStr = \"\";\n    var cnt = 0;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).globalData.fontManager.chars) {\n        if (!(this || _global).textPaths[cnt]) {\n          tSpan = createNS(\"path\");\n          tSpan.setAttribute(\"stroke-linecap\", \"butt\");\n          tSpan.setAttribute(\"stroke-linejoin\", \"round\");\n          tSpan.setAttribute(\"stroke-miterlimit\", \"4\");\n        } else {\n          tSpan = (this || _global).textPaths[cnt];\n        }\n\n        if (!(this || _global).isMasked) {\n          if ((this || _global).textSpans[cnt]) {\n            tParent = (this || _global).textSpans[cnt];\n            tCont = tParent.children[0];\n          } else {\n            tParent = createTag(\"div\");\n            tParent.style.lineHeight = 0;\n            tCont = createNS(\"svg\");\n            tCont.appendChild(tSpan);\n            styleDiv(tParent);\n          }\n        }\n      } else if (!(this || _global).isMasked) {\n        if ((this || _global).textSpans[cnt]) {\n          tParent = (this || _global).textSpans[cnt];\n          tSpan = (this || _global).textPaths[cnt];\n        } else {\n          tParent = createTag(\"span\");\n          styleDiv(tParent);\n          tSpan = createTag(\"span\");\n          styleDiv(tSpan);\n          tParent.appendChild(tSpan);\n        }\n      } else {\n        tSpan = (this || _global).textPaths[cnt] ? (this || _global).textPaths[cnt] : createNS(\"text\");\n      } // tSpan.setAttribute('visibility', 'hidden');\n\n\n      if ((this || _global).globalData.fontManager.chars) {\n        var charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n\n        var shapeData;\n\n        if (charData) {\n          shapeData = charData.data;\n        } else {\n          shapeData = null;\n        }\n\n        matrixHelper.reset();\n\n        if (shapeData && shapeData.shapes) {\n          shapes = shapeData.shapes[0].it;\n          matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n          shapeStr = this.createPathShape(matrixHelper, shapes);\n          tSpan.setAttribute(\"d\", shapeStr);\n        }\n\n        if (!(this || _global).isMasked) {\n          (this || _global).innerElem.appendChild(tParent);\n\n          if (shapeData && shapeData.shapes) {\n            // document.body.appendChild is needed to get exact measure of shape\n            document.body.appendChild(tCont);\n            var boundingBox = tCont.getBBox();\n            tCont.setAttribute(\"width\", boundingBox.width + 2);\n            tCont.setAttribute(\"height\", boundingBox.height + 2);\n            tCont.setAttribute(\"viewBox\", boundingBox.x - 1 + \" \" + (boundingBox.y - 1) + \" \" + (boundingBox.width + 2) + \" \" + (boundingBox.height + 2));\n            var tContStyle = tCont.style;\n            var tContTranslation = \"translate(\" + (boundingBox.x - 1) + \"px,\" + (boundingBox.y - 1) + \"px)\";\n            tContStyle.transform = tContTranslation;\n            tContStyle.webkitTransform = tContTranslation;\n            letters[i].yOffset = boundingBox.y - 1;\n          } else {\n            tCont.setAttribute(\"width\", 1);\n            tCont.setAttribute(\"height\", 1);\n          }\n\n          tParent.appendChild(tCont);\n        } else {\n          (this || _global).innerElem.appendChild(tSpan);\n        }\n      } else {\n        tSpan.textContent = letters[i].val;\n        tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n\n        if (!(this || _global).isMasked) {\n          (this || _global).innerElem.appendChild(tParent); //\n\n\n          var tStyle = tSpan.style;\n          var tSpanTranslation = \"translate3d(0,\" + -documentData.finalSize / 1.2 + \"px,0)\";\n          tStyle.transform = tSpanTranslation;\n          tStyle.webkitTransform = tSpanTranslation;\n        } else {\n          (this || _global).innerElem.appendChild(tSpan);\n        }\n      } //\n\n\n      if (!(this || _global).isMasked) {\n        (this || _global).textSpans[cnt] = tParent;\n      } else {\n        (this || _global).textSpans[cnt] = tSpan;\n      }\n\n      (this || _global).textSpans[cnt].style.display = \"block\";\n      (this || _global).textPaths[cnt] = tSpan;\n      cnt += 1;\n    }\n\n    while (cnt < (this || _global).textSpans.length) {\n      (this || _global).textSpans[cnt].style.display = \"none\";\n      cnt += 1;\n    }\n  };\n\n  HTextElement.prototype.renderInnerContent = function () {\n    var svgStyle;\n\n    if ((this || _global).data.singleShape) {\n      if (!(this || _global)._isFirstFrame && !(this || _global).lettersChangedFlag) {\n        return;\n      }\n\n      if ((this || _global).isMasked && (this || _global).finalTransform._matMdf) {\n        // Todo Benchmark if using this is better than getBBox\n        (this || _global).svgElement.setAttribute(\"viewBox\", -(this || _global).finalTransform.mProp.p.v[0] + \" \" + -(this || _global).finalTransform.mProp.p.v[1] + \" \" + (this || _global).compW + \" \" + (this || _global).compH);\n\n        svgStyle = (this || _global).svgElement.style;\n        var translation = \"translate(\" + -(this || _global).finalTransform.mProp.p.v[0] + \"px,\" + -(this || _global).finalTransform.mProp.p.v[1] + \"px)\";\n        svgStyle.transform = translation;\n        svgStyle.webkitTransform = translation;\n      }\n    }\n\n    (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n\n    if (!(this || _global).lettersChangedFlag && !(this || _global).textAnimator.lettersChangedFlag) {\n      return;\n    }\n\n    var i;\n    var len;\n    var count = 0;\n    var renderedLetters = (this || _global).textAnimator.renderedLetters;\n    var letters = (this || _global).textProperty.currentData.l;\n    len = letters.length;\n    var renderedLetter;\n    var textSpan;\n    var textPath;\n\n    for (i = 0; i < len; i += 1) {\n      if (letters[i].n) {\n        count += 1;\n      } else {\n        textSpan = (this || _global).textSpans[i];\n        textPath = (this || _global).textPaths[i];\n        renderedLetter = renderedLetters[count];\n        count += 1;\n\n        if (renderedLetter._mdf.m) {\n          if (!(this || _global).isMasked) {\n            textSpan.style.webkitTransform = renderedLetter.m;\n            textSpan.style.transform = renderedLetter.m;\n          } else {\n            textSpan.setAttribute(\"transform\", renderedLetter.m);\n          }\n        } /// /textSpan.setAttribute('opacity',renderedLetter.o);\n\n\n        textSpan.style.opacity = renderedLetter.o;\n\n        if (renderedLetter.sw && renderedLetter._mdf.sw) {\n          textPath.setAttribute(\"stroke-width\", renderedLetter.sw);\n        }\n\n        if (renderedLetter.sc && renderedLetter._mdf.sc) {\n          textPath.setAttribute(\"stroke\", renderedLetter.sc);\n        }\n\n        if (renderedLetter.fc && renderedLetter._mdf.fc) {\n          textPath.setAttribute(\"fill\", renderedLetter.fc);\n          textPath.style.color = renderedLetter.fc;\n        }\n      }\n    }\n\n    if ((this || _global).innerElem.getBBox && !(this || _global).hidden && ((this || _global)._isFirstFrame || (this || _global)._mdf)) {\n      var boundingBox = (this || _global).innerElem.getBBox();\n\n      if ((this || _global).currentBBox.w !== boundingBox.width) {\n        (this || _global).currentBBox.w = boundingBox.width;\n\n        (this || _global).svgElement.setAttribute(\"width\", boundingBox.width);\n      }\n\n      if ((this || _global).currentBBox.h !== boundingBox.height) {\n        (this || _global).currentBBox.h = boundingBox.height;\n\n        (this || _global).svgElement.setAttribute(\"height\", boundingBox.height);\n      }\n\n      var margin = 1;\n\n      if ((this || _global).currentBBox.w !== boundingBox.width + margin * 2 || (this || _global).currentBBox.h !== boundingBox.height + margin * 2 || (this || _global).currentBBox.x !== boundingBox.x - margin || (this || _global).currentBBox.y !== boundingBox.y - margin) {\n        (this || _global).currentBBox.w = boundingBox.width + margin * 2;\n        (this || _global).currentBBox.h = boundingBox.height + margin * 2;\n        (this || _global).currentBBox.x = boundingBox.x - margin;\n        (this || _global).currentBBox.y = boundingBox.y - margin;\n\n        (this || _global).svgElement.setAttribute(\"viewBox\", (this || _global).currentBBox.x + \" \" + (this || _global).currentBBox.y + \" \" + (this || _global).currentBBox.w + \" \" + (this || _global).currentBBox.h);\n\n        svgStyle = (this || _global).svgElement.style;\n        var svgTransform = \"translate(\" + (this || _global).currentBBox.x + \"px,\" + (this || _global).currentBBox.y + \"px)\";\n        svgStyle.transform = svgTransform;\n        svgStyle.webkitTransform = svgTransform;\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement,\r\n  FrameElement, RenderableElement, createNS */\n\n\n  function HImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\n\n  HImageElement.prototype.createContent = function () {\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    var img = new Image();\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).imageElem = createNS(\"image\");\n\n      (this || _global).imageElem.setAttribute(\"width\", (this || _global).assetData.w + \"px\");\n\n      (this || _global).imageElem.setAttribute(\"height\", (this || _global).assetData.h + \"px\");\n\n      (this || _global).imageElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", assetPath);\n\n      (this || _global).layerElement.appendChild((this || _global).imageElem);\n\n      (this || _global).baseElement.setAttribute(\"width\", (this || _global).assetData.w);\n\n      (this || _global).baseElement.setAttribute(\"height\", (this || _global).assetData.h);\n    } else {\n      (this || _global).layerElement.appendChild(img);\n    }\n\n    img.crossOrigin = \"anonymous\";\n    img.src = assetPath;\n\n    if ((this || _global).data.ln) {\n      (this || _global).baseElement.setAttribute(\"id\", (this || _global).data.ln);\n    }\n  };\n  /* global PropertyFactory, degToRads, Matrix, extendPrototype, BaseElement, FrameElement, HierarchyElement */\n\n\n  function HCameraElement(data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initHierarchy();\n    var getProp = PropertyFactory.getProp;\n    (this || _global).pe = getProp(this || _global, data.pe, 0, 0, this || _global);\n\n    if (data.ks.p.s) {\n      (this || _global).px = getProp(this || _global, data.ks.p.x, 1, 0, this || _global);\n      (this || _global).py = getProp(this || _global, data.ks.p.y, 1, 0, this || _global);\n      (this || _global).pz = getProp(this || _global, data.ks.p.z, 1, 0, this || _global);\n    } else {\n      (this || _global).p = getProp(this || _global, data.ks.p, 1, 0, this || _global);\n    }\n\n    if (data.ks.a) {\n      (this || _global).a = getProp(this || _global, data.ks.a, 1, 0, this || _global);\n    }\n\n    if (data.ks.or.k.length && data.ks.or.k[0].to) {\n      var i;\n      var len = data.ks.or.k.length;\n\n      for (i = 0; i < len; i += 1) {\n        data.ks.or.k[i].to = null;\n        data.ks.or.k[i].ti = null;\n      }\n    }\n\n    (this || _global).or = getProp(this || _global, data.ks.or, 1, degToRads, this || _global);\n    (this || _global).or.sh = true;\n    (this || _global).rx = getProp(this || _global, data.ks.rx, 0, degToRads, this || _global);\n    (this || _global).ry = getProp(this || _global, data.ks.ry, 0, degToRads, this || _global);\n    (this || _global).rz = getProp(this || _global, data.ks.rz, 0, degToRads, this || _global);\n    (this || _global).mat = new Matrix();\n    (this || _global)._prevMat = new Matrix();\n    (this || _global)._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n    (this || _global).finalTransform = {\n      mProp: this || _global\n    };\n  }\n\n  extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n  HCameraElement.prototype.setup = function () {\n    var i;\n    var len = (this || _global).comp.threeDElements.length;\n    var comp;\n    var perspectiveStyle;\n    var containerStyle;\n\n    for (i = 0; i < len; i += 1) {\n      // [perspectiveElem,container]\n      comp = (this || _global).comp.threeDElements[i];\n\n      if (comp.type === \"3d\") {\n        perspectiveStyle = comp.perspectiveElem.style;\n        containerStyle = comp.container.style;\n        var perspective = (this || _global).pe.v + \"px\";\n        var origin = \"0px 0px 0px\";\n        var matrix = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n        perspectiveStyle.perspective = perspective;\n        perspectiveStyle.webkitPerspective = perspective;\n        containerStyle.transformOrigin = origin;\n        containerStyle.mozTransformOrigin = origin;\n        containerStyle.webkitTransformOrigin = origin;\n        perspectiveStyle.transform = matrix;\n        perspectiveStyle.webkitTransform = matrix;\n      }\n    }\n  };\n\n  HCameraElement.prototype.createElements = function () {};\n\n  HCameraElement.prototype.hide = function () {};\n\n  HCameraElement.prototype.renderFrame = function () {\n    var _mdf = (this || _global)._isFirstFrame;\n    var i;\n    var len;\n\n    if ((this || _global).hierarchy) {\n      len = (this || _global).hierarchy.length;\n\n      for (i = 0; i < len; i += 1) {\n        _mdf = (this || _global).hierarchy[i].finalTransform.mProp._mdf || _mdf;\n      }\n    }\n\n    if (_mdf || (this || _global).pe._mdf || (this || _global).p && (this || _global).p._mdf || (this || _global).px && ((this || _global).px._mdf || (this || _global).py._mdf || (this || _global).pz._mdf) || (this || _global).rx._mdf || (this || _global).ry._mdf || (this || _global).rz._mdf || (this || _global).or._mdf || (this || _global).a && (this || _global).a._mdf) {\n      (this || _global).mat.reset();\n\n      if ((this || _global).hierarchy) {\n        len = (this || _global).hierarchy.length - 1;\n\n        for (i = len; i >= 0; i -= 1) {\n          var mTransf = (this || _global).hierarchy[i].finalTransform.mProp;\n\n          (this || _global).mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n\n          (this || _global).mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n\n          (this || _global).mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n\n          (this || _global).mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n\n          (this || _global).mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n        }\n      }\n\n      if ((this || _global).p) {\n        (this || _global).mat.translate(-(this || _global).p.v[0], -(this || _global).p.v[1], (this || _global).p.v[2]);\n      } else {\n        (this || _global).mat.translate(-(this || _global).px.v, -(this || _global).py.v, (this || _global).pz.v);\n      }\n\n      if ((this || _global).a) {\n        var diffVector;\n\n        if ((this || _global).p) {\n          diffVector = [(this || _global).p.v[0] - (this || _global).a.v[0], (this || _global).p.v[1] - (this || _global).a.v[1], (this || _global).p.v[2] - (this || _global).a.v[2]];\n        } else {\n          diffVector = [(this || _global).px.v - (this || _global).a.v[0], (this || _global).py.v - (this || _global).a.v[1], (this || _global).pz.v - (this || _global).a.v[2]];\n        }\n\n        var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\n\n        var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\n        var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\n        var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);\n        var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);\n\n        (this || _global).mat.rotateY(mRotationY).rotateX(-mRotationX);\n      }\n\n      (this || _global).mat.rotateX(-(this || _global).rx.v).rotateY(-(this || _global).ry.v).rotateZ((this || _global).rz.v);\n\n      (this || _global).mat.rotateX(-(this || _global).or.v[0]).rotateY(-(this || _global).or.v[1]).rotateZ((this || _global).or.v[2]);\n\n      (this || _global).mat.translate((this || _global).globalData.compSize.w / 2, (this || _global).globalData.compSize.h / 2, 0);\n\n      (this || _global).mat.translate(0, 0, (this || _global).pe.v);\n\n      var hasMatrixChanged = !(this || _global)._prevMat.equals((this || _global).mat);\n\n      if ((hasMatrixChanged || (this || _global).pe._mdf) && (this || _global).comp.threeDElements) {\n        len = (this || _global).comp.threeDElements.length;\n        var comp;\n        var perspectiveStyle;\n        var containerStyle;\n\n        for (i = 0; i < len; i += 1) {\n          comp = (this || _global).comp.threeDElements[i];\n\n          if (comp.type === \"3d\") {\n            if (hasMatrixChanged) {\n              var matValue = (this || _global).mat.toCSS();\n\n              containerStyle = comp.container.style;\n              containerStyle.transform = matValue;\n              containerStyle.webkitTransform = matValue;\n            }\n\n            if ((this || _global).pe._mdf) {\n              perspectiveStyle = comp.perspectiveElem.style;\n              perspectiveStyle.perspective = (this || _global).pe.v + \"px\";\n              perspectiveStyle.webkitPerspective = (this || _global).pe.v + \"px\";\n            }\n          }\n        }\n\n        (this || _global).mat.clone((this || _global)._prevMat);\n      }\n    }\n\n    (this || _global)._isFirstFrame = false;\n  };\n\n  HCameraElement.prototype.prepareFrame = function (num) {\n    this.prepareProperties(num, true);\n  };\n\n  HCameraElement.prototype.destroy = function () {};\n\n  HCameraElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  function HEffects() {}\n\n  HEffects.prototype.renderFrame = function () {};\n  /* global createTag, AnimationItem */\n\n  /* exported animationManager */\n\n\n  var animationManager = function () {\n    var moduleOb = {};\n    var registeredAnimations = [];\n    var initTime = 0;\n    var len = 0;\n    var playingAnimationsNum = 0;\n    var _stopped = true;\n    var _isFrozen = false;\n\n    function removeElement(ev) {\n      var i = 0;\n      var animItem = ev.target;\n\n      while (i < len) {\n        if (registeredAnimations[i].animation === animItem) {\n          registeredAnimations.splice(i, 1);\n          i -= 1;\n          len -= 1;\n\n          if (!animItem.isPaused) {\n            subtractPlayingCount();\n          }\n        }\n\n        i += 1;\n      }\n    }\n\n    function registerAnimation(element, animationData) {\n      if (!element) {\n        return null;\n      }\n\n      var i = 0;\n\n      while (i < len) {\n        if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\n          return registeredAnimations[i].animation;\n        }\n\n        i += 1;\n      }\n\n      var animItem = new AnimationItem();\n      setupAnimation(animItem, element);\n      animItem.setData(element, animationData);\n      return animItem;\n    }\n\n    function getRegisteredAnimations() {\n      var i;\n      var lenAnims = registeredAnimations.length;\n      var animations = [];\n\n      for (i = 0; i < lenAnims; i += 1) {\n        animations.push(registeredAnimations[i].animation);\n      }\n\n      return animations;\n    }\n\n    function addPlayingCount() {\n      playingAnimationsNum += 1;\n      activate();\n    }\n\n    function subtractPlayingCount() {\n      playingAnimationsNum -= 1;\n    }\n\n    function setupAnimation(animItem, element) {\n      animItem.addEventListener(\"destroy\", removeElement);\n      animItem.addEventListener(\"_active\", addPlayingCount);\n      animItem.addEventListener(\"_idle\", subtractPlayingCount);\n      registeredAnimations.push({\n        elem: element,\n        animation: animItem\n      });\n      len += 1;\n    }\n\n    function loadAnimation(params) {\n      var animItem = new AnimationItem();\n      setupAnimation(animItem, null);\n      animItem.setParams(params);\n      return animItem;\n    }\n\n    function setSpeed(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setSpeed(val, animation);\n      }\n    }\n\n    function setDirection(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setDirection(val, animation);\n      }\n    }\n\n    function play(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.play(animation);\n      }\n    }\n\n    function resume(nowTime) {\n      var elapsedTime = nowTime - initTime;\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.advanceTime(elapsedTime);\n      }\n\n      initTime = nowTime;\n\n      if (playingAnimationsNum && !_isFrozen) {\n        window.requestAnimationFrame(resume);\n      } else {\n        _stopped = true;\n      }\n    }\n\n    function first(nowTime) {\n      initTime = nowTime;\n      window.requestAnimationFrame(resume);\n    }\n\n    function pause(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.pause(animation);\n      }\n    }\n\n    function goToAndStop(value, isFrame, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n      }\n    }\n\n    function stop(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.stop(animation);\n      }\n    }\n\n    function togglePause(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.togglePause(animation);\n      }\n    }\n\n    function destroy(animation) {\n      var i;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        registeredAnimations[i].animation.destroy(animation);\n      }\n    }\n\n    function searchAnimations(animationData, standalone, renderer) {\n      var animElements = [].concat([].slice.call(document.getElementsByClassName(\"lottie\")), [].slice.call(document.getElementsByClassName(\"bodymovin\")));\n      var i;\n      var lenAnims = animElements.length;\n\n      for (i = 0; i < lenAnims; i += 1) {\n        if (renderer) {\n          animElements[i].setAttribute(\"data-bm-type\", renderer);\n        }\n\n        registerAnimation(animElements[i], animationData);\n      }\n\n      if (standalone && lenAnims === 0) {\n        if (!renderer) {\n          renderer = \"svg\";\n        }\n\n        var body = document.getElementsByTagName(\"body\")[0];\n        body.innerText = \"\";\n        var div = createTag(\"div\");\n        div.style.width = \"100%\";\n        div.style.height = \"100%\";\n        div.setAttribute(\"data-bm-type\", renderer);\n        body.appendChild(div);\n        registerAnimation(div, animationData);\n      }\n    }\n\n    function resize() {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.resize();\n      }\n    }\n\n    function activate() {\n      if (!_isFrozen && playingAnimationsNum) {\n        if (_stopped) {\n          window.requestAnimationFrame(first);\n          _stopped = false;\n        }\n      }\n    }\n\n    function freeze() {\n      _isFrozen = true;\n    }\n\n    function unfreeze() {\n      _isFrozen = false;\n      activate();\n    }\n\n    function setVolume(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setVolume(val, animation);\n      }\n    }\n\n    function mute(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.mute(animation);\n      }\n    }\n\n    function unmute(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.unmute(animation);\n      }\n    }\n\n    moduleOb.registerAnimation = registerAnimation;\n    moduleOb.loadAnimation = loadAnimation;\n    moduleOb.setSpeed = setSpeed;\n    moduleOb.setDirection = setDirection;\n    moduleOb.play = play;\n    moduleOb.pause = pause;\n    moduleOb.stop = stop;\n    moduleOb.togglePause = togglePause;\n    moduleOb.searchAnimations = searchAnimations;\n    moduleOb.resize = resize; // moduleOb.start = start;\n\n    moduleOb.goToAndStop = goToAndStop;\n    moduleOb.destroy = destroy;\n    moduleOb.freeze = freeze;\n    moduleOb.unfreeze = unfreeze;\n    moduleOb.setVolume = setVolume;\n    moduleOb.mute = mute;\n    moduleOb.unmute = unmute;\n    moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n    return moduleOb;\n  }();\n  /* global createElementID, subframeEnabled, ProjectInterface, ImagePreloader, audioControllerFactory, extendPrototype, BaseEvent,\r\n  CanvasRenderer, SVGRenderer, HybridRenderer, assetLoader, dataManager, expressionsPlugin, BMEnterFrameEvent, BMCompleteLoopEvent,\r\n  BMCompleteEvent, BMSegmentStartEvent, BMDestroyEvent, BMEnterFrameEvent, BMCompleteLoopEvent, BMCompleteEvent, BMSegmentStartEvent,\r\n  BMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, markerParser */\n\n\n  var AnimationItem = function () {\n    (this || _global)._cbs = [];\n    (this || _global).name = \"\";\n    (this || _global).path = \"\";\n    (this || _global).isLoaded = false;\n    (this || _global).currentFrame = 0;\n    (this || _global).currentRawFrame = 0;\n    (this || _global).firstFrame = 0;\n    (this || _global).totalFrames = 0;\n    (this || _global).frameRate = 0;\n    (this || _global).frameMult = 0;\n    (this || _global).playSpeed = 1;\n    (this || _global).playDirection = 1;\n    (this || _global).playCount = 0;\n    (this || _global).animationData = {};\n    (this || _global).assets = [];\n    (this || _global).isPaused = true;\n    (this || _global).autoplay = false;\n    (this || _global).loop = true;\n    (this || _global).renderer = null;\n    (this || _global).animationID = createElementID();\n    (this || _global).assetsPath = \"\";\n    (this || _global).timeCompleted = 0;\n    (this || _global).segmentPos = 0;\n    (this || _global).isSubframeEnabled = subframeEnabled;\n    (this || _global).segments = [];\n    (this || _global)._idle = true;\n    (this || _global)._completedLoop = false;\n    (this || _global).projectInterface = ProjectInterface();\n    (this || _global).imagePreloader = new ImagePreloader();\n    (this || _global).audioController = audioControllerFactory();\n    (this || _global).markers = [];\n  };\n\n  extendPrototype([BaseEvent], AnimationItem);\n\n  AnimationItem.prototype.setParams = function (params) {\n    if (params.wrapper || params.container) {\n      (this || _global).wrapper = params.wrapper || params.container;\n    }\n\n    var animType = \"svg\";\n\n    if (params.animType) {\n      animType = params.animType;\n    } else if (params.renderer) {\n      animType = params.renderer;\n    }\n\n    switch (animType) {\n      case \"canvas\":\n        (this || _global).renderer = new CanvasRenderer(this || _global, params.rendererSettings);\n        break;\n\n      case \"svg\":\n        (this || _global).renderer = new SVGRenderer(this || _global, params.rendererSettings);\n        break;\n\n      default:\n        (this || _global).renderer = new HybridRenderer(this || _global, params.rendererSettings);\n        break;\n    }\n\n    (this || _global).imagePreloader.setCacheType(animType, (this || _global).renderer.globalData.defs);\n\n    (this || _global).renderer.setProjectInterface((this || _global).projectInterface);\n\n    (this || _global).animType = animType;\n\n    if (params.loop === \"\" || params.loop === null || params.loop === undefined || params.loop === true) {\n      (this || _global).loop = true;\n    } else if (params.loop === false) {\n      (this || _global).loop = false;\n    } else {\n      (this || _global).loop = parseInt(params.loop, 10);\n    }\n\n    (this || _global).autoplay = \"autoplay\" in params ? params.autoplay : true;\n    (this || _global).name = params.name ? params.name : \"\";\n    (this || _global).autoloadSegments = Object.prototype.hasOwnProperty.call(params, \"autoloadSegments\") ? params.autoloadSegments : true;\n    (this || _global).assetsPath = params.assetsPath;\n    (this || _global).initialSegment = params.initialSegment;\n\n    if (params.audioFactory) {\n      (this || _global).audioController.setAudioFactory(params.audioFactory);\n    }\n\n    if (params.animationData) {\n      this.configAnimation(params.animationData);\n    } else if (params.path) {\n      if (params.path.lastIndexOf(\"\\\\\") !== -1) {\n        (this || _global).path = params.path.substr(0, params.path.lastIndexOf(\"\\\\\") + 1);\n      } else {\n        (this || _global).path = params.path.substr(0, params.path.lastIndexOf(\"/\") + 1);\n      }\n\n      (this || _global).fileName = params.path.substr(params.path.lastIndexOf(\"/\") + 1);\n      (this || _global).fileName = (this || _global).fileName.substr(0, (this || _global).fileName.lastIndexOf(\".json\"));\n      assetLoader.load(params.path, (this || _global).configAnimation.bind(this || _global), function () {\n        this.trigger(\"data_failed\");\n      }.bind(this || _global));\n    }\n  };\n\n  AnimationItem.prototype.setData = function (wrapper, animationData) {\n    if (animationData) {\n      if (typeof animationData !== \"object\") {\n        animationData = JSON.parse(animationData);\n      }\n    }\n\n    var params = {\n      wrapper: wrapper,\n      animationData: animationData\n    };\n    var wrapperAttributes = wrapper.attributes;\n    params.path = wrapperAttributes.getNamedItem(\"data-animation-path\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-animation-path\").value : wrapperAttributes.getNamedItem(\"data-bm-path\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-path\").value : wrapperAttributes.getNamedItem(\"bm-path\") ? wrapperAttributes.getNamedItem(\"bm-path\").value : \"\";\n    params.animType = wrapperAttributes.getNamedItem(\"data-anim-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-type\").value : wrapperAttributes.getNamedItem(\"data-bm-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-type\").value : wrapperAttributes.getNamedItem(\"bm-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"bm-type\").value : wrapperAttributes.getNamedItem(\"data-bm-renderer\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-renderer\").value : wrapperAttributes.getNamedItem(\"bm-renderer\") ? wrapperAttributes.getNamedItem(\"bm-renderer\").value : \"canvas\";\n    var loop = wrapperAttributes.getNamedItem(\"data-anim-loop\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-loop\").value : wrapperAttributes.getNamedItem(\"data-bm-loop\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-loop\").value : wrapperAttributes.getNamedItem(\"bm-loop\") ? wrapperAttributes.getNamedItem(\"bm-loop\").value : \"\";\n\n    if (loop === \"false\") {\n      params.loop = false;\n    } else if (loop === \"true\") {\n      params.loop = true;\n    } else if (loop !== \"\") {\n      params.loop = parseInt(loop, 10);\n    }\n\n    var autoplay = wrapperAttributes.getNamedItem(\"data-anim-autoplay\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-autoplay\").value : wrapperAttributes.getNamedItem(\"data-bm-autoplay\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-autoplay\").value : wrapperAttributes.getNamedItem(\"bm-autoplay\") ? wrapperAttributes.getNamedItem(\"bm-autoplay\").value : true;\n    params.autoplay = autoplay !== \"false\";\n    params.name = wrapperAttributes.getNamedItem(\"data-name\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-name\").value : wrapperAttributes.getNamedItem(\"data-bm-name\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-name\").value : wrapperAttributes.getNamedItem(\"bm-name\") ? wrapperAttributes.getNamedItem(\"bm-name\").value : \"\";\n    var prerender = wrapperAttributes.getNamedItem(\"data-anim-prerender\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-prerender\").value : wrapperAttributes.getNamedItem(\"data-bm-prerender\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-prerender\").value : wrapperAttributes.getNamedItem(\"bm-prerender\") ? wrapperAttributes.getNamedItem(\"bm-prerender\").value : \"\";\n\n    if (prerender === \"false\") {\n      params.prerender = false;\n    }\n\n    this.setParams(params);\n  };\n\n  AnimationItem.prototype.includeLayers = function (data) {\n    if (data.op > (this || _global).animationData.op) {\n      (this || _global).animationData.op = data.op;\n      (this || _global).totalFrames = Math.floor(data.op - (this || _global).animationData.ip);\n    }\n\n    var layers = (this || _global).animationData.layers;\n    var i;\n    var len = layers.length;\n    var newLayers = data.layers;\n    var j;\n    var jLen = newLayers.length;\n\n    for (j = 0; j < jLen; j += 1) {\n      i = 0;\n\n      while (i < len) {\n        if (layers[i].id === newLayers[j].id) {\n          layers[i] = newLayers[j];\n          break;\n        }\n\n        i += 1;\n      }\n    }\n\n    if (data.chars || data.fonts) {\n      (this || _global).renderer.globalData.fontManager.addChars(data.chars);\n\n      (this || _global).renderer.globalData.fontManager.addFonts(data.fonts, (this || _global).renderer.globalData.defs);\n    }\n\n    if (data.assets) {\n      len = data.assets.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).animationData.assets.push(data.assets[i]);\n      }\n    }\n\n    (this || _global).animationData.__complete = false;\n    dataManager.completeData((this || _global).animationData, (this || _global).renderer.globalData.fontManager);\n\n    (this || _global).renderer.includeLayers(data.layers);\n\n    if (expressionsPlugin) {\n      expressionsPlugin.initExpressions(this || _global);\n    }\n\n    this.loadNextSegment();\n  };\n\n  AnimationItem.prototype.loadNextSegment = function () {\n    var segments = (this || _global).animationData.segments;\n\n    if (!segments || segments.length === 0 || !(this || _global).autoloadSegments) {\n      this.trigger(\"data_ready\");\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      return;\n    }\n\n    var segment = segments.shift();\n    (this || _global).timeCompleted = segment.time * (this || _global).frameRate;\n    var segmentPath = (this || _global).path + (this || _global).fileName + \"_\" + (this || _global).segmentPos + \".json\";\n    (this || _global).segmentPos += 1;\n    assetLoader.load(segmentPath, (this || _global).includeLayers.bind(this || _global), function () {\n      this.trigger(\"data_failed\");\n    }.bind(this || _global));\n  };\n\n  AnimationItem.prototype.loadSegments = function () {\n    var segments = (this || _global).animationData.segments;\n\n    if (!segments) {\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n    }\n\n    this.loadNextSegment();\n  };\n\n  AnimationItem.prototype.imagesLoaded = function () {\n    this.trigger(\"loaded_images\");\n    this.checkLoaded();\n  };\n\n  AnimationItem.prototype.preloadImages = function () {\n    (this || _global).imagePreloader.setAssetsPath((this || _global).assetsPath);\n\n    (this || _global).imagePreloader.setPath((this || _global).path);\n\n    (this || _global).imagePreloader.loadAssets((this || _global).animationData.assets, (this || _global).imagesLoaded.bind(this || _global));\n  };\n\n  AnimationItem.prototype.configAnimation = function (animData) {\n    if (!(this || _global).renderer) {\n      return;\n    }\n\n    try {\n      (this || _global).animationData = animData;\n\n      if ((this || _global).initialSegment) {\n        (this || _global).totalFrames = Math.floor((this || _global).initialSegment[1] - (this || _global).initialSegment[0]);\n        (this || _global).firstFrame = Math.round((this || _global).initialSegment[0]);\n      } else {\n        (this || _global).totalFrames = Math.floor((this || _global).animationData.op - (this || _global).animationData.ip);\n        (this || _global).firstFrame = Math.round((this || _global).animationData.ip);\n      }\n\n      (this || _global).renderer.configAnimation(animData);\n\n      if (!animData.assets) {\n        animData.assets = [];\n      }\n\n      (this || _global).assets = (this || _global).animationData.assets;\n      (this || _global).frameRate = (this || _global).animationData.fr;\n      (this || _global).frameMult = (this || _global).animationData.fr / 1000;\n\n      (this || _global).renderer.searchExtraCompositions(animData.assets);\n\n      (this || _global).markers = markerParser(animData.markers || []);\n      this.trigger(\"config_ready\");\n      this.preloadImages();\n      this.loadSegments();\n      this.updaFrameModifier();\n      this.waitForFontsLoaded();\n\n      if ((this || _global).isPaused) {\n        (this || _global).audioController.pause();\n      }\n    } catch (error) {\n      this.triggerConfigError(error);\n    }\n  };\n\n  AnimationItem.prototype.waitForFontsLoaded = function () {\n    if (!(this || _global).renderer) {\n      return;\n    }\n\n    if ((this || _global).renderer.globalData.fontManager.isLoaded) {\n      this.checkLoaded();\n    } else {\n      setTimeout((this || _global).waitForFontsLoaded.bind(this || _global), 20);\n    }\n  };\n\n  AnimationItem.prototype.checkLoaded = function () {\n    if (!(this || _global).isLoaded && (this || _global).renderer.globalData.fontManager.isLoaded && ((this || _global).imagePreloader.loadedImages() || (this || _global).renderer.rendererType !== \"canvas\") && (this || _global).imagePreloader.loadedFootages()) {\n      (this || _global).isLoaded = true;\n      dataManager.completeData((this || _global).animationData, (this || _global).renderer.globalData.fontManager);\n\n      if (expressionsPlugin) {\n        expressionsPlugin.initExpressions(this || _global);\n      }\n\n      (this || _global).renderer.initItems();\n\n      setTimeout(function () {\n        this.trigger(\"DOMLoaded\");\n      }.bind(this || _global), 0);\n      this.gotoFrame();\n\n      if ((this || _global).autoplay) {\n        this.play();\n      }\n    }\n  };\n\n  AnimationItem.prototype.resize = function () {\n    (this || _global).renderer.updateContainerSize();\n  };\n\n  AnimationItem.prototype.setSubframe = function (flag) {\n    (this || _global).isSubframeEnabled = !!flag;\n  };\n\n  AnimationItem.prototype.gotoFrame = function () {\n    (this || _global).currentFrame = (this || _global).isSubframeEnabled ? (this || _global).currentRawFrame : ~~(this || _global).currentRawFrame; // eslint-disable-line no-bitwise\n\n    if ((this || _global).timeCompleted !== (this || _global).totalFrames && (this || _global).currentFrame > (this || _global).timeCompleted) {\n      (this || _global).currentFrame = (this || _global).timeCompleted;\n    }\n\n    this.trigger(\"enterFrame\");\n    this.renderFrame();\n  };\n\n  AnimationItem.prototype.renderFrame = function () {\n    if ((this || _global).isLoaded === false || !(this || _global).renderer) {\n      return;\n    }\n\n    try {\n      (this || _global).renderer.renderFrame((this || _global).currentFrame + (this || _global).firstFrame);\n    } catch (error) {\n      this.triggerRenderFrameError(error);\n    }\n  };\n\n  AnimationItem.prototype.play = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === true) {\n      (this || _global).isPaused = false;\n\n      (this || _global).audioController.resume();\n\n      if ((this || _global)._idle) {\n        (this || _global)._idle = false;\n        this.trigger(\"_active\");\n      }\n    }\n  };\n\n  AnimationItem.prototype.pause = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === false) {\n      (this || _global).isPaused = true;\n      (this || _global)._idle = true;\n      this.trigger(\"_idle\");\n\n      (this || _global).audioController.pause();\n    }\n  };\n\n  AnimationItem.prototype.togglePause = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === true) {\n      this.play();\n    } else {\n      this.pause();\n    }\n  };\n\n  AnimationItem.prototype.stop = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    this.pause();\n    (this || _global).playCount = 0;\n    (this || _global)._completedLoop = false;\n    this.setCurrentRawFrameValue(0);\n  };\n\n  AnimationItem.prototype.getMarkerData = function (markerName) {\n    var marker;\n\n    for (var i = 0; i < (this || _global).markers.length; i += 1) {\n      marker = (this || _global).markers[i];\n\n      if (marker.payload && marker.payload.name === markerName) {\n        return marker;\n      }\n    }\n\n    return null;\n  };\n\n  AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    var numValue = Number(value);\n\n    if (isNaN(numValue)) {\n      var marker = this.getMarkerData(value);\n\n      if (marker) {\n        this.goToAndStop(marker.time, true);\n      }\n    } else if (isFrame) {\n      this.setCurrentRawFrameValue(value);\n    } else {\n      this.setCurrentRawFrameValue(value * (this || _global).frameModifier);\n    }\n\n    this.pause();\n  };\n\n  AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    var numValue = Number(value);\n\n    if (isNaN(numValue)) {\n      var marker = this.getMarkerData(value);\n\n      if (marker) {\n        if (!marker.duration) {\n          this.goToAndStop(marker.time, true);\n        } else {\n          this.playSegments([marker.time, marker.time + marker.duration], true);\n        }\n      }\n    } else {\n      this.goToAndStop(numValue, isFrame, name);\n    }\n\n    this.play();\n  };\n\n  AnimationItem.prototype.advanceTime = function (value) {\n    if ((this || _global).isPaused === true || (this || _global).isLoaded === false) {\n      return;\n    }\n\n    var nextValue = (this || _global).currentRawFrame + value * (this || _global).frameModifier;\n    var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n    // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n\n    if (nextValue >= (this || _global).totalFrames - 1 && (this || _global).frameModifier > 0) {\n      if (!(this || _global).loop || (this || _global).playCount === (this || _global).loop) {\n        if (!this.checkSegments(nextValue > (this || _global).totalFrames ? nextValue % (this || _global).totalFrames : 0)) {\n          _isComplete = true;\n          nextValue = (this || _global).totalFrames - 1;\n        }\n      } else if (nextValue >= (this || _global).totalFrames) {\n        (this || _global).playCount += 1;\n\n        if (!this.checkSegments(nextValue % (this || _global).totalFrames)) {\n          this.setCurrentRawFrameValue(nextValue % (this || _global).totalFrames);\n          (this || _global)._completedLoop = true;\n          this.trigger(\"loopComplete\");\n        }\n      } else {\n        this.setCurrentRawFrameValue(nextValue);\n      }\n    } else if (nextValue < 0) {\n      if (!this.checkSegments(nextValue % (this || _global).totalFrames)) {\n        if ((this || _global).loop && !((this || _global).playCount-- <= 0 && (this || _global).loop !== true)) {\n          // eslint-disable-line no-plusplus\n          this.setCurrentRawFrameValue((this || _global).totalFrames + nextValue % (this || _global).totalFrames);\n\n          if (!(this || _global)._completedLoop) {\n            (this || _global)._completedLoop = true;\n          } else {\n            this.trigger(\"loopComplete\");\n          }\n        } else {\n          _isComplete = true;\n          nextValue = 0;\n        }\n      }\n    } else {\n      this.setCurrentRawFrameValue(nextValue);\n    }\n\n    if (_isComplete) {\n      this.setCurrentRawFrameValue(nextValue);\n      this.pause();\n      this.trigger(\"complete\");\n    }\n  };\n\n  AnimationItem.prototype.adjustSegment = function (arr, offset) {\n    (this || _global).playCount = 0;\n\n    if (arr[1] < arr[0]) {\n      if ((this || _global).frameModifier > 0) {\n        if ((this || _global).playSpeed < 0) {\n          this.setSpeed(-(this || _global).playSpeed);\n        } else {\n          this.setDirection(-1);\n        }\n      }\n\n      (this || _global).totalFrames = arr[0] - arr[1];\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      (this || _global).firstFrame = arr[1];\n      this.setCurrentRawFrameValue((this || _global).totalFrames - 0.001 - offset);\n    } else if (arr[1] > arr[0]) {\n      if ((this || _global).frameModifier < 0) {\n        if ((this || _global).playSpeed < 0) {\n          this.setSpeed(-(this || _global).playSpeed);\n        } else {\n          this.setDirection(1);\n        }\n      }\n\n      (this || _global).totalFrames = arr[1] - arr[0];\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      (this || _global).firstFrame = arr[0];\n      this.setCurrentRawFrameValue(0.001 + offset);\n    }\n\n    this.trigger(\"segmentStart\");\n  };\n\n  AnimationItem.prototype.setSegment = function (init, end) {\n    var pendingFrame = -1;\n\n    if ((this || _global).isPaused) {\n      if ((this || _global).currentRawFrame + (this || _global).firstFrame < init) {\n        pendingFrame = init;\n      } else if ((this || _global).currentRawFrame + (this || _global).firstFrame > end) {\n        pendingFrame = end - init;\n      }\n    }\n\n    (this || _global).firstFrame = init;\n    (this || _global).totalFrames = end - init;\n    (this || _global).timeCompleted = (this || _global).totalFrames;\n\n    if (pendingFrame !== -1) {\n      this.goToAndStop(pendingFrame, true);\n    }\n  };\n\n  AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n    if (forceFlag) {\n      (this || _global).segments.length = 0;\n    }\n\n    if (typeof arr[0] === \"object\") {\n      var i;\n      var len = arr.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).segments.push(arr[i]);\n      }\n    } else {\n      (this || _global).segments.push(arr);\n    }\n\n    if ((this || _global).segments.length && forceFlag) {\n      this.adjustSegment((this || _global).segments.shift(), 0);\n    }\n\n    if ((this || _global).isPaused) {\n      this.play();\n    }\n  };\n\n  AnimationItem.prototype.resetSegments = function (forceFlag) {\n    (this || _global).segments.length = 0;\n\n    (this || _global).segments.push([(this || _global).animationData.ip, (this || _global).animationData.op]); // this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op - this.animationData.ip+this.animationData.ip*this.frameRate)]);\n\n\n    if (forceFlag) {\n      this.checkSegments(0);\n    }\n  };\n\n  AnimationItem.prototype.checkSegments = function (offset) {\n    if ((this || _global).segments.length) {\n      this.adjustSegment((this || _global).segments.shift(), offset);\n      return true;\n    }\n\n    return false;\n  };\n\n  AnimationItem.prototype.destroy = function (name) {\n    if (name && (this || _global).name !== name || !(this || _global).renderer) {\n      return;\n    }\n\n    (this || _global).renderer.destroy();\n\n    (this || _global).imagePreloader.destroy();\n\n    this.trigger(\"destroy\");\n    (this || _global)._cbs = null;\n    (this || _global).onEnterFrame = null;\n    (this || _global).onLoopComplete = null;\n    (this || _global).onComplete = null;\n    (this || _global).onSegmentStart = null;\n    (this || _global).onDestroy = null;\n    (this || _global).renderer = null;\n    (this || _global).renderer = null;\n    (this || _global).imagePreloader = null;\n    (this || _global).projectInterface = null;\n  };\n\n  AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n    (this || _global).currentRawFrame = value;\n    this.gotoFrame();\n  };\n\n  AnimationItem.prototype.setSpeed = function (val) {\n    (this || _global).playSpeed = val;\n    this.updaFrameModifier();\n  };\n\n  AnimationItem.prototype.setDirection = function (val) {\n    (this || _global).playDirection = val < 0 ? -1 : 1;\n    this.updaFrameModifier();\n  };\n\n  AnimationItem.prototype.setVolume = function (val, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.setVolume(val);\n  };\n\n  AnimationItem.prototype.getVolume = function () {\n    return (this || _global).audioController.getVolume();\n  };\n\n  AnimationItem.prototype.mute = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.mute();\n  };\n\n  AnimationItem.prototype.unmute = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.unmute();\n  };\n\n  AnimationItem.prototype.updaFrameModifier = function () {\n    (this || _global).frameModifier = (this || _global).frameMult * (this || _global).playSpeed * (this || _global).playDirection;\n\n    (this || _global).audioController.setRate((this || _global).playSpeed * (this || _global).playDirection);\n  };\n\n  AnimationItem.prototype.getPath = function () {\n    return (this || _global).path;\n  };\n\n  AnimationItem.prototype.getAssetsPath = function (assetData) {\n    var path = \"\";\n\n    if (assetData.e) {\n      path = assetData.p;\n    } else if ((this || _global).assetsPath) {\n      var imagePath = assetData.p;\n\n      if (imagePath.indexOf(\"images/\") !== -1) {\n        imagePath = imagePath.split(\"/\")[1];\n      }\n\n      path = (this || _global).assetsPath + imagePath;\n    } else {\n      path = (this || _global).path;\n      path += assetData.u ? assetData.u : \"\";\n      path += assetData.p;\n    }\n\n    return path;\n  };\n\n  AnimationItem.prototype.getAssetData = function (id) {\n    var i = 0;\n    var len = (this || _global).assets.length;\n\n    while (i < len) {\n      if (id === (this || _global).assets[i].id) {\n        return (this || _global).assets[i];\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  AnimationItem.prototype.hide = function () {\n    (this || _global).renderer.hide();\n  };\n\n  AnimationItem.prototype.show = function () {\n    (this || _global).renderer.show();\n  };\n\n  AnimationItem.prototype.getDuration = function (isFrame) {\n    return isFrame ? (this || _global).totalFrames : (this || _global).totalFrames / (this || _global).frameRate;\n  };\n\n  AnimationItem.prototype.trigger = function (name) {\n    if ((this || _global)._cbs && (this || _global)._cbs[name]) {\n      switch (name) {\n        case \"enterFrame\":\n          this.triggerEvent(name, new BMEnterFrameEvent(name, (this || _global).currentFrame, (this || _global).totalFrames, (this || _global).frameModifier));\n          break;\n\n        case \"loopComplete\":\n          this.triggerEvent(name, new BMCompleteLoopEvent(name, (this || _global).loop, (this || _global).playCount, (this || _global).frameMult));\n          break;\n\n        case \"complete\":\n          this.triggerEvent(name, new BMCompleteEvent(name, (this || _global).frameMult));\n          break;\n\n        case \"segmentStart\":\n          this.triggerEvent(name, new BMSegmentStartEvent(name, (this || _global).firstFrame, (this || _global).totalFrames));\n          break;\n\n        case \"destroy\":\n          this.triggerEvent(name, new BMDestroyEvent(name, this || _global));\n          break;\n\n        default:\n          this.triggerEvent(name);\n      }\n    }\n\n    if (name === \"enterFrame\" && (this || _global).onEnterFrame) {\n      (this || _global).onEnterFrame.call(this || _global, new BMEnterFrameEvent(name, (this || _global).currentFrame, (this || _global).totalFrames, (this || _global).frameMult));\n    }\n\n    if (name === \"loopComplete\" && (this || _global).onLoopComplete) {\n      (this || _global).onLoopComplete.call(this || _global, new BMCompleteLoopEvent(name, (this || _global).loop, (this || _global).playCount, (this || _global).frameMult));\n    }\n\n    if (name === \"complete\" && (this || _global).onComplete) {\n      (this || _global).onComplete.call(this || _global, new BMCompleteEvent(name, (this || _global).frameMult));\n    }\n\n    if (name === \"segmentStart\" && (this || _global).onSegmentStart) {\n      (this || _global).onSegmentStart.call(this || _global, new BMSegmentStartEvent(name, (this || _global).firstFrame, (this || _global).totalFrames));\n    }\n\n    if (name === \"destroy\" && (this || _global).onDestroy) {\n      (this || _global).onDestroy.call(this || _global, new BMDestroyEvent(name, this || _global));\n    }\n  };\n\n  AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n    var error = new BMRenderFrameErrorEvent(nativeError, (this || _global).currentFrame);\n    this.triggerEvent(\"error\", error);\n\n    if ((this || _global).onError) {\n      (this || _global).onError.call(this || _global, error);\n    }\n  };\n\n  AnimationItem.prototype.triggerConfigError = function (nativeError) {\n    var error = new BMConfigErrorEvent(nativeError, (this || _global).currentFrame);\n    this.triggerEvent(\"error\", error);\n\n    if ((this || _global).onError) {\n      (this || _global).onError.call(this || _global, error);\n    }\n  };\n  /* global CompExpressionInterface, expressionsPlugin: writable */\n\n  /* exported expressionsPlugin */\n\n\n  var Expressions = function () {\n    var ob = {};\n    ob.initExpressions = initExpressions;\n\n    function initExpressions(animation) {\n      var stackCount = 0;\n      var registers = [];\n\n      function pushExpression() {\n        stackCount += 1;\n      }\n\n      function popExpression() {\n        stackCount -= 1;\n\n        if (stackCount === 0) {\n          releaseInstances();\n        }\n      }\n\n      function registerExpressionProperty(expression) {\n        if (registers.indexOf(expression) === -1) {\n          registers.push(expression);\n        }\n      }\n\n      function releaseInstances() {\n        var i;\n        var len = registers.length;\n\n        for (i = 0; i < len; i += 1) {\n          registers[i].release();\n        }\n\n        registers.length = 0;\n      }\n\n      animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n      animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n      animation.renderer.globalData.pushExpression = pushExpression;\n      animation.renderer.globalData.popExpression = popExpression;\n      animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n    }\n\n    return ob;\n  }();\n\n  expressionsPlugin = Expressions;\n  /* eslint-disable camelcase, no-unused-vars */\n\n  /* global BMMath, BezierFactory, createTypedArray, degToRads, shapePool */\n\n  var ExpressionManager = function () {\n    'use strict';\n\n    var ob = {};\n    var Math = BMMath;\n    var window = null;\n    var document = null;\n\n    function $bm_isInstanceOfArray(arr) {\n      return arr.constructor === Array || arr.constructor === Float32Array;\n    }\n\n    function isNumerable(tOfV, v) {\n      return tOfV === \"number\" || tOfV === \"boolean\" || tOfV === \"string\" || v instanceof Number;\n    }\n\n    function $bm_neg(a) {\n      var tOfA = typeof a;\n\n      if (tOfA === \"number\" || tOfA === \"boolean\" || a instanceof Number) {\n        return -a;\n      }\n\n      if ($bm_isInstanceOfArray(a)) {\n        var i;\n        var lenA = a.length;\n        var retArr = [];\n\n        for (i = 0; i < lenA; i += 1) {\n          retArr[i] = -a[i];\n        }\n\n        return retArr;\n      }\n\n      if (a.propType) {\n        return a.v;\n      }\n\n      return -a;\n    }\n\n    var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, \"easeIn\").get;\n    var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, \"easeOut\").get;\n    var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, \"easeInOut\").get;\n\n    function sum(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n\n      if (tOfA === \"string\" || tOfB === \"string\") {\n        return a + b;\n      }\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a + b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        a = a.slice(0);\n        a[0] += b;\n        return a;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        b = b.slice(0);\n        b[0] = a + b[0];\n        return b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n        var i = 0;\n        var lenA = a.length;\n        var lenB = b.length;\n        var retArr = [];\n\n        while (i < lenA || i < lenB) {\n          if ((typeof a[i] === \"number\" || a[i] instanceof Number) && (typeof b[i] === \"number\" || b[i] instanceof Number)) {\n            retArr[i] = a[i] + b[i];\n          } else {\n            retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n          }\n\n          i += 1;\n        }\n\n        return retArr;\n      }\n\n      return 0;\n    }\n\n    var add = sum;\n\n    function sub(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        if (tOfA === \"string\") {\n          a = parseInt(a, 10);\n        }\n\n        if (tOfB === \"string\") {\n          b = parseInt(b, 10);\n        }\n\n        return a - b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        a = a.slice(0);\n        a[0] -= b;\n        return a;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        b = b.slice(0);\n        b[0] = a - b[0];\n        return b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n        var i = 0;\n        var lenA = a.length;\n        var lenB = b.length;\n        var retArr = [];\n\n        while (i < lenA || i < lenB) {\n          if ((typeof a[i] === \"number\" || a[i] instanceof Number) && (typeof b[i] === \"number\" || b[i] instanceof Number)) {\n            retArr[i] = a[i] - b[i];\n          } else {\n            retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n          }\n\n          i += 1;\n        }\n\n        return retArr;\n      }\n\n      return 0;\n    }\n\n    function mul(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n      var arr;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a * b;\n      }\n\n      var i;\n      var len;\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        len = a.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a[i] * b;\n        }\n\n        return arr;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        len = b.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a * b[i];\n        }\n\n        return arr;\n      }\n\n      return 0;\n    }\n\n    function div(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n      var arr;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a / b;\n      }\n\n      var i;\n      var len;\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        len = a.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a[i] / b;\n        }\n\n        return arr;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        len = b.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a / b[i];\n        }\n\n        return arr;\n      }\n\n      return 0;\n    }\n\n    function mod(a, b) {\n      if (typeof a === \"string\") {\n        a = parseInt(a, 10);\n      }\n\n      if (typeof b === \"string\") {\n        b = parseInt(b, 10);\n      }\n\n      return a % b;\n    }\n\n    var $bm_sum = sum;\n    var $bm_sub = sub;\n    var $bm_mul = mul;\n    var $bm_div = div;\n    var $bm_mod = mod;\n\n    function clamp(num, min, max) {\n      if (min > max) {\n        var mm = max;\n        max = min;\n        min = mm;\n      }\n\n      return Math.min(Math.max(num, min), max);\n    }\n\n    function radiansToDegrees(val) {\n      return val / degToRads;\n    }\n\n    var radians_to_degrees = radiansToDegrees;\n\n    function degreesToRadians(val) {\n      return val * degToRads;\n    }\n\n    var degrees_to_radians = radiansToDegrees;\n    var helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n    function length(arr1, arr2) {\n      if (typeof arr1 === \"number\" || arr1 instanceof Number) {\n        arr2 = arr2 || 0;\n        return Math.abs(arr1 - arr2);\n      }\n\n      if (!arr2) {\n        arr2 = helperLengthArray;\n      }\n\n      var i;\n      var len = Math.min(arr1.length, arr2.length);\n      var addedLength = 0;\n\n      for (i = 0; i < len; i += 1) {\n        addedLength += Math.pow(arr2[i] - arr1[i], 2);\n      }\n\n      return Math.sqrt(addedLength);\n    }\n\n    function normalize(vec) {\n      return div(vec, length(vec));\n    }\n\n    function rgbToHsl(val) {\n      var r = val[0];\n      var g = val[1];\n      var b = val[2];\n      var max = Math.max(r, g, b);\n      var min = Math.min(r, g, b);\n      var h;\n      var s;\n      var l = (max + min) / 2;\n\n      if (max === min) {\n        h = 0; // achromatic\n\n        s = 0; // achromatic\n      } else {\n        var d = max - min;\n        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n        switch (max) {\n          case r:\n            h = (g - b) / d + (g < b ? 6 : 0);\n            break;\n\n          case g:\n            h = (b - r) / d + 2;\n            break;\n\n          case b:\n            h = (r - g) / d + 4;\n            break;\n\n          default:\n            break;\n        }\n\n        h /= 6;\n      }\n\n      return [h, s, l, val[3]];\n    }\n\n    function hue2rgb(p, q, t) {\n      if (t < 0) t += 1;\n      if (t > 1) t -= 1;\n      if (t < 1 / 6) return p + (q - p) * 6 * t;\n      if (t < 1 / 2) return q;\n      if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n      return p;\n    }\n\n    function hslToRgb(val) {\n      var h = val[0];\n      var s = val[1];\n      var l = val[2];\n      var r;\n      var g;\n      var b;\n\n      if (s === 0) {\n        r = l; // achromatic\n\n        b = l; // achromatic\n\n        g = l; // achromatic\n      } else {\n        var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n        var p = 2 * l - q;\n        r = hue2rgb(p, q, h + 1 / 3);\n        g = hue2rgb(p, q, h);\n        b = hue2rgb(p, q, h - 1 / 3);\n      }\n\n      return [r, g, b, val[3]];\n    }\n\n    function linear(t, tMin, tMax, value1, value2) {\n      if (value1 === undefined || value2 === undefined) {\n        value1 = tMin;\n        value2 = tMax;\n        tMin = 0;\n        tMax = 1;\n      }\n\n      if (tMax < tMin) {\n        var _tMin = tMax;\n        tMax = tMin;\n        tMin = _tMin;\n      }\n\n      if (t <= tMin) {\n        return value1;\n      }\n\n      if (t >= tMax) {\n        return value2;\n      }\n\n      var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n\n      if (!value1.length) {\n        return value1 + (value2 - value1) * perc;\n      }\n\n      var i;\n      var len = value1.length;\n      var arr = createTypedArray(\"float32\", len);\n\n      for (i = 0; i < len; i += 1) {\n        arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n      }\n\n      return arr;\n    }\n\n    function random(min, max) {\n      if (max === undefined) {\n        if (min === undefined) {\n          min = 0;\n          max = 1;\n        } else {\n          max = min;\n          min = undefined;\n        }\n      }\n\n      if (max.length) {\n        var i;\n        var len = max.length;\n\n        if (!min) {\n          min = createTypedArray(\"float32\", len);\n        }\n\n        var arr = createTypedArray(\"float32\", len);\n        var rnd = BMMath.random();\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = min[i] + rnd * (max[i] - min[i]);\n        }\n\n        return arr;\n      }\n\n      if (min === undefined) {\n        min = 0;\n      }\n\n      var rndm = BMMath.random();\n      return min + rndm * (max - min);\n    }\n\n    function createPath(points, inTangents, outTangents, closed) {\n      var i;\n      var len = points.length;\n      var path = shapePool.newElement();\n      path.setPathData(!!closed, len);\n      var arrPlaceholder = [0, 0];\n      var inVertexPoint;\n      var outVertexPoint;\n\n      for (i = 0; i < len; i += 1) {\n        inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n        outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n        path.setTripleAt(points[i][0], points[i][1], outVertexPoint[0] + points[i][0], outVertexPoint[1] + points[i][1], inVertexPoint[0] + points[i][0], inVertexPoint[1] + points[i][1], i, true);\n      }\n\n      return path;\n    }\n\n    function initiateExpression(elem, data, property) {\n      var val = data.x;\n      var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n\n      var _needsRandom = val.indexOf(\"random\") !== -1;\n\n      var elemType = elem.data.ty;\n      var transform;\n      var $bm_transform;\n      var content;\n      var effect;\n      var thisProperty = property;\n      thisProperty.valueAtTime = thisProperty.getValueAtTime;\n      Object.defineProperty(thisProperty, \"value\", {\n        get: function () {\n          return thisProperty.v;\n        }\n      });\n      elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n      elem.comp.displayStartTime = 0;\n      var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n      var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n      var width = elem.data.sw ? elem.data.sw : 0;\n      var height = elem.data.sh ? elem.data.sh : 0;\n      var name = elem.data.nm;\n      var loopIn;\n      var loop_in;\n      var loopOut;\n      var loop_out;\n      var smooth;\n      var toWorld;\n      var fromWorld;\n      var fromComp;\n      var toComp;\n      var fromCompToSurface;\n      var position;\n      var rotation;\n      var anchorPoint;\n      var scale;\n      var thisLayer;\n      var thisComp;\n      var mask;\n      var valueAtTime;\n      var velocityAtTime;\n      var scoped_bm_rt;\n      var expression_function = eval(\"[function _expression_function(){\" + val + \";scoped_bm_rt=$bm_rt}]\")[0]; // eslint-disable-line no-eval\n\n      var numKeys = property.kf ? data.k.length : 0;\n      var active = !(this || _global).data || (this || _global).data.hd !== true;\n\n      var wiggle = function wiggle(freq, amp) {\n        var iWiggle;\n        var j;\n        var lenWiggle = (this || _global).pv.length ? (this || _global).pv.length : 1;\n        var addedAmps = createTypedArray(\"float32\", lenWiggle);\n        freq = 5;\n        var iterations = Math.floor(time * freq);\n        iWiggle = 0;\n        j = 0;\n\n        while (iWiggle < iterations) {\n          // var rnd = BMMath.random();\n          for (j = 0; j < lenWiggle; j += 1) {\n            addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd;\n          }\n\n          iWiggle += 1;\n        } // var rnd2 = BMMath.random();\n\n\n        var periods = time * freq;\n        var perc = periods - Math.floor(periods);\n        var arr = createTypedArray(\"float32\", lenWiggle);\n\n        if (lenWiggle > 1) {\n          for (j = 0; j < lenWiggle; j += 1) {\n            arr[j] = (this || _global).pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n            // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n          }\n\n          return arr;\n        }\n\n        return (this || _global).pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n      }.bind(this || _global);\n\n      if (thisProperty.loopIn) {\n        loopIn = thisProperty.loopIn.bind(thisProperty);\n        loop_in = loopIn;\n      }\n\n      if (thisProperty.loopOut) {\n        loopOut = thisProperty.loopOut.bind(thisProperty);\n        loop_out = loopOut;\n      }\n\n      if (thisProperty.smooth) {\n        smooth = thisProperty.smooth.bind(thisProperty);\n      }\n\n      function loopInDuration(type, duration) {\n        return loopIn(type, duration, true);\n      }\n\n      function loopOutDuration(type, duration) {\n        return loopOut(type, duration, true);\n      }\n\n      if ((this || _global).getValueAtTime) {\n        valueAtTime = (this || _global).getValueAtTime.bind(this || _global);\n      }\n\n      if ((this || _global).getVelocityAtTime) {\n        velocityAtTime = (this || _global).getVelocityAtTime.bind(this || _global);\n      }\n\n      var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n\n      function lookAt(elem1, elem2) {\n        var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n        var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n        var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n        return [yaw, pitch, 0];\n      }\n\n      function easeOut(t, tMin, tMax, val1, val2) {\n        return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n      }\n\n      function easeIn(t, tMin, tMax, val1, val2) {\n        return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n      }\n\n      function ease(t, tMin, tMax, val1, val2) {\n        return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n      }\n\n      function applyEase(fn, t, tMin, tMax, val1, val2) {\n        if (val1 === undefined) {\n          val1 = tMin;\n          val2 = tMax;\n        } else {\n          t = (t - tMin) / (tMax - tMin);\n        }\n\n        if (t > 1) {\n          t = 1;\n        } else if (t < 0) {\n          t = 0;\n        }\n\n        var mult = fn(t);\n\n        if ($bm_isInstanceOfArray(val1)) {\n          var iKey;\n          var lenKey = val1.length;\n          var arr = createTypedArray(\"float32\", lenKey);\n\n          for (iKey = 0; iKey < lenKey; iKey += 1) {\n            arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\n          }\n\n          return arr;\n        }\n\n        return (val2 - val1) * mult + val1;\n      }\n\n      function nearestKey(time) {\n        var iKey;\n        var lenKey = data.k.length;\n        var index;\n        var keyTime;\n\n        if (!data.k.length || typeof data.k[0] === \"number\") {\n          index = 0;\n          keyTime = 0;\n        } else {\n          index = -1;\n          time *= elem.comp.globalData.frameRate;\n\n          if (time < data.k[0].t) {\n            index = 1;\n            keyTime = data.k[0].t;\n          } else {\n            for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\n              if (time === data.k[iKey].t) {\n                index = iKey + 1;\n                keyTime = data.k[iKey].t;\n                break;\n              } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\n                if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\n                  index = iKey + 2;\n                  keyTime = data.k[iKey + 1].t;\n                } else {\n                  index = iKey + 1;\n                  keyTime = data.k[iKey].t;\n                }\n\n                break;\n              }\n            }\n\n            if (index === -1) {\n              index = iKey + 1;\n              keyTime = data.k[iKey].t;\n            }\n          }\n        }\n\n        var obKey = {};\n        obKey.index = index;\n        obKey.time = keyTime / elem.comp.globalData.frameRate;\n        return obKey;\n      }\n\n      function key(ind) {\n        var obKey;\n        var iKey;\n        var lenKey;\n\n        if (!data.k.length || typeof data.k[0] === \"number\") {\n          throw new Error(\"The property has no keyframe at index \" + ind);\n        }\n\n        ind -= 1;\n        obKey = {\n          time: data.k[ind].t / elem.comp.globalData.frameRate,\n          value: []\n        };\n        var arr = Object.prototype.hasOwnProperty.call(data.k[ind], \"s\") ? data.k[ind].s : data.k[ind - 1].e;\n        lenKey = arr.length;\n\n        for (iKey = 0; iKey < lenKey; iKey += 1) {\n          obKey[iKey] = arr[iKey];\n          obKey.value[iKey] = arr[iKey];\n        }\n\n        return obKey;\n      }\n\n      function framesToTime(frames, fps) {\n        if (!fps) {\n          fps = elem.comp.globalData.frameRate;\n        }\n\n        return frames / fps;\n      }\n\n      function timeToFrames(t, fps) {\n        if (!t && t !== 0) {\n          t = time;\n        }\n\n        if (!fps) {\n          fps = elem.comp.globalData.frameRate;\n        }\n\n        return t * fps;\n      }\n\n      function seedRandom(seed) {\n        BMMath.seedrandom(randSeed + seed);\n      }\n\n      function sourceRectAtTime() {\n        return elem.sourceRectAtTime();\n      }\n\n      function substring(init, end) {\n        if (typeof value === \"string\") {\n          if (end === undefined) {\n            return value.substring(init);\n          }\n\n          return value.substring(init, end);\n        }\n\n        return \"\";\n      }\n\n      function substr(init, end) {\n        if (typeof value === \"string\") {\n          if (end === undefined) {\n            return value.substr(init);\n          }\n\n          return value.substr(init, end);\n        }\n\n        return \"\";\n      }\n\n      function posterizeTime(framesPerSecond) {\n        time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n        value = valueAtTime(time);\n      }\n\n      var time;\n      var velocity;\n      var value;\n      var text;\n      var textIndex;\n      var textTotal;\n      var selectorValue;\n      var index = elem.data.ind;\n      var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n      var parent;\n      var randSeed = Math.floor(Math.random() * 1000000);\n      var globalData = elem.globalData;\n\n      function executeExpression(_value) {\n        // globalData.pushExpression();\n        value = _value;\n\n        if (_needsRandom) {\n          seedRandom(randSeed);\n        }\n\n        if ((this || _global).frameExpressionId === elem.globalData.frameId && (this || _global).propType !== \"textSelector\") {\n          return value;\n        }\n\n        if ((this || _global).propType === \"textSelector\") {\n          textIndex = (this || _global).textIndex;\n          textTotal = (this || _global).textTotal;\n          selectorValue = (this || _global).selectorValue;\n        }\n\n        if (!thisLayer) {\n          text = elem.layerInterface.text;\n          thisLayer = elem.layerInterface;\n          thisComp = elem.comp.compInterface;\n          toWorld = thisLayer.toWorld.bind(thisLayer);\n          fromWorld = thisLayer.fromWorld.bind(thisLayer);\n          fromComp = thisLayer.fromComp.bind(thisLayer);\n          toComp = thisLayer.toComp.bind(thisLayer);\n          mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n          fromCompToSurface = fromComp;\n        }\n\n        if (!transform) {\n          transform = elem.layerInterface(\"ADBE Transform Group\");\n          $bm_transform = transform;\n\n          if (transform) {\n            anchorPoint = transform.anchorPoint;\n            /* position = transform.position;\r\n                      rotation = transform.rotation;\r\n                      scale = transform.scale; */\n          }\n        }\n\n        if (elemType === 4 && !content) {\n          content = thisLayer(\"ADBE Root Vectors Group\");\n        }\n\n        if (!effect) {\n          effect = thisLayer(4);\n        }\n\n        hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n\n        if (hasParent && !parent) {\n          parent = elem.hierarchy[0].layerInterface;\n        }\n\n        time = (this || _global).comp.renderedFrame / (this || _global).comp.globalData.frameRate;\n\n        if (needsVelocity) {\n          velocity = velocityAtTime(time);\n        }\n\n        expression_function();\n        (this || _global).frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n\n        if (scoped_bm_rt.propType === \"shape\") {\n          scoped_bm_rt = scoped_bm_rt.v;\n        } // globalData.popExpression();\n\n\n        return scoped_bm_rt;\n      }\n\n      return executeExpression;\n    }\n\n    ob.initiateExpression = initiateExpression;\n    return ob;\n  }();\n  /* global ExpressionManager, createTypedArray */\n\n  /* exported expressionHelpers */\n\n\n  var expressionHelpers = function () {\n    function searchExpressions(elem, data, prop) {\n      if (data.x) {\n        prop.k = true;\n        prop.x = true;\n        prop.initiateExpression = ExpressionManager.initiateExpression;\n        prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n      }\n    }\n\n    function getValueAtTime(frameNum) {\n      frameNum *= (this || _global).elem.globalData.frameRate;\n      frameNum -= (this || _global).offsetTime;\n\n      if (frameNum !== (this || _global)._cachingAtTime.lastFrame) {\n        (this || _global)._cachingAtTime.lastIndex = (this || _global)._cachingAtTime.lastFrame < frameNum ? (this || _global)._cachingAtTime.lastIndex : 0;\n        (this || _global)._cachingAtTime.value = this.interpolateValue(frameNum, (this || _global)._cachingAtTime);\n        (this || _global)._cachingAtTime.lastFrame = frameNum;\n      }\n\n      return (this || _global)._cachingAtTime.value;\n    }\n\n    function getSpeedAtTime(frameNum) {\n      var delta = -0.01;\n      var v1 = this.getValueAtTime(frameNum);\n      var v2 = this.getValueAtTime(frameNum + delta);\n      var speed = 0;\n\n      if (v1.length) {\n        var i;\n\n        for (i = 0; i < v1.length; i += 1) {\n          speed += Math.pow(v2[i] - v1[i], 2);\n        }\n\n        speed = Math.sqrt(speed) * 100;\n      } else {\n        speed = 0;\n      }\n\n      return speed;\n    }\n\n    function getVelocityAtTime(frameNum) {\n      if ((this || _global).vel !== undefined) {\n        return (this || _global).vel;\n      }\n\n      var delta = -0.001; // frameNum += this.elem.data.st;\n\n      var v1 = this.getValueAtTime(frameNum);\n      var v2 = this.getValueAtTime(frameNum + delta);\n      var velocity;\n\n      if (v1.length) {\n        velocity = createTypedArray(\"float32\", v1.length);\n        var i;\n\n        for (i = 0; i < v1.length; i += 1) {\n          // removing frameRate\n          // if needed, don't add it here\n          // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n          velocity[i] = (v2[i] - v1[i]) / delta;\n        }\n      } else {\n        velocity = (v2 - v1) / delta;\n      }\n\n      return velocity;\n    }\n\n    function getStaticValueAtTime() {\n      return (this || _global).pv;\n    }\n\n    function setGroupProperty(propertyGroup) {\n      (this || _global).propertyGroup = propertyGroup;\n    }\n\n    return {\n      searchExpressions: searchExpressions,\n      getSpeedAtTime: getSpeedAtTime,\n      getVelocityAtTime: getVelocityAtTime,\n      getValueAtTime: getValueAtTime,\n      getStaticValueAtTime: getStaticValueAtTime,\n      setGroupProperty: setGroupProperty\n    };\n  }();\n  /* global createTypedArray, Matrix, TransformPropertyFactory, expressionHelpers, PropertyFactory, expressionHelpers,\r\n  initialDefaultFrame, shapePool, ShapePropertyFactory, bez, extendPrototype, ExpressionManager, createSizedArray */\n\n\n  (function addPropertyDecorator() {\n    function loopOut(type, duration, durationFlag) {\n      if (!(this || _global).k || !(this || _global).keyframes) {\n        return (this || _global).pv;\n      }\n\n      type = type ? type.toLowerCase() : \"\";\n      var currentFrame = (this || _global).comp.renderedFrame;\n      var keyframes = (this || _global).keyframes;\n      var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n      if (currentFrame <= lastKeyFrame) {\n        return (this || _global).pv;\n      }\n\n      var cycleDuration;\n      var firstKeyFrame;\n\n      if (!durationFlag) {\n        if (!duration || duration > keyframes.length - 1) {\n          duration = keyframes.length - 1;\n        }\n\n        firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n        cycleDuration = lastKeyFrame - firstKeyFrame;\n      } else {\n        if (!duration) {\n          cycleDuration = Math.max(0, lastKeyFrame - (this || _global).elem.data.ip);\n        } else {\n          cycleDuration = Math.abs(lastKeyFrame - (this || _global).elem.comp.globalData.frameRate * duration);\n        }\n\n        firstKeyFrame = lastKeyFrame - cycleDuration;\n      }\n\n      var i;\n      var len;\n      var ret;\n\n      if (type === \"pingpong\") {\n        var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n        if (iterations % 2 !== 0) {\n          return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n        }\n      } else if (type === \"offset\") {\n        var initV = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var endV = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n\n        var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(initV.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n          }\n\n          return ret;\n        }\n\n        return (endV - initV) * repeats + current;\n      } else if (type === \"continue\") {\n        var lastValue = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / (this || _global).comp.globalData.frameRate, 0);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(lastValue.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / (this || _global).comp.globalData.frameRate) / 0.0005; // eslint-disable-line\n          }\n\n          return ret;\n        }\n\n        return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n      }\n\n      return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n    }\n\n    function loopIn(type, duration, durationFlag) {\n      if (!(this || _global).k) {\n        return (this || _global).pv;\n      }\n\n      type = type ? type.toLowerCase() : \"\";\n      var currentFrame = (this || _global).comp.renderedFrame;\n      var keyframes = (this || _global).keyframes;\n      var firstKeyFrame = keyframes[0].t;\n\n      if (currentFrame >= firstKeyFrame) {\n        return (this || _global).pv;\n      }\n\n      var cycleDuration;\n      var lastKeyFrame;\n\n      if (!durationFlag) {\n        if (!duration || duration > keyframes.length - 1) {\n          duration = keyframes.length - 1;\n        }\n\n        lastKeyFrame = keyframes[duration].t;\n        cycleDuration = lastKeyFrame - firstKeyFrame;\n      } else {\n        if (!duration) {\n          cycleDuration = Math.max(0, (this || _global).elem.data.op - firstKeyFrame);\n        } else {\n          cycleDuration = Math.abs((this || _global).elem.comp.globalData.frameRate * duration);\n        }\n\n        lastKeyFrame = firstKeyFrame + cycleDuration;\n      }\n\n      var i;\n      var len;\n      var ret;\n\n      if (type === \"pingpong\") {\n        var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n\n        if (iterations % 2 === 0) {\n          return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n        }\n      } else if (type === \"offset\") {\n        var initV = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var endV = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0);\n        var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n        if ((this || _global).pv.length) {\n          ret = new Array(initV.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n          }\n\n          return ret;\n        }\n\n        return current - (endV - initV) * repeats;\n      } else if (type === \"continue\") {\n        var firstValue = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / (this || _global).comp.globalData.frameRate, 0);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(firstValue.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n          }\n\n          return ret;\n        }\n\n        return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n      }\n\n      return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n    }\n\n    function smooth(width, samples) {\n      if (!(this || _global).k) {\n        return (this || _global).pv;\n      }\n\n      width = (width || 0.4) * 0.5;\n      samples = Math.floor(samples || 5);\n\n      if (samples <= 1) {\n        return (this || _global).pv;\n      }\n\n      var currentTime = (this || _global).comp.renderedFrame / (this || _global).comp.globalData.frameRate;\n      var initFrame = currentTime - width;\n      var endFrame = currentTime + width;\n      var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n      var i = 0;\n      var j = 0;\n      var value;\n\n      if ((this || _global).pv.length) {\n        value = createTypedArray(\"float32\", (this || _global).pv.length);\n      } else {\n        value = 0;\n      }\n\n      var sampleValue;\n\n      while (i < samples) {\n        sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n\n        if ((this || _global).pv.length) {\n          for (j = 0; j < (this || _global).pv.length; j += 1) {\n            value[j] += sampleValue[j];\n          }\n        } else {\n          value += sampleValue;\n        }\n\n        i += 1;\n      }\n\n      if ((this || _global).pv.length) {\n        for (j = 0; j < (this || _global).pv.length; j += 1) {\n          value[j] /= samples;\n        }\n      } else {\n        value /= samples;\n      }\n\n      return value;\n    }\n\n    function getTransformValueAtTime(time) {\n      if (!(this || _global)._transformCachingAtTime) {\n        (this || _global)._transformCachingAtTime = {\n          v: new Matrix()\n        };\n      } /// /\n\n\n      var matrix = (this || _global)._transformCachingAtTime.v;\n      matrix.cloneFromProps((this || _global).pre.props);\n\n      if ((this || _global).appliedTransformations < 1) {\n        var anchor = (this || _global).a.getValueAtTime(time);\n\n        matrix.translate(-anchor[0] * (this || _global).a.mult, -anchor[1] * (this || _global).a.mult, anchor[2] * (this || _global).a.mult);\n      }\n\n      if ((this || _global).appliedTransformations < 2) {\n        var scale = (this || _global).s.getValueAtTime(time);\n\n        matrix.scale(scale[0] * (this || _global).s.mult, scale[1] * (this || _global).s.mult, scale[2] * (this || _global).s.mult);\n      }\n\n      if ((this || _global).sk && (this || _global).appliedTransformations < 3) {\n        var skew = (this || _global).sk.getValueAtTime(time);\n\n        var skewAxis = (this || _global).sa.getValueAtTime(time);\n\n        matrix.skewFromAxis(-skew * (this || _global).sk.mult, skewAxis * (this || _global).sa.mult);\n      }\n\n      if ((this || _global).r && (this || _global).appliedTransformations < 4) {\n        var rotation = (this || _global).r.getValueAtTime(time);\n\n        matrix.rotate(-rotation * (this || _global).r.mult);\n      } else if (!(this || _global).r && (this || _global).appliedTransformations < 4) {\n        var rotationZ = (this || _global).rz.getValueAtTime(time);\n\n        var rotationY = (this || _global).ry.getValueAtTime(time);\n\n        var rotationX = (this || _global).rx.getValueAtTime(time);\n\n        var orientation = (this || _global).or.getValueAtTime(time);\n\n        matrix.rotateZ(-rotationZ * (this || _global).rz.mult).rotateY(rotationY * (this || _global).ry.mult).rotateX(rotationX * (this || _global).rx.mult).rotateZ(-orientation[2] * (this || _global).or.mult).rotateY(orientation[1] * (this || _global).or.mult).rotateX(orientation[0] * (this || _global).or.mult);\n      }\n\n      if ((this || _global).data.p && (this || _global).data.p.s) {\n        var positionX = (this || _global).px.getValueAtTime(time);\n\n        var positionY = (this || _global).py.getValueAtTime(time);\n\n        if ((this || _global).data.p.z) {\n          var positionZ = (this || _global).pz.getValueAtTime(time);\n\n          matrix.translate(positionX * (this || _global).px.mult, positionY * (this || _global).py.mult, -positionZ * (this || _global).pz.mult);\n        } else {\n          matrix.translate(positionX * (this || _global).px.mult, positionY * (this || _global).py.mult, 0);\n        }\n      } else {\n        var position = (this || _global).p.getValueAtTime(time);\n\n        matrix.translate(position[0] * (this || _global).p.mult, position[1] * (this || _global).p.mult, -position[2] * (this || _global).p.mult);\n      }\n\n      return matrix; /// /\n    }\n\n    function getTransformStaticValueAtTime() {\n      return (this || _global).v.clone(new Matrix());\n    }\n\n    var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n\n    TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n      var prop = getTransformProperty(elem, data, container);\n\n      if (prop.dynamicProperties.length) {\n        prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n      } else {\n        prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n      }\n\n      prop.setGroupProperty = expressionHelpers.setGroupProperty;\n      return prop;\n    };\n\n    var propertyGetProp = PropertyFactory.getProp;\n\n    PropertyFactory.getProp = function (elem, data, type, mult, container) {\n      var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime;\n      // prop.loopOut = loopOut;\n      // prop.loopIn = loopIn;\n\n      if (prop.kf) {\n        prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n      } else {\n        prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n      }\n\n      prop.setGroupProperty = expressionHelpers.setGroupProperty;\n      prop.loopOut = loopOut;\n      prop.loopIn = loopIn;\n      prop.smooth = smooth;\n      prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n      prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n      prop.numKeys = data.a === 1 ? data.k.length : 0;\n      prop.propertyIndex = data.ix;\n      var value = 0;\n\n      if (type !== 0) {\n        value = createTypedArray(\"float32\", data.a === 1 ? data.k[0].s.length : data.k.length);\n      }\n\n      prop._cachingAtTime = {\n        lastFrame: initialDefaultFrame,\n        lastIndex: 0,\n        value: value\n      };\n      expressionHelpers.searchExpressions(elem, data, prop);\n\n      if (prop.k) {\n        container.addDynamicProperty(prop);\n      }\n\n      return prop;\n    };\n\n    function getShapeValueAtTime(frameNum) {\n      // For now this caching object is created only when needed instead of creating it when the shape is initialized.\n      if (!(this || _global)._cachingAtTime) {\n        (this || _global)._cachingAtTime = {\n          shapeValue: shapePool.clone((this || _global).pv),\n          lastIndex: 0,\n          lastTime: initialDefaultFrame\n        };\n      }\n\n      frameNum *= (this || _global).elem.globalData.frameRate;\n      frameNum -= (this || _global).offsetTime;\n\n      if (frameNum !== (this || _global)._cachingAtTime.lastTime) {\n        (this || _global)._cachingAtTime.lastIndex = (this || _global)._cachingAtTime.lastTime < frameNum ? (this || _global)._caching.lastIndex : 0;\n        (this || _global)._cachingAtTime.lastTime = frameNum;\n        this.interpolateShape(frameNum, (this || _global)._cachingAtTime.shapeValue, (this || _global)._cachingAtTime);\n      }\n\n      return (this || _global)._cachingAtTime.shapeValue;\n    }\n\n    var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n    var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n    function ShapeExpressions() {}\n\n    ShapeExpressions.prototype = {\n      vertices: function (prop, time) {\n        if ((this || _global).k) {\n          this.getValue();\n        }\n\n        var shapePath = (this || _global).v;\n\n        if (time !== undefined) {\n          shapePath = this.getValueAtTime(time, 0);\n        }\n\n        var i;\n        var len = shapePath._length;\n        var vertices = shapePath[prop];\n        var points = shapePath.v;\n        var arr = createSizedArray(len);\n\n        for (i = 0; i < len; i += 1) {\n          if (prop === \"i\" || prop === \"o\") {\n            arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n          } else {\n            arr[i] = [vertices[i][0], vertices[i][1]];\n          }\n        }\n\n        return arr;\n      },\n      points: function (time) {\n        return this.vertices(\"v\", time);\n      },\n      inTangents: function (time) {\n        return this.vertices(\"i\", time);\n      },\n      outTangents: function (time) {\n        return this.vertices(\"o\", time);\n      },\n      isClosed: function () {\n        return (this || _global).v.c;\n      },\n      pointOnPath: function (perc, time) {\n        var shapePath = (this || _global).v;\n\n        if (time !== undefined) {\n          shapePath = this.getValueAtTime(time, 0);\n        }\n\n        if (!(this || _global)._segmentsLength) {\n          (this || _global)._segmentsLength = bez.getSegmentsLength(shapePath);\n        }\n\n        var segmentsLength = (this || _global)._segmentsLength;\n        var lengths = segmentsLength.lengths;\n        var lengthPos = segmentsLength.totalLength * perc;\n        var i = 0;\n        var len = lengths.length;\n        var accumulatedLength = 0;\n        var pt;\n\n        while (i < len) {\n          if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n            var initIndex = i;\n            var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n            var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n            pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n            break;\n          } else {\n            accumulatedLength += lengths[i].addedLength;\n          }\n\n          i += 1;\n        }\n\n        if (!pt) {\n          pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n        }\n\n        return pt;\n      },\n      vectorOnPath: function (perc, time, vectorType) {\n        // perc doesn't use triple equality because it can be a Number object as well as a primitive.\n        if (perc == 1) {\n          // eslint-disable-line eqeqeq\n          perc = (this || _global).v.c;\n        } else if (perc == 0) {\n          // eslint-disable-line eqeqeq\n          perc = 0.999;\n        }\n\n        var pt1 = this.pointOnPath(perc, time);\n        var pt2 = this.pointOnPath(perc + 0.001, time);\n        var xLength = pt2[0] - pt1[0];\n        var yLength = pt2[1] - pt1[1];\n        var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n\n        if (magnitude === 0) {\n          return [0, 0];\n        }\n\n        var unitVector = vectorType === \"tangent\" ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n        return unitVector;\n      },\n      tangentOnPath: function (perc, time) {\n        return this.vectorOnPath(perc, time, \"tangent\");\n      },\n      normalOnPath: function (perc, time) {\n        return this.vectorOnPath(perc, time, \"normal\");\n      },\n      setGroupProperty: expressionHelpers.setGroupProperty,\n      getValueAtTime: expressionHelpers.getStaticValueAtTime\n    };\n    extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n    extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n    KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n    KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n    var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n\n    ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n      var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n      prop.propertyIndex = data.ix;\n      prop.lock = false;\n\n      if (type === 3) {\n        expressionHelpers.searchExpressions(elem, data.pt, prop);\n      } else if (type === 4) {\n        expressionHelpers.searchExpressions(elem, data.ks, prop);\n      }\n\n      if (prop.k) {\n        elem.addDynamicProperty(prop);\n      }\n\n      return prop;\n    };\n  })();\n  /* global ExpressionManager, TextProperty */\n\n\n  (function addDecorator() {\n    function searchExpressions() {\n      if ((this || _global).data.d.x) {\n        (this || _global).calculateExpression = ExpressionManager.initiateExpression.bind(this || _global)((this || _global).elem, (this || _global).data.d, this || _global);\n        this.addEffect((this || _global).getExpressionValue.bind(this || _global));\n        return true;\n      }\n\n      return null;\n    }\n\n    TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n      var newValue = this.calculateExpression(text);\n\n      if (currentValue.t !== newValue) {\n        var newData = {};\n        this.copyData(newData, currentValue);\n        newData.t = newValue.toString();\n        newData.__complete = false;\n        return newData;\n      }\n\n      return currentValue;\n    };\n\n    TextProperty.prototype.searchProperty = function () {\n      var isKeyframed = this.searchKeyframes();\n      var hasExpressions = this.searchExpressions();\n      (this || _global).kf = isKeyframed || hasExpressions;\n      return (this || _global).kf;\n    };\n\n    TextProperty.prototype.searchExpressions = searchExpressions;\n  })();\n  /* global propertyGroupFactory, PropertyInterface */\n\n  /* exported ShapePathInterface */\n\n\n  var ShapePathInterface = function () {\n    return function pathInterfaceFactory(shape, view, propertyGroup) {\n      var prop = view.sh;\n\n      function interfaceFunction(val) {\n        if (val === \"Shape\" || val === \"shape\" || val === \"Path\" || val === \"path\" || val === \"ADBE Vector Shape\" || val === 2) {\n          return interfaceFunction.path;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      prop.setGroupProperty(PropertyInterface(\"Path\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        path: {\n          get: function () {\n            if (prop.k) {\n              prop.getValue();\n            }\n\n            return prop;\n          }\n        },\n        shape: {\n          get: function () {\n            if (prop.k) {\n              prop.getValue();\n            }\n\n            return prop;\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        ix: {\n          value: shape.ix\n        },\n        propertyIndex: {\n          value: shape.ix\n        },\n        mn: {\n          value: shape.mn\n        },\n        propertyGroup: {\n          value: propertyGroup\n        }\n      });\n      return interfaceFunction;\n    };\n  }();\n  /* exported propertyGroupFactory */\n\n\n  var propertyGroupFactory = function () {\n    return function (interfaceFunction, parentPropertyGroup) {\n      return function (val) {\n        val = val === undefined ? 1 : val;\n\n        if (val <= 0) {\n          return interfaceFunction;\n        }\n\n        return parentPropertyGroup(val - 1);\n      };\n    };\n  }();\n  /* exported PropertyInterface */\n\n\n  var PropertyInterface = function () {\n    return function (propertyName, propertyGroup) {\n      var interfaceFunction = {\n        _name: propertyName\n      };\n\n      function _propertyGroup(val) {\n        val = val === undefined ? 1 : val;\n\n        if (val <= 0) {\n          return interfaceFunction;\n        }\n\n        return propertyGroup(val - 1);\n      }\n\n      return _propertyGroup;\n    };\n  }();\n  /* global ExpressionPropertyInterface, PropertyInterface, propertyGroupFactory, ShapePathInterface */\n\n  /* exported ShapeExpressionInterface */\n\n\n  var ShapeExpressionInterface = function () {\n    function iterateElements(shapes, view, propertyGroup) {\n      var arr = [];\n      var i;\n      var len = shapes ? shapes.length : 0;\n\n      for (i = 0; i < len; i += 1) {\n        if (shapes[i].ty === \"gr\") {\n          arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"fl\") {\n          arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"st\") {\n          arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"tm\") {\n          arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"tr\") {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n        } else if (shapes[i].ty === \"el\") {\n          arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"sr\") {\n          arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"sh\") {\n          arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rc\") {\n          arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rd\") {\n          arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rp\") {\n          arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n        }\n      }\n\n      return arr;\n    }\n\n    function contentsInterfaceFactory(shape, view, propertyGroup) {\n      var interfaces;\n\n      var interfaceFunction = function _interfaceFunction(value) {\n        var i = 0;\n        var len = interfaces.length;\n\n        while (i < len) {\n          if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n            return interfaces[i];\n          }\n\n          i += 1;\n        }\n\n        if (typeof value === \"number\") {\n          return interfaces[value - 1];\n        }\n\n        return null;\n      };\n\n      interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n      interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n      interfaceFunction.numProperties = interfaces.length;\n      var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n      interfaceFunction.transform = transformInterface;\n      interfaceFunction.propertyIndex = shape.cix;\n      interfaceFunction._name = shape.nm;\n      return interfaceFunction;\n    }\n\n    function groupInterfaceFactory(shape, view, propertyGroup) {\n      var interfaceFunction = function _interfaceFunction(value) {\n        switch (value) {\n          case \"ADBE Vectors Group\":\n          case \"Contents\":\n          case 2:\n            return interfaceFunction.content;\n          // Not necessary for now. Keeping them here in case a new case appears\n          // case 'ADBE Vector Transform Group':\n          // case 3:\n\n          default:\n            return interfaceFunction.transform;\n        }\n      };\n\n      interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n      var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n      var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n      interfaceFunction.content = content;\n      interfaceFunction.transform = transformInterface;\n      Object.defineProperty(interfaceFunction, \"_name\", {\n        get: function () {\n          return shape.nm;\n        }\n      }); // interfaceFunction.content = interfaceFunction;\n\n      interfaceFunction.numProperties = shape.np;\n      interfaceFunction.propertyIndex = shape.ix;\n      interfaceFunction.nm = shape.nm;\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function fillInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === \"Color\" || val === \"color\") {\n          return interfaceFunction.color;\n        }\n\n        if (val === \"Opacity\" || val === \"opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        color: {\n          get: ExpressionPropertyInterface(view.c)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.c.setGroupProperty(PropertyInterface(\"Color\", propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Opacity\", propertyGroup));\n      return interfaceFunction;\n    }\n\n    function strokeInterfaceFactory(shape, view, propertyGroup) {\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n\n      function addPropertyToDashOb(i) {\n        Object.defineProperty(dashOb, shape.d[i].nm, {\n          get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n        });\n      }\n\n      var i;\n      var len = shape.d ? shape.d.length : 0;\n      var dashOb = {};\n\n      for (i = 0; i < len; i += 1) {\n        addPropertyToDashOb(i);\n        view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n      }\n\n      function interfaceFunction(val) {\n        if (val === \"Color\" || val === \"color\") {\n          return interfaceFunction.color;\n        }\n\n        if (val === \"Opacity\" || val === \"opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        if (val === \"Stroke Width\" || val === \"stroke width\") {\n          return interfaceFunction.strokeWidth;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        color: {\n          get: ExpressionPropertyInterface(view.c)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        strokeWidth: {\n          get: ExpressionPropertyInterface(view.w)\n        },\n        dash: {\n          get: function () {\n            return dashOb;\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.c.setGroupProperty(PropertyInterface(\"Color\", _propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      view.w.setGroupProperty(PropertyInterface(\"Stroke Width\", _propertyGroup));\n      return interfaceFunction;\n    }\n\n    function trimInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === shape.e.ix || val === \"End\" || val === \"end\") {\n          return interfaceFunction.end;\n        }\n\n        if (val === shape.s.ix) {\n          return interfaceFunction.start;\n        }\n\n        if (val === shape.o.ix) {\n          return interfaceFunction.offset;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      interfaceFunction.propertyIndex = shape.ix;\n      view.s.setGroupProperty(PropertyInterface(\"Start\", _propertyGroup));\n      view.e.setGroupProperty(PropertyInterface(\"End\", _propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Offset\", _propertyGroup));\n      interfaceFunction.propertyIndex = shape.ix;\n      interfaceFunction.propertyGroup = propertyGroup;\n      Object.defineProperties(interfaceFunction, {\n        start: {\n          get: ExpressionPropertyInterface(view.s)\n        },\n        end: {\n          get: ExpressionPropertyInterface(view.e)\n        },\n        offset: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function transformInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.a.ix === value || value === \"Anchor Point\") {\n          return interfaceFunction.anchorPoint;\n        }\n\n        if (shape.o.ix === value || value === \"Opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        if (shape.p.ix === value || value === \"Position\") {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value || value === \"Rotation\" || value === \"ADBE Vector Rotation\") {\n          return interfaceFunction.rotation;\n        }\n\n        if (shape.s.ix === value || value === \"Scale\") {\n          return interfaceFunction.scale;\n        }\n\n        if (shape.sk && shape.sk.ix === value || value === \"Skew\") {\n          return interfaceFunction.skew;\n        }\n\n        if (shape.sa && shape.sa.ix === value || value === \"Skew Axis\") {\n          return interfaceFunction.skewAxis;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      view.transform.mProps.o.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      view.transform.mProps.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      view.transform.mProps.a.setGroupProperty(PropertyInterface(\"Anchor Point\", _propertyGroup));\n      view.transform.mProps.s.setGroupProperty(PropertyInterface(\"Scale\", _propertyGroup));\n      view.transform.mProps.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n\n      if (view.transform.mProps.sk) {\n        view.transform.mProps.sk.setGroupProperty(PropertyInterface(\"Skew\", _propertyGroup));\n        view.transform.mProps.sa.setGroupProperty(PropertyInterface(\"Skew Angle\", _propertyGroup));\n      }\n\n      view.transform.op.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        opacity: {\n          get: ExpressionPropertyInterface(view.transform.mProps.o)\n        },\n        position: {\n          get: ExpressionPropertyInterface(view.transform.mProps.p)\n        },\n        anchorPoint: {\n          get: ExpressionPropertyInterface(view.transform.mProps.a)\n        },\n        scale: {\n          get: ExpressionPropertyInterface(view.transform.mProps.s)\n        },\n        rotation: {\n          get: ExpressionPropertyInterface(view.transform.mProps.r)\n        },\n        skew: {\n          get: ExpressionPropertyInterface(view.transform.mProps.sk)\n        },\n        skewAxis: {\n          get: ExpressionPropertyInterface(view.transform.mProps.sa)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.ty = \"tr\";\n      interfaceFunction.mn = shape.mn;\n      interfaceFunction.propertyGroup = propertyGroup;\n      return interfaceFunction;\n    }\n\n    function ellipseInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.s.ix === value) {\n          return interfaceFunction.size;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      interfaceFunction.propertyIndex = shape.ix;\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      prop.s.setGroupProperty(PropertyInterface(\"Size\", _propertyGroup));\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        size: {\n          get: ExpressionPropertyInterface(prop.s)\n        },\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function starInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value) {\n          return interfaceFunction.rotation;\n        }\n\n        if (shape.pt.ix === value) {\n          return interfaceFunction.points;\n        }\n\n        if (shape.or.ix === value || value === \"ADBE Vector Star Outer Radius\") {\n          return interfaceFunction.outerRadius;\n        }\n\n        if (shape.os.ix === value) {\n          return interfaceFunction.outerRoundness;\n        }\n\n        if (shape.ir && (shape.ir.ix === value || value === \"ADBE Vector Star Inner Radius\")) {\n          return interfaceFunction.innerRadius;\n        }\n\n        if (shape.is && shape.is.ix === value) {\n          return interfaceFunction.innerRoundness;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.or.setGroupProperty(PropertyInterface(\"Outer Radius\", _propertyGroup));\n      prop.os.setGroupProperty(PropertyInterface(\"Outer Roundness\", _propertyGroup));\n      prop.pt.setGroupProperty(PropertyInterface(\"Points\", _propertyGroup));\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      prop.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n\n      if (shape.ir) {\n        prop.ir.setGroupProperty(PropertyInterface(\"Inner Radius\", _propertyGroup));\n        prop.is.setGroupProperty(PropertyInterface(\"Inner Roundness\", _propertyGroup));\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        rotation: {\n          get: ExpressionPropertyInterface(prop.r)\n        },\n        points: {\n          get: ExpressionPropertyInterface(prop.pt)\n        },\n        outerRadius: {\n          get: ExpressionPropertyInterface(prop.or)\n        },\n        outerRoundness: {\n          get: ExpressionPropertyInterface(prop.os)\n        },\n        innerRadius: {\n          get: ExpressionPropertyInterface(prop.ir)\n        },\n        innerRoundness: {\n          get: ExpressionPropertyInterface(prop.is)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function rectInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value) {\n          return interfaceFunction.roundness;\n        }\n\n        if (shape.s.ix === value || value === \"Size\" || value === \"ADBE Vector Rect Size\") {\n          return interfaceFunction.size;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      prop.s.setGroupProperty(PropertyInterface(\"Size\", _propertyGroup));\n      prop.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        roundness: {\n          get: ExpressionPropertyInterface(prop.r)\n        },\n        size: {\n          get: ExpressionPropertyInterface(prop.s)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function roundedInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.r.ix === value || value === \"Round Corners 1\") {\n          return interfaceFunction.radius;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.rd.setGroupProperty(PropertyInterface(\"Radius\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        radius: {\n          get: ExpressionPropertyInterface(prop.rd)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function repeaterInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.c.ix === value || value === \"Copies\") {\n          return interfaceFunction.copies;\n        }\n\n        if (shape.o.ix === value || value === \"Offset\") {\n          return interfaceFunction.offset;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.c.setGroupProperty(PropertyInterface(\"Copies\", _propertyGroup));\n      prop.o.setGroupProperty(PropertyInterface(\"Offset\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        copies: {\n          get: ExpressionPropertyInterface(prop.c)\n        },\n        offset: {\n          get: ExpressionPropertyInterface(prop.o)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    return function (shapes, view, propertyGroup) {\n      var interfaces;\n\n      function _interfaceFunction(value) {\n        if (typeof value === \"number\") {\n          value = value === undefined ? 1 : value;\n\n          if (value === 0) {\n            return propertyGroup;\n          }\n\n          return interfaces[value - 1];\n        }\n\n        var i = 0;\n        var len = interfaces.length;\n\n        while (i < len) {\n          if (interfaces[i]._name === value) {\n            return interfaces[i];\n          }\n\n          i += 1;\n        }\n\n        return null;\n      }\n\n      function parentGroupWrapper() {\n        return propertyGroup;\n      }\n\n      _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\n      interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\n      _interfaceFunction.numProperties = interfaces.length;\n      _interfaceFunction._name = \"Contents\";\n      return _interfaceFunction;\n    };\n  }();\n  /* exported TextExpressionInterface */\n\n\n  var TextExpressionInterface = function () {\n    return function (elem) {\n      var _prevValue;\n\n      var _sourceText;\n\n      function _thisLayerFunction(name) {\n        switch (name) {\n          case \"ADBE Text Document\":\n            return _thisLayerFunction.sourceText;\n\n          default:\n            return null;\n        }\n      }\n\n      Object.defineProperty(_thisLayerFunction, \"sourceText\", {\n        get: function () {\n          elem.textProperty.getValue();\n          var stringValue = elem.textProperty.currentData.t;\n\n          if (stringValue !== _prevValue) {\n            elem.textProperty.currentData.t = _prevValue;\n            _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\n            // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n\n            _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\n          }\n\n          return _sourceText;\n        }\n      });\n      return _thisLayerFunction;\n    };\n  }();\n  /* global Matrix, MaskManagerInterface, TransformExpressionInterface, getDescriptor */\n\n  /* exported LayerExpressionInterface */\n\n\n  var LayerExpressionInterface = function () {\n    function getMatrix(time) {\n      var toWorldMat = new Matrix();\n\n      if (time !== undefined) {\n        var propMatrix = (this || _global)._elem.finalTransform.mProp.getValueAtTime(time);\n\n        propMatrix.clone(toWorldMat);\n      } else {\n        var transformMat = (this || _global)._elem.finalTransform.mProp;\n        transformMat.applyToMatrix(toWorldMat);\n      }\n\n      return toWorldMat;\n    }\n\n    function toWorldVec(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      toWorldMat.props[12] = 0;\n      toWorldMat.props[13] = 0;\n      toWorldMat.props[14] = 0;\n      return this.applyPoint(toWorldMat, arr);\n    }\n\n    function toWorld(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      return this.applyPoint(toWorldMat, arr);\n    }\n\n    function fromWorldVec(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      toWorldMat.props[12] = 0;\n      toWorldMat.props[13] = 0;\n      toWorldMat.props[14] = 0;\n      return this.invertPoint(toWorldMat, arr);\n    }\n\n    function fromWorld(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      return this.invertPoint(toWorldMat, arr);\n    }\n\n    function applyPoint(matrix, arr) {\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n        }\n      }\n\n      return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n    }\n\n    function invertPoint(matrix, arr) {\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n        }\n      }\n\n      return matrix.inversePoint(arr);\n    }\n\n    function fromComp(arr) {\n      var toWorldMat = new Matrix();\n      toWorldMat.reset();\n\n      (this || _global)._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n        }\n\n        return toWorldMat.inversePoint(arr);\n      }\n\n      return toWorldMat.inversePoint(arr);\n    }\n\n    function sampleImage() {\n      return [1, 1, 1, 1];\n    }\n\n    return function (elem) {\n      var transformInterface;\n\n      function _registerMaskInterface(maskManager) {\n        _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n      }\n\n      function _registerEffectsInterface(effects) {\n        _thisLayerFunction.effect = effects;\n      }\n\n      function _thisLayerFunction(name) {\n        switch (name) {\n          case \"ADBE Root Vectors Group\":\n          case \"Contents\":\n          case 2:\n            return _thisLayerFunction.shapeInterface;\n\n          case 1:\n          case 6:\n          case \"Transform\":\n          case \"transform\":\n          case \"ADBE Transform Group\":\n            return transformInterface;\n\n          case 4:\n          case \"ADBE Effect Parade\":\n          case \"effects\":\n          case \"Effects\":\n            return _thisLayerFunction.effect;\n\n          case \"ADBE Text Properties\":\n            return _thisLayerFunction.textInterface;\n\n          default:\n            return null;\n        }\n      }\n\n      _thisLayerFunction.getMatrix = getMatrix;\n      _thisLayerFunction.invertPoint = invertPoint;\n      _thisLayerFunction.applyPoint = applyPoint;\n      _thisLayerFunction.toWorld = toWorld;\n      _thisLayerFunction.toWorldVec = toWorldVec;\n      _thisLayerFunction.fromWorld = fromWorld;\n      _thisLayerFunction.fromWorldVec = fromWorldVec;\n      _thisLayerFunction.toComp = toWorld;\n      _thisLayerFunction.fromComp = fromComp;\n      _thisLayerFunction.sampleImage = sampleImage;\n      _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n      _thisLayerFunction._elem = elem;\n      transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n      var anchorPointDescriptor = getDescriptor(transformInterface, \"anchorPoint\");\n      Object.defineProperties(_thisLayerFunction, {\n        hasParent: {\n          get: function () {\n            return elem.hierarchy.length;\n          }\n        },\n        parent: {\n          get: function () {\n            return elem.hierarchy[0].layerInterface;\n          }\n        },\n        rotation: getDescriptor(transformInterface, \"rotation\"),\n        scale: getDescriptor(transformInterface, \"scale\"),\n        position: getDescriptor(transformInterface, \"position\"),\n        opacity: getDescriptor(transformInterface, \"opacity\"),\n        anchorPoint: anchorPointDescriptor,\n        anchor_point: anchorPointDescriptor,\n        transform: {\n          get: function () {\n            return transformInterface;\n          }\n        },\n        active: {\n          get: function () {\n            return elem.isInRange;\n          }\n        }\n      });\n      _thisLayerFunction.startTime = elem.data.st;\n      _thisLayerFunction.index = elem.data.ind;\n      _thisLayerFunction.source = elem.data.refId;\n      _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n      _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n      _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n      _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n      _thisLayerFunction._name = elem.data.nm;\n      _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n      _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n      return _thisLayerFunction;\n    };\n  }();\n  /* global */\n\n  /* exported FootageInterface */\n\n\n  var FootageInterface = function () {\n    var outlineInterfaceFactory = function (elem) {\n      var currentPropertyName = \"\";\n      var currentProperty = elem.getFootageData();\n\n      function init() {\n        currentPropertyName = \"\";\n        currentProperty = elem.getFootageData();\n        return searchProperty;\n      }\n\n      function searchProperty(value) {\n        if (currentProperty[value]) {\n          currentPropertyName = value;\n          currentProperty = currentProperty[value];\n\n          if (typeof currentProperty === \"object\") {\n            return searchProperty;\n          }\n\n          return currentProperty;\n        }\n\n        var propertyNameIndex = value.indexOf(currentPropertyName);\n\n        if (propertyNameIndex !== -1) {\n          var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\n          currentProperty = currentProperty[index];\n\n          if (typeof currentProperty === \"object\") {\n            return searchProperty;\n          }\n\n          return currentProperty;\n        }\n\n        return \"\";\n      }\n\n      return init;\n    };\n\n    var dataInterfaceFactory = function (elem) {\n      function interfaceFunction(value) {\n        if (value === \"Outline\") {\n          return interfaceFunction.outlineInterface();\n        }\n\n        return null;\n      }\n\n      interfaceFunction._name = \"Outline\";\n      interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\n      return interfaceFunction;\n    };\n\n    return function (elem) {\n      function _interfaceFunction(value) {\n        if (value === \"Data\") {\n          return _interfaceFunction.dataInterface;\n        }\n\n        return null;\n      }\n\n      _interfaceFunction._name = \"Data\";\n      _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\n      return _interfaceFunction;\n    };\n  }();\n  /* exported CompExpressionInterface */\n\n\n  var CompExpressionInterface = function () {\n    return function (comp) {\n      function _thisLayerFunction(name) {\n        var i = 0;\n        var len = comp.layers.length;\n\n        while (i < len) {\n          if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n            return comp.elements[i].layerInterface;\n          }\n\n          i += 1;\n        }\n\n        return null; // return {active:false};\n      }\n\n      Object.defineProperty(_thisLayerFunction, \"_name\", {\n        value: comp.data.nm\n      });\n      _thisLayerFunction.layer = _thisLayerFunction;\n      _thisLayerFunction.pixelAspect = 1;\n      _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n      _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n      _thisLayerFunction.pixelAspect = 1;\n      _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n      _thisLayerFunction.displayStartTime = 0;\n      _thisLayerFunction.numLayers = comp.layers.length;\n      return _thisLayerFunction;\n    };\n  }();\n  /* global ExpressionPropertyInterface */\n\n  /* exported TransformExpressionInterface */\n\n\n  var TransformExpressionInterface = function () {\n    return function (transform) {\n      function _thisFunction(name) {\n        switch (name) {\n          case \"scale\":\n          case \"Scale\":\n          case \"ADBE Scale\":\n          case 6:\n            return _thisFunction.scale;\n\n          case \"rotation\":\n          case \"Rotation\":\n          case \"ADBE Rotation\":\n          case \"ADBE Rotate Z\":\n          case 10:\n            return _thisFunction.rotation;\n\n          case \"ADBE Rotate X\":\n            return _thisFunction.xRotation;\n\n          case \"ADBE Rotate Y\":\n            return _thisFunction.yRotation;\n\n          case \"position\":\n          case \"Position\":\n          case \"ADBE Position\":\n          case 2:\n            return _thisFunction.position;\n\n          case \"ADBE Position_0\":\n            return _thisFunction.xPosition;\n\n          case \"ADBE Position_1\":\n            return _thisFunction.yPosition;\n\n          case \"ADBE Position_2\":\n            return _thisFunction.zPosition;\n\n          case \"anchorPoint\":\n          case \"AnchorPoint\":\n          case \"Anchor Point\":\n          case \"ADBE AnchorPoint\":\n          case 1:\n            return _thisFunction.anchorPoint;\n\n          case \"opacity\":\n          case \"Opacity\":\n          case 11:\n            return _thisFunction.opacity;\n\n          default:\n            return null;\n        }\n      }\n\n      Object.defineProperty(_thisFunction, \"rotation\", {\n        get: ExpressionPropertyInterface(transform.r || transform.rz)\n      });\n      Object.defineProperty(_thisFunction, \"zRotation\", {\n        get: ExpressionPropertyInterface(transform.rz || transform.r)\n      });\n      Object.defineProperty(_thisFunction, \"xRotation\", {\n        get: ExpressionPropertyInterface(transform.rx)\n      });\n      Object.defineProperty(_thisFunction, \"yRotation\", {\n        get: ExpressionPropertyInterface(transform.ry)\n      });\n      Object.defineProperty(_thisFunction, \"scale\", {\n        get: ExpressionPropertyInterface(transform.s)\n      });\n\n      var _px;\n\n      var _py;\n\n      var _pz;\n\n      var _transformFactory;\n\n      if (transform.p) {\n        _transformFactory = ExpressionPropertyInterface(transform.p);\n      } else {\n        _px = ExpressionPropertyInterface(transform.px);\n        _py = ExpressionPropertyInterface(transform.py);\n\n        if (transform.pz) {\n          _pz = ExpressionPropertyInterface(transform.pz);\n        }\n      }\n\n      Object.defineProperty(_thisFunction, \"position\", {\n        get: function () {\n          if (transform.p) {\n            return _transformFactory();\n          }\n\n          return [_px(), _py(), _pz ? _pz() : 0];\n        }\n      });\n      Object.defineProperty(_thisFunction, \"xPosition\", {\n        get: ExpressionPropertyInterface(transform.px)\n      });\n      Object.defineProperty(_thisFunction, \"yPosition\", {\n        get: ExpressionPropertyInterface(transform.py)\n      });\n      Object.defineProperty(_thisFunction, \"zPosition\", {\n        get: ExpressionPropertyInterface(transform.pz)\n      });\n      Object.defineProperty(_thisFunction, \"anchorPoint\", {\n        get: ExpressionPropertyInterface(transform.a)\n      });\n      Object.defineProperty(_thisFunction, \"opacity\", {\n        get: ExpressionPropertyInterface(transform.o)\n      });\n      Object.defineProperty(_thisFunction, \"skew\", {\n        get: ExpressionPropertyInterface(transform.sk)\n      });\n      Object.defineProperty(_thisFunction, \"skewAxis\", {\n        get: ExpressionPropertyInterface(transform.sa)\n      });\n      Object.defineProperty(_thisFunction, \"orientation\", {\n        get: ExpressionPropertyInterface(transform.or)\n      });\n      return _thisFunction;\n    };\n  }();\n  /* exported ProjectInterface */\n\n\n  ProjectInterface = function () {\n    function registerComposition(comp) {\n      (this || _global).compositions.push(comp);\n    }\n\n    return function () {\n      function _thisProjectFunction(name) {\n        var i = 0;\n        var len = (this || _global).compositions.length;\n\n        while (i < len) {\n          if ((this || _global).compositions[i].data && (this || _global).compositions[i].data.nm === name) {\n            if ((this || _global).compositions[i].prepareFrame && (this || _global).compositions[i].data.xt) {\n              (this || _global).compositions[i].prepareFrame((this || _global).currentFrame);\n            }\n\n            return (this || _global).compositions[i].compInterface;\n          }\n\n          i += 1;\n        }\n\n        return null;\n      }\n\n      _thisProjectFunction.compositions = [];\n      _thisProjectFunction.currentFrame = 0;\n      _thisProjectFunction.registerComposition = registerComposition;\n      return _thisProjectFunction;\n    };\n  }();\n  /* global propertyGroupFactory, ExpressionPropertyInterface, PropertyInterface */\n\n  /* exported EffectsExpressionInterface */\n\n\n  var EffectsExpressionInterface = function () {\n    var ob = {\n      createEffectsInterface: createEffectsInterface\n    };\n\n    function createEffectsInterface(elem, propertyGroup) {\n      if (elem.effectsManager) {\n        var effectElements = [];\n        var effectsData = elem.data.ef;\n        var i;\n        var len = elem.effectsManager.effectElements.length;\n\n        for (i = 0; i < len; i += 1) {\n          effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n        }\n\n        var effects = elem.data.ef || [];\n\n        var groupInterface = function (name) {\n          i = 0;\n          len = effects.length;\n\n          while (i < len) {\n            if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n              return effectElements[i];\n            }\n\n            i += 1;\n          }\n\n          return null;\n        };\n\n        Object.defineProperty(groupInterface, \"numProperties\", {\n          get: function () {\n            return effects.length;\n          }\n        });\n        return groupInterface;\n      }\n\n      return null;\n    }\n\n    function createGroupInterface(data, elements, propertyGroup, elem) {\n      function groupInterface(name) {\n        var effects = data.ef;\n        var i = 0;\n        var len = effects.length;\n\n        while (i < len) {\n          if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n            if (effects[i].ty === 5) {\n              return effectElements[i];\n            }\n\n            return effectElements[i]();\n          }\n\n          i += 1;\n        }\n\n        throw new Error();\n      }\n\n      var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n\n      var effectElements = [];\n      var i;\n      var len = data.ef.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (data.ef[i].ty === 5) {\n          effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n        } else {\n          effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n        }\n      }\n\n      if (data.mn === \"ADBE Color Control\") {\n        Object.defineProperty(groupInterface, \"color\", {\n          get: function () {\n            return effectElements[0]();\n          }\n        });\n      }\n\n      Object.defineProperties(groupInterface, {\n        numProperties: {\n          get: function () {\n            return data.np;\n          }\n        },\n        _name: {\n          value: data.nm\n        },\n        propertyGroup: {\n          value: _propertyGroup\n        }\n      });\n      groupInterface.enabled = data.en !== 0;\n      groupInterface.active = groupInterface.enabled;\n      return groupInterface;\n    }\n\n    function createValueInterface(element, type, elem, propertyGroup) {\n      var expressionProperty = ExpressionPropertyInterface(element.p);\n\n      function interfaceFunction() {\n        if (type === 10) {\n          return elem.comp.compInterface(element.p.v);\n        }\n\n        return expressionProperty();\n      }\n\n      if (element.p.setGroupProperty) {\n        element.p.setGroupProperty(PropertyInterface(\"\", propertyGroup));\n      }\n\n      return interfaceFunction;\n    }\n\n    return ob;\n  }();\n  /* global createSizedArray */\n\n  /* exported MaskManagerInterface */\n\n\n  var MaskManagerInterface = function () {\n    function MaskInterface(mask, data) {\n      (this || _global)._mask = mask;\n      (this || _global)._data = data;\n    }\n\n    Object.defineProperty(MaskInterface.prototype, \"maskPath\", {\n      get: function () {\n        if ((this || _global)._mask.prop.k) {\n          (this || _global)._mask.prop.getValue();\n        }\n\n        return (this || _global)._mask.prop;\n      }\n    });\n    Object.defineProperty(MaskInterface.prototype, \"maskOpacity\", {\n      get: function () {\n        if ((this || _global)._mask.op.k) {\n          (this || _global)._mask.op.getValue();\n        }\n\n        return (this || _global)._mask.op.v * 100;\n      }\n    });\n\n    var MaskManager = function (maskManager) {\n      var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n\n      var i;\n      var len = maskManager.viewData.length;\n\n      for (i = 0; i < len; i += 1) {\n        _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n      }\n\n      var maskFunction = function (name) {\n        i = 0;\n\n        while (i < len) {\n          if (maskManager.masksProperties[i].nm === name) {\n            return _masksInterfaces[i];\n          }\n\n          i += 1;\n        }\n\n        return null;\n      };\n\n      return maskFunction;\n    };\n\n    return MaskManager;\n  }();\n  /* global createTypedArray */\n\n  /* exported ExpressionPropertyInterface */\n\n\n  var ExpressionPropertyInterface = function () {\n    var defaultUnidimensionalValue = {\n      pv: 0,\n      v: 0,\n      mult: 1\n    };\n    var defaultMultidimensionalValue = {\n      pv: [0, 0, 0],\n      v: [0, 0, 0],\n      mult: 1\n    };\n\n    function completeProperty(expressionValue, property, type) {\n      Object.defineProperty(expressionValue, \"velocity\", {\n        get: function () {\n          return property.getVelocityAtTime(property.comp.currentFrame);\n        }\n      });\n      expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n\n      expressionValue.key = function (pos) {\n        if (!expressionValue.numKeys) {\n          return 0;\n        }\n\n        var value = \"\";\n\n        if (\"s\" in property.keyframes[pos - 1]) {\n          value = property.keyframes[pos - 1].s;\n        } else if (\"e\" in property.keyframes[pos - 2]) {\n          value = property.keyframes[pos - 2].e;\n        } else {\n          value = property.keyframes[pos - 2].s;\n        }\n\n        var valueProp = type === \"unidimensional\" ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\n\n        valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n        valueProp.value = type === \"unidimensional\" ? value[0] : value;\n        return valueProp;\n      };\n\n      expressionValue.valueAtTime = property.getValueAtTime;\n      expressionValue.speedAtTime = property.getSpeedAtTime;\n      expressionValue.velocityAtTime = property.getVelocityAtTime;\n      expressionValue.propertyGroup = property.propertyGroup;\n    }\n\n    function UnidimensionalPropertyInterface(property) {\n      if (!property || !(\"pv\" in property)) {\n        property = defaultUnidimensionalValue;\n      }\n\n      var mult = 1 / property.mult;\n      var val = property.pv * mult;\n      var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n      expressionValue.value = val;\n      completeProperty(expressionValue, property, \"unidimensional\");\n      return function () {\n        if (property.k) {\n          property.getValue();\n        }\n\n        val = property.v * mult;\n\n        if (expressionValue.value !== val) {\n          expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n          expressionValue.value = val;\n          completeProperty(expressionValue, property, \"unidimensional\");\n        }\n\n        return expressionValue;\n      };\n    }\n\n    function MultidimensionalPropertyInterface(property) {\n      if (!property || !(\"pv\" in property)) {\n        property = defaultMultidimensionalValue;\n      }\n\n      var mult = 1 / property.mult;\n      var len = property.data && property.data.l || property.pv.length;\n      var expressionValue = createTypedArray(\"float32\", len);\n      var arrValue = createTypedArray(\"float32\", len);\n      expressionValue.value = arrValue;\n      completeProperty(expressionValue, property, \"multidimensional\");\n      return function () {\n        if (property.k) {\n          property.getValue();\n        }\n\n        for (var i = 0; i < len; i += 1) {\n          arrValue[i] = property.v[i] * mult;\n          expressionValue[i] = arrValue[i];\n        }\n\n        return expressionValue;\n      };\n    } // TODO: try to avoid using this getter\n\n\n    function defaultGetter() {\n      return defaultUnidimensionalValue;\n    }\n\n    return function (property) {\n      if (!property) {\n        return defaultGetter;\n      }\n\n      if (property.propType === \"unidimensional\") {\n        return UnidimensionalPropertyInterface(property);\n      }\n\n      return MultidimensionalPropertyInterface(property);\n    };\n  }();\n  /* global expressionHelpers, TextSelectorProp, ExpressionManager */\n\n  /* exported TextExpressionSelectorProp */\n\n\n  (function () {\n    var TextExpressionSelectorProp = function () {\n      // eslint-disable-line no-unused-vars\n      function getValueProxy(index, total) {\n        (this || _global).textIndex = index + 1;\n        (this || _global).textTotal = total;\n        (this || _global).v = this.getValue() * (this || _global).mult;\n        return (this || _global).v;\n      }\n\n      return function TextExpressionSelectorPropFactory(elem, data) {\n        (this || _global).pv = 1;\n        (this || _global).comp = elem.comp;\n        (this || _global).elem = elem;\n        (this || _global).mult = 0.01;\n        (this || _global).propType = \"textSelector\";\n        (this || _global).textTotal = data.totalChars;\n        (this || _global).selectorValue = 100;\n        (this || _global).lastValue = [1, 1, 1];\n        (this || _global).k = true;\n        (this || _global).x = true;\n        (this || _global).getValue = ExpressionManager.initiateExpression.bind(this || _global)(elem, data, this || _global);\n        (this || _global).getMult = getValueProxy;\n        (this || _global).getVelocityAtTime = expressionHelpers.getVelocityAtTime;\n\n        if ((this || _global).kf) {\n          (this || _global).getValueAtTime = expressionHelpers.getValueAtTime.bind(this || _global);\n        } else {\n          (this || _global).getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(this || _global);\n        }\n\n        (this || _global).setGroupProperty = expressionHelpers.setGroupProperty;\n      };\n    }();\n\n    var propertyGetTextProp = TextSelectorProp.getTextSelectorProp;\n\n    TextSelectorProp.getTextSelectorProp = function (elem, data, arr) {\n      if (data.t === 1) {\n        return new TextExpressionSelectorPropFactory(elem, data, arr); // eslint-disable-line no-undef\n      }\n\n      return propertyGetTextProp(elem, data, arr);\n    };\n  })();\n  /* global PropertyFactory */\n\n  /* exported SliderEffect, AngleEffect, ColorEffect, PointEffect, LayerIndexEffect, MaskIndexEffect, CheckboxEffect, NoValueEffect */\n\n\n  function SliderEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function AngleEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function ColorEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n  }\n\n  function PointEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n  }\n\n  function LayerIndexEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function MaskIndexEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function CheckboxEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function NoValueEffect() {\n    (this || _global).p = {};\n  }\n  /* global extendPrototype, SliderEffect, AngleEffect, ColorEffect, PointEffect, CheckboxEffect, LayerIndexEffect,\r\n  MaskIndexEffect, NoValueEffect, DynamicPropertyContainer */\n\n\n  function EffectsManager(data, element) {\n    var effects = data.ef || [];\n    (this || _global).effectElements = [];\n    var i;\n    var len = effects.length;\n    var effectItem;\n\n    for (i = 0; i < len; i += 1) {\n      effectItem = new GroupEffect(effects[i], element);\n\n      (this || _global).effectElements.push(effectItem);\n    }\n  }\n\n  function GroupEffect(data, element) {\n    this.init(data, element);\n  }\n\n  extendPrototype([DynamicPropertyContainer], GroupEffect);\n  GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n\n  GroupEffect.prototype.init = function (data, element) {\n    (this || _global).data = data;\n    (this || _global).effectElements = [];\n    this.initDynamicPropertyContainer(element);\n    var i;\n    var len = (this || _global).data.ef.length;\n    var eff;\n    var effects = (this || _global).data.ef;\n\n    for (i = 0; i < len; i += 1) {\n      eff = null;\n\n      switch (effects[i].ty) {\n        case 0:\n          eff = new SliderEffect(effects[i], element, this || _global);\n          break;\n\n        case 1:\n          eff = new AngleEffect(effects[i], element, this || _global);\n          break;\n\n        case 2:\n          eff = new ColorEffect(effects[i], element, this || _global);\n          break;\n\n        case 3:\n          eff = new PointEffect(effects[i], element, this || _global);\n          break;\n\n        case 4:\n        case 7:\n          eff = new CheckboxEffect(effects[i], element, this || _global);\n          break;\n\n        case 10:\n          eff = new LayerIndexEffect(effects[i], element, this || _global);\n          break;\n\n        case 11:\n          eff = new MaskIndexEffect(effects[i], element, this || _global);\n          break;\n\n        case 5:\n          eff = new EffectsManager(effects[i], element, this || _global);\n          break;\n        // case 6:\n\n        default:\n          eff = new NoValueEffect(effects[i], element, this || _global);\n          break;\n      }\n\n      if (eff) {\n        (this || _global).effectElements.push(eff);\n      }\n    }\n  };\n\n  var lottie = {};\n\n  function setLocationHref(href) {\n    locationHref = href;\n  }\n\n  function searchAnimations() {\n    if (standalone === true) {\n      animationManager.searchAnimations(animationData, standalone, renderer);\n    } else {\n      animationManager.searchAnimations();\n    }\n  }\n\n  function setSubframeRendering(flag) {\n    subframeEnabled = flag;\n  }\n\n  function loadAnimation(params) {\n    if (standalone === true) {\n      params.animationData = JSON.parse(animationData);\n    }\n\n    return animationManager.loadAnimation(params);\n  }\n\n  function setQuality(value) {\n    if (typeof value === \"string\") {\n      switch (value) {\n        case \"high\":\n          defaultCurveSegments = 200;\n          break;\n\n        default:\n        case \"medium\":\n          defaultCurveSegments = 50;\n          break;\n\n        case \"low\":\n          defaultCurveSegments = 10;\n          break;\n      }\n    } else if (!isNaN(value) && value > 1) {\n      defaultCurveSegments = value;\n    }\n\n    if (defaultCurveSegments >= 50) {\n      roundValues(false);\n    } else {\n      roundValues(true);\n    }\n  }\n\n  function inBrowser() {\n    return typeof navigator !== \"undefined\";\n  }\n\n  function installPlugin(type, plugin) {\n    if (type === \"expressions\") {\n      expressionsPlugin = plugin;\n    }\n  }\n\n  function getFactory(name) {\n    switch (name) {\n      case \"propertyFactory\":\n        return PropertyFactory;\n\n      case \"shapePropertyFactory\":\n        return ShapePropertyFactory;\n\n      case \"matrix\":\n        return Matrix;\n\n      default:\n        return null;\n    }\n  }\n\n  lottie.play = animationManager.play;\n  lottie.pause = animationManager.pause;\n  lottie.setLocationHref = setLocationHref;\n  lottie.togglePause = animationManager.togglePause;\n  lottie.setSpeed = animationManager.setSpeed;\n  lottie.setDirection = animationManager.setDirection;\n  lottie.stop = animationManager.stop;\n  lottie.searchAnimations = searchAnimations;\n  lottie.registerAnimation = animationManager.registerAnimation;\n  lottie.loadAnimation = loadAnimation;\n  lottie.setSubframeRendering = setSubframeRendering;\n  lottie.resize = animationManager.resize; // lottie.start = start;\n\n  lottie.goToAndStop = animationManager.goToAndStop;\n  lottie.destroy = animationManager.destroy;\n  lottie.setQuality = setQuality;\n  lottie.inBrowser = inBrowser;\n  lottie.installPlugin = installPlugin;\n  lottie.freeze = animationManager.freeze;\n  lottie.unfreeze = animationManager.unfreeze;\n  lottie.setVolume = animationManager.setVolume;\n  lottie.mute = animationManager.mute;\n  lottie.unmute = animationManager.unmute;\n  lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n  lottie.__getFactory = getFactory;\n  lottie.version = \"5.7.8\";\n\n  function checkReady() {\n    if (document.readyState === \"complete\") {\n      clearInterval(readyStateCheckInterval);\n      searchAnimations();\n    }\n  }\n\n  function getQueryVariable(variable) {\n    var vars = queryString.split(\"&\");\n\n    for (var i = 0; i < vars.length; i += 1) {\n      var pair = vars[i].split(\"=\");\n\n      if (decodeURIComponent(pair[0]) == variable) {\n        // eslint-disable-line eqeqeq\n        return decodeURIComponent(pair[1]);\n      }\n    }\n\n    return null;\n  }\n\n  var standalone = \"__[STANDALONE]__\";\n  var animationData = \"__[ANIMATIONDATA]__\";\n  var renderer = \"\";\n  var queryString;\n\n  if (standalone) {\n    var scripts = document.getElementsByTagName(\"script\");\n    var index = scripts.length - 1;\n    var myScript = scripts[index] || {\n      src: \"\"\n    };\n    queryString = myScript.src.replace(/^[^\\?]+\\??/, \"\"); // eslint-disable-line no-useless-escape\n\n    renderer = getQueryVariable(\"renderer\");\n  }\n\n  var readyStateCheckInterval = setInterval(checkReady, 100);\n  return lottie;\n});\nvar exports$1 = exports;\n\nexport default exports$1;\n\n//# sourceMappingURL=npm:lottie-web@5.7.8!cjs.map","export { default } from \"/npm:lottie-web@5.7.8!cjs\";\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{useRef,useCallback,useEffect}from\"react\";import{motion,addPropertyControls,ControlType,RenderTarget}from\"framer\";import{defaultEvents}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{useAutoMotionValue}from\"https://framer.com/m/framer/useAutoMotionValue.js@0.3.0\";import lottie from\"https://jspm.dev/lottie-web@5.7.8\";var SrcType;(function(SrcType){SrcType[\"File\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));var Poster;(function(Poster){Poster[\"Auto\"]=\"Auto\";Poster[\"Custom\"]=\"Custom\";})(Poster||(Poster={}));const placeholderUrl=\"https://raw.githubusercontent.com/framer/Lottie/master/Lottie.framerfx/assets/logo.json\";/**\n * LOTTIE\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 350\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */ export function Lottie(props){const{style,srcUrl,srcFile,srcType,poster,progress:progressRaw,playing,loop,posterProgress,pauseOnCanvas,isForwardsDirection,speed,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,onComplete}=props;const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const shouldPlay=(!pauseOnCanvas||!isOnCanvas)&&playing;const direction=isForwardsDirection?1:-1;const isCustomPoster=poster===Poster.Custom;const el=useRef();const didInitialMount=useRef(false);const animationInfo=useRef({data:null,animation:null,duration:null});const progress=useAutoMotionValue(progressRaw,{transform:v=>v*.01});const play=()=>{var ref,ref1;return(ref=animationInfo.current)===null||ref===void 0?void 0:(ref1=ref.animation)===null||ref1===void 0?void 0:ref1.play();};const pause=()=>{var ref,ref1;return(ref=animationInfo.current)===null||ref===void 0?void 0:(ref1=ref.animation)===null||ref1===void 0?void 0:ref1.pause();};const destroy=()=>{var ref,ref1;return(ref=animationInfo.current)===null||ref===void 0?void 0:(ref1=ref.animation)===null||ref1===void 0?void 0:ref1.destroy();};const scrubTo=useCallback((normalizedProgress,shouldPlayAfter)=>{if(!animationInfo.current.duration||!animationInfo.current.animation)return;// Lottie gets weird when scrubbing to the exact last frame\nconst frameNumberTarget=normalizedProgress===1?animationInfo.current.duration-1:normalizedProgress*animationInfo.current.duration;if(shouldPlayAfter)animationInfo.current.animation.goToAndPlay(frameNumberTarget,true);else animationInfo.current.animation.goToAndStop(frameNumberTarget,true);},[]);const fetchLottieData=useCallback(async url=>{if(!url)return null;const data=await fetch(url,{method:\"GET\",credentials:\"omit\",redirect:\"follow\"}).then(d=>d.json());return data;},[]);// Fetch lottie animation & start setup\nconst init=useCallback(async()=>{// Clear current animation\ndestroy();let dataUrl;if(srcType===SrcType.Url)dataUrl=srcUrl;if(srcType===SrcType.File)dataUrl=srcFile;if(!dataUrl){console.warn(\"No valid Lottie animation provided\");dataUrl=placeholderUrl;}const data=await fetchLottieData(dataUrl);animationInfo.current.data=data;return setup(didInitialMount.current);},[srcType,srcUrl,srcFile]);// Create Lottie animation\nconst setup=useCallback(shouldPlayAfter=>{if(!el.current)return;destroy();const options={container:el.current,renderer:\"svg\",loop:!isOnCanvas&&loop,autoplay:shouldPlay,animationData:animationInfo.current.data,rendererSettings:{preserveAspectRatio:\"xMidYMid slice\"}};const anim=animationInfo.current.animation=lottie.loadAnimation(options);animationInfo.current.duration=anim.getDuration(true);anim.setDirection(direction);anim.setSpeed(speed);didInitialMount.current=true;if(isOnCanvas&&isCustomPoster)scrubTo(posterProgress,false);else scrubTo(progress.get(),shouldPlay||shouldPlayAfter);return()=>{anim.destroy();};},[loop,shouldPlay,speed,direction,isOnCanvas,isCustomPoster,posterProgress,]);// Initial setup or re-init when source changes\nuseEffect(()=>{let cleanup;init().then(c=>cleanup=c);return()=>{if(cleanup)cleanup();};},[srcType,srcFile,srcUrl]);// No run-time option for loop option, recreating anim\nuseEffect(()=>{if(!didInitialMount.current)return;return setup(false);},[loop]);// Perf hack lets see if anyone notices\nuseEffect(()=>lottie.setQuality(isOnCanvas?\"low\":\"medium\"),[]);// useEffect(() => {\n//     if (!isOnCanvas) return\n//     const normalizedProgress = progress.get() * 0.01\n//     if (shouldPlay) scrubTo(normalizedProgress, true)\n//     else scrubTo(normalizedProgress, false)\n// }, [progressRaw, shouldPlay])\nuseEffect(()=>progress.onChange(val=>{if(isOnCanvas)return;if(shouldPlay)scrubTo(val,true);else scrubTo(val,false);}),[]);useEffect(()=>{const val=progress.get();if(shouldPlay)scrubTo(val,true);else scrubTo(val,false);},[progressRaw]);useEffect(()=>{if(!isOnCanvas)return;const normalizedPosterProgress=posterProgress*.01;if(isCustomPoster)scrubTo(normalizedPosterProgress,false);else scrubTo(progress.get(),false);},[isCustomPoster,posterProgress]);useEffect(()=>{var ref;if(!((ref=animationInfo.current)===null||ref===void 0?void 0:ref.animation))return;animationInfo.current.animation.setSpeed(speed);scrubTo(progress.get(),true);},[speed]);useEffect(()=>{var ref;if(!((ref=animationInfo.current)===null||ref===void 0?void 0:ref.animation))return;animationInfo.current.animation.setDirection(direction);scrubTo(progress.get(),true);},[direction]);useEffect(()=>{if(shouldPlay)play();else pause();},[shouldPlay]);return /*#__PURE__*/ _jsx(motion.div,{ref:el,style:style,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp});}Lottie.defaultProps={height:200,width:200,srcType:SrcType.Url,pauseOnCanvas:true,srcUrl:placeholderUrl,progress:0,poster:Poster.Auto,posterProgress:0};addPropertyControls(Lottie,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[SrcType.Url,SrcType.File]},srcUrl:{type:ControlType.String,title:\" \",placeholder:\"../example.json\",hidden:props=>props.srcType===SrcType.File},srcFile:{type:ControlType.File,title:\" \",allowedFileTypes:[\"json\"],hidden:props=>props.srcType===SrcType.Url},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},// Temporarily disabling for perf\n// pauseOnCanvas: {\n//     type: ControlType.Boolean,\n//     title: \"Canvas\",\n//     disabledTitle: \"Play\",\n//     enabledTitle: \"Pause\",\n//     hidden: (props) => props.playing === false,\n// },\nloop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},isForwardsDirection:{title:\"Direction\",type:ControlType.Boolean,enabledTitle:\"Normal\",disabledTitle:\"Reverse\"},speed:{type:ControlType.Number,defaultValue:1,min:0,max:10,step:.5,displayStepper:true,unit:\"x\"},poster:{title:\"Poster\",type:ControlType.Enum,options:[Poster.Auto,Poster.Custom],displaySegmentedControl:true},posterProgress:{title:\" \",type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({poster})=>poster===Poster.Auto},progress:{title:\"Progress\",type:ControlType.Number,max:100,min:0,unit:\"%\",description:\"This component is made for JSON files. [Learn more here](https://lottiefiles.com/what-is-lottie).\"},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Lottie\":{\"type\":\"reactComponent\",\"name\":\"Lottie\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"350\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"200\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lottie.map","// Generated by Framer (2ca17d4)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const cycleOrder=[\"wu9bMIG0q\",\"KroiqtriW\",\"XTTe3SyPM\",\"UsSziBdo1\"];const serializationHash=\"framer-2DFkj\";const variantClassNames={KroiqtriW:\"framer-v-13chkip\",UsSziBdo1:\"framer-v-1e4i91u\",wu9bMIG0q:\"framer-v-1bj9eg4\",XTTe3SyPM:\"framer-v-1xb0u74\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Variant 2\":\"KroiqtriW\",\"Variant 3\":\"XTTe3SyPM\",\"Variant 4\":\"UsSziBdo1\",Primary:\"wu9bMIG0q\"};const getProps=({height,id,link,width,...props})=>{return{...props,kiz5cF1dI:link??props.kiz5cF1dI,variant:humanReadableVariantMap[props.variant]??props.variant??\"wu9bMIG0q\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,kiz5cF1dI,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"wu9bMIG0q\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const ref1=React.useRef(null);const isDisplayed=()=>{if([\"KroiqtriW\",\"XTTe3SyPM\",\"UsSziBdo1\"].includes(baseVariant))return false;return true;};const isDisplayed1=()=>{if(baseVariant===\"KroiqtriW\")return true;return false;};const isDisplayed2=()=>{if(baseVariant===\"XTTe3SyPM\")return true;return false;};const isDisplayed3=()=>{if(baseVariant===\"UsSziBdo1\")return true;return false;};const defaultLayoutId=React.useId();const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:kiz5cF1dI,motionChild:true,nodeId:\"wu9bMIG0q\",openInNewTab:false,smoothScroll:true,children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,background:{alt:\"\",fit:\"fill\",intrinsicHeight:1e3,intrinsicWidth:1e3},className:`${cx(scopingClassNames,\"framer-1bj9eg4\",className,classNames)} framer-1umcw4s`,\"data-framer-name\":\"Primary\",layoutDependency:layoutDependency,layoutId:\"wu9bMIG0q\",ref:ref??ref1,style:{...style},...addPropertyOverrides({KroiqtriW:{\"data-framer-name\":\"Variant 2\"},UsSziBdo1:{\"data-framer-name\":\"Variant 4\"},XTTe3SyPM:{\"data-framer-name\":\"Variant 3\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-1uyequz\",\"data-framer-name\":\"Vector_1\",fill:\"black\",intrinsicHeight:114,intrinsicWidth:117,layoutDependency:layoutDependency,layoutId:\"zL4LOe93J\",svg:'<svg width=\"117\" height=\"114\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M81.9 0H35.1L0 35.077v43.846L35.1 114h46.8L117 78.923V35.077L81.9 0ZM35.1 93.538 14.625 78.924V35.077L35.1 20.462h46.8l20.475 14.615v43.846L81.9 93.538H35.1Z\" fill=\"#FAFAFB\"/></svg>',withExternalLayout:true}),isDisplayed1()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-ykzzyi\",\"data-framer-name\":\"Group_12\",fill:\"black\",intrinsicHeight:60,intrinsicWidth:195,layoutDependency:layoutDependency,layoutId:\"YgfuJyl_X\",svg:'<svg width=\"195\" height=\"60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M59.281 48.488c-2.392 0-4.476-.537-6.25-1.611-1.758-1.09-3.117-2.62-4.077-4.59-.96-1.986-1.44-4.321-1.44-7.007v-.024c0-2.67.488-4.989 1.464-6.958.977-1.97 2.344-3.491 4.102-4.566 1.758-1.074 3.809-1.61 6.152-1.61 2.116 0 3.931.414 5.445 1.244 1.513.814 2.702 1.872 3.564 3.174.88 1.302 1.408 2.677 1.587 4.126l.025.195h-4.15l-.05-.195c-.309-1.27-.993-2.384-2.05-3.345-1.042-.96-2.499-1.44-4.37-1.44-1.465 0-2.751.39-3.858 1.172-1.107.765-1.97 1.855-2.588 3.271-.618 1.4-.928 3.06-.928 4.98v.025c0 1.97.31 3.654.928 5.054.635 1.4 1.506 2.474 2.612 3.222 1.123.75 2.417 1.123 3.882 1.123 1.742 0 3.15-.439 4.224-1.318 1.09-.895 1.815-2.05 2.173-3.467l.049-.195H69.9l-.024.17a9.49 9.49 0 0 1-1.782 4.371c-.944 1.286-2.173 2.311-3.687 3.076-1.497.749-3.206 1.123-5.127 1.123Zm24.976 0c-2.425 0-4.517-.537-6.275-1.611-1.741-1.074-3.084-2.588-4.028-4.541-.928-1.97-1.391-4.28-1.391-6.934v-.024c0-2.62.471-4.924 1.415-6.91.945-2.001 2.271-3.556 3.98-4.662 1.709-1.123 3.72-1.685 6.03-1.685 2.311 0 4.297.537 5.957 1.611 1.677 1.058 2.963 2.548 3.858 4.468s1.343 4.15 1.343 6.69v1.562h-20.46v-3.32h18.36l-2.149 3.076v-1.636c0-1.97-.3-3.597-.903-4.883-.586-1.285-1.4-2.238-2.441-2.856-1.042-.635-2.238-.952-3.59-.952-1.35 0-2.563.334-3.637 1-1.074.652-1.92 1.628-2.539 2.93-.618 1.286-.928 2.873-.928 4.761v1.636c0 1.79.302 3.32.904 4.59.618 1.27 1.489 2.246 2.612 2.93 1.123.667 2.45 1 3.98 1 1.074 0 2.034-.162 2.88-.488.847-.325 1.555-.773 2.124-1.343a4.95 4.95 0 0 0 1.221-1.953l.073-.22h4.175l-.049.245a8.253 8.253 0 0 1-1.22 2.93 9.373 9.373 0 0 1-2.27 2.416 11.208 11.208 0 0 1-3.175 1.612c-1.188.374-2.474.561-3.857.561ZM99.662 48V12.77h4.248V48h-4.248Zm10.205 0V12.77h4.248V48h-4.248Zm18.653.488c-1.856 0-3.443-.382-4.761-1.147-1.302-.765-2.303-1.848-3.003-3.247-.684-1.416-1.026-3.085-1.026-5.005v-16.48h4.249v15.723c0 2.067.48 3.654 1.44 4.76.977 1.091 2.441 1.636 4.394 1.636 1.01 0 1.913-.17 2.71-.512a6.119 6.119 0 0 0 2.1-1.44 6.461 6.461 0 0 0 1.343-2.271c.309-.895.464-1.88.464-2.954V22.609h4.248V48h-4.248v-3.613h-.098a8.063 8.063 0 0 1-1.782 2.1c-.716.618-1.579 1.106-2.588 1.464-1.009.358-2.157.537-3.442.537ZM146.439 48V12.77h4.249V48h-4.249Zm17.408.488c-1.677 0-3.15-.317-4.419-.952-1.27-.635-2.263-1.53-2.979-2.685-.7-1.156-1.05-2.499-1.05-4.029v-.049c0-1.448.358-2.701 1.075-3.76.732-1.057 1.782-1.895 3.149-2.514 1.384-.619 3.044-.985 4.981-1.099l9.399-.537v3.296l-8.911.537c-1.693.098-3.011.505-3.955 1.221-.928.716-1.392 1.668-1.392 2.856v.05c0 1.22.456 2.188 1.367 2.904.928.717 2.157 1.075 3.687 1.075 1.334 0 2.531-.277 3.589-.83 1.074-.57 1.92-1.343 2.539-2.32.635-.976.952-2.075.952-3.296v-7.495c0-1.546-.488-2.759-1.465-3.637-.96-.896-2.327-1.343-4.102-1.343-1.627 0-2.945.358-3.955 1.074-.992.7-1.611 1.62-1.855 2.759l-.049.22h-4.101l.024-.269c.13-1.4.602-2.67 1.416-3.809.83-1.139 1.969-2.042 3.418-2.71 1.449-.683 3.166-1.025 5.151-1.025 2.002 0 3.728.342 5.176 1.026 1.465.683 2.596 1.652 3.394 2.905.797 1.237 1.196 2.702 1.196 4.394V48h-4.248v-4.126h-.098a8.281 8.281 0 0 1-1.953 2.441 9.524 9.524 0 0 1-2.759 1.612 9.189 9.189 0 0 1-3.222.561ZM181.522 48V22.61h4.249v4.296h.097c.423-1.465 1.156-2.628 2.197-3.491 1.042-.863 2.279-1.294 3.711-1.294.375 0 .708.024 1.001.073.31.033.546.065.708.098v4.126c-.162-.065-.455-.122-.879-.17a11.51 11.51 0 0 0-1.391-.074c-1.091 0-2.051.244-2.881.732-.814.489-1.449 1.197-1.904 2.124-.44.912-.659 2.01-.659 3.296V48h-4.249ZM28 11H12L0 23v15l12 12h16l12-12V23L28 11ZM12 43l-7-5V23l7-5h16l7 5v15l-7 5H12Z\" fill=\"#FAFAFB\"/></svg>',withExternalLayout:true}),isDisplayed2()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-xvvvh7\",\"data-framer-name\":\"Group 13\",fill:\"black\",intrinsicHeight:60,intrinsicWidth:195,layoutDependency:layoutDependency,layoutId:\"X5BjPZiLw\",svg:'<svg width=\"195\" height=\"60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M59.281 48.488c-2.392 0-4.476-.537-6.25-1.611-1.758-1.09-3.117-2.62-4.077-4.59-.96-1.986-1.44-4.321-1.44-7.007v-.024c0-2.67.488-4.989 1.464-6.958.977-1.97 2.344-3.491 4.102-4.566 1.758-1.074 3.809-1.61 6.152-1.61 2.116 0 3.931.414 5.445 1.244 1.513.814 2.702 1.872 3.564 3.174.88 1.302 1.408 2.677 1.587 4.126l.025.195h-4.15l-.05-.195c-.309-1.27-.993-2.384-2.05-3.345-1.042-.96-2.499-1.44-4.37-1.44-1.465 0-2.751.39-3.858 1.172-1.107.765-1.97 1.855-2.588 3.271-.618 1.4-.928 3.06-.928 4.98v.025c0 1.97.31 3.654.928 5.054.635 1.4 1.506 2.474 2.612 3.222 1.123.75 2.417 1.123 3.882 1.123 1.742 0 3.15-.439 4.224-1.318 1.09-.895 1.815-2.05 2.173-3.467l.049-.195H69.9l-.024.17a9.49 9.49 0 0 1-1.782 4.371c-.944 1.286-2.173 2.311-3.687 3.076-1.497.749-3.206 1.123-5.127 1.123Zm24.976 0c-2.425 0-4.517-.537-6.275-1.611-1.741-1.074-3.084-2.588-4.028-4.541-.928-1.97-1.391-4.28-1.391-6.934v-.024c0-2.62.471-4.924 1.415-6.91.945-2.001 2.271-3.556 3.98-4.662 1.709-1.123 3.72-1.685 6.03-1.685 2.311 0 4.297.537 5.957 1.611 1.677 1.058 2.963 2.548 3.858 4.468s1.343 4.15 1.343 6.69v1.562h-20.46v-3.32h18.36l-2.149 3.076v-1.636c0-1.97-.3-3.597-.903-4.883-.586-1.285-1.4-2.238-2.441-2.856-1.042-.635-2.238-.952-3.59-.952-1.35 0-2.563.334-3.637 1-1.074.652-1.92 1.628-2.539 2.93-.618 1.286-.928 2.873-.928 4.761v1.636c0 1.79.302 3.32.904 4.59.618 1.27 1.489 2.246 2.612 2.93 1.123.667 2.45 1 3.98 1 1.074 0 2.034-.162 2.88-.488.847-.325 1.555-.773 2.124-1.343a4.95 4.95 0 0 0 1.221-1.953l.073-.22h4.175l-.049.245a8.253 8.253 0 0 1-1.22 2.93 9.373 9.373 0 0 1-2.27 2.416 11.208 11.208 0 0 1-3.175 1.612c-1.188.374-2.474.561-3.857.561ZM99.662 48V12.77h4.248V48h-4.248Zm10.205 0V12.77h4.248V48h-4.248Zm18.653.488c-1.856 0-3.443-.382-4.761-1.147-1.302-.765-2.303-1.848-3.003-3.247-.684-1.416-1.026-3.085-1.026-5.005v-16.48h4.249v15.723c0 2.067.48 3.654 1.44 4.76.977 1.091 2.441 1.636 4.394 1.636 1.01 0 1.913-.17 2.71-.512a6.119 6.119 0 0 0 2.1-1.44 6.461 6.461 0 0 0 1.343-2.271c.309-.895.464-1.88.464-2.954V22.609h4.248V48h-4.248v-3.613h-.098a8.063 8.063 0 0 1-1.782 2.1c-.716.618-1.579 1.106-2.588 1.464-1.009.358-2.157.537-3.442.537ZM146.439 48V12.77h4.249V48h-4.249Zm17.408.488c-1.677 0-3.15-.317-4.419-.952-1.27-.635-2.263-1.53-2.979-2.685-.7-1.156-1.05-2.499-1.05-4.029v-.049c0-1.448.358-2.701 1.075-3.76.732-1.057 1.782-1.895 3.149-2.514 1.384-.619 3.044-.985 4.981-1.099l9.399-.537v3.296l-8.911.537c-1.693.098-3.011.505-3.955 1.221-.928.716-1.392 1.668-1.392 2.856v.05c0 1.22.456 2.188 1.367 2.904.928.717 2.157 1.075 3.687 1.075 1.334 0 2.531-.277 3.589-.83 1.074-.57 1.92-1.343 2.539-2.32.635-.976.952-2.075.952-3.296v-7.495c0-1.546-.488-2.759-1.465-3.637-.96-.896-2.327-1.343-4.102-1.343-1.627 0-2.945.358-3.955 1.074-.992.7-1.611 1.62-1.855 2.759l-.049.22h-4.101l.024-.269c.13-1.4.602-2.67 1.416-3.809.83-1.139 1.969-2.042 3.418-2.71 1.449-.683 3.166-1.025 5.151-1.025 2.002 0 3.728.342 5.176 1.026 1.465.683 2.596 1.652 3.394 2.905.797 1.237 1.196 2.702 1.196 4.394V48h-4.248v-4.126h-.098a8.281 8.281 0 0 1-1.953 2.441 9.524 9.524 0 0 1-2.759 1.612 9.189 9.189 0 0 1-3.222.561ZM181.522 48V22.61h4.249v4.296h.097c.423-1.465 1.156-2.628 2.197-3.491 1.042-.863 2.279-1.294 3.711-1.294.375 0 .708.024 1.001.073.31.033.546.065.708.098v4.126c-.162-.065-.455-.122-.879-.17a11.51 11.51 0 0 0-1.391-.074c-1.091 0-2.051.244-2.881.732-.814.489-1.449 1.197-1.904 2.124-.44.912-.659 2.01-.659 3.296V48h-4.249ZM28 11H12L0 23v15l12 12h16l12-12V23L28 11ZM12 43l-7-5V23l7-5h16l7 5v15l-7 5H12Z\" fill=\"#191919\"/></svg>',withExternalLayout:true}),isDisplayed3()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-1sx6mia\",\"data-framer-name\":\"Vector\",fill:\"black\",intrinsicHeight:114,intrinsicWidth:117,layoutDependency:layoutDependency,layoutId:\"hLRhP7VAS\",svg:'<svg width=\"117\" height=\"114\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M81.9 0H35.1L0 35.077v43.846L35.1 114h46.8L117 78.923V35.077L81.9 0ZM35.1 93.538 14.625 78.924V35.077L35.1 20.462h46.8l20.475 14.615v43.846L81.9 93.538H35.1Z\" fill=\"#191919\"/></svg>',withExternalLayout:true})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-2DFkj.framer-1umcw4s, .framer-2DFkj .framer-1umcw4s { display: block; }\",\".framer-2DFkj.framer-1bj9eg4 { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 40px; justify-content: center; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: 40px; }\",\".framer-2DFkj .framer-1uyequz, .framer-2DFkj .framer-1sx6mia { flex: 1 0 0px; height: 100%; position: relative; width: 1px; }\",\".framer-2DFkj .framer-ykzzyi { aspect-ratio: 3.25 / 1; flex: 1 0 0px; height: var(--framer-aspect-ratio-supported, 62px); position: relative; width: 1px; }\",\".framer-2DFkj .framer-xvvvh7 { aspect-ratio: 3.25 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 40px); position: relative; width: 130px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-2DFkj.framer-1bj9eg4 { gap: 0px; } .framer-2DFkj.framer-1bj9eg4 > * { margin: 0px; margin-left: calc(0px / 2); margin-right: calc(0px / 2); } .framer-2DFkj.framer-1bj9eg4 > :first-child { margin-left: 0px; } .framer-2DFkj.framer-1bj9eg4 > :last-child { margin-right: 0px; } }\",\".framer-2DFkj.framer-v-13chkip.framer-1bj9eg4 { height: min-content; width: 130px; }\",\".framer-2DFkj.framer-v-13chkip .framer-ykzzyi { height: var(--framer-aspect-ratio-supported, 40px); }\",\".framer-2DFkj.framer-v-1xb0u74.framer-1bj9eg4 { height: min-content; width: min-content; }\",\".framer-2DFkj.framer-v-1e4i91u.framer-1bj9eg4 { aspect-ratio: 1 / 1; height: var(--framer-aspect-ratio-supported, 40px); }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 40\n * @framerIntrinsicWidth 40\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"KroiqtriW\":{\"layout\":[\"fixed\",\"auto\"]},\"XTTe3SyPM\":{\"layout\":[\"auto\",\"auto\"]},\"UsSziBdo1\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"kiz5cF1dI\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerujS87Hf83=withCSS(Component,css,\"framer-2DFkj\");export default FramerujS87Hf83;FramerujS87Hf83.displayName=\"Element/Logo\";FramerujS87Hf83.defaultProps={height:40,width:40};addPropertyControls(FramerujS87Hf83,{variant:{options:[\"wu9bMIG0q\",\"KroiqtriW\",\"XTTe3SyPM\",\"UsSziBdo1\"],optionTitles:[\"Primary\",\"Variant 2\",\"Variant 3\",\"Variant 4\"],title:\"Variant\",type:ControlType.Enum},kiz5cF1dI:{title:\"Link\",type:ControlType.Link}});addFonts(FramerujS87Hf83,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerujS87Hf83\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"40\",\"framerComponentViewportWidth\":\"true\",\"framerVariables\":\"{\\\"kiz5cF1dI\\\":\\\"link\\\"}\",\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"KroiqtriW\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"XTTe3SyPM\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"UsSziBdo1\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"40\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ujS87Hf83.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";export const TextShine=props=>{useEffect(()=>{const style=document.createElement(\"style\");style.innerHTML=`\n@keyframes shine {\n0% { -webkit-mask-position: 200%; }\n100% { -webkit-mask-position: -100%; }\n}\n        .shine {\n            -webkit-mask-image: linear-gradient(to right, transparent 30%, #EEE 50%, transparent 70%);\n            -webkit-mask-size: 150% auto;\n            animation: shine 5s ease-in-out infinite;\n        }\n    `;document.head.appendChild(style);},[]);return{...props,style:{...props.style},children:/*#__PURE__*/_jsx(\"span\",{className:\"shine\",children:props.children})};};import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withTextShine(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...TextShine(props)});};}withTextShine.displayName=\"TextShine\";\nexport const __FramerMetadata__ = {\"exports\":{\"TextShine\":{\"type\":\"override\",\"name\":\"TextShine\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withTextShine\":{\"type\":\"reactHoc\",\"name\":\"withTextShine\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TextShine.map","// Generated by Framer (6d82f59)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOM;SF Pro Display Regular\",\"Inter-Black\",\"Inter-BlackItalic\",\"Inter-BoldItalic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"SF Pro Display Regular\",source:\"custom\",url:\"https://framerusercontent.com/assets/txHzspBl0z82ZgEXmUgKIXwpqS4.woff2\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/mkY5Sgyq51ik0AMrSBwhm9DJg.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/X5hj6qzcHUYv7h1390c8Rhm6550.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/gQhNpS3tN86g8RcVKYUUaKt2oMQ.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/cugnVhSraaRyANCaUtI5FV17wk.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/5HcVoGak8k5agFJSaKa4floXVu0.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/jn4BtSPLlS0NDp1KiFAtFKiiY0o.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/P2Bw01CtL0b9wqygO0sSVogWbo.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/05KsVHGDmqXSBXM4yRZ65P8i0s.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/ky8ovPukK4dJ1Pxq74qGhOqCYI.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/vvNSqIj42qeQ2bvCRBIWKHscrc.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/3ZmXbBKToJifDV9gwcifVd1tEY.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/FNfhX3dt4ChuLJq2PwdlxHO7PU.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/g0c8vEViiXNlKAgI4Ymmk3Ig.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/efTfQcBJ53kM2pB1hezSZ3RDUFs.woff2\",weight:\"900\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/QxmhnWTzLtyjIiZcfaLIJ8EFBXU.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"}]}];export const css=['.framer-1IWRx .framer-styles-preset-irnhbu:not(.rich-text-wrapper), .framer-1IWRx .framer-styles-preset-irnhbu.rich-text-wrapper h2 { --framer-font-family: \"SF Pro Display Regular\", \"SF Pro Display Regular Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif; --framer-font-family-bold: \"Inter\", sans-serif; --framer-font-family-bold-italic: \"Inter\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 35px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 700; --framer-letter-spacing: 0px; --framer-line-height: 1.15em; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: var(--token-c6121a92-b42e-4b99-98cc-45a2b977dd5b, #161616); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-1IWRx\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6d82f59)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOM;SF Pro Display Light\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"SF Pro Display Light\",source:\"custom\",url:\"https://framerusercontent.com/assets/hHnQE1qFw3ttGfUynEgC7fYr5E4.woff2\"}]}];export const css=['.framer-7Kv6e .framer-styles-preset-1d61dvi:not(.rich-text-wrapper), .framer-7Kv6e .framer-styles-preset-1d61dvi.rich-text-wrapper p { --framer-font-family: \"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 20px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, #9e9e9e); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-7Kv6e\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef,useState}from\"react\";const placeholderUrl=\"https://lottie.host/d826e0a7-b7e8-4072-8afe-c943ed2dd2ca/DpX3m5yT5Z.lottie\";/**\n * DOT LOTTIE\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 200\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */ export default function DotLottie(props){return /*#__PURE__*/ _jsx(OptimizationFriendly,{loading:/*#__PURE__*/ _jsx(\"div\",{}),loaded:/*#__PURE__*/ _jsx(LottiePlayer,{...props})});};function LottiePlayer(props){/* Checks */ const isCanvas=RenderTarget.current()===RenderTarget.canvas;const lottieInstanceRef=useRef(null);const shouldPlay=isCanvas||props.hover===true||props.autoplay===false?null:true;/* File or URL */ let src;switch(props.srcType){case\"url\":src=props.srcUrl;break;case\"file\":src=props.srcFile;break;default:src=placeholderUrl;break;}/* Progress */ const[isReady,setIsReady]=useState(false);/* For canvas states */ useEffect(()=>{if(!lottieInstanceRef.current)return;lottieInstanceRef.current.addEventListener(\"ready\",()=>setIsReady(true));},[]);useEffect(()=>{if(!lottieInstanceRef.current)return;lottieInstanceRef.current.seek(`${props.progress}%`);},[isReady,props.progress]);const lastVariant=useRef();/* For component variant support */ useEffect(()=>{if(isCanvas)return;if(lastVariant.current!==props.autoplay){if(!lottieInstanceRef.current)return;if(props.autoplay===true){lottieInstanceRef.current.play();}if(props.autoplay===false){lottieInstanceRef.current.pause();}}lastVariant.current=props.autoplay;},[props.autoplay]);return(// @ts-ignore\n/*#__PURE__*/ _jsx(\"dotlottie-player\",{src:src,ref:lottieInstanceRef,autoplay:shouldPlay,loop:props.loop?true:null,hover:props.hover?true:null,controls:props.controls?true:null,background:props.background?props.background:null,speed:props.speed,direction:props.direction,style:{...props.style,width:\"100%\",height:\"100%\"}},src));}DotLottie.defaultProps={srcUrl:placeholderUrl,autoplay:true,background:\"#05F\",controls:false,direction:1,hover:false,loop:true,speed:1};DotLottie.displayName=\"Dot Lottie\";addPropertyControls(DotLottie,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"url\",\"file\"],optionTitles:[\"URL\",\"File\"]},srcUrl:{type:ControlType.String,title:\"Link\",placeholder:\"../example.lottie\",hidden:props=>props.srcType===\"file\"},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"lottie\",\"json\"],hidden:props=>props.srcType===\"url\"},autoplay:{type:ControlType.Boolean,title:\"Autoplay\",defaultValue:true},background:{type:ControlType.Color,title:\"Backdrop\",defaultValue:\"#05F\"},controls:{type:ControlType.Boolean,title:\"Controls\"},direction:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"1\",displaySegmentedControl:true,segmentedControlDirection:\"horizontal\",options:[\"1\",\"-1\"],optionTitles:[\"Normal\",\"Reverse\"]},hover:{type:ControlType.Boolean,title:\"Hover Play\"},loop:{type:ControlType.Boolean,title:\"Loop\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:1,min:1,max:10,unit:\"x\",step:.5,displayStepper:true},progress:{type:ControlType.Number,title:\"Progress\",defaultValue:0,min:0,max:100,step:1,description:\"This component is made for Lottie files. [Learn more here](https://dotlottie.io/).\"}});/* For SSG */ function OptimizationFriendly({loading,loaded}){const[isLoading,setLoading]=React.useState(true);// We can't load web-components in ssg on the server,\n// so we defer rendering until we hit the client.\nReact.useEffect(()=>{import(\"https://unpkg.com/@dotlottie/player-component@1.3.2/dist/dotlottie-player.js\").then(()=>{setLoading(false);});},[]);return isLoading?loading:loaded;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DotLottie\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"200\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DotLottie.map","// Generated by Framer (81a45be)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import DotLottie from\"https://framerusercontent.com/modules/jfK7C7JmdHGaVBsvt1V7/G0lF2a2mezep3QZSQZwm/DotLottie.js\";const DotLottieFonts=getFonts(DotLottie);const cycleOrder=[\"h4iDCRKUE\",\"OIwRIS0cm\",\"dPccpNM82\"];const serializationHash=\"framer-qNmnZ\";const variantClassNames={dPccpNM82:\"framer-v-180a9s5\",h4iDCRKUE:\"framer-v-1fvd2l8\",OIwRIS0cm:\"framer-v-1kbtej\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Variant 2\":\"OIwRIS0cm\",Green:\"h4iDCRKUE\",Organge:\"dPccpNM82\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"h4iDCRKUE\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"h4iDCRKUE\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1fvd2l8\",className,classNames),\"data-framer-name\":\"Green\",layoutDependency:layoutDependency,layoutId:\"h4iDCRKUE\",ref:refBinding,style:{...style},...addPropertyOverrides({dPccpNM82:{\"data-framer-name\":\"Organge\"},OIwRIS0cm:{\"data-framer-name\":\"Variant 2\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-70zjgd-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"hQpIZ84a9-container\",nodeId:\"hQpIZ84a9\",rendersWithMotion:true,scopeId:\"Pn3oTZnzW\",style:{filter:\"hue-rotate(0deg)\",WebkitFilter:\"hue-rotate(0deg)\"},variants:{dPccpNM82:{filter:\"hue-rotate(288deg)\",WebkitFilter:\"hue-rotate(288deg)\"},OIwRIS0cm:{filter:\"hue-rotate(232deg)\",WebkitFilter:\"hue-rotate(232deg)\"}},children:/*#__PURE__*/_jsx(DotLottie,{autoplay:true,background:\"rgba(23, 23, 23, 0)\",controls:false,direction:\"1\",height:\"100%\",hover:false,id:\"hQpIZ84a9\",layoutId:\"hQpIZ84a9\",loop:true,progress:0,speed:1,srcFile:\"https://framerusercontent.com/assets/fzC8hlym1GQOWhapjSRyrSTw.json\",srcType:\"file\",srcUrl:\"https://lottie.host/d826e0a7-b7e8-4072-8afe-c943ed2dd2ca/DpX3m5yT5Z.lottie\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-qNmnZ.framer-1ivwgnc, .framer-qNmnZ .framer-1ivwgnc { display: block; }\",\".framer-qNmnZ.framer-1fvd2l8 { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-qNmnZ .framer-70zjgd-container { flex: none; height: 30px; position: relative; width: 30px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-qNmnZ.framer-1fvd2l8 { gap: 0px; } .framer-qNmnZ.framer-1fvd2l8 > * { margin: 0px; margin-bottom: calc(10px / 2); margin-top: calc(10px / 2); } .framer-qNmnZ.framer-1fvd2l8 > :first-child { margin-top: 0px; } .framer-qNmnZ.framer-1fvd2l8 > :last-child { margin-bottom: 0px; } }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 30\n * @framerIntrinsicWidth 30\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"OIwRIS0cm\":{\"layout\":[\"auto\",\"auto\"]},\"dPccpNM82\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerPn3oTZnzW=withCSS(Component,css,\"framer-qNmnZ\");export default FramerPn3oTZnzW;FramerPn3oTZnzW.displayName=\"Indicator\";FramerPn3oTZnzW.defaultProps={height:30,width:30};addPropertyControls(FramerPn3oTZnzW,{variant:{options:[\"h4iDCRKUE\",\"OIwRIS0cm\",\"dPccpNM82\"],optionTitles:[\"Green\",\"Variant 2\",\"Organge\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerPn3oTZnzW,[{explicitInter:true,fonts:[]},...DotLottieFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerPn3oTZnzW\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"OIwRIS0cm\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"dPccpNM82\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicWidth\":\"30\",\"framerIntrinsicHeight\":\"30\",\"framerContractVersion\":\"1\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Pn3oTZnzW.map","// Generated by Framer (7e0329e)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,getPropertyControls,Link,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCodeBoundaryForOverrides,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{withTextShine}from\"https://framerusercontent.com/modules/hRfdu6flODOj0UjGoiXe/9jUl4WUVipWZllpHOStE/TextShine.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/c5O8p8jfgJRQVO8TNWHo/nqP3UFAYq1KfF61ogrxz/brzpeA1Dk.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/zi0BgIAu4TZz0K8IzWrK/OGl5KbYVqcC30qCqS5No/Q7hcr2l4D.js\";import Indicator from\"https://framerusercontent.com/modules/8vx4bkxnRSiUfvgFkWZj/h1MV6n4V6Q5yqpR7UtjI/Pn3oTZnzW.js\";const RichTextWithTextShine1ywq7un=withCodeBoundaryForOverrides(RichText,{nodeId:\"xlflVNcEL\",override:withTextShine,scopeId:\"Cj_1EEupM\"});const RichTextWithTextShine1c8oj9j=withCodeBoundaryForOverrides(RichText,{nodeId:\"hx0pBATXP\",override:withTextShine,scopeId:\"Cj_1EEupM\"});const IndicatorFonts=getFonts(Indicator);const RichTextWithTextShine1yp588j=withCodeBoundaryForOverrides(RichText,{nodeId:\"tGcfB9YN0\",override:withTextShine,scopeId:\"Cj_1EEupM\"});const RichTextWithTextShinet0or30=withCodeBoundaryForOverrides(RichText,{nodeId:\"sIAXm9K7T\",override:withTextShine,scopeId:\"Cj_1EEupM\"});const IndicatorControls=getPropertyControls(Indicator);const cycleOrder=[\"wsaOKKRN1\",\"BXwaHR9P9\",\"Zyjs2_97H\",\"cXTQuGxbL\",\"cSAg6zyZ9\",\"RcL0cwk8a\",\"u4muZHVq2\",\"DJyaqMyoZ\",\"udUTqg8s0\",\"LZQQllxDo\"];const serializationHash=\"framer-gBnzH\";const variantClassNames={BXwaHR9P9:\"framer-v-x0il4d\",cSAg6zyZ9:\"framer-v-1tn0oo8\",cXTQuGxbL:\"framer-v-jbcchk\",DJyaqMyoZ:\"framer-v-1j7g1xz\",LZQQllxDo:\"framer-v-oc1pqy\",RcL0cwk8a:\"framer-v-1jvvd3f\",u4muZHVq2:\"framer-v-1c87k97\",udUTqg8s0:\"framer-v-16jgrwk\",wsaOKKRN1:\"framer-v-10u4hj0\",Zyjs2_97H:\"framer-v-vnfrjp\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const transformTemplate1=(_,t)=>`translate(-50%, -50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableEnumMap={\"Variant 2\":\"OIwRIS0cm\",Green:\"h4iDCRKUE\",Organge:\"dPccpNM82\"};const humanReadableVariantMap={\"Main - Black\":\"wsaOKKRN1\",\"Variant 10\":\"LZQQllxDo\",\"Variant 2\":\"BXwaHR9P9\",\"Variant 3\":\"Zyjs2_97H\",\"Variant 4\":\"cXTQuGxbL\",\"Variant 5\":\"cSAg6zyZ9\",\"Variant 6\":\"RcL0cwk8a\",\"Variant 7\":\"u4muZHVq2\",\"Variant 8\":\"DJyaqMyoZ\",\"Variant 9\":\"udUTqg8s0\"};const getProps=({alert,announcement,height,id,indicator,link,title,width,...props})=>{return{...props,baqYhwhiD:title??props.baqYhwhiD??\"For Driven Entrepreneurs\",E4sldbfry:humanReadableEnumMap[indicator]??indicator??props.E4sldbfry??\"h4iDCRKUE\",fNV3KFuel:announcement??props.fNV3KFuel??\"Target Audience\",ghjKb8IHW:alert??props.ghjKb8IHW??\"Only for\",TAXdUmk6Y:link??props.TAXdUmk6Y,variant:humanReadableVariantMap[props.variant]??props.variant??\"wsaOKKRN1\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,fNV3KFuel,ghjKb8IHW,TAXdUmk6Y,baqYhwhiD,E4sldbfry,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"wsaOKKRN1\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"BXwaHR9P9\",\"Zyjs2_97H\",\"udUTqg8s0\",\"LZQQllxDo\"].includes(baseVariant))return true;return false;};const isDisplayed1=()=>{if(baseVariant===\"Zyjs2_97H\")return true;return false;};const isDisplayed2=()=>{if([\"Zyjs2_97H\",\"cSAg6zyZ9\",\"RcL0cwk8a\",\"u4muZHVq2\",\"DJyaqMyoZ\",\"udUTqg8s0\",\"LZQQllxDo\"].includes(baseVariant))return false;return true;};const isDisplayed3=()=>{if([\"RcL0cwk8a\",\"DJyaqMyoZ\"].includes(baseVariant))return true;return false;};const isDisplayed4=()=>{if([\"cSAg6zyZ9\",\"RcL0cwk8a\",\"u4muZHVq2\",\"DJyaqMyoZ\",\"udUTqg8s0\",\"LZQQllxDo\"].includes(baseVariant))return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:TAXdUmk6Y,motionChild:true,nodeId:\"wsaOKKRN1\",scopeId:\"Cj_1EEupM\",children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-10u4hj0\",className,classNames)} framer-1faqibl`,\"data-framer-name\":\"Main - Black\",layoutDependency:layoutDependency,layoutId:\"wsaOKKRN1\",ref:refBinding,style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"rgba(0, 0, 0, 0)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",backdropFilter:\"none\",backgroundColor:\"var(--token-7de22a70-f304-4f3a-ad1d-50f472b2b688, rgb(247, 247, 248))\",borderBottomLeftRadius:25,borderBottomRightRadius:25,borderTopLeftRadius:25,borderTopRightRadius:25,WebkitBackdropFilter:\"none\",...style},variants:{cSAg6zyZ9:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(158, 158, 158, 0.1)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backdropFilter:\"blur(5px)\",backgroundColor:\"rgba(35, 35, 35, 0.5)\",WebkitBackdropFilter:\"blur(5px)\"},cXTQuGxbL:{\"--border-bottom-width\":\"0px\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-top-width\":\"0px\"},DJyaqMyoZ:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(158, 158, 158, 0.1)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backdropFilter:\"blur(5px)\",backgroundColor:\"rgba(35, 35, 35, 0.5)\",WebkitBackdropFilter:\"blur(5px)\"},LZQQllxDo:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(158, 158, 158, 0.1)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backdropFilter:\"blur(5px)\",backgroundColor:\"rgba(35, 35, 35, 0.5)\",WebkitBackdropFilter:\"blur(5px)\"},RcL0cwk8a:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(158, 158, 158, 0.1)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backdropFilter:\"blur(5px)\",backgroundColor:\"rgba(35, 35, 35, 0.5)\",WebkitBackdropFilter:\"blur(5px)\"},u4muZHVq2:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(158, 158, 158, 0.1)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backdropFilter:\"blur(5px)\",backgroundColor:\"rgba(35, 35, 35, 0.5)\",WebkitBackdropFilter:\"blur(5px)\"},udUTqg8s0:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(158, 158, 158, 0.1)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backdropFilter:\"blur(5px)\",backgroundColor:\"rgba(35, 35, 35, 0.5)\",WebkitBackdropFilter:\"blur(5px)\"},Zyjs2_97H:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(158, 158, 158, 0.1)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"rgba(35, 35, 35, 0.5)\"}},...addPropertyOverrides({BXwaHR9P9:{\"data-framer-name\":\"Variant 2\"},cSAg6zyZ9:{\"data-border\":true,\"data-framer-name\":\"Variant 5\"},cXTQuGxbL:{\"data-framer-name\":\"Variant 4\"},DJyaqMyoZ:{\"data-border\":true,\"data-framer-name\":\"Variant 8\"},LZQQllxDo:{\"data-border\":true,\"data-framer-name\":\"Variant 10\"},RcL0cwk8a:{\"data-border\":true,\"data-framer-name\":\"Variant 6\"},u4muZHVq2:{\"data-border\":true,\"data-framer-name\":\"Variant 7\"},udUTqg8s0:{\"data-border\":true,\"data-framer-name\":\"Variant 9\"},Zyjs2_97H:{\"data-border\":true,\"data-framer-name\":\"Variant 3\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-1n338np\",layoutDependency:layoutDependency,layoutId:\"z08naqDfr\",style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"rgba(0, 0, 0, 0)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",backdropFilter:\"none\",backgroundColor:\"rgb(32, 32, 32)\",borderBottomLeftRadius:3,borderBottomRightRadius:3,borderTopLeftRadius:3,borderTopRightRadius:3,WebkitBackdropFilter:\"none\"},variants:{LZQQllxDo:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backdropFilter:\"blur(5px)\",backgroundColor:\"rgba(158, 158, 158, 0.5)\",borderBottomLeftRadius:15,borderBottomRightRadius:15,borderTopLeftRadius:15,borderTopRightRadius:15,WebkitBackdropFilter:\"blur(5px)\"},udUTqg8s0:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backdropFilter:\"blur(5px)\",backgroundColor:\"rgba(158, 158, 158, 0.5)\",borderBottomLeftRadius:15,borderBottomRightRadius:15,borderTopLeftRadius:15,borderTopRightRadius:15,WebkitBackdropFilter:\"blur(5px)\"},Zyjs2_97H:{backgroundColor:\"var(--token-f6d2b0cb-083c-4364-9dc0-a95a2bab1555, rgb(22, 22, 22))\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10}},...addPropertyOverrides({LZQQllxDo:{\"data-border\":true},udUTqg8s0:{\"data-border\":true}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IFJlZ3VsYXI=\",\"--framer-font-family\":'\"SF Pro Display Regular\", \"SF Pro Display Regular Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"20px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-ae5c4eb0-e577-452b-888e-5c02cfc20fda, rgb(235, 235, 235)))\"},children:\"New\"})}),className:\"framer-1ao46ng\",fonts:[\"CUSTOM;SF Pro Display Regular\"],layoutDependency:layoutDependency,layoutId:\"v9AK4iCOM\",style:{\"--extracted-r6o4lv\":\"var(--token-ae5c4eb0-e577-452b-888e-5c02cfc20fda, rgb(235, 235, 235))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:ghjKb8IHW,variants:{udUTqg8s0:{\"--extracted-r6o4lv\":\"rgba(250, 250, 251, 0.8)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({LZQQllxDo:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IFJlZ3VsYXI=\",\"--framer-font-family\":'\"SF Pro Display Regular\", \"SF Pro Display Regular Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-ae5c4eb0-e577-452b-888e-5c02cfc20fda, rgb(235, 235, 235)))\"},children:\"New\"})})},udUTqg8s0:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IFJlZ3VsYXI=\",\"--framer-font-family\":'\"SF Pro Display Regular\", \"SF Pro Display Regular Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"20px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgba(250, 250, 251, 0.8))\"},children:\"New\"})})},Zyjs2_97H:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-irnhbu\",\"data-styles-preset\":\"brzpeA1Dk\",children:\"Only for\"})}),fonts:[\"Inter\"]}},baseVariant,gestureVariant)})}),isDisplayed1()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-t9eaco\",\"data-framer-name\":\"Message\",layoutDependency:layoutDependency,layoutId:\"d7MTOIxjg\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IExpZ2h0\",\"--framer-font-family\":'\"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"25px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158)))\"},children:\"For Driven Entrepreneurs\"})}),className:\"framer-624fjn\",\"data-framer-name\":\"Text\",fonts:[\"CUSTOM;SF Pro Display Light\"],layoutDependency:layoutDependency,layoutId:\"MFuC8Nk_1\",style:{\"--extracted-r6o4lv\":\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",\"--framer-paragraph-spacing\":\"0px\"},text:baqYhwhiD,transformTemplate:transformTemplate1,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichTextWithTextShine1ywq7un,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IExpZ2h0\",\"--framer-font-family\":'\"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"25px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158)))\"},children:\"For Driven Entrepreneurs\"})}),className:\"framer-1ywq7un\",\"data-framer-name\":\"Glow\",fonts:[\"CUSTOM;SF Pro Display Light\"],layoutDependency:layoutDependency,layoutId:\"xlflVNcEL\",style:{\"--extracted-r6o4lv\":\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",\"--framer-paragraph-spacing\":\"0px\",filter:\"blur(5px)\",WebkitFilter:\"blur(5px)\"},text:baqYhwhiD,transformTemplate:transformTemplate1,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichTextWithTextShine1c8oj9j,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IExpZ2h0\",\"--framer-font-family\":'\"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"25px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158)))\"},children:\"For Driven Entrepreneurs\"})}),className:\"framer-1c8oj9j\",\"data-framer-name\":\"Shine\",fonts:[\"CUSTOM;SF Pro Display Light\"],layoutDependency:layoutDependency,layoutId:\"hx0pBATXP\",style:{\"--extracted-r6o4lv\":\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",\"--framer-paragraph-spacing\":\"0px\"},text:baqYhwhiD,transformTemplate:transformTemplate1,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IExpZ2h0\",\"--framer-font-family\":'\"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"25px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158)))\"},children:\"For Driven Entrepreneurs\"})}),className:\"framer-jhag0q\",\"data-framer-name\":\"HELPER\",fonts:[\"CUSTOM;SF Pro Display Light\"],layoutDependency:layoutDependency,layoutId:\"FKC4gfHq_\",style:{\"--extracted-r6o4lv\":\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",\"--framer-paragraph-spacing\":\"0px\",opacity:0},text:baqYhwhiD,verticalAlignment:\"top\",withExternalLayout:true})]}),isDisplayed2()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-1nhdy34\",layoutDependency:layoutDependency,layoutId:\"ViHroI4qZ\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1d61dvi\",\"data-styles-preset\":\"Q7hcr2l4D\",children:\"Target Audience\"})}),className:\"framer-j7alng\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"sSWwgMCR3\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:fNV3KFuel,variants:{cXTQuGxbL:{\"--extracted-a0htzi\":\"rgba(250, 250, 251, 0.75)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({cXTQuGxbL:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IExpZ2h0\",\"--framer-font-family\":'\"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"25px\",\"--framer-letter-spacing\":\"0px\",\"--framer-line-height\":\"1.25em\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-a0htzi, rgba(250, 250, 251, 0.75))\"},children:\"Target Audience\"})}),fonts:[\"CUSTOM;SF Pro Display Light\"]}},baseVariant,gestureVariant)})}),isDisplayed3()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({DJyaqMyoZ:{height:15,width:\"15px\",y:(componentViewport?.y||0)+(5+((componentViewport?.height||37.5)-10-15)/2)},RcL0cwk8a:{height:30,y:(componentViewport?.y||0)+(5+((componentViewport?.height||45)-10-30)/2)}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-x22ncv-container\",layoutDependency:layoutDependency,layoutId:\"J_GhxZ4DE-container\",nodeId:\"J_GhxZ4DE\",rendersWithMotion:true,scopeId:\"Cj_1EEupM\",children:/*#__PURE__*/_jsx(Indicator,{height:\"100%\",id:\"J_GhxZ4DE\",layoutId:\"J_GhxZ4DE\",variant:E4sldbfry,width:\"100%\",...addPropertyOverrides({DJyaqMyoZ:{style:{height:\"100%\",width:\"100%\"}}},baseVariant,gestureVariant)})})}),isDisplayed4()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-dqmch1\",\"data-framer-name\":\"Message\",layoutDependency:layoutDependency,layoutId:\"YjVMRJV1c\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1d61dvi\",\"data-styles-preset\":\"Q7hcr2l4D\",children:\"For Driven Entrepreneurs\"})}),className:\"framer-l3l94o\",\"data-framer-name\":\"Text\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"bjMCpfFEx\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",\"--framer-paragraph-spacing\":\"0px\"},text:baqYhwhiD,transformTemplate:transformTemplate1,variants:{DJyaqMyoZ:{\"--extracted-r6o4lv\":\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\"},LZQQllxDo:{\"--extracted-r6o4lv\":\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\"},u4muZHVq2:{\"--extracted-r6o4lv\":\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({DJyaqMyoZ:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IExpZ2h0\",\"--framer-font-family\":'\"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158)))\"},children:\"For Driven Entrepreneurs\"})}),fonts:[\"CUSTOM;SF Pro Display Light\"]},LZQQllxDo:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IExpZ2h0\",\"--framer-font-family\":'\"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158)))\"},children:\"For Driven Entrepreneurs\"})}),fonts:[\"CUSTOM;SF Pro Display Light\"]},u4muZHVq2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IExpZ2h0\",\"--framer-font-family\":'\"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158)))\"},children:\"For Driven Entrepreneurs\"})}),fonts:[\"CUSTOM;SF Pro Display Light\"]}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichTextWithTextShine1yp588j,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1d61dvi\",\"data-styles-preset\":\"Q7hcr2l4D\",children:\"For Driven Entrepreneurs\"})}),className:\"framer-1yp588j\",\"data-framer-name\":\"Glow\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"tGcfB9YN0\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",\"--framer-paragraph-spacing\":\"0px\",filter:\"blur(5px)\",WebkitFilter:\"blur(5px)\"},text:baqYhwhiD,transformTemplate:transformTemplate1,variants:{DJyaqMyoZ:{\"--extracted-r6o4lv\":\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\"},LZQQllxDo:{\"--extracted-r6o4lv\":\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\"},u4muZHVq2:{\"--extracted-r6o4lv\":\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({DJyaqMyoZ:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IExpZ2h0\",\"--framer-font-family\":'\"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158)))\"},children:\"For Driven Entrepreneurs\"})}),fonts:[\"CUSTOM;SF Pro Display Light\"]},LZQQllxDo:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IExpZ2h0\",\"--framer-font-family\":'\"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158)))\"},children:\"For Driven Entrepreneurs\"})}),fonts:[\"CUSTOM;SF Pro Display Light\"]},u4muZHVq2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IExpZ2h0\",\"--framer-font-family\":'\"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158)))\"},children:\"For Driven Entrepreneurs\"})}),fonts:[\"CUSTOM;SF Pro Display Light\"]}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichTextWithTextShinet0or30,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1d61dvi\",\"data-styles-preset\":\"Q7hcr2l4D\",children:\"For Driven Entrepreneurs\"})}),className:\"framer-t0or30\",\"data-framer-name\":\"Shine\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"sIAXm9K7T\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",\"--framer-paragraph-spacing\":\"0px\"},text:baqYhwhiD,transformTemplate:transformTemplate1,variants:{DJyaqMyoZ:{\"--extracted-r6o4lv\":\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\"},LZQQllxDo:{\"--extracted-r6o4lv\":\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\"},u4muZHVq2:{\"--extracted-r6o4lv\":\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({DJyaqMyoZ:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IExpZ2h0\",\"--framer-font-family\":'\"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158)))\"},children:\"For Driven Entrepreneurs\"})}),fonts:[\"CUSTOM;SF Pro Display Light\"]},LZQQllxDo:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IExpZ2h0\",\"--framer-font-family\":'\"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158)))\"},children:\"For Driven Entrepreneurs\"})}),fonts:[\"CUSTOM;SF Pro Display Light\"]},u4muZHVq2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IExpZ2h0\",\"--framer-font-family\":'\"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158)))\"},children:\"For Driven Entrepreneurs\"})}),fonts:[\"CUSTOM;SF Pro Display Light\"]}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1d61dvi\",\"data-styles-preset\":\"Q7hcr2l4D\",children:\"For Driven Entrepreneurs\"})}),className:\"framer-c3nzio\",\"data-framer-name\":\"HELPER\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"qWLwkwpM8\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",\"--framer-paragraph-spacing\":\"0px\",opacity:0},text:baqYhwhiD,variants:{DJyaqMyoZ:{\"--extracted-r6o4lv\":\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\"},LZQQllxDo:{\"--extracted-r6o4lv\":\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\"},u4muZHVq2:{\"--extracted-r6o4lv\":\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({DJyaqMyoZ:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IExpZ2h0\",\"--framer-font-family\":'\"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158)))\"},children:\"For Driven Entrepreneurs\"})}),fonts:[\"CUSTOM;SF Pro Display Light\"]},LZQQllxDo:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IExpZ2h0\",\"--framer-font-family\":'\"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158)))\"},children:\"For Driven Entrepreneurs\"})}),fonts:[\"CUSTOM;SF Pro Display Light\"]},u4muZHVq2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO1NGIFBybyBEaXNwbGF5IExpZ2h0\",\"--framer-font-family\":'\"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158)))\"},children:\"For Driven Entrepreneurs\"})}),fonts:[\"CUSTOM;SF Pro Display Light\"]}},baseVariant,gestureVariant)})]})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-gBnzH.framer-1faqibl, .framer-gBnzH .framer-1faqibl { display: block; }\",\".framer-gBnzH.framer-10u4hj0 { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 5px; height: min-content; justify-content: center; padding: 5px; position: relative; text-decoration: none; width: min-content; }\",\".framer-gBnzH .framer-1n338np { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px 5px 0px 5px; position: relative; width: min-content; }\",\".framer-gBnzH .framer-1ao46ng, .framer-gBnzH .framer-j7alng { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-gBnzH .framer-t9eaco, .framer-gBnzH .framer-dqmch1 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 5px 5px 0px 5px; position: relative; width: min-content; }\",\".framer-gBnzH .framer-624fjn, .framer-gBnzH .framer-1ywq7un, .framer-gBnzH .framer-l3l94o, .framer-gBnzH .framer-1yp588j { -webkit-user-select: none; flex: none; height: auto; left: 50%; position: absolute; top: 51%; user-select: none; white-space: pre; width: auto; z-index: 1; }\",\".framer-gBnzH .framer-1c8oj9j, .framer-gBnzH .framer-t0or30 { -webkit-user-select: none; flex: none; height: auto; left: 50%; position: absolute; top: 52%; user-select: none; white-space: pre; width: auto; z-index: 2; }\",\".framer-gBnzH .framer-jhag0q, .framer-gBnzH .framer-c3nzio { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; white-space: pre; width: auto; }\",\".framer-gBnzH .framer-1nhdy34 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 5px; height: min-content; justify-content: center; overflow: visible; padding: 0px 5px 0px 5px; position: relative; width: min-content; }\",\".framer-gBnzH .framer-x22ncv-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-gBnzH.framer-v-vnfrjp .framer-1n338np { padding: 5px 10px 5px 10px; }\",\".framer-gBnzH.framer-v-1jvvd3f .framer-dqmch1 { flex-direction: row; }\",\".framer-gBnzH.framer-v-1j7g1xz.framer-10u4hj0 { padding: 5px 5px 5px 10px; }\",\".framer-gBnzH.framer-v-1j7g1xz .framer-x22ncv-container { height: 15px; width: 15px; }\",...sharedStyle.css,...sharedStyle1.css,'.framer-gBnzH[data-border=\"true\"]::after, .framer-gBnzH [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 40\n * @framerIntrinsicWidth 152.5\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"BXwaHR9P9\":{\"layout\":[\"auto\",\"auto\"]},\"Zyjs2_97H\":{\"layout\":[\"auto\",\"auto\"]},\"cXTQuGxbL\":{\"layout\":[\"auto\",\"auto\"]},\"cSAg6zyZ9\":{\"layout\":[\"auto\",\"auto\"]},\"RcL0cwk8a\":{\"layout\":[\"auto\",\"auto\"]},\"u4muZHVq2\":{\"layout\":[\"auto\",\"auto\"]},\"DJyaqMyoZ\":{\"layout\":[\"auto\",\"auto\"]},\"udUTqg8s0\":{\"layout\":[\"auto\",\"auto\"]},\"LZQQllxDo\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"fNV3KFuel\":\"announcement\",\"ghjKb8IHW\":\"alert\",\"TAXdUmk6Y\":\"link\",\"baqYhwhiD\":\"title\",\"E4sldbfry\":\"indicator\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerCj_1EEupM=withCSS(Component,css,\"framer-gBnzH\");export default FramerCj_1EEupM;FramerCj_1EEupM.displayName=\"Element/Bar\";FramerCj_1EEupM.defaultProps={height:40,width:152.5};addPropertyControls(FramerCj_1EEupM,{variant:{options:[\"wsaOKKRN1\",\"BXwaHR9P9\",\"Zyjs2_97H\",\"cXTQuGxbL\",\"cSAg6zyZ9\",\"RcL0cwk8a\",\"u4muZHVq2\",\"DJyaqMyoZ\",\"udUTqg8s0\",\"LZQQllxDo\"],optionTitles:[\"Main - Black\",\"Variant 2\",\"Variant 3\",\"Variant 4\",\"Variant 5\",\"Variant 6\",\"Variant 7\",\"Variant 8\",\"Variant 9\",\"Variant 10\"],title:\"Variant\",type:ControlType.Enum},fNV3KFuel:{defaultValue:\"Target Audience\",displayTextArea:false,title:\"Announcement\",type:ControlType.String},ghjKb8IHW:{defaultValue:\"Only for\",displayTextArea:false,title:\"Alert\",type:ControlType.String},TAXdUmk6Y:{title:\"Link\",type:ControlType.Link},baqYhwhiD:{defaultValue:\"For Driven Entrepreneurs\",displayTextArea:false,title:\"Title\",type:ControlType.String},E4sldbfry:IndicatorControls?.[\"variant\"]&&{...IndicatorControls[\"variant\"],defaultValue:\"h4iDCRKUE\",description:undefined,hidden:undefined,title:\"Indicator\"}});addFonts(FramerCj_1EEupM,[{explicitInter:true,fonts:[{family:\"SF Pro Display Regular\",source:\"custom\",url:\"https://framerusercontent.com/assets/txHzspBl0z82ZgEXmUgKIXwpqS4.woff2\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{family:\"SF Pro Display Light\",source:\"custom\",url:\"https://framerusercontent.com/assets/hHnQE1qFw3ttGfUynEgC7fYr5E4.woff2\"}]},...IndicatorFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerCj_1EEupM\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"fNV3KFuel\\\":\\\"announcement\\\",\\\"ghjKb8IHW\\\":\\\"alert\\\",\\\"TAXdUmk6Y\\\":\\\"link\\\",\\\"baqYhwhiD\\\":\\\"title\\\",\\\"E4sldbfry\\\":\\\"indicator\\\"}\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"BXwaHR9P9\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"Zyjs2_97H\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"cXTQuGxbL\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"cSAg6zyZ9\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"RcL0cwk8a\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"u4muZHVq2\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"DJyaqMyoZ\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"udUTqg8s0\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"LZQQllxDo\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicWidth\":\"152.5\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"40\",\"framerDisplayContentsDiv\":\"false\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Cj_1EEupM.map","// Generated by Framer (6d82f59)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOM;SF Pro Display Regular\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"SF Pro Display Regular\",source:\"custom\",url:\"https://framerusercontent.com/assets/txHzspBl0z82ZgEXmUgKIXwpqS4.woff2\"}]}];export const css=['.framer-z2YX0 .framer-styles-preset-1unoqrl:not(.rich-text-wrapper), .framer-z2YX0 .framer-styles-preset-1unoqrl.rich-text-wrapper h3 { --framer-font-family: \"SF Pro Display Regular\", \"SF Pro Display Regular Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 20px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0px; --framer-line-height: 1.25em; --framer-paragraph-spacing: 20px; --framer-text-alignment: left; --framer-text-color: var(--token-c6121a92-b42e-4b99-98cc-45a2b977dd5b, #161616); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-z2YX0\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","let r;var s=o=>{if(!r){const n=o.forwardRef(({color:t=\"currentColor\",size:e=24,...i},l)=>o.createElement(\"svg\",{ref:l,xmlns:\"http://www.w3.org/2000/svg\",width:e,height:e,viewBox:\"0 0 24 24\",fill:\"none\",stroke:t,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",...i},o.createElement(\"path\",{d:\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"}),o.createElement(\"polyline\",{points:\"9 22 9 12 15 12 15 22\"})));n.displayName=\"Home\",r=n}return r};export{s as default};\n","import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{useState,useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{NullState}from\"https://framer.com/m/framer/icon-nullstate.js@0.7.0\";import HomeFactory from\"https://framer.com/m/feather-icons/home.js@0.0.29\";import{defaultEvents,useIconSelection}from\"https://framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js\";export const iconKeys=[\"activity\",\"airplay\",\"alert-circle\",\"alert-octagon\",\"alert-triangle\",\"align-center\",\"align-justify\",\"align-left\",\"align-right\",\"anchor\",\"aperture\",\"archive\",\"arrow-down\",\"arrow-down-circle\",\"arrow-down-left\",\"arrow-down-right\",\"arrow-left\",\"arrow-left-circle\",\"arrow-right\",\"arrow-right-circle\",\"arrow-up\",\"arrow-up-circle\",\"arrow-up-left\",\"arrow-up-right\",\"at-sign\",\"award\",\"bar-chart\",\"bar-chart-2\",\"battery\",\"battery-charging\",\"bell\",\"bell-off\",\"bluetooth\",\"bold\",\"book\",\"book-open\",\"bookmark\",\"box\",\"briefcase\",\"calendar\",\"camera\",\"camera-off\",\"cast\",\"check\",\"check-circle\",\"check-square\",\"chevron-down\",\"chevron-left\",\"chevron-right\",\"chevron-up\",\"chevrons-down\",\"chevrons-left\",\"chevrons-right\",\"chevrons-up\",\"chrome\",\"circle\",\"clipboard\",\"clock\",\"cloud\",\"cloud-drizzle\",\"cloud-lightning\",\"cloud-off\",\"cloud-rain\",\"cloud-snow\",\"code\",\"codepen\",\"codesandbox\",\"coffee\",\"columns\",\"command\",\"compass\",\"copy\",\"corner-down-left\",\"corner-down-right\",\"corner-left-down\",\"corner-left-up\",\"corner-right-down\",\"corner-right-up\",\"corner-up-left\",\"corner-up-right\",\"cpu\",\"credit-card\",\"crop\",\"crosshair\",\"database\",\"delete\",\"disc\",\"divide\",\"divide-circle\",\"divide-square\",\"dollar-sign\",\"download\",\"download-cloud\",\"dribbble\",\"droplet\",\"edit\",\"edit-2\",\"edit-3\",\"external-link\",\"eye\",\"eye-off\",\"facebook\",\"fast-forward\",\"feather\",\"figma\",\"file\",\"file-minus\",\"file-plus\",\"file-text\",\"film\",\"filter\",\"flag\",\"folder\",\"folder-minus\",\"folder-plus\",\"framer\",\"frown\",\"gift\",\"git-branch\",\"git-commit\",\"git-merge\",\"git-pull-request\",\"github\",\"gitlab\",\"globe\",\"grid\",\"hard-drive\",\"hash\",\"headphones\",\"heart\",\"help-circle\",\"hexagon\",\"home\",\"image\",\"inbox\",\"info\",\"instagram\",\"italic\",\"key\",\"layers\",\"layout\",\"life-buoy\",\"link\",\"link-2\",\"linkedin\",\"list\",\"loader\",\"lock\",\"log-in\",\"log-out\",\"mail\",\"map\",\"map-pin\",\"maximize\",\"maximize-2\",\"meh\",\"menu\",\"message-circle\",\"message-square\",\"mic\",\"mic-off\",\"minimize\",\"minimize-2\",\"minus\",\"minus-circle\",\"minus-square\",\"monitor\",\"moon\",\"more-horizontal\",\"more-vertical\",\"mouse-pointer\",\"move\",\"music\",\"navigation\",\"navigation-2\",\"octagon\",\"package\",\"paperclip\",\"pause\",\"pause-circle\",\"pen-tool\",\"percent\",\"phone\",\"phone-call\",\"phone-forwarded\",\"phone-incoming\",\"phone-missed\",\"phone-off\",\"phone-outgoing\",\"pie-chart\",\"play\",\"play-circle\",\"plus\",\"plus-circle\",\"plus-square\",\"pocket\",\"power\",\"printer\",\"radio\",\"refresh-ccw\",\"refresh-cw\",\"repeat\",\"rewind\",\"rotate-ccw\",\"rotate-cw\",\"rss\",\"save\",\"scissors\",\"search\",\"send\",\"server\",\"settings\",\"share\",\"share-2\",\"shield\",\"shield-off\",\"shopping-bag\",\"shopping-cart\",\"shuffle\",\"sidebar\",\"skip-back\",\"skip-forward\",\"slack\",\"slash\",\"sliders\",\"smartphone\",\"smile\",\"speaker\",\"square\",\"star\",\"stop-circle\",\"sun\",\"sunrise\",\"sunset\",\"tablet\",\"tag\",\"target\",\"terminal\",\"thermometer\",\"thumbs-down\",\"thumbs-up\",\"toggle-left\",\"toggle-right\",\"tool\",\"trash\",\"trash-2\",\"trello\",\"trending-down\",\"trending-up\",\"triangle\",\"truck\",\"tv\",\"twitch\",\"twitter\",\"type\",\"umbrella\",\"underline\",\"unlock\",\"upload\",\"upload-cloud\",\"user\",\"user-check\",\"user-minus\",\"user-plus\",\"user-x\",\"users\",\"video\",\"video-off\",\"voicemail\",\"volume\",\"volume-1\",\"volume-2\",\"volume-x\",\"watch\",\"wifi\",\"wifi-off\",\"wind\",\"x\",\"x-circle\",\"x-octagon\",\"x-square\",\"youtube\",\"zap\",\"zap-off\",\"zoom-in\",\"zoom-out\",];const moduleBaseUrl=\"https://framer.com/m/feather-icons/\";const uppercaseIconKeys=iconKeys.map(name=>name.charAt(0).toUpperCase()+name.slice(1));const lowercaseIconKeyPairs=iconKeys.reduce((res,key)=>{res[key.toLowerCase()]=key;return res;},{});/**\n * FEATHER\n *\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */ export function Icon(props){const{color,selectByList,iconSearch,iconSelection,onClick,onMouseDown,onMouseUp,onMouseEnter,onMouseLeave,mirrored}=props;const isMounted=useRef(false);const iconKey=useIconSelection(iconKeys,selectByList,iconSearch,iconSelection,lowercaseIconKeyPairs);// Selected Icon Module\nconst[SelectedIcon,setSelectedIcon]=useState(iconKey===\"Home\"?HomeFactory(React):null);// Import the selected module or reset so null state\nasync function importModule(){let active=true;// Get the selected module\ntry{const iconModuleUrl=`${moduleBaseUrl}${iconKey}.js@0.0.29`;const module=await import(/* webpackIgnore: true */ iconModuleUrl);// console.log(module.default)\nif(active)setSelectedIcon(module.default(React));}catch(e){console.log(e);if(active)setSelectedIcon(null);}return()=>{active=false;};}// Import module when new style or icon is selected\nuseEffect(()=>{importModule();},[iconKey]);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const emptyState=isOnCanvas?/*#__PURE__*/ _jsx(NullState,{}):null;return /*#__PURE__*/ _jsx(\"div\",{style:{display:\"contents\"},onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,children:SelectedIcon?/*#__PURE__*/ _jsx(SelectedIcon,{style:{width:\"100%\",height:\"100%\",transform:mirrored?\"scale(-1, 1)\":undefined},color:color}):emptyState});}Icon.displayName=\"Feather\";Icon.defaultProps={width:24,height:24,iconSelection:\"home\",iconSearch:\"Home\",color:\"#66F\",selectByList:true,mirrored:false};addPropertyControls(Icon,{selectByList:{type:ControlType.Boolean,title:\"Select\",enabledTitle:\"List\",disabledTitle:\"Search\",defaultValue:Icon.defaultProps.selectByList},iconSelection:{type:ControlType.Enum,options:iconKeys,optionTitles:uppercaseIconKeys,defaultValue:Icon.defaultProps.iconSelection,title:\"Name\",hidden:({selectByList})=>!selectByList,description:\"Find every icon name on the [Feather site](https://feathericons.com/)\"},iconSearch:{type:ControlType.String,title:\"Name\",placeholder:\"Menu, Wifi, Box…\",hidden:({selectByList})=>selectByList},mirrored:{type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:Icon.defaultProps.mirrored},color:{type:ControlType.Color,title:\"Color\",defaultValue:Icon.defaultProps.color},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"iconKeys\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Icon\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"24\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"IconProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Feather.map","// Generated by Framer (6d82f59)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOM;SF Pro Display Light\",\"Inter-Bold\",\"Inter-BoldItalic\",\"Inter-Italic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"SF Pro Display Light\",source:\"custom\",url:\"https://framerusercontent.com/assets/hHnQE1qFw3ttGfUynEgC7fYr5E4.woff2\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/DXD0Q7LSl7HEvDzucnyLnGBHM.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/QxmhnWTzLtyjIiZcfaLIJ8EFBXU.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/CfMzU8w2e7tHgF4T4rATMPuWosA.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/867QObYax8ANsfX4TGEVU9YiCM.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Oyn2ZbENFdnW7mt2Lzjk1h9Zb9k.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/cdAe8hgZ1cMyLu9g005pAW3xMo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/DOfvtmE1UplCq161m6Hj8CSQYg.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vFzuJY0c65av44uhEKB6vyjFMg.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/tKtBcDnBMevsEEJKdNGhhkLzYo.woff2\",weight:\"400\"}]}];export const css=['.framer-vjSCO .framer-styles-preset-1fi5f5c:not(.rich-text-wrapper), .framer-vjSCO .framer-styles-preset-1fi5f5c.rich-text-wrapper p { --framer-font-family: \"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 12.5px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: 0em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, #9e9e9e); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-vjSCO\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (d65f646)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOM;SF Pro Display Light\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"SF Pro Display Light\",source:\"custom\",url:\"https://framerusercontent.com/assets/hHnQE1qFw3ttGfUynEgC7fYr5E4.woff2\"}]}];export const css=['.framer-iYOgL .framer-styles-preset-17hxoow:not(.rich-text-wrapper), .framer-iYOgL .framer-styles-preset-17hxoow.rich-text-wrapper p { --framer-font-family: \"SF Pro Display Light\", \"SF Pro Display Light Placeholder\", \"-apple-system\", \"BlinkMacSystemFont\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 15px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: 0em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 15px; --framer-text-alignment: start; --framer-text-color: var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, #9e9e9e); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-iYOgL\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6d82f59)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,getPropertyControls,Link,RichText,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{Icon as Feather}from\"https://framerusercontent.com/modules/f0DboytQenYh21kfme7W/zb1zVBMZJKgPMiedOi0y/Feather.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/8EpyktqGzH9qMSRsymcn/OFeTowz2QKIRrALXZcbi/MOHrQBiQy.js\";import*as sharedStyle2 from\"https://framerusercontent.com/modules/L2aQkQN6NEUEUhtWVEr9/EYMf1Oy5CNIN9He3c27U/VLfFvWRgq.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/grm4Nb0TolbLAue9gwjr/9EpHXV5tkaipvyuKphFT/WpYVL2Ruc.js\";const FeatherFonts=getFonts(Feather);const FeatherControls=getPropertyControls(Feather);const enabledGestures={OkXEty2YJ:{hover:true},ww2G9rkKn:{hover:true}};const cycleOrder=[\"OkXEty2YJ\",\"ww2G9rkKn\",\"lIw07qpFC\",\"j96ytFoUX\"];const serializationHash=\"framer-arNHv\";const variantClassNames={j96ytFoUX:\"framer-v-kj4zna\",lIw07qpFC:\"framer-v-15o6q8u\",OkXEty2YJ:\"framer-v-y0tpb1\",ww2G9rkKn:\"framer-v-1ali1lw\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={delay:0,duration:.5,ease:[.44,0,.56,1],type:\"tween\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableEnumMap={\"Alert-circle\":\"alert-circle\",\"Alert-octagon\":\"alert-octagon\",\"Alert-triangle\":\"alert-triangle\",\"Align-center\":\"align-center\",\"Align-justify\":\"align-justify\",\"Align-left\":\"align-left\",\"Align-right\":\"align-right\",\"Arrow-down-circle\":\"arrow-down-circle\",\"Arrow-down-left\":\"arrow-down-left\",\"Arrow-down-right\":\"arrow-down-right\",\"Arrow-down\":\"arrow-down\",\"Arrow-left-circle\":\"arrow-left-circle\",\"Arrow-left\":\"arrow-left\",\"Arrow-right-circle\":\"arrow-right-circle\",\"Arrow-right\":\"arrow-right\",\"Arrow-up-circle\":\"arrow-up-circle\",\"Arrow-up-left\":\"arrow-up-left\",\"Arrow-up-right\":\"arrow-up-right\",\"Arrow-up\":\"arrow-up\",\"At-sign\":\"at-sign\",\"Bar-chart-2\":\"bar-chart-2\",\"Bar-chart\":\"bar-chart\",\"Battery-charging\":\"battery-charging\",\"Bell-off\":\"bell-off\",\"Book-open\":\"book-open\",\"Camera-off\":\"camera-off\",\"Check-circle\":\"check-circle\",\"Check-square\":\"check-square\",\"Chevron-down\":\"chevron-down\",\"Chevron-left\":\"chevron-left\",\"Chevron-right\":\"chevron-right\",\"Chevron-up\":\"chevron-up\",\"Chevrons-down\":\"chevrons-down\",\"Chevrons-left\":\"chevrons-left\",\"Chevrons-right\":\"chevrons-right\",\"Chevrons-up\":\"chevrons-up\",\"Cloud-drizzle\":\"cloud-drizzle\",\"Cloud-lightning\":\"cloud-lightning\",\"Cloud-off\":\"cloud-off\",\"Cloud-rain\":\"cloud-rain\",\"Cloud-snow\":\"cloud-snow\",\"Corner-down-left\":\"corner-down-left\",\"Corner-down-right\":\"corner-down-right\",\"Corner-left-down\":\"corner-left-down\",\"Corner-left-up\":\"corner-left-up\",\"Corner-right-down\":\"corner-right-down\",\"Corner-right-up\":\"corner-right-up\",\"Corner-up-left\":\"corner-up-left\",\"Corner-up-right\":\"corner-up-right\",\"Credit-card\":\"credit-card\",\"Divide-circle\":\"divide-circle\",\"Divide-square\":\"divide-square\",\"Dollar-sign\":\"dollar-sign\",\"Download-cloud\":\"download-cloud\",\"Edit-2\":\"edit-2\",\"Edit-3\":\"edit-3\",\"External-link\":\"external-link\",\"Eye-off\":\"eye-off\",\"Fast-forward\":\"fast-forward\",\"File-minus\":\"file-minus\",\"File-plus\":\"file-plus\",\"File-text\":\"file-text\",\"Folder-minus\":\"folder-minus\",\"Folder-plus\":\"folder-plus\",\"Git-branch\":\"git-branch\",\"Git-commit\":\"git-commit\",\"Git-merge\":\"git-merge\",\"Git-pull-request\":\"git-pull-request\",\"Hard-drive\":\"hard-drive\",\"Help-circle\":\"help-circle\",\"Life-buoy\":\"life-buoy\",\"Link-2\":\"link-2\",\"Log-in\":\"log-in\",\"Log-out\":\"log-out\",\"Map-pin\":\"map-pin\",\"Maximize-2\":\"maximize-2\",\"Message-circle\":\"message-circle\",\"Message-square\":\"message-square\",\"Mic-off\":\"mic-off\",\"Minimize-2\":\"minimize-2\",\"Minus-circle\":\"minus-circle\",\"Minus-square\":\"minus-square\",\"More-horizontal\":\"more-horizontal\",\"More-vertical\":\"more-vertical\",\"Mouse-pointer\":\"mouse-pointer\",\"Navigation-2\":\"navigation-2\",\"Pause-circle\":\"pause-circle\",\"Pen-tool\":\"pen-tool\",\"Phone-call\":\"phone-call\",\"Phone-forwarded\":\"phone-forwarded\",\"Phone-incoming\":\"phone-incoming\",\"Phone-missed\":\"phone-missed\",\"Phone-off\":\"phone-off\",\"Phone-outgoing\":\"phone-outgoing\",\"Pie-chart\":\"pie-chart\",\"Play-circle\":\"play-circle\",\"Plus-circle\":\"plus-circle\",\"Plus-square\":\"plus-square\",\"Refresh-ccw\":\"refresh-ccw\",\"Refresh-cw\":\"refresh-cw\",\"Rotate-ccw\":\"rotate-ccw\",\"Rotate-cw\":\"rotate-cw\",\"Share-2\":\"share-2\",\"Shield-off\":\"shield-off\",\"Shopping-bag\":\"shopping-bag\",\"Shopping-cart\":\"shopping-cart\",\"Skip-back\":\"skip-back\",\"Skip-forward\":\"skip-forward\",\"Stop-circle\":\"stop-circle\",\"Thumbs-down\":\"thumbs-down\",\"Thumbs-up\":\"thumbs-up\",\"Toggle-left\":\"toggle-left\",\"Toggle-right\":\"toggle-right\",\"Trash-2\":\"trash-2\",\"Trending-down\":\"trending-down\",\"Trending-up\":\"trending-up\",\"Upload-cloud\":\"upload-cloud\",\"User-check\":\"user-check\",\"User-minus\":\"user-minus\",\"User-plus\":\"user-plus\",\"User-x\":\"user-x\",\"Video-off\":\"video-off\",\"Volume-1\":\"volume-1\",\"Volume-2\":\"volume-2\",\"Volume-x\":\"volume-x\",\"Wifi-off\":\"wifi-off\",\"X-circle\":\"x-circle\",\"X-octagon\":\"x-octagon\",\"X-square\":\"x-square\",\"Zap-off\":\"zap-off\",\"Zoom-in\":\"zoom-in\",\"Zoom-out\":\"zoom-out\",Activity:\"activity\",Airplay:\"airplay\",Anchor:\"anchor\",Aperture:\"aperture\",Archive:\"archive\",Award:\"award\",Battery:\"battery\",Bell:\"bell\",Bluetooth:\"bluetooth\",Bold:\"bold\",Book:\"book\",Bookmark:\"bookmark\",Box:\"box\",Briefcase:\"briefcase\",Calendar:\"calendar\",Camera:\"camera\",Cast:\"cast\",Check:\"check\",Chrome:\"chrome\",Circle:\"circle\",Clipboard:\"clipboard\",Clock:\"clock\",Cloud:\"cloud\",Code:\"code\",Codepen:\"codepen\",Codesandbox:\"codesandbox\",Coffee:\"coffee\",Columns:\"columns\",Command:\"command\",Compass:\"compass\",Copy:\"copy\",Cpu:\"cpu\",Crop:\"crop\",Crosshair:\"crosshair\",Database:\"database\",Delete:\"delete\",Disc:\"disc\",Divide:\"divide\",Download:\"download\",Dribbble:\"dribbble\",Droplet:\"droplet\",Edit:\"edit\",Eye:\"eye\",Facebook:\"facebook\",Feather:\"feather\",Figma:\"figma\",File:\"file\",Film:\"film\",Filter:\"filter\",Flag:\"flag\",Folder:\"folder\",Framer:\"framer\",Frown:\"frown\",Gift:\"gift\",Github:\"github\",Gitlab:\"gitlab\",Globe:\"globe\",Grid:\"grid\",Hash:\"hash\",Headphones:\"headphones\",Heart:\"heart\",Hexagon:\"hexagon\",Home:\"home\",Image:\"image\",Inbox:\"inbox\",Info:\"info\",Instagram:\"instagram\",Italic:\"italic\",Key:\"key\",Layers:\"layers\",Layout:\"layout\",Link:\"link\",Linkedin:\"linkedin\",List:\"list\",Loader:\"loader\",Lock:\"lock\",Mail:\"mail\",Map:\"map\",Maximize:\"maximize\",Meh:\"meh\",Menu:\"menu\",Mic:\"mic\",Minimize:\"minimize\",Minus:\"minus\",Monitor:\"monitor\",Moon:\"moon\",Move:\"move\",Music:\"music\",Navigation:\"navigation\",Octagon:\"octagon\",Package:\"package\",Paperclip:\"paperclip\",Pause:\"pause\",Percent:\"percent\",Phone:\"phone\",Play:\"play\",Plus:\"plus\",Pocket:\"pocket\",Power:\"power\",Printer:\"printer\",Radio:\"radio\",Repeat:\"repeat\",Rewind:\"rewind\",Rss:\"rss\",Save:\"save\",Scissors:\"scissors\",Search:\"search\",Send:\"send\",Server:\"server\",Settings:\"settings\",Share:\"share\",Shield:\"shield\",Shuffle:\"shuffle\",Sidebar:\"sidebar\",Slack:\"slack\",Slash:\"slash\",Sliders:\"sliders\",Smartphone:\"smartphone\",Smile:\"smile\",Speaker:\"speaker\",Square:\"square\",Star:\"star\",Sun:\"sun\",Sunrise:\"sunrise\",Sunset:\"sunset\",Tablet:\"tablet\",Tag:\"tag\",Target:\"target\",Terminal:\"terminal\",Thermometer:\"thermometer\",Tool:\"tool\",Trash:\"trash\",Trello:\"trello\",Triangle:\"triangle\",Truck:\"truck\",Tv:\"tv\",Twitch:\"twitch\",Twitter:\"twitter\",Type:\"type\",Umbrella:\"umbrella\",Underline:\"underline\",Unlock:\"unlock\",Upload:\"upload\",User:\"user\",Users:\"users\",Video:\"video\",Voicemail:\"voicemail\",Volume:\"volume\",Watch:\"watch\",Wifi:\"wifi\",Wind:\"wind\",X:\"x\",Youtube:\"youtube\",Zap:\"zap\"};const humanReadableVariantMap={\"Default - Black\":\"OkXEty2YJ\",\"Variant 2\":\"ww2G9rkKn\",\"Variant 3\":\"lIw07qpFC\",\"Variant 4\":\"j96ytFoUX\"};const getProps=({chefron,chefronLeft,chefronLeftIcon,chevronRight,height,id,link,newTab,tap,textColor,textColour,title,width,...props})=>{return{...props,BJYjQ1ehw:humanReadableEnumMap[chefronLeftIcon]??chefronLeftIcon??props.BJYjQ1ehw??\"chevron-left\",c9zk3YZiM:textColour??props.c9zk3YZiM??\"var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158))\",eG6408d1b:chevronRight??props.eG6408d1b,eL1kYWRhZ:link??props.eL1kYWRhZ,Eu4unQKIH:textColor??props.Eu4unQKIH??\"var(--token-8490b414-99f9-4995-b00a-01632f01712e, rgb(125, 125, 125))\",lEsiDosXI:humanReadableEnumMap[chefron]??chefron??props.lEsiDosXI??\"chevron-right\",OU96CkLAJ:newTab??props.OU96CkLAJ,T3Nu2e4lL:chefronLeft??props.T3Nu2e4lL,uLQpgV3GT:tap??props.uLQpgV3GT,variant:humanReadableVariantMap[props.variant]??props.variant??\"OkXEty2YJ\",x01rUeKkt:title??props.x01rUeKkt??\"Login\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,x01rUeKkt,eL1kYWRhZ,OU96CkLAJ,eG6408d1b,uLQpgV3GT,lEsiDosXI,Eu4unQKIH,c9zk3YZiM,T3Nu2e4lL,BJYjQ1ehw,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"OkXEty2YJ\",enabledGestures,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap84ohy5=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(uLQpgV3GT){const res=await uLQpgV3GT(...args);if(res===false)return false;}});const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:eL1kYWRhZ,nodeId:\"OkXEty2YJ\",openInNewTab:OU96CkLAJ,smoothScroll:true,children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-y0tpb1\",className,classNames)} framer-1kx19bc`,\"data-framer-name\":\"Default - Black\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"OkXEty2YJ\",onTap:onTap84ohy5,ref:ref??ref1,style:{...style},...addPropertyOverrides({\"OkXEty2YJ-hover\":{\"data-framer-name\":undefined},\"ww2G9rkKn-hover\":{\"data-framer-name\":undefined},j96ytFoUX:{\"data-framer-name\":\"Variant 4\"},lIw07qpFC:{\"data-framer-name\":\"Variant 3\"},ww2G9rkKn:{\"data-framer-name\":\"Variant 2\"}},baseVariant,gestureVariant),children:[T3Nu2e4lL&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1itqtcj-container\",layoutDependency:layoutDependency,layoutId:\"vmrbqe81w-container\",children:/*#__PURE__*/_jsx(Feather,{color:\"var(--token-8490b414-99f9-4995-b00a-01632f01712e, rgb(94, 94, 94))\",height:\"100%\",iconSearch:\"Home\",iconSelection:BJYjQ1ehw,id:\"vmrbqe81w\",layoutId:\"vmrbqe81w\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-1unoqrl\",\"data-styles-preset\":\"MOHrQBiQy\",style:{\"--framer-text-color\":\"var(--extracted-a0htzi, var(--variable-reference-Eu4unQKIH-HMfhpd1ln))\"},children:\"Login\"})}),className:\"framer-r1jcoe\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"KbpWrt5yt\",style:{\"--extracted-a0htzi\":\"var(--variable-reference-Eu4unQKIH-HMfhpd1ln)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",\"--variable-reference-c9zk3YZiM-HMfhpd1ln\":c9zk3YZiM,\"--variable-reference-Eu4unQKIH-HMfhpd1ln\":Eu4unQKIH},text:x01rUeKkt,variants:{\"OkXEty2YJ-hover\":{\"--extracted-a0htzi\":\"var(--token-c6121a92-b42e-4b99-98cc-45a2b977dd5b, rgb(250, 250, 251))\"},\"ww2G9rkKn-hover\":{\"--extracted-a0htzi\":\"var(--token-c6121a92-b42e-4b99-98cc-45a2b977dd5b, rgb(22, 22, 22))\"},j96ytFoUX:{\"--extracted-a0htzi\":\"var(--token-c6121a92-b42e-4b99-98cc-45a2b977dd5b, rgb(250, 250, 251))\"},lIw07qpFC:{\"--extracted-a0htzi\":\"var(--variable-reference-c9zk3YZiM-HMfhpd1ln)\",\"--variable-reference-c9zk3YZiM-HMfhpd1ln\":c9zk3YZiM},ww2G9rkKn:{\"--extracted-a0htzi\":\"var(--variable-reference-c9zk3YZiM-HMfhpd1ln)\",\"--variable-reference-c9zk3YZiM-HMfhpd1ln\":c9zk3YZiM}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"OkXEty2YJ-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-1unoqrl\",\"data-styles-preset\":\"MOHrQBiQy\",style:{\"--framer-text-color\":\"var(--extracted-a0htzi, var(--token-c6121a92-b42e-4b99-98cc-45a2b977dd5b, rgb(250, 250, 251)))\"},children:\"Login\"})})},\"ww2G9rkKn-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-17hxoow\",\"data-styles-preset\":\"WpYVL2Ruc\",style:{\"--framer-text-color\":\"var(--extracted-a0htzi, var(--token-c6121a92-b42e-4b99-98cc-45a2b977dd5b, rgb(22, 22, 22)))\"},children:\"Login\"})})},j96ytFoUX:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-1unoqrl\",\"data-styles-preset\":\"MOHrQBiQy\",style:{\"--framer-text-color\":\"var(--extracted-a0htzi, var(--token-c6121a92-b42e-4b99-98cc-45a2b977dd5b, rgb(250, 250, 251)))\"},children:\"Login\"})})},lIw07qpFC:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-1fi5f5c\",\"data-styles-preset\":\"VLfFvWRgq\",style:{\"--framer-text-color\":\"var(--extracted-a0htzi, var(--variable-reference-c9zk3YZiM-HMfhpd1ln))\"},children:\"Login\"})})},ww2G9rkKn:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-17hxoow\",\"data-styles-preset\":\"WpYVL2Ruc\",style:{\"--framer-text-color\":\"var(--extracted-a0htzi, var(--variable-reference-c9zk3YZiM-HMfhpd1ln))\"},children:\"Login\"})})}},baseVariant,gestureVariant)}),eG6408d1b&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-600jvl-container\",layoutDependency:layoutDependency,layoutId:\"gUE2Q67Z1-container\",children:/*#__PURE__*/_jsx(Feather,{color:Eu4unQKIH,height:\"100%\",iconSearch:\"Home\",iconSelection:lEsiDosXI,id:\"gUE2Q67Z1\",layoutId:\"gUE2Q67Z1\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-arNHv.framer-1kx19bc, .framer-arNHv .framer-1kx19bc { display: block; }\",\".framer-arNHv.framer-y0tpb1 { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 5px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-arNHv .framer-1itqtcj-container, .framer-arNHv .framer-600jvl-container { flex: none; height: 15px; position: relative; width: 15px; }\",\".framer-arNHv .framer-r1jcoe { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-arNHv.framer-y0tpb1 { gap: 0px; } .framer-arNHv.framer-y0tpb1 > * { margin: 0px; margin-left: calc(5px / 2); margin-right: calc(5px / 2); } .framer-arNHv.framer-y0tpb1 > :first-child { margin-left: 0px; } .framer-arNHv.framer-y0tpb1 > :last-child { margin-right: 0px; } }\",\".framer-arNHv.framer-v-15o6q8u.framer-y0tpb1 { gap: 2px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-arNHv.framer-v-15o6q8u.framer-y0tpb1 { gap: 0px; } .framer-arNHv.framer-v-15o6q8u.framer-y0tpb1 > * { margin: 0px; margin-left: calc(2px / 2); margin-right: calc(2px / 2); } .framer-arNHv.framer-v-15o6q8u.framer-y0tpb1 > :first-child { margin-left: 0px; } .framer-arNHv.framer-v-15o6q8u.framer-y0tpb1 > :last-child { margin-right: 0px; } }\",\".framer-arNHv.framer-v-y0tpb1.hover.framer-y0tpb1 { gap: 10px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-arNHv.framer-v-y0tpb1.hover.framer-y0tpb1 { gap: 0px; } .framer-arNHv.framer-v-y0tpb1.hover.framer-y0tpb1 > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-arNHv.framer-v-y0tpb1.hover.framer-y0tpb1 > :first-child { margin-left: 0px; } .framer-arNHv.framer-v-y0tpb1.hover.framer-y0tpb1 > :last-child { margin-right: 0px; } }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 25\n * @framerIntrinsicWidth 46\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"ww2G9rkKn\":{\"layout\":[\"auto\",\"auto\"]},\"lIw07qpFC\":{\"layout\":[\"auto\",\"auto\"]},\"j96ytFoUX\":{\"layout\":[\"auto\",\"auto\"]},\"jspt3updA\":{\"layout\":[\"auto\",\"auto\"]},\"vOJAEZhX9\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"x01rUeKkt\":\"title\",\"eL1kYWRhZ\":\"link\",\"OU96CkLAJ\":\"newTab\",\"eG6408d1b\":\"chevronRight\",\"uLQpgV3GT\":\"tap\",\"lEsiDosXI\":\"chefron\",\"Eu4unQKIH\":\"textColor\",\"c9zk3YZiM\":\"textColour\",\"T3Nu2e4lL\":\"chefronLeft\",\"BJYjQ1ehw\":\"chefronLeftIcon\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerHMfhpd1ln=withCSS(Component,css,\"framer-arNHv\");export default FramerHMfhpd1ln;FramerHMfhpd1ln.displayName=\"Element/Link\";FramerHMfhpd1ln.defaultProps={height:25,width:46};addPropertyControls(FramerHMfhpd1ln,{variant:{options:[\"OkXEty2YJ\",\"ww2G9rkKn\",\"lIw07qpFC\",\"j96ytFoUX\"],optionTitles:[\"Default - Black\",\"Variant 2\",\"Variant 3\",\"Variant 4\"],title:\"Variant\",type:ControlType.Enum},x01rUeKkt:{defaultValue:\"Login\",displayTextArea:false,title:\"Title\",type:ControlType.String},eL1kYWRhZ:{title:\"Link\",type:ControlType.Link},OU96CkLAJ:{defaultValue:false,title:\"New Tab\",type:ControlType.Boolean},eG6408d1b:{defaultValue:false,title:\"Chevron right\",type:ControlType.Boolean},uLQpgV3GT:{title:\"Tap\",type:ControlType.EventHandler},lEsiDosXI:FeatherControls?.[\"iconSelection\"]&&{...FeatherControls[\"iconSelection\"],defaultValue:\"chevron-right\",description:undefined,hidden:undefined,title:\"Chefron\"},Eu4unQKIH:{defaultValue:'var(--token-8490b414-99f9-4995-b00a-01632f01712e, rgb(125, 125, 125)) /* {\"name\":\"Base 50%\"} */',title:\"Text color\",type:ControlType.Color},c9zk3YZiM:{defaultValue:'var(--token-dcc5d42c-abb6-4c97-abb9-19efdeb3f46c, rgb(158, 158, 158)) /* {\"name\":\"Text\"} */',title:\"Text colour\",type:ControlType.Color},T3Nu2e4lL:{defaultValue:false,title:\"Chefron left\",type:ControlType.Boolean},BJYjQ1ehw:FeatherControls?.[\"iconSelection\"]&&{...FeatherControls[\"iconSelection\"],defaultValue:\"chevron-left\",description:undefined,hidden:undefined,title:\"Chefron left icon\"}});addFonts(FramerHMfhpd1ln,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...FeatherFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerHMfhpd1ln\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"ww2G9rkKn\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"lIw07qpFC\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"j96ytFoUX\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"jspt3updA\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"vOJAEZhX9\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"46\",\"framerVariables\":\"{\\\"x01rUeKkt\\\":\\\"title\\\",\\\"eL1kYWRhZ\\\":\\\"link\\\",\\\"OU96CkLAJ\\\":\\\"newTab\\\",\\\"eG6408d1b\\\":\\\"chevronRight\\\",\\\"uLQpgV3GT\\\":\\\"tap\\\",\\\"lEsiDosXI\\\":\\\"chefron\\\",\\\"Eu4unQKIH\\\":\\\"textColor\\\",\\\"c9zk3YZiM\\\":\\\"textColour\\\",\\\"T3Nu2e4lL\\\":\\\"chefronLeft\\\",\\\"BJYjQ1ehw\\\":\\\"chefronLeftIcon\\\"}\",\"framerIntrinsicHeight\":\"25\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{ControlType}from\"framer\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";export const useFormStore=createStore({});export const SUPABASE_KEY=\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im1ocndkdnNpdHJ6Y3pybmV1YXhnIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDkxNjgyNzgsImV4cCI6MjAyNDc0NDI3OH0.4Pyysu1vMhnd1k1hbOSZ2lcx7hr1iH6MgX7fyTScYmU\";export function FormIcon(props){var _icon_image;const{icon,style}=props;if(!icon){return null;}return[/*#__PURE__*/_jsx(\"div\",{className:\"form-icon\",style:{width:icon.size,height:icon.size,opacity:icon.opacity,color:icon.color||props.fontColor,backgroundImage:icon.type==\"image\"&&`url(${(_icon_image=icon.image)===null||_icon_image===void 0?void 0:_icon_image.src})`,backgroundSize:\"cover\",backgroundPosition:\"center\",pointerEvents:\"none\",...style},dangerouslySetInnerHTML:icon.type==\"svg\"?{__html:icon.svg.replace(/width=\"(\\d+)\"/,`width=\"${icon.size}\"`).replace(/height=\"(\\d+)\"/,`width=\"${icon.size}\"`)}:undefined}),(icon===null||icon===void 0?void 0:icon.type)==\"svg\"&&/*#__PURE__*/_jsx(\"style\",{children:`.form-icon svg { display: block; }`})];}FormIcon.displayName=\"FramerForms/Icon\";export const iconPropertyControls={type:ControlType.Object,optional:true,controls:{position:{type:ControlType.Enum,defaultValue:\"left\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],displaySegmentedControl:true},gap:{type:ControlType.Number,defaultValue:12,min:0,step:1},type:{type:ControlType.Enum,defaultValue:\"svg\",options:[\"svg\",\"image\"],optionTitles:[\"SVG\",\"Image\"],displaySegmentedControl:true},svg:{type:ControlType.String,placeholder:\"<svg></svg>\",displayTextArea:true,title:\"SVG\",hidden:props=>props.type!=\"svg\"},image:{type:ControlType.ResponsiveImage,hidden:props=>props.type!=\"image\"},color:{type:ControlType.Color,optional:true,hidden:props=>props.type!=\"svg\"},size:{type:ControlType.Number,defaultValue:24,min:1,step:1},opacity:{type:ControlType.Number,defaultValue:1,min:0,max:1,step:.01}}};export const shadowPropertyControls={type:ControlType.Object,optional:true,controls:{color:{type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.25)\"},x:{type:ControlType.Number,defaultValue:0,displayStepper:true},y:{type:ControlType.Number,defaultValue:2,displayStepper:true},blur:{type:ControlType.Number,defaultValue:4,min:0,displayStepper:true},spread:{type:ControlType.Number,defaultValue:0,displayStepper:true}}};export function createBackground(fill,on=null){if(fill){let{color,colorA,colorB}=fill;if(typeof on==\"boolean\"){if(on){color=fill.colorOn;colorA=fill.colorAOn;colorB=fill.colorBOn;}else{color=fill.colorOff;colorA=fill.colorAOff;colorB=fill.colorBOff;}}if(fill.type==\"color\"){return{backgroundColor:color,backgroundImage:\"none\"};}else{return{backgroundColor:\"none\",backgroundImage:`linear-gradient(${fill.gradientAngle}deg, ${colorB}, ${colorA})`};}}return{};}export function fillProp({color=\"#FFF\",colorA=\"#FFF\",colorB=\"#000\",noDefault=false,...props}){return{type:ControlType.Object,optional:true,defaultValue:noDefault?undefined:{type:\"color\",color,colorA,colorB,gradientAngle:0},controls:{type:{type:ControlType.Enum,defaultValue:\"color\",options:[\"color\",\"gradient\"],optionTitles:[\"Color\",\"Gradient\"],displaySegmentedControl:true},color:{type:ControlType.Color,defaultValue:color,hidden:props=>props.type!=\"color\"},colorA:{type:ControlType.Color,defaultValue:colorA,title:\"Colors\",hidden:props=>props.type!=\"gradient\"},colorB:{type:ControlType.Color,defaultValue:colorB,title:\" \",hidden:props=>props.type!=\"gradient\"},gradientAngle:{type:ControlType.Number,defaultValue:0,title:\"Angle\",step:1,min:0,max:360,unit:\"\\xb0\",hidden:props=>props.type!=\"gradient\"}},...props};}export function fillPropOnOff({colorOn=\"#FFF\",colorAOn=\"#FFF\",colorBOn=\"#000\",colorOff=\"#FFF\",colorAOff=\"#FFF\",colorBOff=\"#000\",noDefault=false,...props}){return{type:ControlType.Object,optional:true,defaultValue:noDefault?undefined:{type:\"color\",colorOn,colorAOn,colorBOn,colorOff,colorAOff,colorBOff,gradientAngle:0},controls:{type:{type:ControlType.Enum,defaultValue:\"color\",options:[\"color\",\"gradient\"],optionTitles:[\"Color\",\"Gradient\"],displaySegmentedControl:true},colorOn:{type:ControlType.Color,defaultValue:colorOn,hidden:props=>props.type!=\"color\"},colorAOn:{type:ControlType.Color,defaultValue:colorAOn,title:\"Colors On\",hidden:props=>props.type!=\"gradient\"},colorBOn:{type:ControlType.Color,defaultValue:colorBOn,title:\" \",hidden:props=>props.type!=\"gradient\"},colorOff:{type:ControlType.Color,defaultValue:colorOff,hidden:props=>props.type!=\"color\"},colorAOff:{type:ControlType.Color,defaultValue:colorAOff,title:\"Colors Off\",hidden:props=>props.type!=\"gradient\"},colorBOff:{type:ControlType.Color,defaultValue:colorBOff,title:\" \",hidden:props=>props.type!=\"gradient\"},gradientAngle:{type:ControlType.Number,defaultValue:0,title:\"Angle\",step:1,min:0,max:360,unit:\"\\xb0\",hidden:props=>props.type!=\"gradient\"}},...props};}\nexport const __FramerMetadata__ = {\"exports\":{\"useFormStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"shadowPropertyControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SUPABASE_KEY\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fillPropOnOff\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FormIcon\":{\"type\":\"reactComponent\",\"name\":\"FormIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"iconPropertyControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fillProp\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createBackground\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SharedFormCode.map","export const countries=[\"Afghanistan\",\"\\xc5land Islands\",\"Albania\",\"Algeria\",\"American Samoa\",\"Andorra\",\"Angola\",\"Anguilla\",\"Antarctica\",\"Antigua & Barbuda\",\"Argentina\",\"Armenia\",\"Aruba\",\"Ascension Island\",\"Australia\",\"Austria\",\"Azerbaijan\",\"Bahamas\",\"Bahrain\",\"Bangladesh\",\"Barbados\",\"Belarus\",\"Belgium\",\"Belize\",\"Benin\",\"Bermuda\",\"Bhutan\",\"Bolivia\",\"Bosnia & Herzegovina\",\"Botswana\",\"Bouvet Island\",\"Brazil\",\"British Indian Ocean Territory\",\"British Virgin Islands\",\"Brunei\",\"Bulgaria\",\"Burkina Faso\",\"Burundi\",\"Cambodia\",\"Cameroon\",\"Canada\",\"Canary Islands\",\"Cape Verde\",\"Caribbean Netherlands\",\"Cayman Islands\",\"Central African Republic\",\"Ceuta & Melilla\",\"Chad\",\"Chile\",\"China\",\"Christmas Island\",\"Clipperton Island\",\"Cocos (Keeling) Islands\",\"Colombia\",\"Comoros\",\"Congo - Brazzaville\",\"Congo - Kinshasa\",\"Cook Islands\",\"Costa Rica\",\"C\\xf4te D’Ivoire\",\"Croatia\",\"Cuba\",\"Cura\\xe7ao\",\"Cyprus\",\"Czechia\",\"Denmark\",\"Diego Garcia\",\"Djibouti\",\"Dominica\",\"Dominican Republic\",\"Ecuador\",\"Egypt\",\"El Salvador\",\"England\",\"Equatorial Guinea\",\"Eritrea\",\"Estonia\",\"Ethiopia\",\"European Union\",\"Falkland Islands\",\"Faroe Islands\",\"Fiji\",\"Finland\",\"France\",\"French Guiana\",\"French Polynesia\",\"French Southern Territories\",\"Gabon\",\"Gambia\",\"Georgia\",\"Germany\",\"Ghana\",\"Gibraltar\",\"Greece\",\"Greenland\",\"Grenada\",\"Guadeloupe\",\"Guam\",\"Guatemala\",\"Guernsey\",\"Guinea\",\"Guinea-Bissau\",\"Guyana\",\"Haiti\",\"Heard & McDonald Islands\",\"Honduras\",\"Hong Kong SAR China\",\"Hungary\",\"Iceland\",\"India\",\"Indonesia\",\"Iran\",\"Iraq\",\"Ireland\",\"Isle of Man\",\"Israel\",\"Italy\",\"Jamaica\",\"Japan\",\"Jersey\",\"Jordan\",\"Kazakhstan\",\"Kenya\",\"Kiribati\",\"Kosovo\",\"Kuwait\",\"Kyrgyzstan\",\"Laos\",\"Latvia\",\"Lebanon\",\"Lesotho\",\"Liberia\",\"Libya\",\"Liechtenstein\",\"Lithuania\",\"Luxembourg\",\"Macau SAR China\",\"Macedonia\",\"Madagascar\",\"Malawi\",\"Malaysia\",\"Maldives\",\"Mali\",\"Malta\",\"Marshall Islands\",\"Martinique\",\"Mauritania\",\"Mauritius\",\"Mayotte\",\"Mexico\",\"Micronesia\",\"Moldova\",\"Monaco\",\"Mongolia\",\"Montenegro\",\"Montserrat\",\"Morocco\",\"Mozambique\",\"Myanmar (Burma)\",\"Namibia\",\"Nauru\",\"Nepal\",\"Netherlands\",\"New Caledonia\",\"New Zealand\",\"Nicaragua\",\"Niger\",\"Nigeria\",\"Niue\",\"Norfolk Island\",\"North Korea\",\"Northern Mariana Islands\",\"Norway\",\"Oman\",\"Pakistan\",\"Palau\",\"Palestinian Territories\",\"Panama\",\"Papua New Guinea\",\"Paraguay\",\"Peru\",\"Philippines\",\"Pitcairn Islands\",\"Poland\",\"Portugal\",\"Puerto Rico\",\"Qatar\",\"R\\xe9union\",\"Romania\",\"Russia\",\"Rwanda\",\"Samoa\",\"San Marino\",\"S\\xe3o Tom\\xe9 & Pr\\xedncipe\",\"Saudi Arabia\",\"Scotland\",\"Senegal\",\"Serbia\",\"Seychelles\",\"Sierra Leone\",\"Singapore\",\"Sint Maarten\",\"Slovakia\",\"Slovenia\",\"Solomon Islands\",\"Somalia\",\"South Africa\",\"South Georgia & South Sandwich Islands\",\"South Korea\",\"South Sudan\",\"Spain\",\"Sri Lanka\",\"St. Barth\\xe9lemy\",\"St. Helena\",\"St. Kitts & Nevis\",\"St. Lucia\",\"St. Martin\",\"St. Pierre & Miquelon\",\"St. Vincent & Grenadines\",\"Sudan\",\"Suriname\",\"Svalbard & Jan Mayen\",\"Swaziland\",\"Sweden\",\"Switzerland\",\"Syria\",\"Taiwan\",\"Tajikistan\",\"Tanzania\",\"Thailand\",\"Timor-Leste\",\"Togo\",\"Tokelau\",\"Tonga\",\"Trinidad & Tobago\",\"Tristan Da Cunha\",\"Tunisia\",\"Turkey\",\"Turkmenistan\",\"Turks & Caicos Islands\",\"Tuvalu\",\"U.S. Outlying Islands\",\"U.S. Virgin Islands\",\"Uganda\",\"Ukraine\",\"United Arab Emirates\",\"United Kingdom\",\"United Nations\",\"United States\",\"Uruguay\",\"Uzbekistan\",\"Vanuatu\",\"Vatican City\",\"Venezuela\",\"Vietnam\",\"Wales\",\"Wallis & Futuna\",\"Western Sahara\",\"Yemen\",\"Zambia\",\"Zimbabwe\"];export const countryEmojis=[\"🇦🇫\",\"🇦🇽\",\"🇦🇱\",\"🇩🇿\",\"🇦🇸\",\"🇦🇩\",\"🇦🇴\",\"🇦🇮\",\"🇦🇶\",\"🇦🇬\",\"🇦🇷\",\"🇦🇲\",\"🇦🇼\",\"🇦🇨\",\"🇦🇺\",\"🇦🇹\",\"🇦🇿\",\"🇧🇸\",\"🇧🇭\",\"🇧🇩\",\"🇧🇧\",\"🇧🇾\",\"🇧🇪\",\"🇧🇿\",\"🇧🇯\",\"🇧🇲\",\"🇧🇹\",\"🇧🇴\",\"🇧🇦\",\"🇧🇼\",\"🇧🇻\",\"🇧🇷\",\"🇮🇴\",\"🇻🇬\",\"🇧🇳\",\"🇧🇬\",\"🇧🇫\",\"🇧🇮\",\"🇰🇭\",\"🇨🇲\",\"🇨🇦\",\"🇮🇨\",\"🇨🇻\",\"🇧🇶\",\"🇰🇾\",\"🇨🇫\",\"🇪🇦\",\"🇹🇩\",\"🇨🇱\",\"🇨🇳\",\"🇨🇽\",\"🇨🇵\",\"🇨🇨\",\"🇨🇴\",\"🇰🇲\",\"🇨🇬\",\"🇨🇩\",\"🇨🇰\",\"🇨🇷\",\"🇨🇮\",\"🇭🇷\",\"🇨🇺\",\"🇨🇼\",\"🇨🇾\",\"🇨🇿\",\"🇩🇰\",\"🇩🇬\",\"🇩🇯\",\"🇩🇲\",\"🇩🇴\",\"🇪🇨\",\"🇪🇬\",\"🇸🇻\",\"🏴󠁧󠁢󠁥󠁮󠁧󠁿\",\"🇬🇶\",\"🇪🇷\",\"🇪🇪\",\"🇪🇹\",\"🇪🇺\",\"🇫🇰\",\"🇫🇴\",\"🇫🇯\",\"🇫🇮\",\"🇫🇷\",\"🇬🇫\",\"🇵🇫\",\"🇹🇫\",\"🇬🇦\",\"🇬🇲\",\"🇬🇪\",\"🇩🇪\",\"🇬🇭\",\"🇬🇮\",\"🇬🇷\",\"🇬🇱\",\"🇬🇩\",\"🇬🇵\",\"🇬🇺\",\"🇬🇹\",\"🇬🇬\",\"🇬🇳\",\"🇬🇼\",\"🇬🇾\",\"🇭🇹\",\"🇭🇲\",\"🇭🇳\",\"🇭🇰\",\"🇭🇺\",\"🇮🇸\",\"🇮🇳\",\"🇮🇩\",\"🇮🇷\",\"🇮🇶\",\"🇮🇪\",\"🇮🇲\",\"🇮🇱\",\"🇮🇹\",\"🇯🇲\",\"🇯🇵\",\"🇯🇪\",\"🇯🇴\",\"🇰🇿\",\"🇰🇪\",\"🇰🇮\",\"🇽🇰\",\"🇰🇼\",\"🇰🇬\",\"🇱🇦\",\"🇱🇻\",\"🇱🇧\",\"🇱🇸\",\"🇱🇷\",\"🇱🇾\",\"🇱🇮\",\"🇱🇹\",\"🇱🇺\",\"🇲🇴\",\"🇲🇰\",\"🇲🇬\",\"🇲🇼\",\"🇲🇾\",\"🇲🇻\",\"🇲🇱\",\"🇲🇹\",\"🇲🇭\",\"🇲🇶\",\"🇲🇷\",\"🇲🇺\",\"🇾🇹\",\"🇲🇽\",\"🇫🇲\",\"🇲🇩\",\"🇲🇨\",\"🇲🇳\",\"🇲🇪\",\"🇲🇸\",\"🇲🇦\",\"🇲🇿\",\"🇲🇲\",\"🇳🇦\",\"🇳🇷\",\"🇳🇵\",\"🇳🇱\",\"🇳🇨\",\"🇳🇿\",\"🇳🇮\",\"🇳🇪\",\"🇳🇬\",\"🇳🇺\",\"🇳🇫\",\"🇰🇵\",\"🇲🇵\",\"🇳🇴\",\"🇴🇲\",\"🇵🇰\",\"🇵🇼\",\"🇵🇸\",\"🇵🇦\",\"🇵🇬\",\"🇵🇾\",\"🇵🇪\",\"🇵🇭\",\"🇵🇳\",\"🇵🇱\",\"🇵🇹\",\"🇵🇷\",\"🇶🇦\",\"🇷🇪\",\"🇷🇴\",\"🇷🇺\",\"🇷🇼\",\"🇼🇸\",\"🇸🇲\",\"🇸🇹\",\"🇸🇦\",\"🏴󠁧󠁢󠁳󠁣󠁴󠁿\",\"🇸🇳\",\"🇷🇸\",\"🇸🇨\",\"🇸🇱\",\"🇸🇬\",\"🇸🇽\",\"🇸🇰\",\"🇸🇮\",\"🇸🇧\",\"🇸🇴\",\"🇿🇦\",\"🇬🇸\",\"🇰🇷\",\"🇸🇸\",\"🇪🇸\",\"🇱🇰\",\"🇧🇱\",\"🇸🇭\",\"🇰🇳\",\"🇱🇨\",\"🇲🇫\",\"🇵🇲\",\"🇻🇨\",\"🇸🇩\",\"🇸🇷\",\"🇸🇯\",\"🇸🇿\",\"🇸🇪\",\"🇨🇭\",\"🇸🇾\",\"🇹🇼\",\"🇹🇯\",\"🇹🇿\",\"🇹🇭\",\"🇹🇱\",\"🇹🇬\",\"🇹🇰\",\"🇹🇴\",\"🇹🇹\",\"🇹🇦\",\"🇹🇳\",\"🇹🇷\",\"🇹🇲\",\"🇹🇨\",\"🇹🇻\",\"🇺🇲\",\"🇻🇮\",\"🇺🇬\",\"🇺🇦\",\"🇦🇪\",\"🇬🇧\",\"🇺🇳\",\"🇺🇸\",\"🇺🇾\",\"🇺🇿\",\"🇻🇺\",\"🇻🇦\",\"🇻🇪\",\"🇻🇳\",\"🏴󠁧󠁢󠁷󠁬󠁳󠁿\",\"🇼🇫\",\"🇪🇭\",\"🇾🇪\",\"🇿🇲\",\"🇿🇼\"];\nexport const __FramerMetadata__ = {\"exports\":{\"countryEmojis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"countries\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Countries.map","// Generated by Framer (570e25b)\nconst valuesByLocaleId={mD4Ry3S1U:{v0:\"Data-gedreven energie-optimalisatie - Cellular\",v1:\"Digitale Prestatiekliniek Voor Ambitieuze Ondernemers: Ontdek Je Optimale Dieet en Routine Voor Grenzeloze Energie Binnen 90 Dagen Via Data-Gedreven Gezondheidsoptimalisatie Zonder Tijd Te Verspillen Aan Eindeloos Uitproberen Zonder Succes.\"}};function getLocalizedValue(key,locale){while(locale){const values=valuesByLocaleId[locale.id];if(values){const value=values[key];if(value)return value;}locale=locale.fallback;}}export default function metadata(params,activeLocale){return{customHTMLBodyStart:'<!-- Google Tag Manager (noscript) -->\\n<noscript><iframe src=\"https://load.r.joincellular.com/ns.html?id=GTM-WR6PTDKN\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript>\\n<!-- End Google Tag Manager (noscript) -->',customHTMLHeadStart:\"<!-- Google Tag Manager -->\\n<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s);j.async=true;j.src=\\\"https://load.r.joincellular.com/9zygdbwcx.js?\\\"+i;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','eyg6e20w=aWQ9R1RNLVdSNlBUREtO&apiKey=fd767a82');</script>\\n<!-- End Google Tag Manager -->\",description:getLocalizedValue(\"v1\",activeLocale)??\"Digital Performance Clinic For Driven Entrepreneurs: Unlock Your Optimal Diet and Routine For Boundless Energy In 90 Days Through Data-Driven Health Optimisation Without Wasting Time In Endless Trial And Error.\",favicon:\"https://framerusercontent.com/assets/R1SnxfQDCiyaLIRgyImAMZRQ.svg\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/qnsarNyTId1dlZa4uij3bxevWWA.png\",title:getLocalizedValue(\"v0\",activeLocale)??\"Energy Optimisation Using Data - Cellular\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/**\n * @license\n * Copyright 2010-2021 Three.js Authors\n * SPDX-License-Identifier: MIT\n */\nconst e=\"136\";const t={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2};const n={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3};const r=0;const i=1;const s=2;const a=3;const o=0;const l=1;const c=2;const u=3;const h=0;const d=1;const p=2;const f=1;const m=2;const g=0;const y=1;const x=2;const b=3;const _=4;const M=5;const w=100;const S=101;const T=102;const E=103;const A=104;const L=200;const C=201;const R=202;const P=203;const I=204;const D=205;const B=206;const V=207;const N=208;const U=209;const z=210;const G=0;const F=1;const O=2;const H=3;const k=4;const W=5;const j=6;const q=7;const X=0;const J=1;const Y=2;const Z=0;const Q=1;const K=2;const $=3;const ee=4;const te=5;const ne=300;const re=301;const ie=302;const se=303;const ae=304;const oe=306;const le=307;const ce=1e3;const ue=1001;const he=1002;const de=1003;const pe=1004;const fe=1004;const me=1005;const ge=1005;const ye=1006;const ve=1007;const xe=1007;const be=1008;const _e=1008;const Me=1009;const we=1010;const Se=1011;const Te=1012;const Ee=1013;const Ae=1014;const Le=1015;const Ce=1016;const Re=1017;const Pe=1018;const Ie=1019;const De=1020;const Be=1021;const Ve=1022;const Ne=1023;const Ue=1024;const ze=1025;const Ge=1026;const Fe=1027;const Oe=1028;const He=1029;const ke=1030;const We=1031;const je=1032;const qe=1033;const Xe=33776;const Je=33777;const Ye=33778;const Ze=33779;const Qe=35840;const Ke=35841;const $e=35842;const et=35843;const tt=36196;const nt=37492;const rt=37496;const it=37808;const st=37809;const at=37810;const ot=37811;const lt=37812;const ct=37813;const ut=37814;const ht=37815;const dt=37816;const pt=37817;const ft=37818;const mt=37819;const gt=37820;const yt=37821;const vt=36492;const xt=37840;const bt=37841;const _t=37842;const Mt=37843;const wt=37844;const St=37845;const Tt=37846;const Et=37847;const At=37848;const Lt=37849;const Ct=37850;const Rt=37851;const Pt=37852;const It=37853;const Dt=2200;const Bt=2201;const Vt=2202;const Nt=2300;const Ut=2301;const zt=2302;const Gt=2400;const Ft=2401;const Ot=2402;const Ht=2500;const kt=2501;const Wt=0;const jt=1;const qt=2;const Xt=3e3;const Jt=3001;const Yt=3200;const Zt=3201;const Qt=0;const Kt=1;const $t=0;const en=7680;const tn=7681;const nn=7682;const rn=7683;const sn=34055;const an=34056;const on=5386;const ln=512;const cn=513;const un=514;const hn=515;const dn=516;const pn=517;const fn=518;const mn=519;const gn=35044;const yn=35048;const vn=35040;const xn=35045;const bn=35049;const _n=35041;const Mn=35046;const wn=35050;const Sn=35042;const Tn=\"100\";const En=\"300 es\";class EventDispatcher{addEventListener(e,t){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[e]&&(n[e]=[]);-1===n[e].indexOf(t)&&n[e].push(t)}hasEventListener(e,t){if(void 0===this._listeners)return false;const n=this._listeners;return void 0!==n[e]&&-1!==n[e].indexOf(t)}removeEventListener(e,t){if(void 0===this._listeners)return;const n=this._listeners;const r=n[e];if(void 0!==r){const e=r.indexOf(t);-1!==e&&r.splice(e,1)}}dispatchEvent(e){if(void 0===this._listeners)return;const t=this._listeners;const n=t[e.type];if(void 0!==n){e.target=this;const t=n.slice(0);for(let n=0,r=t.length;n<r;n++)t[n].call(this,e);e.target=null}}}const An=[];for(let e=0;e<256;e++)An[e]=(e<16?\"0\":\"\")+e.toString(16);let Ln=1234567;const Cn=Math.PI/180;const Rn=180/Math.PI;function generateUUID(){const e=4294967295*Math.random()|0;const t=4294967295*Math.random()|0;const n=4294967295*Math.random()|0;const r=4294967295*Math.random()|0;const i=An[255&e]+An[e>>8&255]+An[e>>16&255]+An[e>>24&255]+\"-\"+An[255&t]+An[t>>8&255]+\"-\"+An[t>>16&15|64]+An[t>>24&255]+\"-\"+An[63&n|128]+An[n>>8&255]+\"-\"+An[n>>16&255]+An[n>>24&255]+An[255&r]+An[r>>8&255]+An[r>>16&255]+An[r>>24&255];return i.toUpperCase()}function clamp(e,t,n){return Math.max(t,Math.min(n,e))}function euclideanModulo(e,t){return(e%t+t)%t}function mapLinear(e,t,n,r,i){return r+(e-t)*(i-r)/(n-t)}function inverseLerp(e,t,n){return e!==t?(n-e)/(t-e):0}function lerp(e,t,n){return(1-n)*e+n*t}function damp(e,t,n,r){return lerp(e,t,1-Math.exp(-n*r))}function pingpong(e,t=1){return t-Math.abs(euclideanModulo(e,2*t)-t)}function smoothstep(e,t,n){if(e<=t)return 0;if(e>=n)return 1;e=(e-t)/(n-t);return e*e*(3-2*e)}function smootherstep(e,t,n){if(e<=t)return 0;if(e>=n)return 1;e=(e-t)/(n-t);return e*e*e*(e*(6*e-15)+10)}function randInt(e,t){return e+Math.floor(Math.random()*(t-e+1))}function randFloat(e,t){return e+Math.random()*(t-e)}function randFloatSpread(e){return e*(.5-Math.random())}function seededRandom(e){void 0!==e&&(Ln=e%2147483647);Ln=16807*Ln%2147483647;return(Ln-1)/2147483646}function degToRad(e){return e*Cn}function radToDeg(e){return e*Rn}function isPowerOfTwo(e){return 0===(e&e-1)&&0!==e}function ceilPowerOfTwo(e){return Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))}function floorPowerOfTwo(e){return Math.pow(2,Math.floor(Math.log(e)/Math.LN2))}function setQuaternionFromProperEuler(e,t,n,r,i){const s=Math.cos;const a=Math.sin;const o=s(n/2);const l=a(n/2);const c=s((t+r)/2);const u=a((t+r)/2);const h=s((t-r)/2);const d=a((t-r)/2);const p=s((r-t)/2);const f=a((r-t)/2);switch(i){case\"XYX\":e.set(o*u,l*h,l*d,o*c);break;case\"YZY\":e.set(l*d,o*u,l*h,o*c);break;case\"ZXZ\":e.set(l*h,l*d,o*u,o*c);break;case\"XZX\":e.set(o*u,l*f,l*p,o*c);break;case\"YXY\":e.set(l*p,o*u,l*f,o*c);break;case\"ZYZ\":e.set(l*f,l*p,o*u,o*c);break;default:console.warn(\"THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: \"+i)}}var Pn=Object.freeze({__proto__:null,DEG2RAD:Cn,RAD2DEG:Rn,generateUUID:generateUUID,clamp:clamp,euclideanModulo:euclideanModulo,mapLinear:mapLinear,inverseLerp:inverseLerp,lerp:lerp,damp:damp,pingpong:pingpong,smoothstep:smoothstep,smootherstep:smootherstep,randInt:randInt,randFloat:randFloat,randFloatSpread:randFloatSpread,seededRandom:seededRandom,degToRad:degToRad,radToDeg:radToDeg,isPowerOfTwo:isPowerOfTwo,ceilPowerOfTwo:ceilPowerOfTwo,floorPowerOfTwo:floorPowerOfTwo,setQuaternionFromProperEuler:setQuaternionFromProperEuler});class Vector2{constructor(e=0,t=0){this.x=e;this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){this.x=e;this.y=t;return this}setScalar(e){this.x=e;this.y=e;return this}setX(e){this.x=e;return this}setY(e){this.y=e;return this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error(\"index is out of range: \"+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error(\"index is out of range: \"+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){this.x=e.x;this.y=e.y;return this}add(e,t){if(void 0!==t){console.warn(\"THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\");return this.addVectors(e,t)}this.x+=e.x;this.y+=e.y;return this}addScalar(e){this.x+=e;this.y+=e;return this}addVectors(e,t){this.x=e.x+t.x;this.y=e.y+t.y;return this}addScaledVector(e,t){this.x+=e.x*t;this.y+=e.y*t;return this}sub(e,t){if(void 0!==t){console.warn(\"THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\");return this.subVectors(e,t)}this.x-=e.x;this.y-=e.y;return this}subScalar(e){this.x-=e;this.y-=e;return this}subVectors(e,t){this.x=e.x-t.x;this.y=e.y-t.y;return this}multiply(e){this.x*=e.x;this.y*=e.y;return this}multiplyScalar(e){this.x*=e;this.y*=e;return this}divide(e){this.x/=e.x;this.y/=e.y;return this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,n=this.y;const r=e.elements;this.x=r[0]*t+r[3]*n+r[6];this.y=r[1]*t+r[4]*n+r[7];return this}min(e){this.x=Math.min(this.x,e.x);this.y=Math.min(this.y,e.y);return this}max(e){this.x=Math.max(this.x,e.x);this.y=Math.max(this.y,e.y);return this}clamp(e,t){this.x=Math.max(e.x,Math.min(t.x,this.x));this.y=Math.max(e.y,Math.min(t.y,this.y));return this}clampScalar(e,t){this.x=Math.max(e,Math.min(t,this.x));this.y=Math.max(e,Math.min(t,this.y));return this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this}ceil(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this}round(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this}roundToZero(){this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x);this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y);return this}negate(){this.x=-this.x;this.y=-this.y;return this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){const e=Math.atan2(-this.y,-this.x)+Math.PI;return e}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){this.x+=(e.x-this.x)*t;this.y+=(e.y-this.y)*t;return this}lerpVectors(e,t,n){this.x=e.x+(t.x-e.x)*n;this.y=e.y+(t.y-e.y)*n;return this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){this.x=e[t];this.y=e[t+1];return this}toArray(e=[],t=0){e[t]=this.x;e[t+1]=this.y;return e}fromBufferAttribute(e,t,n){void 0!==n&&console.warn(\"THREE.Vector2: offset has been removed from .fromBufferAttribute().\");this.x=e.getX(t);this.y=e.getY(t);return this}rotateAround(e,t){const n=Math.cos(t),r=Math.sin(t);const i=this.x-e.x;const s=this.y-e.y;this.x=i*n-s*r+e.x;this.y=i*r+s*n+e.y;return this}random(){this.x=Math.random();this.y=Math.random();return this}*[Symbol.iterator](){yield this.x;yield this.y}}Vector2.prototype.isVector2=true;class Matrix3{constructor(){this.elements=[1,0,0,0,1,0,0,0,1];arguments.length>0&&console.error(\"THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.\")}set(e,t,n,r,i,s,a,o,l){const c=this.elements;c[0]=e;c[1]=r;c[2]=a;c[3]=t;c[4]=i;c[5]=o;c[6]=n;c[7]=s;c[8]=l;return this}identity(){this.set(1,0,0,0,1,0,0,0,1);return this}copy(e){const t=this.elements;const n=e.elements;t[0]=n[0];t[1]=n[1];t[2]=n[2];t[3]=n[3];t[4]=n[4];t[5]=n[5];t[6]=n[6];t[7]=n[7];t[8]=n[8];return this}extractBasis(e,t,n){e.setFromMatrix3Column(this,0);t.setFromMatrix3Column(this,1);n.setFromMatrix3Column(this,2);return this}setFromMatrix4(e){const t=e.elements;this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]);return this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements;const r=t.elements;const i=this.elements;const s=n[0],a=n[3],o=n[6];const l=n[1],c=n[4],u=n[7];const h=n[2],d=n[5],p=n[8];const f=r[0],m=r[3],g=r[6];const y=r[1],x=r[4],b=r[7];const _=r[2],M=r[5],w=r[8];i[0]=s*f+a*y+o*_;i[3]=s*m+a*x+o*M;i[6]=s*g+a*b+o*w;i[1]=l*f+c*y+u*_;i[4]=l*m+c*x+u*M;i[7]=l*g+c*b+u*w;i[2]=h*f+d*y+p*_;i[5]=h*m+d*x+p*M;i[8]=h*g+d*b+p*w;return this}multiplyScalar(e){const t=this.elements;t[0]*=e;t[3]*=e;t[6]*=e;t[1]*=e;t[4]*=e;t[7]*=e;t[2]*=e;t[5]*=e;t[8]*=e;return this}determinant(){const e=this.elements;const t=e[0],n=e[1],r=e[2],i=e[3],s=e[4],a=e[5],o=e[6],l=e[7],c=e[8];return t*s*c-t*a*l-n*i*c+n*a*o+r*i*l-r*s*o}invert(){const e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],s=e[4],a=e[5],o=e[6],l=e[7],c=e[8],u=c*s-a*l,h=a*o-c*i,d=l*i-s*o,p=t*u+n*h+r*d;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);const f=1/p;e[0]=u*f;e[1]=(r*l-c*n)*f;e[2]=(a*n-r*s)*f;e[3]=h*f;e[4]=(c*t-r*o)*f;e[5]=(r*i-a*t)*f;e[6]=d*f;e[7]=(n*o-l*t)*f;e[8]=(s*t-n*i)*f;return this}transpose(){let e;const t=this.elements;e=t[1];t[1]=t[3];t[3]=e;e=t[2];t[2]=t[6];t[6]=e;e=t[5];t[5]=t[7];t[7]=e;return this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;e[0]=t[0];e[1]=t[3];e[2]=t[6];e[3]=t[1];e[4]=t[4];e[5]=t[7];e[6]=t[2];e[7]=t[5];e[8]=t[8];return this}setUvTransform(e,t,n,r,i,s,a){const o=Math.cos(i);const l=Math.sin(i);this.set(n*o,n*l,-n*(o*s+l*a)+s+e,-r*l,r*o,-r*(-l*s+o*a)+a+t,0,0,1);return this}scale(e,t){const n=this.elements;n[0]*=e;n[3]*=e;n[6]*=e;n[1]*=t;n[4]*=t;n[7]*=t;return this}rotate(e){const t=Math.cos(e);const n=Math.sin(e);const r=this.elements;const i=r[0],s=r[3],a=r[6];const o=r[1],l=r[4],c=r[7];r[0]=t*i+n*o;r[3]=t*s+n*l;r[6]=t*a+n*c;r[1]=-n*i+t*o;r[4]=-n*s+t*l;r[7]=-n*a+t*c;return this}translate(e,t){const n=this.elements;n[0]+=e*n[2];n[3]+=e*n[5];n[6]+=e*n[8];n[1]+=t*n[2];n[4]+=t*n[5];n[7]+=t*n[8];return this}equals(e){const t=this.elements;const n=e.elements;for(let e=0;e<9;e++)if(t[e]!==n[e])return false;return true}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;e[t]=n[0];e[t+1]=n[1];e[t+2]=n[2];e[t+3]=n[3];e[t+4]=n[4];e[t+5]=n[5];e[t+6]=n[6];e[t+7]=n[7];e[t+8]=n[8];return e}clone(){return(new this.constructor).fromArray(this.elements)}}Matrix3.prototype.isMatrix3=true;function arrayMax(e){if(0===e.length)return-Infinity;let t=e[0];for(let n=1,r=e.length;n<r;++n)e[n]>t&&(t=e[n]);return t}const In={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function getTypedArray(e,t){return new In[e](t)}function createElementNS(e){return document.createElementNS(\"http://www.w3.org/1999/xhtml\",e)}let Dn;class ImageUtils{static getDataURL(e){if(/^data:/i.test(e.src))return e.src;if(\"undefined\"==typeof HTMLCanvasElement)return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{void 0===Dn&&(Dn=createElementNS(\"canvas\"));Dn.width=e.width;Dn.height=e.height;const n=Dn.getContext(\"2d\");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height);t=Dn}if(t.width>2048||t.height>2048){console.warn(\"THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons\",e);return t.toDataURL(\"image/jpeg\",.6)}return t.toDataURL(\"image/png\")}}let Bn=0;class Texture extends EventDispatcher{constructor(e=Texture.DEFAULT_IMAGE,t=Texture.DEFAULT_MAPPING,n=ue,r=ue,i=ye,s=be,a=Ne,o=Me,l=1,c=Xt){super();Object.defineProperty(this,\"id\",{value:Bn++});this.uuid=generateUUID();this.name=\"\";this.image=e;this.mipmaps=[];this.mapping=t;this.wrapS=n;this.wrapT=r;this.magFilter=i;this.minFilter=s;this.anisotropy=l;this.format=a;this.internalFormat=null;this.type=o;this.offset=new Vector2(0,0);this.repeat=new Vector2(1,1);this.center=new Vector2(0,0);this.rotation=0;this.matrixAutoUpdate=true;this.matrix=new Matrix3;this.generateMipmaps=true;this.premultiplyAlpha=false;this.flipY=true;this.unpackAlignment=4;this.encoding=c;this.userData={};this.version=0;this.onUpdate=null;this.isRenderTargetTexture=false}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return(new this.constructor).copy(this)}copy(e){this.name=e.name;this.image=e.image;this.mipmaps=e.mipmaps.slice(0);this.mapping=e.mapping;this.wrapS=e.wrapS;this.wrapT=e.wrapT;this.magFilter=e.magFilter;this.minFilter=e.minFilter;this.anisotropy=e.anisotropy;this.format=e.format;this.internalFormat=e.internalFormat;this.type=e.type;this.offset.copy(e.offset);this.repeat.copy(e.repeat);this.center.copy(e.center);this.rotation=e.rotation;this.matrixAutoUpdate=e.matrixAutoUpdate;this.matrix.copy(e.matrix);this.generateMipmaps=e.generateMipmaps;this.premultiplyAlpha=e.premultiplyAlpha;this.flipY=e.flipY;this.unpackAlignment=e.unpackAlignment;this.encoding=e.encoding;this.userData=JSON.parse(JSON.stringify(e.userData));return this}toJSON(e){const t=void 0===e||\"string\"===typeof e;if(!t&&void 0!==e.textures[this.uuid])return e.textures[this.uuid];const n={metadata:{version:4.5,type:\"Texture\",generator:\"Texture.toJSON\"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(void 0!==this.image){const r=this.image;void 0===r.uuid&&(r.uuid=generateUUID());if(!t&&void 0===e.images[r.uuid]){let t;if(Array.isArray(r)){t=[];for(let e=0,n=r.length;e<n;e++)r[e].isDataTexture?t.push(serializeImage(r[e].image)):t.push(serializeImage(r[e]))}else t=serializeImage(r);e.images[r.uuid]={uuid:r.uuid,url:t}}n.image=r.uuid}\"{}\"!==JSON.stringify(this.userData)&&(n.userData=this.userData);t||(e.textures[this.uuid]=n);return n}dispose(){this.dispatchEvent({type:\"dispose\"})}transformUv(e){if(this.mapping!==ne)return e;e.applyMatrix3(this.matrix);if(e.x<0||e.x>1)switch(this.wrapS){case ce:e.x=e.x-Math.floor(e.x);break;case ue:e.x=e.x<0?0:1;break;case he:1===Math.abs(Math.floor(e.x)%2)?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case ce:e.y=e.y-Math.floor(e.y);break;case ue:e.y=e.y<0?0:1;break;case he:1===Math.abs(Math.floor(e.y)%2)?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}this.flipY&&(e.y=1-e.y);return e}set needsUpdate(e){true===e&&this.version++}}Texture.DEFAULT_IMAGE=void 0;Texture.DEFAULT_MAPPING=ne;Texture.prototype.isTexture=true;function serializeImage(e){if(\"undefined\"!==typeof HTMLImageElement&&e instanceof HTMLImageElement||\"undefined\"!==typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||\"undefined\"!==typeof ImageBitmap&&e instanceof ImageBitmap)return ImageUtils.getDataURL(e);if(e.data)return{data:Array.prototype.slice.call(e.data),width:e.width,height:e.height,type:e.data.constructor.name};console.warn(\"THREE.Texture: Unable to serialize Texture.\");return{}}class Vector4{constructor(e=0,t=0,n=0,r=1){this.x=e;this.y=t;this.z=n;this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,r){this.x=e;this.y=t;this.z=n;this.w=r;return this}setScalar(e){this.x=e;this.y=e;this.z=e;this.w=e;return this}setX(e){this.x=e;return this}setY(e){this.y=e;return this}setZ(e){this.z=e;return this}setW(e){this.w=e;return this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error(\"index is out of range: \"+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error(\"index is out of range: \"+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){this.x=e.x;this.y=e.y;this.z=e.z;this.w=void 0!==e.w?e.w:1;return this}add(e,t){if(void 0!==t){console.warn(\"THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\");return this.addVectors(e,t)}this.x+=e.x;this.y+=e.y;this.z+=e.z;this.w+=e.w;return this}addScalar(e){this.x+=e;this.y+=e;this.z+=e;this.w+=e;return this}addVectors(e,t){this.x=e.x+t.x;this.y=e.y+t.y;this.z=e.z+t.z;this.w=e.w+t.w;return this}addScaledVector(e,t){this.x+=e.x*t;this.y+=e.y*t;this.z+=e.z*t;this.w+=e.w*t;return this}sub(e,t){if(void 0!==t){console.warn(\"THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\");return this.subVectors(e,t)}this.x-=e.x;this.y-=e.y;this.z-=e.z;this.w-=e.w;return this}subScalar(e){this.x-=e;this.y-=e;this.z-=e;this.w-=e;return this}subVectors(e,t){this.x=e.x-t.x;this.y=e.y-t.y;this.z=e.z-t.z;this.w=e.w-t.w;return this}multiply(e){this.x*=e.x;this.y*=e.y;this.z*=e.z;this.w*=e.w;return this}multiplyScalar(e){this.x*=e;this.y*=e;this.z*=e;this.w*=e;return this}applyMatrix4(e){const t=this.x,n=this.y,r=this.z,i=this.w;const s=e.elements;this.x=s[0]*t+s[4]*n+s[8]*r+s[12]*i;this.y=s[1]*t+s[5]*n+s[9]*r+s[13]*i;this.z=s[2]*t+s[6]*n+s[10]*r+s[14]*i;this.w=s[3]*t+s[7]*n+s[11]*r+s[15]*i;return this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);if(t<1e-4){this.x=1;this.y=0;this.z=0}else{this.x=e.x/t;this.y=e.y/t;this.z=e.z/t}return this}setAxisAngleFromRotationMatrix(e){let t,n,r,i;const s=.01,a=.1,o=e.elements,l=o[0],c=o[4],u=o[8],h=o[1],d=o[5],p=o[9],f=o[2],m=o[6],g=o[10];if(Math.abs(c-h)<s&&Math.abs(u-f)<s&&Math.abs(p-m)<s){if(Math.abs(c+h)<a&&Math.abs(u+f)<a&&Math.abs(p+m)<a&&Math.abs(l+d+g-3)<a){this.set(1,0,0,0);return this}t=Math.PI;const e=(l+1)/2;const o=(d+1)/2;const y=(g+1)/2;const x=(c+h)/4;const b=(u+f)/4;const _=(p+m)/4;if(e>o&&e>y)if(e<s){n=0;r=.707106781;i=.707106781}else{n=Math.sqrt(e);r=x/n;i=b/n}else if(o>y)if(o<s){n=.707106781;r=0;i=.707106781}else{r=Math.sqrt(o);n=x/r;i=_/r}else if(y<s){n=.707106781;r=.707106781;i=0}else{i=Math.sqrt(y);n=b/i;r=_/i}this.set(n,r,i,t);return this}let y=Math.sqrt((m-p)*(m-p)+(u-f)*(u-f)+(h-c)*(h-c));Math.abs(y)<.001&&(y=1);this.x=(m-p)/y;this.y=(u-f)/y;this.z=(h-c)/y;this.w=Math.acos((l+d+g-1)/2);return this}min(e){this.x=Math.min(this.x,e.x);this.y=Math.min(this.y,e.y);this.z=Math.min(this.z,e.z);this.w=Math.min(this.w,e.w);return this}max(e){this.x=Math.max(this.x,e.x);this.y=Math.max(this.y,e.y);this.z=Math.max(this.z,e.z);this.w=Math.max(this.w,e.w);return this}clamp(e,t){this.x=Math.max(e.x,Math.min(t.x,this.x));this.y=Math.max(e.y,Math.min(t.y,this.y));this.z=Math.max(e.z,Math.min(t.z,this.z));this.w=Math.max(e.w,Math.min(t.w,this.w));return this}clampScalar(e,t){this.x=Math.max(e,Math.min(t,this.x));this.y=Math.max(e,Math.min(t,this.y));this.z=Math.max(e,Math.min(t,this.z));this.w=Math.max(e,Math.min(t,this.w));return this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);this.w=Math.floor(this.w);return this}ceil(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);this.w=Math.ceil(this.w);return this}round(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);this.w=Math.round(this.w);return this}roundToZero(){this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x);this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y);this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z);this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w);return this}negate(){this.x=-this.x;this.y=-this.y;this.z=-this.z;this.w=-this.w;return this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){this.x+=(e.x-this.x)*t;this.y+=(e.y-this.y)*t;this.z+=(e.z-this.z)*t;this.w+=(e.w-this.w)*t;return this}lerpVectors(e,t,n){this.x=e.x+(t.x-e.x)*n;this.y=e.y+(t.y-e.y)*n;this.z=e.z+(t.z-e.z)*n;this.w=e.w+(t.w-e.w)*n;return this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){this.x=e[t];this.y=e[t+1];this.z=e[t+2];this.w=e[t+3];return this}toArray(e=[],t=0){e[t]=this.x;e[t+1]=this.y;e[t+2]=this.z;e[t+3]=this.w;return e}fromBufferAttribute(e,t,n){void 0!==n&&console.warn(\"THREE.Vector4: offset has been removed from .fromBufferAttribute().\");this.x=e.getX(t);this.y=e.getY(t);this.z=e.getZ(t);this.w=e.getW(t);return this}random(){this.x=Math.random();this.y=Math.random();this.z=Math.random();this.w=Math.random();return this}*[Symbol.iterator](){yield this.x;yield this.y;yield this.z;yield this.w}}Vector4.prototype.isVector4=true;class WebGLRenderTarget extends EventDispatcher{constructor(e,t,n={}){super();this.width=e;this.height=t;this.depth=1;this.scissor=new Vector4(0,0,e,t);this.scissorTest=false;this.viewport=new Vector4(0,0,e,t);this.texture=new Texture(void 0,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding);this.texture.isRenderTargetTexture=true;this.texture.image={width:e,height:t,depth:1};this.texture.generateMipmaps=void 0!==n.generateMipmaps&&n.generateMipmaps;this.texture.internalFormat=void 0!==n.internalFormat?n.internalFormat:null;this.texture.minFilter=void 0!==n.minFilter?n.minFilter:ye;this.depthBuffer=void 0===n.depthBuffer||n.depthBuffer;this.stencilBuffer=void 0!==n.stencilBuffer&&n.stencilBuffer;this.depthTexture=void 0!==n.depthTexture?n.depthTexture:null}setTexture(e){e.image={width:this.width,height:this.height,depth:this.depth};this.texture=e}setSize(e,t,n=1){if(this.width!==e||this.height!==t||this.depth!==n){this.width=e;this.height=t;this.depth=n;this.texture.image.width=e;this.texture.image.height=t;this.texture.image.depth=n;this.dispose()}this.viewport.set(0,0,e,t);this.scissor.set(0,0,e,t)}clone(){return(new this.constructor).copy(this)}copy(e){this.width=e.width;this.height=e.height;this.depth=e.depth;this.viewport.copy(e.viewport);this.texture=e.texture.clone();this.texture.image={...this.texture.image};this.depthBuffer=e.depthBuffer;this.stencilBuffer=e.stencilBuffer;this.depthTexture=e.depthTexture;return this}dispose(){this.dispatchEvent({type:\"dispose\"})}}WebGLRenderTarget.prototype.isWebGLRenderTarget=true;class WebGLMultipleRenderTargets extends WebGLRenderTarget{constructor(e,t,n){super(e,t);const r=this.texture;this.texture=[];for(let e=0;e<n;e++)this.texture[e]=r.clone()}setSize(e,t,n=1){if(this.width!==e||this.height!==t||this.depth!==n){this.width=e;this.height=t;this.depth=n;for(let r=0,i=this.texture.length;r<i;r++){this.texture[r].image.width=e;this.texture[r].image.height=t;this.texture[r].image.depth=n}this.dispose()}this.viewport.set(0,0,e,t);this.scissor.set(0,0,e,t);return this}copy(e){this.dispose();this.width=e.width;this.height=e.height;this.depth=e.depth;this.viewport.set(0,0,this.width,this.height);this.scissor.set(0,0,this.width,this.height);this.depthBuffer=e.depthBuffer;this.stencilBuffer=e.stencilBuffer;this.depthTexture=e.depthTexture;this.texture.length=0;for(let t=0,n=e.texture.length;t<n;t++)this.texture[t]=e.texture[t].clone();return this}}WebGLMultipleRenderTargets.prototype.isWebGLMultipleRenderTargets=true;class WebGLMultisampleRenderTarget extends WebGLRenderTarget{constructor(e,t,n={}){super(e,t,n);this.samples=4;this.ignoreDepthForMultisampleCopy=void 0===n.ignoreDepth||n.ignoreDepth;this.useRenderToTexture=void 0!==n.useRenderToTexture&&n.useRenderToTexture;this.useRenderbuffer=false===this.useRenderToTexture}copy(e){super.copy.call(this,e);this.samples=e.samples;this.useRenderToTexture=e.useRenderToTexture;this.useRenderbuffer=e.useRenderbuffer;return this}}WebGLMultisampleRenderTarget.prototype.isWebGLMultisampleRenderTarget=true;class Quaternion{constructor(e=0,t=0,n=0,r=1){this._x=e;this._y=t;this._z=n;this._w=r}static slerp(e,t,n,r){console.warn(\"THREE.Quaternion: Static .slerp() has been deprecated. Use qm.slerpQuaternions( qa, qb, t ) instead.\");return n.slerpQuaternions(e,t,r)}static slerpFlat(e,t,n,r,i,s,a){let o=n[r+0],l=n[r+1],c=n[r+2],u=n[r+3];const h=i[s+0],d=i[s+1],p=i[s+2],f=i[s+3];if(0!==a)if(1!==a){if(u!==f||o!==h||l!==d||c!==p){let e=1-a;const t=o*h+l*d+c*p+u*f,n=t>=0?1:-1,r=1-t*t;if(r>Number.EPSILON){const i=Math.sqrt(r),s=Math.atan2(i,t*n);e=Math.sin(e*s)/i;a=Math.sin(a*s)/i}const i=a*n;o=o*e+h*i;l=l*e+d*i;c=c*e+p*i;u=u*e+f*i;if(e===1-a){const e=1/Math.sqrt(o*o+l*l+c*c+u*u);o*=e;l*=e;c*=e;u*=e}}e[t]=o;e[t+1]=l;e[t+2]=c;e[t+3]=u}else{e[t+0]=h;e[t+1]=d;e[t+2]=p;e[t+3]=f}else{e[t+0]=o;e[t+1]=l;e[t+2]=c;e[t+3]=u}}static multiplyQuaternionsFlat(e,t,n,r,i,s){const a=n[r];const o=n[r+1];const l=n[r+2];const c=n[r+3];const u=i[s];const h=i[s+1];const d=i[s+2];const p=i[s+3];e[t]=a*p+c*u+o*d-l*h;e[t+1]=o*p+c*h+l*u-a*d;e[t+2]=l*p+c*d+a*h-o*u;e[t+3]=c*p-a*u-o*h-l*d;return e}get x(){return this._x}set x(e){this._x=e;this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e;this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e;this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e;this._onChangeCallback()}set(e,t,n,r){this._x=e;this._y=t;this._z=n;this._w=r;this._onChangeCallback();return this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){this._x=e.x;this._y=e.y;this._z=e.z;this._w=e.w;this._onChangeCallback();return this}setFromEuler(e,t){if(!(e&&e.isEuler))throw new Error(\"THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.\");const n=e._x,r=e._y,i=e._z,s=e._order;const a=Math.cos;const o=Math.sin;const l=a(n/2);const c=a(r/2);const u=a(i/2);const h=o(n/2);const d=o(r/2);const p=o(i/2);switch(s){case\"XYZ\":this._x=h*c*u+l*d*p;this._y=l*d*u-h*c*p;this._z=l*c*p+h*d*u;this._w=l*c*u-h*d*p;break;case\"YXZ\":this._x=h*c*u+l*d*p;this._y=l*d*u-h*c*p;this._z=l*c*p-h*d*u;this._w=l*c*u+h*d*p;break;case\"ZXY\":this._x=h*c*u-l*d*p;this._y=l*d*u+h*c*p;this._z=l*c*p+h*d*u;this._w=l*c*u-h*d*p;break;case\"ZYX\":this._x=h*c*u-l*d*p;this._y=l*d*u+h*c*p;this._z=l*c*p-h*d*u;this._w=l*c*u+h*d*p;break;case\"YZX\":this._x=h*c*u+l*d*p;this._y=l*d*u+h*c*p;this._z=l*c*p-h*d*u;this._w=l*c*u-h*d*p;break;case\"XZY\":this._x=h*c*u-l*d*p;this._y=l*d*u-h*c*p;this._z=l*c*p+h*d*u;this._w=l*c*u+h*d*p;break;default:console.warn(\"THREE.Quaternion: .setFromEuler() encountered an unknown order: \"+s)}false!==t&&this._onChangeCallback();return this}setFromAxisAngle(e,t){const n=t/2,r=Math.sin(n);this._x=e.x*r;this._y=e.y*r;this._z=e.z*r;this._w=Math.cos(n);this._onChangeCallback();return this}setFromRotationMatrix(e){const t=e.elements,n=t[0],r=t[4],i=t[8],s=t[1],a=t[5],o=t[9],l=t[2],c=t[6],u=t[10],h=n+a+u;if(h>0){const e=.5/Math.sqrt(h+1);this._w=.25/e;this._x=(c-o)*e;this._y=(i-l)*e;this._z=(s-r)*e}else if(n>a&&n>u){const e=2*Math.sqrt(1+n-a-u);this._w=(c-o)/e;this._x=.25*e;this._y=(r+s)/e;this._z=(i+l)/e}else if(a>u){const e=2*Math.sqrt(1+a-n-u);this._w=(i-l)/e;this._x=(r+s)/e;this._y=.25*e;this._z=(o+c)/e}else{const e=2*Math.sqrt(1+u-n-a);this._w=(s-r)/e;this._x=(i+l)/e;this._y=(o+c)/e;this._z=.25*e}this._onChangeCallback();return this}setFromUnitVectors(e,t){let n=e.dot(t)+1;if(n<Number.EPSILON){n=0;if(Math.abs(e.x)>Math.abs(e.z)){this._x=-e.y;this._y=e.x;this._z=0;this._w=n}else{this._x=0;this._y=-e.z;this._z=e.y;this._w=n}}else{this._x=e.y*t.z-e.z*t.y;this._y=e.z*t.x-e.x*t.z;this._z=e.x*t.y-e.y*t.x;this._w=n}return this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(clamp(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(0===n)return this;const r=Math.min(1,t/n);this.slerp(e,r);return this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){this._x*=-1;this._y*=-1;this._z*=-1;this._onChangeCallback();return this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();if(0===e){this._x=0;this._y=0;this._z=0;this._w=1}else{e=1/e;this._x=this._x*e;this._y=this._y*e;this._z=this._z*e;this._w=this._w*e}this._onChangeCallback();return this}multiply(e,t){if(void 0!==t){console.warn(\"THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.\");return this.multiplyQuaternions(e,t)}return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const n=e._x,r=e._y,i=e._z,s=e._w;const a=t._x,o=t._y,l=t._z,c=t._w;this._x=n*c+s*a+r*l-i*o;this._y=r*c+s*o+i*a-n*l;this._z=i*c+s*l+n*o-r*a;this._w=s*c-n*a-r*o-i*l;this._onChangeCallback();return this}slerp(e,t){if(0===t)return this;if(1===t)return this.copy(e);const n=this._x,r=this._y,i=this._z,s=this._w;let a=s*e._w+n*e._x+r*e._y+i*e._z;if(a<0){this._w=-e._w;this._x=-e._x;this._y=-e._y;this._z=-e._z;a=-a}else this.copy(e);if(a>=1){this._w=s;this._x=n;this._y=r;this._z=i;return this}const o=1-a*a;if(o<=Number.EPSILON){const e=1-t;this._w=e*s+t*this._w;this._x=e*n+t*this._x;this._y=e*r+t*this._y;this._z=e*i+t*this._z;this.normalize();this._onChangeCallback();return this}const l=Math.sqrt(o);const c=Math.atan2(l,a);const u=Math.sin((1-t)*c)/l,h=Math.sin(t*c)/l;this._w=s*u+this._w*h;this._x=n*u+this._x*h;this._y=r*u+this._y*h;this._z=i*u+this._z*h;this._onChangeCallback();return this}slerpQuaternions(e,t,n){this.copy(e).slerp(t,n)}random(){const e=Math.random();const t=Math.sqrt(1-e);const n=Math.sqrt(e);const r=2*Math.PI*Math.random();const i=2*Math.PI*Math.random();return this.set(t*Math.cos(r),n*Math.sin(i),n*Math.cos(i),t*Math.sin(r))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){this._x=e[t];this._y=e[t+1];this._z=e[t+2];this._w=e[t+3];this._onChangeCallback();return this}toArray(e=[],t=0){e[t]=this._x;e[t+1]=this._y;e[t+2]=this._z;e[t+3]=this._w;return e}fromBufferAttribute(e,t){this._x=e.getX(t);this._y=e.getY(t);this._z=e.getZ(t);this._w=e.getW(t);return this}_onChange(e){this._onChangeCallback=e;return this}_onChangeCallback(){}}Quaternion.prototype.isQuaternion=true;class Vector3{constructor(e=0,t=0,n=0){this.x=e;this.y=t;this.z=n}set(e,t,n){void 0===n&&(n=this.z);this.x=e;this.y=t;this.z=n;return this}setScalar(e){this.x=e;this.y=e;this.z=e;return this}setX(e){this.x=e;return this}setY(e){this.y=e;return this}setZ(e){this.z=e;return this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error(\"index is out of range: \"+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error(\"index is out of range: \"+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){this.x=e.x;this.y=e.y;this.z=e.z;return this}add(e,t){if(void 0!==t){console.warn(\"THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\");return this.addVectors(e,t)}this.x+=e.x;this.y+=e.y;this.z+=e.z;return this}addScalar(e){this.x+=e;this.y+=e;this.z+=e;return this}addVectors(e,t){this.x=e.x+t.x;this.y=e.y+t.y;this.z=e.z+t.z;return this}addScaledVector(e,t){this.x+=e.x*t;this.y+=e.y*t;this.z+=e.z*t;return this}sub(e,t){if(void 0!==t){console.warn(\"THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\");return this.subVectors(e,t)}this.x-=e.x;this.y-=e.y;this.z-=e.z;return this}subScalar(e){this.x-=e;this.y-=e;this.z-=e;return this}subVectors(e,t){this.x=e.x-t.x;this.y=e.y-t.y;this.z=e.z-t.z;return this}multiply(e,t){if(void 0!==t){console.warn(\"THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.\");return this.multiplyVectors(e,t)}this.x*=e.x;this.y*=e.y;this.z*=e.z;return this}multiplyScalar(e){this.x*=e;this.y*=e;this.z*=e;return this}multiplyVectors(e,t){this.x=e.x*t.x;this.y=e.y*t.y;this.z=e.z*t.z;return this}applyEuler(e){e&&e.isEuler||console.error(\"THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.\");return this.applyQuaternion(Nn.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(Nn.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,r=this.z;const i=e.elements;this.x=i[0]*t+i[3]*n+i[6]*r;this.y=i[1]*t+i[4]*n+i[7]*r;this.z=i[2]*t+i[5]*n+i[8]*r;return this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,r=this.z;const i=e.elements;const s=1/(i[3]*t+i[7]*n+i[11]*r+i[15]);this.x=(i[0]*t+i[4]*n+i[8]*r+i[12])*s;this.y=(i[1]*t+i[5]*n+i[9]*r+i[13])*s;this.z=(i[2]*t+i[6]*n+i[10]*r+i[14])*s;return this}applyQuaternion(e){const t=this.x,n=this.y,r=this.z;const i=e.x,s=e.y,a=e.z,o=e.w;const l=o*t+s*r-a*n;const c=o*n+a*t-i*r;const u=o*r+i*n-s*t;const h=-i*t-s*n-a*r;this.x=l*o+h*-i+c*-a-u*-s;this.y=c*o+h*-s+u*-i-l*-a;this.z=u*o+h*-a+l*-s-c*-i;return this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,n=this.y,r=this.z;const i=e.elements;this.x=i[0]*t+i[4]*n+i[8]*r;this.y=i[1]*t+i[5]*n+i[9]*r;this.z=i[2]*t+i[6]*n+i[10]*r;return this.normalize()}divide(e){this.x/=e.x;this.y/=e.y;this.z/=e.z;return this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){this.x=Math.min(this.x,e.x);this.y=Math.min(this.y,e.y);this.z=Math.min(this.z,e.z);return this}max(e){this.x=Math.max(this.x,e.x);this.y=Math.max(this.y,e.y);this.z=Math.max(this.z,e.z);return this}clamp(e,t){this.x=Math.max(e.x,Math.min(t.x,this.x));this.y=Math.max(e.y,Math.min(t.y,this.y));this.z=Math.max(e.z,Math.min(t.z,this.z));return this}clampScalar(e,t){this.x=Math.max(e,Math.min(t,this.x));this.y=Math.max(e,Math.min(t,this.y));this.z=Math.max(e,Math.min(t,this.z));return this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);return this}ceil(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);return this}round(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);return this}roundToZero(){this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x);this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y);this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z);return this}negate(){this.x=-this.x;this.y=-this.y;this.z=-this.z;return this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){this.x+=(e.x-this.x)*t;this.y+=(e.y-this.y)*t;this.z+=(e.z-this.z)*t;return this}lerpVectors(e,t,n){this.x=e.x+(t.x-e.x)*n;this.y=e.y+(t.y-e.y)*n;this.z=e.z+(t.z-e.z)*n;return this}cross(e,t){if(void 0!==t){console.warn(\"THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.\");return this.crossVectors(e,t)}return this.crossVectors(this,e)}crossVectors(e,t){const n=e.x,r=e.y,i=e.z;const s=t.x,a=t.y,o=t.z;this.x=r*o-i*a;this.y=i*s-n*o;this.z=n*a-r*s;return this}projectOnVector(e){const t=e.lengthSq();if(0===t)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){Vn.copy(this).projectOnVector(e);return this.sub(Vn)}reflect(e){return this.sub(Vn.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(clamp(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,r=this.z-e.z;return t*t+n*n+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){const r=Math.sin(t)*e;this.x=r*Math.sin(n);this.y=Math.cos(t)*e;this.z=r*Math.cos(n);return this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){this.x=e*Math.sin(t);this.y=n;this.z=e*Math.cos(t);return this}setFromMatrixPosition(e){const t=e.elements;this.x=t[12];this.y=t[13];this.z=t[14];return this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length();const n=this.setFromMatrixColumn(e,1).length();const r=this.setFromMatrixColumn(e,2).length();this.x=t;this.y=n;this.z=r;return this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,4*t)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,3*t)}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){this.x=e[t];this.y=e[t+1];this.z=e[t+2];return this}toArray(e=[],t=0){e[t]=this.x;e[t+1]=this.y;e[t+2]=this.z;return e}fromBufferAttribute(e,t,n){void 0!==n&&console.warn(\"THREE.Vector3: offset has been removed from .fromBufferAttribute().\");this.x=e.getX(t);this.y=e.getY(t);this.z=e.getZ(t);return this}random(){this.x=Math.random();this.y=Math.random();this.z=Math.random();return this}randomDirection(){const e=2*(Math.random()-.5);const t=Math.random()*Math.PI*2;const n=Math.sqrt(1-e**2);this.x=n*Math.cos(t);this.y=n*Math.sin(t);this.z=e;return this}*[Symbol.iterator](){yield this.x;yield this.y;yield this.z}}Vector3.prototype.isVector3=true;const Vn=new Vector3;const Nn=new Quaternion;class Box3{constructor(e=new Vector3(Infinity,Infinity,Infinity),t=new Vector3(-Infinity,-Infinity,-Infinity)){this.min=e;this.max=t}set(e,t){this.min.copy(e);this.max.copy(t);return this}setFromArray(e){let t=Infinity;let n=Infinity;let r=Infinity;let i=-Infinity;let s=-Infinity;let a=-Infinity;for(let o=0,l=e.length;o<l;o+=3){const l=e[o];const c=e[o+1];const u=e[o+2];l<t&&(t=l);c<n&&(n=c);u<r&&(r=u);l>i&&(i=l);c>s&&(s=c);u>a&&(a=u)}this.min.set(t,n,r);this.max.set(i,s,a);return this}setFromBufferAttribute(e){let t=Infinity;let n=Infinity;let r=Infinity;let i=-Infinity;let s=-Infinity;let a=-Infinity;for(let o=0,l=e.count;o<l;o++){const l=e.getX(o);const c=e.getY(o);const u=e.getZ(o);l<t&&(t=l);c<n&&(n=c);u<r&&(r=u);l>i&&(i=l);c>s&&(s=c);u>a&&(a=u)}this.min.set(t,n,r);this.max.set(i,s,a);return this}setFromPoints(e){this.makeEmpty();for(let t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){const n=zn.copy(t).multiplyScalar(.5);this.min.copy(e).sub(n);this.max.copy(e).add(n);return this}setFromObject(e){this.makeEmpty();return this.expandByObject(e)}clone(){return(new this.constructor).copy(this)}copy(e){this.min.copy(e.min);this.max.copy(e.max);return this}makeEmpty(){this.min.x=this.min.y=this.min.z=Infinity;this.max.x=this.max.y=this.max.z=-Infinity;return this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(e){return this.isEmpty()?e.set(0,0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0,0):e.subVectors(this.max,this.min)}expandByPoint(e){this.min.min(e);this.max.max(e);return this}expandByVector(e){this.min.sub(e);this.max.add(e);return this}expandByScalar(e){this.min.addScalar(-e);this.max.addScalar(e);return this}expandByObject(e){e.updateWorldMatrix(false,false);const t=e.geometry;if(void 0!==t){null===t.boundingBox&&t.computeBoundingBox();Gn.copy(t.boundingBox);Gn.applyMatrix4(e.matrixWorld);this.union(Gn)}const n=e.children;for(let e=0,t=n.length;e<t;e++)this.expandByObject(n[e]);return this}containsPoint(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y||e.z<this.min.z||e.z>this.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y||e.max.z<this.min.z||e.min.z>this.max.z)}intersectsSphere(e){this.clampPoint(e.center,zn);return zn.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;if(e.normal.x>0){t=e.normal.x*this.min.x;n=e.normal.x*this.max.x}else{t=e.normal.x*this.max.x;n=e.normal.x*this.min.x}if(e.normal.y>0){t+=e.normal.y*this.min.y;n+=e.normal.y*this.max.y}else{t+=e.normal.y*this.max.y;n+=e.normal.y*this.min.y}if(e.normal.z>0){t+=e.normal.z*this.min.z;n+=e.normal.z*this.max.z}else{t+=e.normal.z*this.max.z;n+=e.normal.z*this.min.z}return t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return false;this.getCenter(qn);Xn.subVectors(this.max,qn);Fn.subVectors(e.a,qn);On.subVectors(e.b,qn);Hn.subVectors(e.c,qn);kn.subVectors(On,Fn);Wn.subVectors(Hn,On);jn.subVectors(Fn,Hn);let t=[0,-kn.z,kn.y,0,-Wn.z,Wn.y,0,-jn.z,jn.y,kn.z,0,-kn.x,Wn.z,0,-Wn.x,jn.z,0,-jn.x,-kn.y,kn.x,0,-Wn.y,Wn.x,0,-jn.y,jn.x,0];if(!satForAxes(t,Fn,On,Hn,Xn))return false;t=[1,0,0,0,1,0,0,0,1];if(!satForAxes(t,Fn,On,Hn,Xn))return false;Jn.crossVectors(kn,Wn);t=[Jn.x,Jn.y,Jn.z];return satForAxes(t,Fn,On,Hn,Xn)}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){const t=zn.copy(e).clamp(this.min,this.max);return t.sub(e).length()}getBoundingSphere(e){this.getCenter(e.center);e.radius=.5*this.getSize(zn).length();return e}intersect(e){this.min.max(e.min);this.max.min(e.max);this.isEmpty()&&this.makeEmpty();return this}union(e){this.min.min(e.min);this.max.max(e.max);return this}applyMatrix4(e){if(this.isEmpty())return this;Un[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e);Un[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e);Un[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e);Un[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e);Un[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e);Un[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e);Un[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e);Un[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e);this.setFromPoints(Un);return this}translate(e){this.min.add(e);this.max.add(e);return this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}Box3.prototype.isBox3=true;const Un=[new Vector3,new Vector3,new Vector3,new Vector3,new Vector3,new Vector3,new Vector3,new Vector3];const zn=new Vector3;const Gn=new Box3;const Fn=new Vector3;const On=new Vector3;const Hn=new Vector3;const kn=new Vector3;const Wn=new Vector3;const jn=new Vector3;const qn=new Vector3;const Xn=new Vector3;const Jn=new Vector3;const Yn=new Vector3;function satForAxes(e,t,n,r,i){for(let s=0,a=e.length-3;s<=a;s+=3){Yn.fromArray(e,s);const a=i.x*Math.abs(Yn.x)+i.y*Math.abs(Yn.y)+i.z*Math.abs(Yn.z);const o=t.dot(Yn);const l=n.dot(Yn);const c=r.dot(Yn);if(Math.max(-Math.max(o,l,c),Math.min(o,l,c))>a)return false}return true}const Zn=new Box3;const Qn=new Vector3;const Kn=new Vector3;const $n=new Vector3;class Sphere{constructor(e=new Vector3,t=-1){this.center=e;this.radius=t}set(e,t){this.center.copy(e);this.radius=t;return this}setFromPoints(e,t){const n=this.center;void 0!==t?n.copy(t):Zn.setFromPoints(e).getCenter(n);let r=0;for(let t=0,i=e.length;t<i;t++)r=Math.max(r,n.distanceToSquared(e[t]));this.radius=Math.sqrt(r);return this}copy(e){this.center.copy(e.center);this.radius=e.radius;return this}isEmpty(){return this.radius<0}makeEmpty(){this.center.set(0,0,0);this.radius=-1;return this}containsPoint(e){return e.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(e){return e.distanceTo(this.center)-this.radius}intersectsSphere(e){const t=this.radius+e.radius;return e.center.distanceToSquared(this.center)<=t*t}intersectsBox(e){return e.intersectsSphere(this)}intersectsPlane(e){return Math.abs(e.distanceToPoint(this.center))<=this.radius}clampPoint(e,t){const n=this.center.distanceToSquared(e);t.copy(e);if(n>this.radius*this.radius){t.sub(this.center).normalize();t.multiplyScalar(this.radius).add(this.center)}return t}getBoundingBox(e){if(this.isEmpty()){e.makeEmpty();return e}e.set(this.center,this.center);e.expandByScalar(this.radius);return e}applyMatrix4(e){this.center.applyMatrix4(e);this.radius=this.radius*e.getMaxScaleOnAxis();return this}translate(e){this.center.add(e);return this}expandByPoint(e){$n.subVectors(e,this.center);const t=$n.lengthSq();if(t>this.radius*this.radius){const e=Math.sqrt(t);const n=.5*(e-this.radius);this.center.add($n.multiplyScalar(n/e));this.radius+=n}return this}union(e){true===this.center.equals(e.center)?Kn.set(0,0,1).multiplyScalar(e.radius):Kn.subVectors(e.center,this.center).normalize().multiplyScalar(e.radius);this.expandByPoint(Qn.copy(e.center).add(Kn));this.expandByPoint(Qn.copy(e.center).sub(Kn));return this}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const er=new Vector3;const tr=new Vector3;const nr=new Vector3;const rr=new Vector3;const ir=new Vector3;const sr=new Vector3;const ar=new Vector3;class Ray{constructor(e=new Vector3,t=new Vector3(0,0,-1)){this.origin=e;this.direction=t}set(e,t){this.origin.copy(e);this.direction.copy(t);return this}copy(e){this.origin.copy(e.origin);this.direction.copy(e.direction);return this}at(e,t){return t.copy(this.direction).multiplyScalar(e).add(this.origin)}lookAt(e){this.direction.copy(e).sub(this.origin).normalize();return this}recast(e){this.origin.copy(this.at(e,er));return this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.direction).multiplyScalar(n).add(this.origin)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=er.subVectors(e,this.origin).dot(this.direction);if(t<0)return this.origin.distanceToSquared(e);er.copy(this.direction).multiplyScalar(t).add(this.origin);return er.distanceToSquared(e)}distanceSqToSegment(e,t,n,r){tr.copy(e).add(t).multiplyScalar(.5);nr.copy(t).sub(e).normalize();rr.copy(this.origin).sub(tr);const i=.5*e.distanceTo(t);const s=-this.direction.dot(nr);const a=rr.dot(this.direction);const o=-rr.dot(nr);const l=rr.lengthSq();const c=Math.abs(1-s*s);let u,h,d,p;if(c>0){u=s*o-a;h=s*a-o;p=i*c;if(u>=0)if(h>=-p)if(h<=p){const e=1/c;u*=e;h*=e;d=u*(u+s*h+2*a)+h*(s*u+h+2*o)+l}else{h=i;u=Math.max(0,-(s*h+a));d=-u*u+h*(h+2*o)+l}else{h=-i;u=Math.max(0,-(s*h+a));d=-u*u+h*(h+2*o)+l}else if(h<=-p){u=Math.max(0,-(-s*i+a));h=u>0?-i:Math.min(Math.max(-i,-o),i);d=-u*u+h*(h+2*o)+l}else if(h<=p){u=0;h=Math.min(Math.max(-i,-o),i);d=h*(h+2*o)+l}else{u=Math.max(0,-(s*i+a));h=u>0?i:Math.min(Math.max(-i,-o),i);d=-u*u+h*(h+2*o)+l}}else{h=s>0?-i:i;u=Math.max(0,-(s*h+a));d=-u*u+h*(h+2*o)+l}n&&n.copy(this.direction).multiplyScalar(u).add(this.origin);r&&r.copy(nr).multiplyScalar(h).add(tr);return d}intersectSphere(e,t){er.subVectors(e.center,this.origin);const n=er.dot(this.direction);const r=er.dot(er)-n*n;const i=e.radius*e.radius;if(r>i)return null;const s=Math.sqrt(i-r);const a=n-s;const o=n+s;return a<0&&o<0?null:a<0?this.at(o,t):this.at(a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(0===t)return 0===e.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){const n=this.distanceToPlane(e);return null===n?null:this.at(n,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);if(0===t)return true;const n=e.normal.dot(this.direction);return n*t<0}intersectBox(e,t){let n,r,i,s,a,o;const l=1/this.direction.x,c=1/this.direction.y,u=1/this.direction.z;const h=this.origin;if(l>=0){n=(e.min.x-h.x)*l;r=(e.max.x-h.x)*l}else{n=(e.max.x-h.x)*l;r=(e.min.x-h.x)*l}if(c>=0){i=(e.min.y-h.y)*c;s=(e.max.y-h.y)*c}else{i=(e.max.y-h.y)*c;s=(e.min.y-h.y)*c}if(n>s||i>r)return null;(i>n||n!==n)&&(n=i);(s<r||r!==r)&&(r=s);if(u>=0){a=(e.min.z-h.z)*u;o=(e.max.z-h.z)*u}else{a=(e.max.z-h.z)*u;o=(e.min.z-h.z)*u}if(n>o||a>r)return null;(a>n||n!==n)&&(n=a);(o<r||r!==r)&&(r=o);return r<0?null:this.at(n>=0?n:r,t)}intersectsBox(e){return null!==this.intersectBox(e,er)}intersectTriangle(e,t,n,r,i){ir.subVectors(t,e);sr.subVectors(n,e);ar.crossVectors(ir,sr);let s=this.direction.dot(ar);let a;if(s>0){if(r)return null;a=1}else{if(!(s<0))return null;a=-1;s=-s}rr.subVectors(this.origin,e);const o=a*this.direction.dot(sr.crossVectors(rr,sr));if(o<0)return null;const l=a*this.direction.dot(ir.cross(rr));if(l<0)return null;if(o+l>s)return null;const c=-a*rr.dot(ar);return c<0?null:this.at(c/s,i)}applyMatrix4(e){this.origin.applyMatrix4(e);this.direction.transformDirection(e);return this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class Matrix4{constructor(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];arguments.length>0&&console.error(\"THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.\")}set(e,t,n,r,i,s,a,o,l,c,u,h,d,p,f,m){const g=this.elements;g[0]=e;g[4]=t;g[8]=n;g[12]=r;g[1]=i;g[5]=s;g[9]=a;g[13]=o;g[2]=l;g[6]=c;g[10]=u;g[14]=h;g[3]=d;g[7]=p;g[11]=f;g[15]=m;return this}identity(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this}clone(){return(new Matrix4).fromArray(this.elements)}copy(e){const t=this.elements;const n=e.elements;t[0]=n[0];t[1]=n[1];t[2]=n[2];t[3]=n[3];t[4]=n[4];t[5]=n[5];t[6]=n[6];t[7]=n[7];t[8]=n[8];t[9]=n[9];t[10]=n[10];t[11]=n[11];t[12]=n[12];t[13]=n[13];t[14]=n[14];t[15]=n[15];return this}copyPosition(e){const t=this.elements,n=e.elements;t[12]=n[12];t[13]=n[13];t[14]=n[14];return this}setFromMatrix3(e){const t=e.elements;this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1);return this}extractBasis(e,t,n){e.setFromMatrixColumn(this,0);t.setFromMatrixColumn(this,1);n.setFromMatrixColumn(this,2);return this}makeBasis(e,t,n){this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1);return this}extractRotation(e){const t=this.elements;const n=e.elements;const r=1/or.setFromMatrixColumn(e,0).length();const i=1/or.setFromMatrixColumn(e,1).length();const s=1/or.setFromMatrixColumn(e,2).length();t[0]=n[0]*r;t[1]=n[1]*r;t[2]=n[2]*r;t[3]=0;t[4]=n[4]*i;t[5]=n[5]*i;t[6]=n[6]*i;t[7]=0;t[8]=n[8]*s;t[9]=n[9]*s;t[10]=n[10]*s;t[11]=0;t[12]=0;t[13]=0;t[14]=0;t[15]=1;return this}makeRotationFromEuler(e){e&&e.isEuler||console.error(\"THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.\");const t=this.elements;const n=e.x,r=e.y,i=e.z;const s=Math.cos(n),a=Math.sin(n);const o=Math.cos(r),l=Math.sin(r);const c=Math.cos(i),u=Math.sin(i);if(\"XYZ\"===e.order){const e=s*c,n=s*u,r=a*c,i=a*u;t[0]=o*c;t[4]=-o*u;t[8]=l;t[1]=n+r*l;t[5]=e-i*l;t[9]=-a*o;t[2]=i-e*l;t[6]=r+n*l;t[10]=s*o}else if(\"YXZ\"===e.order){const e=o*c,n=o*u,r=l*c,i=l*u;t[0]=e+i*a;t[4]=r*a-n;t[8]=s*l;t[1]=s*u;t[5]=s*c;t[9]=-a;t[2]=n*a-r;t[6]=i+e*a;t[10]=s*o}else if(\"ZXY\"===e.order){const e=o*c,n=o*u,r=l*c,i=l*u;t[0]=e-i*a;t[4]=-s*u;t[8]=r+n*a;t[1]=n+r*a;t[5]=s*c;t[9]=i-e*a;t[2]=-s*l;t[6]=a;t[10]=s*o}else if(\"ZYX\"===e.order){const e=s*c,n=s*u,r=a*c,i=a*u;t[0]=o*c;t[4]=r*l-n;t[8]=e*l+i;t[1]=o*u;t[5]=i*l+e;t[9]=n*l-r;t[2]=-l;t[6]=a*o;t[10]=s*o}else if(\"YZX\"===e.order){const e=s*o,n=s*l,r=a*o,i=a*l;t[0]=o*c;t[4]=i-e*u;t[8]=r*u+n;t[1]=u;t[5]=s*c;t[9]=-a*c;t[2]=-l*c;t[6]=n*u+r;t[10]=e-i*u}else if(\"XZY\"===e.order){const e=s*o,n=s*l,r=a*o,i=a*l;t[0]=o*c;t[4]=-u;t[8]=l*c;t[1]=e*u+i;t[5]=s*c;t[9]=n*u-r;t[2]=r*u-n;t[6]=a*c;t[10]=i*u+e}t[3]=0;t[7]=0;t[11]=0;t[12]=0;t[13]=0;t[14]=0;t[15]=1;return this}makeRotationFromQuaternion(e){return this.compose(cr,e,ur)}lookAt(e,t,n){const r=this.elements;pr.subVectors(e,t);0===pr.lengthSq()&&(pr.z=1);pr.normalize();hr.crossVectors(n,pr);if(0===hr.lengthSq()){1===Math.abs(n.z)?pr.x+=1e-4:pr.z+=1e-4;pr.normalize();hr.crossVectors(n,pr)}hr.normalize();dr.crossVectors(pr,hr);r[0]=hr.x;r[4]=dr.x;r[8]=pr.x;r[1]=hr.y;r[5]=dr.y;r[9]=pr.y;r[2]=hr.z;r[6]=dr.z;r[10]=pr.z;return this}multiply(e,t){if(void 0!==t){console.warn(\"THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.\");return this.multiplyMatrices(e,t)}return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements;const r=t.elements;const i=this.elements;const s=n[0],a=n[4],o=n[8],l=n[12];const c=n[1],u=n[5],h=n[9],d=n[13];const p=n[2],f=n[6],m=n[10],g=n[14];const y=n[3],x=n[7],b=n[11],_=n[15];const M=r[0],w=r[4],S=r[8],T=r[12];const E=r[1],A=r[5],L=r[9],C=r[13];const R=r[2],P=r[6],I=r[10],D=r[14];const B=r[3],V=r[7],N=r[11],U=r[15];i[0]=s*M+a*E+o*R+l*B;i[4]=s*w+a*A+o*P+l*V;i[8]=s*S+a*L+o*I+l*N;i[12]=s*T+a*C+o*D+l*U;i[1]=c*M+u*E+h*R+d*B;i[5]=c*w+u*A+h*P+d*V;i[9]=c*S+u*L+h*I+d*N;i[13]=c*T+u*C+h*D+d*U;i[2]=p*M+f*E+m*R+g*B;i[6]=p*w+f*A+m*P+g*V;i[10]=p*S+f*L+m*I+g*N;i[14]=p*T+f*C+m*D+g*U;i[3]=y*M+x*E+b*R+_*B;i[7]=y*w+x*A+b*P+_*V;i[11]=y*S+x*L+b*I+_*N;i[15]=y*T+x*C+b*D+_*U;return this}multiplyScalar(e){const t=this.elements;t[0]*=e;t[4]*=e;t[8]*=e;t[12]*=e;t[1]*=e;t[5]*=e;t[9]*=e;t[13]*=e;t[2]*=e;t[6]*=e;t[10]*=e;t[14]*=e;t[3]*=e;t[7]*=e;t[11]*=e;t[15]*=e;return this}determinant(){const e=this.elements;const t=e[0],n=e[4],r=e[8],i=e[12];const s=e[1],a=e[5],o=e[9],l=e[13];const c=e[2],u=e[6],h=e[10],d=e[14];const p=e[3],f=e[7],m=e[11],g=e[15];return p*(+i*o*u-r*l*u-i*a*h+n*l*h+r*a*d-n*o*d)+f*(+t*o*d-t*l*h+i*s*h-r*s*d+r*l*c-i*o*c)+m*(+t*l*u-t*a*d-i*s*u+n*s*d+i*a*c-n*l*c)+g*(-r*a*c-t*o*u+t*a*h+r*s*u-n*s*h+n*o*c)}transpose(){const e=this.elements;let t;t=e[1];e[1]=e[4];e[4]=t;t=e[2];e[2]=e[8];e[8]=t;t=e[6];e[6]=e[9];e[9]=t;t=e[3];e[3]=e[12];e[12]=t;t=e[7];e[7]=e[13];e[13]=t;t=e[11];e[11]=e[14];e[14]=t;return this}setPosition(e,t,n){const r=this.elements;if(e.isVector3){r[12]=e.x;r[13]=e.y;r[14]=e.z}else{r[12]=e;r[13]=t;r[14]=n}return this}invert(){const e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],s=e[4],a=e[5],o=e[6],l=e[7],c=e[8],u=e[9],h=e[10],d=e[11],p=e[12],f=e[13],m=e[14],g=e[15],y=u*m*l-f*h*l+f*o*d-a*m*d-u*o*g+a*h*g,x=p*h*l-c*m*l-p*o*d+s*m*d+c*o*g-s*h*g,b=c*f*l-p*u*l+p*a*d-s*f*d-c*a*g+s*u*g,_=p*u*o-c*f*o-p*a*h+s*f*h+c*a*m-s*u*m;const M=t*y+n*x+r*b+i*_;if(0===M)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const w=1/M;e[0]=y*w;e[1]=(f*h*i-u*m*i-f*r*d+n*m*d+u*r*g-n*h*g)*w;e[2]=(a*m*i-f*o*i+f*r*l-n*m*l-a*r*g+n*o*g)*w;e[3]=(u*o*i-a*h*i-u*r*l+n*h*l+a*r*d-n*o*d)*w;e[4]=x*w;e[5]=(c*m*i-p*h*i+p*r*d-t*m*d-c*r*g+t*h*g)*w;e[6]=(p*o*i-s*m*i-p*r*l+t*m*l+s*r*g-t*o*g)*w;e[7]=(s*h*i-c*o*i+c*r*l-t*h*l-s*r*d+t*o*d)*w;e[8]=b*w;e[9]=(p*u*i-c*f*i-p*n*d+t*f*d+c*n*g-t*u*g)*w;e[10]=(s*f*i-p*a*i+p*n*l-t*f*l-s*n*g+t*a*g)*w;e[11]=(c*a*i-s*u*i-c*n*l+t*u*l+s*n*d-t*a*d)*w;e[12]=_*w;e[13]=(c*f*r-p*u*r+p*n*h-t*f*h-c*n*m+t*u*m)*w;e[14]=(p*a*r-s*f*r-p*n*o+t*f*o+s*n*m-t*a*m)*w;e[15]=(s*u*r-c*a*r+c*n*o-t*u*o-s*n*h+t*a*h)*w;return this}scale(e){const t=this.elements;const n=e.x,r=e.y,i=e.z;t[0]*=n;t[4]*=r;t[8]*=i;t[1]*=n;t[5]*=r;t[9]*=i;t[2]*=n;t[6]*=r;t[10]*=i;t[3]*=n;t[7]*=r;t[11]*=i;return this}getMaxScaleOnAxis(){const e=this.elements;const t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2];const n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6];const r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,r))}makeTranslation(e,t,n){this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1);return this}makeRotationX(e){const t=Math.cos(e),n=Math.sin(e);this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1);return this}makeRotationY(e){const t=Math.cos(e),n=Math.sin(e);this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1);return this}makeRotationZ(e){const t=Math.cos(e),n=Math.sin(e);this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1);return this}makeRotationAxis(e,t){const n=Math.cos(t);const r=Math.sin(t);const i=1-n;const s=e.x,a=e.y,o=e.z;const l=i*s,c=i*a;this.set(l*s+n,l*a-r*o,l*o+r*a,0,l*a+r*o,c*a+n,c*o-r*s,0,l*o-r*a,c*o+r*s,i*o*o+n,0,0,0,0,1);return this}makeScale(e,t,n){this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1);return this}makeShear(e,t,n,r,i,s){this.set(1,n,i,0,e,1,s,0,t,r,1,0,0,0,0,1);return this}compose(e,t,n){const r=this.elements;const i=t._x,s=t._y,a=t._z,o=t._w;const l=i+i,c=s+s,u=a+a;const h=i*l,d=i*c,p=i*u;const f=s*c,m=s*u,g=a*u;const y=o*l,x=o*c,b=o*u;const _=n.x,M=n.y,w=n.z;r[0]=(1-(f+g))*_;r[1]=(d+b)*_;r[2]=(p-x)*_;r[3]=0;r[4]=(d-b)*M;r[5]=(1-(h+g))*M;r[6]=(m+y)*M;r[7]=0;r[8]=(p+x)*w;r[9]=(m-y)*w;r[10]=(1-(h+f))*w;r[11]=0;r[12]=e.x;r[13]=e.y;r[14]=e.z;r[15]=1;return this}decompose(e,t,n){const r=this.elements;let i=or.set(r[0],r[1],r[2]).length();const s=or.set(r[4],r[5],r[6]).length();const a=or.set(r[8],r[9],r[10]).length();const o=this.determinant();o<0&&(i=-i);e.x=r[12];e.y=r[13];e.z=r[14];lr.copy(this);const l=1/i;const c=1/s;const u=1/a;lr.elements[0]*=l;lr.elements[1]*=l;lr.elements[2]*=l;lr.elements[4]*=c;lr.elements[5]*=c;lr.elements[6]*=c;lr.elements[8]*=u;lr.elements[9]*=u;lr.elements[10]*=u;t.setFromRotationMatrix(lr);n.x=i;n.y=s;n.z=a;return this}makePerspective(e,t,n,r,i,s){void 0===s&&console.warn(\"THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.\");const a=this.elements;const o=2*i/(t-e);const l=2*i/(n-r);const c=(t+e)/(t-e);const u=(n+r)/(n-r);const h=-(s+i)/(s-i);const d=-2*s*i/(s-i);a[0]=o;a[4]=0;a[8]=c;a[12]=0;a[1]=0;a[5]=l;a[9]=u;a[13]=0;a[2]=0;a[6]=0;a[10]=h;a[14]=d;a[3]=0;a[7]=0;a[11]=-1;a[15]=0;return this}makeOrthographic(e,t,n,r,i,s){const a=this.elements;const o=1/(t-e);const l=1/(n-r);const c=1/(s-i);const u=(t+e)*o;const h=(n+r)*l;const d=(s+i)*c;a[0]=2*o;a[4]=0;a[8]=0;a[12]=-u;a[1]=0;a[5]=2*l;a[9]=0;a[13]=-h;a[2]=0;a[6]=0;a[10]=-2*c;a[14]=-d;a[3]=0;a[7]=0;a[11]=0;a[15]=1;return this}equals(e){const t=this.elements;const n=e.elements;for(let e=0;e<16;e++)if(t[e]!==n[e])return false;return true}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;e[t]=n[0];e[t+1]=n[1];e[t+2]=n[2];e[t+3]=n[3];e[t+4]=n[4];e[t+5]=n[5];e[t+6]=n[6];e[t+7]=n[7];e[t+8]=n[8];e[t+9]=n[9];e[t+10]=n[10];e[t+11]=n[11];e[t+12]=n[12];e[t+13]=n[13];e[t+14]=n[14];e[t+15]=n[15];return e}}Matrix4.prototype.isMatrix4=true;const or=new Vector3;const lr=new Matrix4;const cr=new Vector3(0,0,0);const ur=new Vector3(1,1,1);const hr=new Vector3;const dr=new Vector3;const pr=new Vector3;const fr=new Matrix4;const mr=new Quaternion;class Euler{constructor(e=0,t=0,n=0,r=Euler.DefaultOrder){this._x=e;this._y=t;this._z=n;this._order=r}get x(){return this._x}set x(e){this._x=e;this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e;this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e;this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e;this._onChangeCallback()}set(e,t,n,r=this._order){this._x=e;this._y=t;this._z=n;this._order=r;this._onChangeCallback();return this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){this._x=e._x;this._y=e._y;this._z=e._z;this._order=e._order;this._onChangeCallback();return this}setFromRotationMatrix(e,t=this._order,n=true){const r=e.elements;const i=r[0],s=r[4],a=r[8];const o=r[1],l=r[5],c=r[9];const u=r[2],h=r[6],d=r[10];switch(t){case\"XYZ\":this._y=Math.asin(clamp(a,-1,1));if(Math.abs(a)<.9999999){this._x=Math.atan2(-c,d);this._z=Math.atan2(-s,i)}else{this._x=Math.atan2(h,l);this._z=0}break;case\"YXZ\":this._x=Math.asin(-clamp(c,-1,1));if(Math.abs(c)<.9999999){this._y=Math.atan2(a,d);this._z=Math.atan2(o,l)}else{this._y=Math.atan2(-u,i);this._z=0}break;case\"ZXY\":this._x=Math.asin(clamp(h,-1,1));if(Math.abs(h)<.9999999){this._y=Math.atan2(-u,d);this._z=Math.atan2(-s,l)}else{this._y=0;this._z=Math.atan2(o,i)}break;case\"ZYX\":this._y=Math.asin(-clamp(u,-1,1));if(Math.abs(u)<.9999999){this._x=Math.atan2(h,d);this._z=Math.atan2(o,i)}else{this._x=0;this._z=Math.atan2(-s,l)}break;case\"YZX\":this._z=Math.asin(clamp(o,-1,1));if(Math.abs(o)<.9999999){this._x=Math.atan2(-c,l);this._y=Math.atan2(-u,i)}else{this._x=0;this._y=Math.atan2(a,d)}break;case\"XZY\":this._z=Math.asin(-clamp(s,-1,1));if(Math.abs(s)<.9999999){this._x=Math.atan2(h,l);this._y=Math.atan2(a,i)}else{this._x=Math.atan2(-c,d);this._y=0}break;default:console.warn(\"THREE.Euler: .setFromRotationMatrix() encountered an unknown order: \"+t)}this._order=t;true===n&&this._onChangeCallback();return this}setFromQuaternion(e,t,n){fr.makeRotationFromQuaternion(e);return this.setFromRotationMatrix(fr,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){mr.setFromEuler(this);return this.setFromQuaternion(mr,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){this._x=e[0];this._y=e[1];this._z=e[2];void 0!==e[3]&&(this._order=e[3]);this._onChangeCallback();return this}toArray(e=[],t=0){e[t]=this._x;e[t+1]=this._y;e[t+2]=this._z;e[t+3]=this._order;return e}toVector3(e){return e?e.set(this._x,this._y,this._z):new Vector3(this._x,this._y,this._z)}_onChange(e){this._onChangeCallback=e;return this}_onChangeCallback(){}}Euler.prototype.isEuler=true;Euler.DefaultOrder=\"XYZ\";Euler.RotationOrders=[\"XYZ\",\"YZX\",\"ZXY\",\"XZY\",\"YXZ\",\"ZYX\"];class Layers{constructor(){this.mask=1}set(e){this.mask=(1<<e|0)>>>0}enable(e){this.mask|=1<<e|0}enableAll(){this.mask=-1}toggle(e){this.mask^=1<<e|0}disable(e){this.mask&=~(1<<e|0)}disableAll(){this.mask=0}test(e){return 0!==(this.mask&e.mask)}isEnabled(e){return 0!==(this.mask&(1<<e|0))}}let gr=0;const yr=new Vector3;const vr=new Quaternion;const xr=new Matrix4;const br=new Vector3;const _r=new Vector3;const Mr=new Vector3;const wr=new Quaternion;const Sr=new Vector3(1,0,0);const Tr=new Vector3(0,1,0);const Er=new Vector3(0,0,1);const Ar={type:\"added\"};const Lr={type:\"removed\"};class Object3D extends EventDispatcher{constructor(){super();Object.defineProperty(this,\"id\",{value:gr++});this.uuid=generateUUID();this.name=\"\";this.type=\"Object3D\";this.parent=null;this.children=[];this.up=Object3D.DefaultUp.clone();const e=new Vector3;const t=new Euler;const n=new Quaternion;const r=new Vector3(1,1,1);function onRotationChange(){n.setFromEuler(t,false)}function onQuaternionChange(){t.setFromQuaternion(n,void 0,false)}t._onChange(onRotationChange);n._onChange(onQuaternionChange);Object.defineProperties(this,{position:{configurable:true,enumerable:true,value:e},rotation:{configurable:true,enumerable:true,value:t},quaternion:{configurable:true,enumerable:true,value:n},scale:{configurable:true,enumerable:true,value:r},modelViewMatrix:{value:new Matrix4},normalMatrix:{value:new Matrix3}});this.matrix=new Matrix4;this.matrixWorld=new Matrix4;this.matrixAutoUpdate=Object3D.DefaultMatrixAutoUpdate;this.matrixWorldNeedsUpdate=false;this.layers=new Layers;this.visible=true;this.castShadow=false;this.receiveShadow=false;this.frustumCulled=true;this.renderOrder=0;this.animations=[];this.userData={}}onBeforeRender(){}onAfterRender(){}applyMatrix4(e){this.matrixAutoUpdate&&this.updateMatrix();this.matrix.premultiply(e);this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(e){this.quaternion.premultiply(e);return this}setRotationFromAxisAngle(e,t){this.quaternion.setFromAxisAngle(e,t)}setRotationFromEuler(e){this.quaternion.setFromEuler(e,true)}setRotationFromMatrix(e){this.quaternion.setFromRotationMatrix(e)}setRotationFromQuaternion(e){this.quaternion.copy(e)}rotateOnAxis(e,t){vr.setFromAxisAngle(e,t);this.quaternion.multiply(vr);return this}rotateOnWorldAxis(e,t){vr.setFromAxisAngle(e,t);this.quaternion.premultiply(vr);return this}rotateX(e){return this.rotateOnAxis(Sr,e)}rotateY(e){return this.rotateOnAxis(Tr,e)}rotateZ(e){return this.rotateOnAxis(Er,e)}translateOnAxis(e,t){yr.copy(e).applyQuaternion(this.quaternion);this.position.add(yr.multiplyScalar(t));return this}translateX(e){return this.translateOnAxis(Sr,e)}translateY(e){return this.translateOnAxis(Tr,e)}translateZ(e){return this.translateOnAxis(Er,e)}localToWorld(e){return e.applyMatrix4(this.matrixWorld)}worldToLocal(e){return e.applyMatrix4(xr.copy(this.matrixWorld).invert())}lookAt(e,t,n){e.isVector3?br.copy(e):br.set(e,t,n);const r=this.parent;this.updateWorldMatrix(true,false);_r.setFromMatrixPosition(this.matrixWorld);this.isCamera||this.isLight?xr.lookAt(_r,br,this.up):xr.lookAt(br,_r,this.up);this.quaternion.setFromRotationMatrix(xr);if(r){xr.extractRotation(r.matrixWorld);vr.setFromRotationMatrix(xr);this.quaternion.premultiply(vr.invert())}}add(e){if(arguments.length>1){for(let e=0;e<arguments.length;e++)this.add(arguments[e]);return this}if(e===this){console.error(\"THREE.Object3D.add: object can't be added as a child of itself.\",e);return this}if(e&&e.isObject3D){null!==e.parent&&e.parent.remove(e);e.parent=this;this.children.push(e);e.dispatchEvent(Ar)}else console.error(\"THREE.Object3D.add: object not an instance of THREE.Object3D.\",e);return this}remove(e){if(arguments.length>1){for(let e=0;e<arguments.length;e++)this.remove(arguments[e]);return this}const t=this.children.indexOf(e);if(-1!==t){e.parent=null;this.children.splice(t,1);e.dispatchEvent(Lr)}return this}removeFromParent(){const e=this.parent;null!==e&&e.remove(this);return this}clear(){for(let e=0;e<this.children.length;e++){const t=this.children[e];t.parent=null;t.dispatchEvent(Lr)}this.children.length=0;return this}attach(e){this.updateWorldMatrix(true,false);xr.copy(this.matrixWorld).invert();if(null!==e.parent){e.parent.updateWorldMatrix(true,false);xr.multiply(e.parent.matrixWorld)}e.applyMatrix4(xr);this.add(e);e.updateWorldMatrix(false,true);return this}getObjectById(e){return this.getObjectByProperty(\"id\",e)}getObjectByName(e){return this.getObjectByProperty(\"name\",e)}getObjectByProperty(e,t){if(this[e]===t)return this;for(let n=0,r=this.children.length;n<r;n++){const r=this.children[n];const i=r.getObjectByProperty(e,t);if(void 0!==i)return i}}getWorldPosition(e){this.updateWorldMatrix(true,false);return e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){this.updateWorldMatrix(true,false);this.matrixWorld.decompose(_r,e,Mr);return e}getWorldScale(e){this.updateWorldMatrix(true,false);this.matrixWorld.decompose(_r,wr,e);return e}getWorldDirection(e){this.updateWorldMatrix(true,false);const t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);const t=this.children;for(let n=0,r=t.length;n<r;n++)t[n].traverse(e)}traverseVisible(e){if(false===this.visible)return;e(this);const t=this.children;for(let n=0,r=t.length;n<r;n++)t[n].traverseVisible(e)}traverseAncestors(e){const t=this.parent;if(null!==t){e(t);t.traverseAncestors(e)}}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale);this.matrixWorldNeedsUpdate=true}updateMatrixWorld(e){this.matrixAutoUpdate&&this.updateMatrix();if(this.matrixWorldNeedsUpdate||e){null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix);this.matrixWorldNeedsUpdate=false;e=true}const t=this.children;for(let n=0,r=t.length;n<r;n++)t[n].updateMatrixWorld(e)}updateWorldMatrix(e,t){const n=this.parent;true===e&&null!==n&&n.updateWorldMatrix(true,false);this.matrixAutoUpdate&&this.updateMatrix();null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix);if(true===t){const e=this.children;for(let t=0,n=e.length;t<n;t++)e[t].updateWorldMatrix(false,true)}}toJSON(e){const t=void 0===e||\"string\"===typeof e;const n={};if(t){e={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{}};n.metadata={version:4.5,type:\"Object\",generator:\"Object3D.toJSON\"}}const r={};r.uuid=this.uuid;r.type=this.type;\"\"!==this.name&&(r.name=this.name);true===this.castShadow&&(r.castShadow=true);true===this.receiveShadow&&(r.receiveShadow=true);false===this.visible&&(r.visible=false);false===this.frustumCulled&&(r.frustumCulled=false);0!==this.renderOrder&&(r.renderOrder=this.renderOrder);\"{}\"!==JSON.stringify(this.userData)&&(r.userData=this.userData);r.layers=this.layers.mask;r.matrix=this.matrix.toArray();false===this.matrixAutoUpdate&&(r.matrixAutoUpdate=false);if(this.isInstancedMesh){r.type=\"InstancedMesh\";r.count=this.count;r.instanceMatrix=this.instanceMatrix.toJSON();null!==this.instanceColor&&(r.instanceColor=this.instanceColor.toJSON())}function serialize(t,n){void 0===t[n.uuid]&&(t[n.uuid]=n.toJSON(e));return n.uuid}if(this.isScene){this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid));this.environment&&this.environment.isTexture&&(r.environment=this.environment.toJSON(e).uuid)}else if(this.isMesh||this.isLine||this.isPoints){r.geometry=serialize(e.geometries,this.geometry);const t=this.geometry.parameters;if(void 0!==t&&void 0!==t.shapes){const n=t.shapes;if(Array.isArray(n))for(let t=0,r=n.length;t<r;t++){const r=n[t];serialize(e.shapes,r)}else serialize(e.shapes,n)}}if(this.isSkinnedMesh){r.bindMode=this.bindMode;r.bindMatrix=this.bindMatrix.toArray();if(void 0!==this.skeleton){serialize(e.skeletons,this.skeleton);r.skeleton=this.skeleton.uuid}}if(void 0!==this.material)if(Array.isArray(this.material)){const t=[];for(let n=0,r=this.material.length;n<r;n++)t.push(serialize(e.materials,this.material[n]));r.material=t}else r.material=serialize(e.materials,this.material);if(this.children.length>0){r.children=[];for(let t=0;t<this.children.length;t++)r.children.push(this.children[t].toJSON(e).object)}if(this.animations.length>0){r.animations=[];for(let t=0;t<this.animations.length;t++){const n=this.animations[t];r.animations.push(serialize(e.animations,n))}}if(t){const t=extractFromCache(e.geometries);const r=extractFromCache(e.materials);const i=extractFromCache(e.textures);const s=extractFromCache(e.images);const a=extractFromCache(e.shapes);const o=extractFromCache(e.skeletons);const l=extractFromCache(e.animations);t.length>0&&(n.geometries=t);r.length>0&&(n.materials=r);i.length>0&&(n.textures=i);s.length>0&&(n.images=s);a.length>0&&(n.shapes=a);o.length>0&&(n.skeletons=o);l.length>0&&(n.animations=l)}n.object=r;return n;function extractFromCache(e){const t=[];for(const n in e){const r=e[n];delete r.metadata;t.push(r)}return t}}clone(e){return(new this.constructor).copy(this,e)}copy(e,t=true){this.name=e.name;this.up.copy(e.up);this.position.copy(e.position);this.rotation.order=e.rotation.order;this.quaternion.copy(e.quaternion);this.scale.copy(e.scale);this.matrix.copy(e.matrix);this.matrixWorld.copy(e.matrixWorld);this.matrixAutoUpdate=e.matrixAutoUpdate;this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate;this.layers.mask=e.layers.mask;this.visible=e.visible;this.castShadow=e.castShadow;this.receiveShadow=e.receiveShadow;this.frustumCulled=e.frustumCulled;this.renderOrder=e.renderOrder;this.userData=JSON.parse(JSON.stringify(e.userData));if(true===t)for(let t=0;t<e.children.length;t++){const n=e.children[t];this.add(n.clone())}return this}}Object3D.DefaultUp=new Vector3(0,1,0);Object3D.DefaultMatrixAutoUpdate=true;Object3D.prototype.isObject3D=true;const Cr=new Vector3;const Rr=new Vector3;const Pr=new Vector3;const Ir=new Vector3;const Dr=new Vector3;const Br=new Vector3;const Vr=new Vector3;const Nr=new Vector3;const Ur=new Vector3;const zr=new Vector3;class Triangle{constructor(e=new Vector3,t=new Vector3,n=new Vector3){this.a=e;this.b=t;this.c=n}static getNormal(e,t,n,r){r.subVectors(n,t);Cr.subVectors(e,t);r.cross(Cr);const i=r.lengthSq();return i>0?r.multiplyScalar(1/Math.sqrt(i)):r.set(0,0,0)}static getBarycoord(e,t,n,r,i){Cr.subVectors(r,t);Rr.subVectors(n,t);Pr.subVectors(e,t);const s=Cr.dot(Cr);const a=Cr.dot(Rr);const o=Cr.dot(Pr);const l=Rr.dot(Rr);const c=Rr.dot(Pr);const u=s*l-a*a;if(0===u)return i.set(-2,-1,-1);const h=1/u;const d=(l*o-a*c)*h;const p=(s*c-a*o)*h;return i.set(1-d-p,p,d)}static containsPoint(e,t,n,r){this.getBarycoord(e,t,n,r,Ir);return Ir.x>=0&&Ir.y>=0&&Ir.x+Ir.y<=1}static getUV(e,t,n,r,i,s,a,o){this.getBarycoord(e,t,n,r,Ir);o.set(0,0);o.addScaledVector(i,Ir.x);o.addScaledVector(s,Ir.y);o.addScaledVector(a,Ir.z);return o}static isFrontFacing(e,t,n,r){Cr.subVectors(n,t);Rr.subVectors(e,t);return Cr.cross(Rr).dot(r)<0}set(e,t,n){this.a.copy(e);this.b.copy(t);this.c.copy(n);return this}setFromPointsAndIndices(e,t,n,r){this.a.copy(e[t]);this.b.copy(e[n]);this.c.copy(e[r]);return this}setFromAttributeAndIndices(e,t,n,r){this.a.fromBufferAttribute(e,t);this.b.fromBufferAttribute(e,n);this.c.fromBufferAttribute(e,r);return this}clone(){return(new this.constructor).copy(this)}copy(e){this.a.copy(e.a);this.b.copy(e.b);this.c.copy(e.c);return this}getArea(){Cr.subVectors(this.c,this.b);Rr.subVectors(this.a,this.b);return.5*Cr.cross(Rr).length()}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return Triangle.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return Triangle.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,n,r,i){return Triangle.getUV(e,this.a,this.b,this.c,t,n,r,i)}containsPoint(e){return Triangle.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return Triangle.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const n=this.a,r=this.b,i=this.c;let s,a;Dr.subVectors(r,n);Br.subVectors(i,n);Nr.subVectors(e,n);const o=Dr.dot(Nr);const l=Br.dot(Nr);if(o<=0&&l<=0)return t.copy(n);Ur.subVectors(e,r);const c=Dr.dot(Ur);const u=Br.dot(Ur);if(c>=0&&u<=c)return t.copy(r);const h=o*u-c*l;if(h<=0&&o>=0&&c<=0){s=o/(o-c);return t.copy(n).addScaledVector(Dr,s)}zr.subVectors(e,i);const d=Dr.dot(zr);const p=Br.dot(zr);if(p>=0&&d<=p)return t.copy(i);const f=d*l-o*p;if(f<=0&&l>=0&&p<=0){a=l/(l-p);return t.copy(n).addScaledVector(Br,a)}const m=c*p-d*u;if(m<=0&&u-c>=0&&d-p>=0){Vr.subVectors(i,r);a=(u-c)/(u-c+(d-p));return t.copy(r).addScaledVector(Vr,a)}const g=1/(m+f+h);s=f*g;a=h*g;return t.copy(n).addScaledVector(Dr,s).addScaledVector(Br,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}let Gr=0;class Material extends EventDispatcher{constructor(){super();Object.defineProperty(this,\"id\",{value:Gr++});this.uuid=generateUUID();this.name=\"\";this.type=\"Material\";this.fog=true;this.blending=y;this.side=h;this.vertexColors=false;this.opacity=1;this.format=Ne;this.transparent=false;this.blendSrc=I;this.blendDst=D;this.blendEquation=w;this.blendSrcAlpha=null;this.blendDstAlpha=null;this.blendEquationAlpha=null;this.depthFunc=H;this.depthTest=true;this.depthWrite=true;this.stencilWriteMask=255;this.stencilFunc=mn;this.stencilRef=0;this.stencilFuncMask=255;this.stencilFail=en;this.stencilZFail=en;this.stencilZPass=en;this.stencilWrite=false;this.clippingPlanes=null;this.clipIntersection=false;this.clipShadows=false;this.shadowSide=null;this.colorWrite=true;this.precision=null;this.polygonOffset=false;this.polygonOffsetFactor=0;this.polygonOffsetUnits=0;this.dithering=false;this.alphaToCoverage=false;this.premultipliedAlpha=false;this.visible=true;this.toneMapped=true;this.userData={};this.version=0;this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!==e>0&&this.version++;this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(void 0!==e)for(const t in e){const n=e[t];if(void 0===n){console.warn(\"THREE.Material: '\"+t+\"' parameter is undefined.\");continue}if(\"shading\"===t){console.warn(\"THREE.\"+this.type+\": .shading has been removed. Use the boolean .flatShading instead.\");this.flatShading=n===f;continue}const r=this[t];void 0!==r?r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[t]=n:console.warn(\"THREE.\"+this.type+\": '\"+t+\"' is not a property of this material.\")}}toJSON(e){const t=void 0===e||\"string\"===typeof e;t&&(e={textures:{},images:{}});const n={metadata:{version:4.5,type:\"Material\",generator:\"Material.toJSON\"}};n.uuid=this.uuid;n.type=this.type;\"\"!==this.name&&(n.name=this.name);this.color&&this.color.isColor&&(n.color=this.color.getHex());void 0!==this.roughness&&(n.roughness=this.roughness);void 0!==this.metalness&&(n.metalness=this.metalness);void 0!==this.sheen&&(n.sheen=this.sheen);this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex());void 0!==this.sheenRoughness&&(n.sheenRoughness=this.sheenRoughness);this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex());this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity);this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex());void 0!==this.specularIntensity&&(n.specularIntensity=this.specularIntensity);this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex());void 0!==this.shininess&&(n.shininess=this.shininess);void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat);void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness);this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid);this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid);if(this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture){n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid;n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()}this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid);this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid);this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid);if(this.lightMap&&this.lightMap.isTexture){n.lightMap=this.lightMap.toJSON(e).uuid;n.lightMapIntensity=this.lightMapIntensity}if(this.aoMap&&this.aoMap.isTexture){n.aoMap=this.aoMap.toJSON(e).uuid;n.aoMapIntensity=this.aoMapIntensity}if(this.bumpMap&&this.bumpMap.isTexture){n.bumpMap=this.bumpMap.toJSON(e).uuid;n.bumpScale=this.bumpScale}if(this.normalMap&&this.normalMap.isTexture){n.normalMap=this.normalMap.toJSON(e).uuid;n.normalMapType=this.normalMapType;n.normalScale=this.normalScale.toArray()}if(this.displacementMap&&this.displacementMap.isTexture){n.displacementMap=this.displacementMap.toJSON(e).uuid;n.displacementScale=this.displacementScale;n.displacementBias=this.displacementBias}this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid);this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid);this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid);this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid);this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid);this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid);if(this.envMap&&this.envMap.isTexture){n.envMap=this.envMap.toJSON(e).uuid;void 0!==this.combine&&(n.combine=this.combine)}void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity);void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity);void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio);this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid);void 0!==this.transmission&&(n.transmission=this.transmission);this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid);void 0!==this.thickness&&(n.thickness=this.thickness);this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid);void 0!==this.attenuationDistance&&(n.attenuationDistance=this.attenuationDistance);void 0!==this.attenuationColor&&(n.attenuationColor=this.attenuationColor.getHex());void 0!==this.size&&(n.size=this.size);null!==this.shadowSide&&(n.shadowSide=this.shadowSide);void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation);this.blending!==y&&(n.blending=this.blending);this.side!==h&&(n.side=this.side);this.vertexColors&&(n.vertexColors=true);this.opacity<1&&(n.opacity=this.opacity);this.format!==Ne&&(n.format=this.format);true===this.transparent&&(n.transparent=this.transparent);n.depthFunc=this.depthFunc;n.depthTest=this.depthTest;n.depthWrite=this.depthWrite;n.colorWrite=this.colorWrite;n.stencilWrite=this.stencilWrite;n.stencilWriteMask=this.stencilWriteMask;n.stencilFunc=this.stencilFunc;n.stencilRef=this.stencilRef;n.stencilFuncMask=this.stencilFuncMask;n.stencilFail=this.stencilFail;n.stencilZFail=this.stencilZFail;n.stencilZPass=this.stencilZPass;this.rotation&&0!==this.rotation&&(n.rotation=this.rotation);true===this.polygonOffset&&(n.polygonOffset=true);0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor);0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits);this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth);void 0!==this.dashSize&&(n.dashSize=this.dashSize);void 0!==this.gapSize&&(n.gapSize=this.gapSize);void 0!==this.scale&&(n.scale=this.scale);true===this.dithering&&(n.dithering=true);this.alphaTest>0&&(n.alphaTest=this.alphaTest);true===this.alphaToCoverage&&(n.alphaToCoverage=this.alphaToCoverage);true===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha);true===this.wireframe&&(n.wireframe=this.wireframe);this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth);\"round\"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap);\"round\"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin);true===this.flatShading&&(n.flatShading=this.flatShading);false===this.visible&&(n.visible=false);false===this.toneMapped&&(n.toneMapped=false);\"{}\"!==JSON.stringify(this.userData)&&(n.userData=this.userData);function extractFromCache(e){const t=[];for(const n in e){const r=e[n];delete r.metadata;t.push(r)}return t}if(t){const t=extractFromCache(e.textures);const r=extractFromCache(e.images);t.length>0&&(n.textures=t);r.length>0&&(n.images=r)}return n}clone(){return(new this.constructor).copy(this)}copy(e){this.name=e.name;this.fog=e.fog;this.blending=e.blending;this.side=e.side;this.vertexColors=e.vertexColors;this.opacity=e.opacity;this.format=e.format;this.transparent=e.transparent;this.blendSrc=e.blendSrc;this.blendDst=e.blendDst;this.blendEquation=e.blendEquation;this.blendSrcAlpha=e.blendSrcAlpha;this.blendDstAlpha=e.blendDstAlpha;this.blendEquationAlpha=e.blendEquationAlpha;this.depthFunc=e.depthFunc;this.depthTest=e.depthTest;this.depthWrite=e.depthWrite;this.stencilWriteMask=e.stencilWriteMask;this.stencilFunc=e.stencilFunc;this.stencilRef=e.stencilRef;this.stencilFuncMask=e.stencilFuncMask;this.stencilFail=e.stencilFail;this.stencilZFail=e.stencilZFail;this.stencilZPass=e.stencilZPass;this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let n=null;if(null!==t){const e=t.length;n=new Array(e);for(let r=0;r!==e;++r)n[r]=t[r].clone()}this.clippingPlanes=n;this.clipIntersection=e.clipIntersection;this.clipShadows=e.clipShadows;this.shadowSide=e.shadowSide;this.colorWrite=e.colorWrite;this.precision=e.precision;this.polygonOffset=e.polygonOffset;this.polygonOffsetFactor=e.polygonOffsetFactor;this.polygonOffsetUnits=e.polygonOffsetUnits;this.dithering=e.dithering;this.alphaTest=e.alphaTest;this.alphaToCoverage=e.alphaToCoverage;this.premultipliedAlpha=e.premultipliedAlpha;this.visible=e.visible;this.toneMapped=e.toneMapped;this.userData=JSON.parse(JSON.stringify(e.userData));return this}dispose(){this.dispatchEvent({type:\"dispose\"})}set needsUpdate(e){true===e&&this.version++}}Material.prototype.isMaterial=true;const Fr={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};const Or={h:0,s:0,l:0};const Hr={h:0,s:0,l:0};function hue2rgb(e,t,n){n<0&&(n+=1);n>1&&(n-=1);return n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+6*(t-e)*(2/3-n):e}function SRGBToLinear(e){return e<.04045?.0773993808*e:Math.pow(.9478672986*e+.0521327014,2.4)}function LinearToSRGB(e){return e<.0031308?12.92*e:1.055*Math.pow(e,.41666)-.055}class Color{constructor(e,t,n){return void 0===t&&void 0===n?this.set(e):this.setRGB(e,t,n)}set(e){e&&e.isColor?this.copy(e):\"number\"===typeof e?this.setHex(e):\"string\"===typeof e&&this.setStyle(e);return this}setScalar(e){this.r=e;this.g=e;this.b=e;return this}setHex(e){e=Math.floor(e);this.r=(e>>16&255)/255;this.g=(e>>8&255)/255;this.b=(255&e)/255;return this}setRGB(e,t,n){this.r=e;this.g=t;this.b=n;return this}setHSL(e,t,n){e=euclideanModulo(e,1);t=clamp(t,0,1);n=clamp(n,0,1);if(0===t)this.r=this.g=this.b=n;else{const r=n<=.5?n*(1+t):n+t-n*t;const i=2*n-r;this.r=hue2rgb(i,r,e+1/3);this.g=hue2rgb(i,r,e);this.b=hue2rgb(i,r,e-1/3)}return this}setStyle(e){function handleAlpha(t){void 0!==t&&parseFloat(t)<1&&console.warn(\"THREE.Color: Alpha component of \"+e+\" will be ignored.\")}let t;if(t=/^((?:rgb|hsl)a?)\\(([^\\)]*)\\)/.exec(e)){let e;const n=t[1];const r=t[2];switch(n){case\"rgb\":case\"rgba\":if(e=/^\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(r)){this.r=Math.min(255,parseInt(e[1],10))/255;this.g=Math.min(255,parseInt(e[2],10))/255;this.b=Math.min(255,parseInt(e[3],10))/255;handleAlpha(e[4]);return this}if(e=/^\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(r)){this.r=Math.min(100,parseInt(e[1],10))/100;this.g=Math.min(100,parseInt(e[2],10))/100;this.b=Math.min(100,parseInt(e[3],10))/100;handleAlpha(e[4]);return this}break;case\"hsl\":case\"hsla\":if(e=/^\\s*(\\d*\\.?\\d+)\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(r)){const t=parseFloat(e[1])/360;const n=parseInt(e[2],10)/100;const r=parseInt(e[3],10)/100;handleAlpha(e[4]);return this.setHSL(t,n,r)}break}}else if(t=/^\\#([A-Fa-f\\d]+)$/.exec(e)){const e=t[1];const n=e.length;if(3===n){this.r=parseInt(e.charAt(0)+e.charAt(0),16)/255;this.g=parseInt(e.charAt(1)+e.charAt(1),16)/255;this.b=parseInt(e.charAt(2)+e.charAt(2),16)/255;return this}if(6===n){this.r=parseInt(e.charAt(0)+e.charAt(1),16)/255;this.g=parseInt(e.charAt(2)+e.charAt(3),16)/255;this.b=parseInt(e.charAt(4)+e.charAt(5),16)/255;return this}}return e&&e.length>0?this.setColorName(e):this}setColorName(e){const t=Fr[e.toLowerCase()];void 0!==t?this.setHex(t):console.warn(\"THREE.Color: Unknown color \"+e);return this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){this.r=e.r;this.g=e.g;this.b=e.b;return this}copySRGBToLinear(e){this.r=SRGBToLinear(e.r);this.g=SRGBToLinear(e.g);this.b=SRGBToLinear(e.b);return this}copyLinearToSRGB(e){this.r=LinearToSRGB(e.r);this.g=LinearToSRGB(e.g);this.b=LinearToSRGB(e.b);return this}convertSRGBToLinear(){this.copySRGBToLinear(this);return this}convertLinearToSRGB(){this.copyLinearToSRGB(this);return this}getHex(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0}getHexString(){return(\"000000\"+this.getHex().toString(16)).slice(-6)}getHSL(e){const t=this.r,n=this.g,r=this.b;const i=Math.max(t,n,r);const s=Math.min(t,n,r);let a,o;const l=(s+i)/2;if(s===i){a=0;o=0}else{const e=i-s;o=l<=.5?e/(i+s):e/(2-i-s);switch(i){case t:a=(n-r)/e+(n<r?6:0);break;case n:a=(r-t)/e+2;break;case r:a=(t-n)/e+4;break}a/=6}e.h=a;e.s=o;e.l=l;return e}getStyle(){return\"rgb(\"+(255*this.r|0)+\",\"+(255*this.g|0)+\",\"+(255*this.b|0)+\")\"}offsetHSL(e,t,n){this.getHSL(Or);Or.h+=e;Or.s+=t;Or.l+=n;this.setHSL(Or.h,Or.s,Or.l);return this}add(e){this.r+=e.r;this.g+=e.g;this.b+=e.b;return this}addColors(e,t){this.r=e.r+t.r;this.g=e.g+t.g;this.b=e.b+t.b;return this}addScalar(e){this.r+=e;this.g+=e;this.b+=e;return this}sub(e){this.r=Math.max(0,this.r-e.r);this.g=Math.max(0,this.g-e.g);this.b=Math.max(0,this.b-e.b);return this}multiply(e){this.r*=e.r;this.g*=e.g;this.b*=e.b;return this}multiplyScalar(e){this.r*=e;this.g*=e;this.b*=e;return this}lerp(e,t){this.r+=(e.r-this.r)*t;this.g+=(e.g-this.g)*t;this.b+=(e.b-this.b)*t;return this}lerpColors(e,t,n){this.r=e.r+(t.r-e.r)*n;this.g=e.g+(t.g-e.g)*n;this.b=e.b+(t.b-e.b)*n;return this}lerpHSL(e,t){this.getHSL(Or);e.getHSL(Hr);const n=lerp(Or.h,Hr.h,t);const r=lerp(Or.s,Hr.s,t);const i=lerp(Or.l,Hr.l,t);this.setHSL(n,r,i);return this}equals(e){return e.r===this.r&&e.g===this.g&&e.b===this.b}fromArray(e,t=0){this.r=e[t];this.g=e[t+1];this.b=e[t+2];return this}toArray(e=[],t=0){e[t]=this.r;e[t+1]=this.g;e[t+2]=this.b;return e}fromBufferAttribute(e,t){this.r=e.getX(t);this.g=e.getY(t);this.b=e.getZ(t);if(true===e.normalized){this.r/=255;this.g/=255;this.b/=255}return this}toJSON(){return this.getHex()}}Color.NAMES=Fr;Color.prototype.isColor=true;Color.prototype.r=1;Color.prototype.g=1;Color.prototype.b=1;class MeshBasicMaterial extends Material{constructor(e){super();this.type=\"MeshBasicMaterial\";this.color=new Color(16777215);this.map=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.specularMap=null;this.alphaMap=null;this.envMap=null;this.combine=X;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.map=e.map;this.lightMap=e.lightMap;this.lightMapIntensity=e.lightMapIntensity;this.aoMap=e.aoMap;this.aoMapIntensity=e.aoMapIntensity;this.specularMap=e.specularMap;this.alphaMap=e.alphaMap;this.envMap=e.envMap;this.combine=e.combine;this.reflectivity=e.reflectivity;this.refractionRatio=e.refractionRatio;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.wireframeLinecap=e.wireframeLinecap;this.wireframeLinejoin=e.wireframeLinejoin;return this}}MeshBasicMaterial.prototype.isMeshBasicMaterial=true;const kr=new Vector3;const Wr=new Vector2;class BufferAttribute{constructor(e,t,n){if(Array.isArray(e))throw new TypeError(\"THREE.BufferAttribute: array should be a Typed Array.\");this.name=\"\";this.array=e;this.itemSize=t;this.count=void 0!==e?e.length/t:0;this.normalized=true===n;this.usage=gn;this.updateRange={offset:0,count:-1};this.version=0}onUploadCallback(){}set needsUpdate(e){true===e&&this.version++}setUsage(e){this.usage=e;return this}copy(e){this.name=e.name;this.array=new e.array.constructor(e.array);this.itemSize=e.itemSize;this.count=e.count;this.normalized=e.normalized;this.usage=e.usage;return this}copyAt(e,t,n){e*=this.itemSize;n*=t.itemSize;for(let r=0,i=this.itemSize;r<i;r++)this.array[e+r]=t.array[n+r];return this}copyArray(e){this.array.set(e);return this}copyColorsArray(e){const t=this.array;let n=0;for(let r=0,i=e.length;r<i;r++){let i=e[r];if(void 0===i){console.warn(\"THREE.BufferAttribute.copyColorsArray(): color is undefined\",r);i=new Color}t[n++]=i.r;t[n++]=i.g;t[n++]=i.b}return this}copyVector2sArray(e){const t=this.array;let n=0;for(let r=0,i=e.length;r<i;r++){let i=e[r];if(void 0===i){console.warn(\"THREE.BufferAttribute.copyVector2sArray(): vector is undefined\",r);i=new Vector2}t[n++]=i.x;t[n++]=i.y}return this}copyVector3sArray(e){const t=this.array;let n=0;for(let r=0,i=e.length;r<i;r++){let i=e[r];if(void 0===i){console.warn(\"THREE.BufferAttribute.copyVector3sArray(): vector is undefined\",r);i=new Vector3}t[n++]=i.x;t[n++]=i.y;t[n++]=i.z}return this}copyVector4sArray(e){const t=this.array;let n=0;for(let r=0,i=e.length;r<i;r++){let i=e[r];if(void 0===i){console.warn(\"THREE.BufferAttribute.copyVector4sArray(): vector is undefined\",r);i=new Vector4}t[n++]=i.x;t[n++]=i.y;t[n++]=i.z;t[n++]=i.w}return this}applyMatrix3(e){if(2===this.itemSize)for(let t=0,n=this.count;t<n;t++){Wr.fromBufferAttribute(this,t);Wr.applyMatrix3(e);this.setXY(t,Wr.x,Wr.y)}else if(3===this.itemSize)for(let t=0,n=this.count;t<n;t++){kr.fromBufferAttribute(this,t);kr.applyMatrix3(e);this.setXYZ(t,kr.x,kr.y,kr.z)}return this}applyMatrix4(e){for(let t=0,n=this.count;t<n;t++){kr.x=this.getX(t);kr.y=this.getY(t);kr.z=this.getZ(t);kr.applyMatrix4(e);this.setXYZ(t,kr.x,kr.y,kr.z)}return this}applyNormalMatrix(e){for(let t=0,n=this.count;t<n;t++){kr.x=this.getX(t);kr.y=this.getY(t);kr.z=this.getZ(t);kr.applyNormalMatrix(e);this.setXYZ(t,kr.x,kr.y,kr.z)}return this}transformDirection(e){for(let t=0,n=this.count;t<n;t++){kr.x=this.getX(t);kr.y=this.getY(t);kr.z=this.getZ(t);kr.transformDirection(e);this.setXYZ(t,kr.x,kr.y,kr.z)}return this}set(e,t=0){this.array.set(e,t);return this}getX(e){return this.array[e*this.itemSize]}setX(e,t){this.array[e*this.itemSize]=t;return this}getY(e){return this.array[e*this.itemSize+1]}setY(e,t){this.array[e*this.itemSize+1]=t;return this}getZ(e){return this.array[e*this.itemSize+2]}setZ(e,t){this.array[e*this.itemSize+2]=t;return this}getW(e){return this.array[e*this.itemSize+3]}setW(e,t){this.array[e*this.itemSize+3]=t;return this}setXY(e,t,n){e*=this.itemSize;this.array[e+0]=t;this.array[e+1]=n;return this}setXYZ(e,t,n,r){e*=this.itemSize;this.array[e+0]=t;this.array[e+1]=n;this.array[e+2]=r;return this}setXYZW(e,t,n,r,i){e*=this.itemSize;this.array[e+0]=t;this.array[e+1]=n;this.array[e+2]=r;this.array[e+3]=i;return this}onUpload(e){this.onUploadCallback=e;return this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){const e={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.prototype.slice.call(this.array),normalized:this.normalized};\"\"!==this.name&&(e.name=this.name);this.usage!==gn&&(e.usage=this.usage);0===this.updateRange.offset&&-1===this.updateRange.count||(e.updateRange=this.updateRange);return e}}BufferAttribute.prototype.isBufferAttribute=true;class Int8BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Int8Array(e),t,n)}}class Uint8BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Uint8Array(e),t,n)}}class Uint8ClampedBufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Uint8ClampedArray(e),t,n)}}class Int16BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Int16Array(e),t,n)}}class Uint16BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Uint16Array(e),t,n)}}class Int32BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Int32Array(e),t,n)}}class Uint32BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Uint32Array(e),t,n)}}class Float16BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Uint16Array(e),t,n)}}Float16BufferAttribute.prototype.isFloat16BufferAttribute=true;class Float32BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Float32Array(e),t,n)}}class Float64BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Float64Array(e),t,n)}}let jr=0;const qr=new Matrix4;const Xr=new Object3D;const Jr=new Vector3;const Yr=new Box3;const Zr=new Box3;const Qr=new Vector3;class BufferGeometry extends EventDispatcher{constructor(){super();Object.defineProperty(this,\"id\",{value:jr++});this.uuid=generateUUID();this.name=\"\";this.type=\"BufferGeometry\";this.index=null;this.attributes={};this.morphAttributes={};this.morphTargetsRelative=false;this.groups=[];this.boundingBox=null;this.boundingSphere=null;this.drawRange={start:0,count:Infinity};this.userData={}}getIndex(){return this.index}setIndex(e){Array.isArray(e)?this.index=new(arrayMax(e)>65535?Uint32BufferAttribute:Uint16BufferAttribute)(e,1):this.index=e;return this}getAttribute(e){return this.attributes[e]}setAttribute(e,t){this.attributes[e]=t;return this}deleteAttribute(e){delete this.attributes[e];return this}hasAttribute(e){return void 0!==this.attributes[e]}addGroup(e,t,n=0){this.groups.push({start:e,count:t,materialIndex:n})}clearGroups(){this.groups=[]}setDrawRange(e,t){this.drawRange.start=e;this.drawRange.count=t}applyMatrix4(e){const t=this.attributes.position;if(void 0!==t){t.applyMatrix4(e);t.needsUpdate=true}const n=this.attributes.normal;if(void 0!==n){const t=(new Matrix3).getNormalMatrix(e);n.applyNormalMatrix(t);n.needsUpdate=true}const r=this.attributes.tangent;if(void 0!==r){r.transformDirection(e);r.needsUpdate=true}null!==this.boundingBox&&this.computeBoundingBox();null!==this.boundingSphere&&this.computeBoundingSphere();return this}applyQuaternion(e){qr.makeRotationFromQuaternion(e);this.applyMatrix4(qr);return this}rotateX(e){qr.makeRotationX(e);this.applyMatrix4(qr);return this}rotateY(e){qr.makeRotationY(e);this.applyMatrix4(qr);return this}rotateZ(e){qr.makeRotationZ(e);this.applyMatrix4(qr);return this}translate(e,t,n){qr.makeTranslation(e,t,n);this.applyMatrix4(qr);return this}scale(e,t,n){qr.makeScale(e,t,n);this.applyMatrix4(qr);return this}lookAt(e){Xr.lookAt(e);Xr.updateMatrix();this.applyMatrix4(Xr.matrix);return this}center(){this.computeBoundingBox();this.boundingBox.getCenter(Jr).negate();this.translate(Jr.x,Jr.y,Jr.z);return this}setFromPoints(e){const t=[];for(let n=0,r=e.length;n<r;n++){const r=e[n];t.push(r.x,r.y,r.z||0)}this.setAttribute(\"position\",new Float32BufferAttribute(t,3));return this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new Box3);const e=this.attributes.position;const t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error('THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set \"mesh.frustumCulled\" to \"false\".',this);this.boundingBox.set(new Vector3(-Infinity,-Infinity,-Infinity),new Vector3(Infinity,Infinity,Infinity))}else{if(void 0!==e){this.boundingBox.setFromBufferAttribute(e);if(t)for(let e=0,n=t.length;e<n;e++){const n=t[e];Yr.setFromBufferAttribute(n);if(this.morphTargetsRelative){Qr.addVectors(this.boundingBox.min,Yr.min);this.boundingBox.expandByPoint(Qr);Qr.addVectors(this.boundingBox.max,Yr.max);this.boundingBox.expandByPoint(Qr)}else{this.boundingBox.expandByPoint(Yr.min);this.boundingBox.expandByPoint(Yr.max)}}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The \"position\" attribute is likely to have NaN values.',this)}}computeBoundingSphere(){null===this.boundingSphere&&(this.boundingSphere=new Sphere);const e=this.attributes.position;const t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error('THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set \"mesh.frustumCulled\" to \"false\".',this);this.boundingSphere.set(new Vector3,Infinity)}else if(e){const n=this.boundingSphere.center;Yr.setFromBufferAttribute(e);if(t)for(let e=0,n=t.length;e<n;e++){const n=t[e];Zr.setFromBufferAttribute(n);if(this.morphTargetsRelative){Qr.addVectors(Yr.min,Zr.min);Yr.expandByPoint(Qr);Qr.addVectors(Yr.max,Zr.max);Yr.expandByPoint(Qr)}else{Yr.expandByPoint(Zr.min);Yr.expandByPoint(Zr.max)}}Yr.getCenter(n);let r=0;for(let t=0,i=e.count;t<i;t++){Qr.fromBufferAttribute(e,t);r=Math.max(r,n.distanceToSquared(Qr))}if(t)for(let i=0,s=t.length;i<s;i++){const s=t[i];const a=this.morphTargetsRelative;for(let t=0,i=s.count;t<i;t++){Qr.fromBufferAttribute(s,t);if(a){Jr.fromBufferAttribute(e,t);Qr.add(Jr)}r=Math.max(r,n.distanceToSquared(Qr))}}this.boundingSphere.radius=Math.sqrt(r);isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The \"position\" attribute is likely to have NaN values.',this)}}computeTangents(){const e=this.index;const t=this.attributes;if(null===e||void 0===t.position||void 0===t.normal||void 0===t.uv){console.error(\"THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)\");return}const n=e.array;const r=t.position.array;const i=t.normal.array;const s=t.uv.array;const a=r.length/3;void 0===t.tangent&&this.setAttribute(\"tangent\",new BufferAttribute(new Float32Array(4*a),4));const o=t.tangent.array;const l=[],c=[];for(let e=0;e<a;e++){l[e]=new Vector3;c[e]=new Vector3}const u=new Vector3,h=new Vector3,d=new Vector3,p=new Vector2,f=new Vector2,m=new Vector2,g=new Vector3,y=new Vector3;function handleTriangle(e,t,n){u.fromArray(r,3*e);h.fromArray(r,3*t);d.fromArray(r,3*n);p.fromArray(s,2*e);f.fromArray(s,2*t);m.fromArray(s,2*n);h.sub(u);d.sub(u);f.sub(p);m.sub(p);const i=1/(f.x*m.y-m.x*f.y);if(isFinite(i)){g.copy(h).multiplyScalar(m.y).addScaledVector(d,-f.y).multiplyScalar(i);y.copy(d).multiplyScalar(f.x).addScaledVector(h,-m.x).multiplyScalar(i);l[e].add(g);l[t].add(g);l[n].add(g);c[e].add(y);c[t].add(y);c[n].add(y)}}let x=this.groups;0===x.length&&(x=[{start:0,count:n.length}]);for(let e=0,t=x.length;e<t;++e){const t=x[e];const r=t.start;const i=t.count;for(let e=r,t=r+i;e<t;e+=3)handleTriangle(n[e+0],n[e+1],n[e+2])}const b=new Vector3,_=new Vector3;const M=new Vector3,w=new Vector3;function handleVertex(e){M.fromArray(i,3*e);w.copy(M);const t=l[e];b.copy(t);b.sub(M.multiplyScalar(M.dot(t))).normalize();_.crossVectors(w,t);const n=_.dot(c[e]);const r=n<0?-1:1;o[4*e]=b.x;o[4*e+1]=b.y;o[4*e+2]=b.z;o[4*e+3]=r}for(let e=0,t=x.length;e<t;++e){const t=x[e];const r=t.start;const i=t.count;for(let e=r,t=r+i;e<t;e+=3){handleVertex(n[e+0]);handleVertex(n[e+1]);handleVertex(n[e+2])}}}computeVertexNormals(){const e=this.index;const t=this.getAttribute(\"position\");if(void 0!==t){let n=this.getAttribute(\"normal\");if(void 0===n){n=new BufferAttribute(new Float32Array(3*t.count),3);this.setAttribute(\"normal\",n)}else for(let e=0,t=n.count;e<t;e++)n.setXYZ(e,0,0,0);const r=new Vector3,i=new Vector3,s=new Vector3;const a=new Vector3,o=new Vector3,l=new Vector3;const c=new Vector3,u=new Vector3;if(e)for(let h=0,d=e.count;h<d;h+=3){const d=e.getX(h+0);const p=e.getX(h+1);const f=e.getX(h+2);r.fromBufferAttribute(t,d);i.fromBufferAttribute(t,p);s.fromBufferAttribute(t,f);c.subVectors(s,i);u.subVectors(r,i);c.cross(u);a.fromBufferAttribute(n,d);o.fromBufferAttribute(n,p);l.fromBufferAttribute(n,f);a.add(c);o.add(c);l.add(c);n.setXYZ(d,a.x,a.y,a.z);n.setXYZ(p,o.x,o.y,o.z);n.setXYZ(f,l.x,l.y,l.z)}else for(let e=0,a=t.count;e<a;e+=3){r.fromBufferAttribute(t,e+0);i.fromBufferAttribute(t,e+1);s.fromBufferAttribute(t,e+2);c.subVectors(s,i);u.subVectors(r,i);c.cross(u);n.setXYZ(e+0,c.x,c.y,c.z);n.setXYZ(e+1,c.x,c.y,c.z);n.setXYZ(e+2,c.x,c.y,c.z)}this.normalizeNormals();n.needsUpdate=true}}merge(e,t){if(!(e&&e.isBufferGeometry)){console.error(\"THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.\",e);return}if(void 0===t){t=0;console.warn(\"THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge.\")}const n=this.attributes;for(const r in n){if(void 0===e.attributes[r])continue;const i=n[r];const s=i.array;const a=e.attributes[r];const o=a.array;const l=a.itemSize*t;const c=Math.min(o.length,s.length-l);for(let e=0,t=l;e<c;e++,t++)s[t]=o[e]}return this}normalizeNormals(){const e=this.attributes.normal;for(let t=0,n=e.count;t<n;t++){Qr.fromBufferAttribute(e,t);Qr.normalize();e.setXYZ(t,Qr.x,Qr.y,Qr.z)}}toNonIndexed(){function convertBufferAttribute(e,t){const n=e.array;const r=e.itemSize;const i=e.normalized;const s=new n.constructor(t.length*r);let a=0,o=0;for(let i=0,l=t.length;i<l;i++){a=e.isInterleavedBufferAttribute?t[i]*e.data.stride+e.offset:t[i]*r;for(let e=0;e<r;e++)s[o++]=n[a++]}return new BufferAttribute(s,r,i)}if(null===this.index){console.warn(\"THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed.\");return this}const e=new BufferGeometry;const t=this.index.array;const n=this.attributes;for(const r in n){const i=n[r];const s=convertBufferAttribute(i,t);e.setAttribute(r,s)}const r=this.morphAttributes;for(const n in r){const i=[];const s=r[n];for(let e=0,n=s.length;e<n;e++){const n=s[e];const r=convertBufferAttribute(n,t);i.push(r)}e.morphAttributes[n]=i}e.morphTargetsRelative=this.morphTargetsRelative;const i=this.groups;for(let t=0,n=i.length;t<n;t++){const n=i[t];e.addGroup(n.start,n.count,n.materialIndex)}return e}toJSON(){const e={metadata:{version:4.5,type:\"BufferGeometry\",generator:\"BufferGeometry.toJSON\"}};e.uuid=this.uuid;e.type=this.type;\"\"!==this.name&&(e.name=this.name);Object.keys(this.userData).length>0&&(e.userData=this.userData);if(void 0!==this.parameters){const t=this.parameters;for(const n in t)void 0!==t[n]&&(e[n]=t[n]);return e}e.data={attributes:{}};const t=this.index;null!==t&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const n=this.attributes;for(const t in n){const r=n[t];e.data.attributes[t]=r.toJSON(e.data)}const r={};let i=false;for(const t in this.morphAttributes){const n=this.morphAttributes[t];const s=[];for(let t=0,r=n.length;t<r;t++){const r=n[t];s.push(r.toJSON(e.data))}if(s.length>0){r[t]=s;i=true}}if(i){e.data.morphAttributes=r;e.data.morphTargetsRelative=this.morphTargetsRelative}const s=this.groups;s.length>0&&(e.data.groups=JSON.parse(JSON.stringify(s)));const a=this.boundingSphere;null!==a&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius});return e}clone(){return(new this.constructor).copy(this)}copy(e){this.index=null;this.attributes={};this.morphAttributes={};this.groups=[];this.boundingBox=null;this.boundingSphere=null;const t={};this.name=e.name;const n=e.index;null!==n&&this.setIndex(n.clone(t));const r=e.attributes;for(const e in r){const n=r[e];this.setAttribute(e,n.clone(t))}const i=e.morphAttributes;for(const e in i){const n=[];const r=i[e];for(let e=0,i=r.length;e<i;e++)n.push(r[e].clone(t));this.morphAttributes[e]=n}this.morphTargetsRelative=e.morphTargetsRelative;const s=e.groups;for(let e=0,t=s.length;e<t;e++){const t=s[e];this.addGroup(t.start,t.count,t.materialIndex)}const a=e.boundingBox;null!==a&&(this.boundingBox=a.clone());const o=e.boundingSphere;null!==o&&(this.boundingSphere=o.clone());this.drawRange.start=e.drawRange.start;this.drawRange.count=e.drawRange.count;this.userData=e.userData;void 0!==e.parameters&&(this.parameters=Object.assign({},e.parameters));return this}dispose(){this.dispatchEvent({type:\"dispose\"})}}BufferGeometry.prototype.isBufferGeometry=true;const Kr=new Matrix4;const $r=new Ray;const ei=new Sphere;const ti=new Vector3;const ni=new Vector3;const ri=new Vector3;const ii=new Vector3;const si=new Vector3;const ai=new Vector3;const oi=new Vector3;const li=new Vector3;const ci=new Vector3;const ui=new Vector2;const hi=new Vector2;const di=new Vector2;const pi=new Vector3;const fi=new Vector3;class Mesh extends Object3D{constructor(e=new BufferGeometry,t=new MeshBasicMaterial){super();this.type=\"Mesh\";this.geometry=e;this.material=t;this.updateMorphTargets()}copy(e){super.copy(e);void 0!==e.morphTargetInfluences&&(this.morphTargetInfluences=e.morphTargetInfluences.slice());void 0!==e.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary));this.material=e.material;this.geometry=e.geometry;return this}updateMorphTargets(){const e=this.geometry;if(e.isBufferGeometry){const t=e.morphAttributes;const n=Object.keys(t);if(n.length>0){const e=t[n[0]];if(void 0!==e){this.morphTargetInfluences=[];this.morphTargetDictionary={};for(let t=0,n=e.length;t<n;t++){const n=e[t].name||String(t);this.morphTargetInfluences.push(0);this.morphTargetDictionary[n]=t}}}}else{const t=e.morphTargets;void 0!==t&&t.length>0&&console.error(\"THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\")}}raycast(e,t){const n=this.geometry;const r=this.material;const i=this.matrixWorld;if(void 0===r)return;null===n.boundingSphere&&n.computeBoundingSphere();ei.copy(n.boundingSphere);ei.applyMatrix4(i);if(false===e.ray.intersectsSphere(ei))return;Kr.copy(i).invert();$r.copy(e.ray).applyMatrix4(Kr);if(null!==n.boundingBox&&false===$r.intersectsBox(n.boundingBox))return;let s;if(n.isBufferGeometry){const i=n.index;const a=n.attributes.position;const o=n.morphAttributes.position;const l=n.morphTargetsRelative;const c=n.attributes.uv;const u=n.attributes.uv2;const h=n.groups;const d=n.drawRange;if(null!==i)if(Array.isArray(r))for(let n=0,p=h.length;n<p;n++){const p=h[n];const f=r[p.materialIndex];const m=Math.max(p.start,d.start);const g=Math.min(i.count,Math.min(p.start+p.count,d.start+d.count));for(let n=m,r=g;n<r;n+=3){const r=i.getX(n);const h=i.getX(n+1);const d=i.getX(n+2);s=checkBufferGeometryIntersection(this,f,e,$r,a,o,l,c,u,r,h,d);if(s){s.faceIndex=Math.floor(n/3);s.face.materialIndex=p.materialIndex;t.push(s)}}}else{const n=Math.max(0,d.start);const h=Math.min(i.count,d.start+d.count);for(let d=n,p=h;d<p;d+=3){const n=i.getX(d);const h=i.getX(d+1);const p=i.getX(d+2);s=checkBufferGeometryIntersection(this,r,e,$r,a,o,l,c,u,n,h,p);if(s){s.faceIndex=Math.floor(d/3);t.push(s)}}}else if(void 0!==a)if(Array.isArray(r))for(let n=0,i=h.length;n<i;n++){const i=h[n];const p=r[i.materialIndex];const f=Math.max(i.start,d.start);const m=Math.min(a.count,Math.min(i.start+i.count,d.start+d.count));for(let n=f,r=m;n<r;n+=3){const r=n;const h=n+1;const d=n+2;s=checkBufferGeometryIntersection(this,p,e,$r,a,o,l,c,u,r,h,d);if(s){s.faceIndex=Math.floor(n/3);s.face.materialIndex=i.materialIndex;t.push(s)}}}else{const n=Math.max(0,d.start);const i=Math.min(a.count,d.start+d.count);for(let h=n,d=i;h<d;h+=3){const n=h;const i=h+1;const d=h+2;s=checkBufferGeometryIntersection(this,r,e,$r,a,o,l,c,u,n,i,d);if(s){s.faceIndex=Math.floor(h/3);t.push(s)}}}}else n.isGeometry&&console.error(\"THREE.Mesh.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\")}}Mesh.prototype.isMesh=true;function checkIntersection(e,t,n,r,i,s,a,o){let l;l=t.side===d?r.intersectTriangle(a,s,i,true,o):r.intersectTriangle(i,s,a,t.side!==p,o);if(null===l)return null;fi.copy(o);fi.applyMatrix4(e.matrixWorld);const c=n.ray.origin.distanceTo(fi);return c<n.near||c>n.far?null:{distance:c,point:fi.clone(),object:e}}function checkBufferGeometryIntersection(e,t,n,r,i,s,a,o,l,c,u,h){ti.fromBufferAttribute(i,c);ni.fromBufferAttribute(i,u);ri.fromBufferAttribute(i,h);const d=e.morphTargetInfluences;if(s&&d){oi.set(0,0,0);li.set(0,0,0);ci.set(0,0,0);for(let e=0,t=s.length;e<t;e++){const t=d[e];const n=s[e];if(0!==t){ii.fromBufferAttribute(n,c);si.fromBufferAttribute(n,u);ai.fromBufferAttribute(n,h);if(a){oi.addScaledVector(ii,t);li.addScaledVector(si,t);ci.addScaledVector(ai,t)}else{oi.addScaledVector(ii.sub(ti),t);li.addScaledVector(si.sub(ni),t);ci.addScaledVector(ai.sub(ri),t)}}}ti.add(oi);ni.add(li);ri.add(ci)}if(e.isSkinnedMesh){e.boneTransform(c,ti);e.boneTransform(u,ni);e.boneTransform(h,ri)}const p=checkIntersection(e,t,n,r,ti,ni,ri,pi);if(p){if(o){ui.fromBufferAttribute(o,c);hi.fromBufferAttribute(o,u);di.fromBufferAttribute(o,h);p.uv=Triangle.getUV(pi,ti,ni,ri,ui,hi,di,new Vector2)}if(l){ui.fromBufferAttribute(l,c);hi.fromBufferAttribute(l,u);di.fromBufferAttribute(l,h);p.uv2=Triangle.getUV(pi,ti,ni,ri,ui,hi,di,new Vector2)}const e={a:c,b:u,c:h,normal:new Vector3,materialIndex:0};Triangle.getNormal(ti,ni,ri,e.normal);p.face=e}return p}class BoxGeometry extends BufferGeometry{constructor(e=1,t=1,n=1,r=1,i=1,s=1){super();this.type=\"BoxGeometry\";this.parameters={width:e,height:t,depth:n,widthSegments:r,heightSegments:i,depthSegments:s};const a=this;r=Math.floor(r);i=Math.floor(i);s=Math.floor(s);const o=[];const l=[];const c=[];const u=[];let h=0;let d=0;buildPlane(\"z\",\"y\",\"x\",-1,-1,n,t,e,s,i,0);buildPlane(\"z\",\"y\",\"x\",1,-1,n,t,-e,s,i,1);buildPlane(\"x\",\"z\",\"y\",1,1,e,n,t,r,s,2);buildPlane(\"x\",\"z\",\"y\",1,-1,e,n,-t,r,s,3);buildPlane(\"x\",\"y\",\"z\",1,-1,e,t,n,r,i,4);buildPlane(\"x\",\"y\",\"z\",-1,-1,e,t,-n,r,i,5);this.setIndex(o);this.setAttribute(\"position\",new Float32BufferAttribute(l,3));this.setAttribute(\"normal\",new Float32BufferAttribute(c,3));this.setAttribute(\"uv\",new Float32BufferAttribute(u,2));function buildPlane(e,t,n,r,i,s,p,f,m,g,y){const x=s/m;const b=p/g;const _=s/2;const M=p/2;const w=f/2;const S=m+1;const T=g+1;let E=0;let A=0;const L=new Vector3;for(let s=0;s<T;s++){const a=s*b-M;for(let o=0;o<S;o++){const h=o*x-_;L[e]=h*r;L[t]=a*i;L[n]=w;l.push(L.x,L.y,L.z);L[e]=0;L[t]=0;L[n]=f>0?1:-1;c.push(L.x,L.y,L.z);u.push(o/m);u.push(1-s/g);E+=1}}for(let e=0;e<g;e++)for(let t=0;t<m;t++){const n=h+t+S*e;const r=h+t+S*(e+1);const i=h+(t+1)+S*(e+1);const s=h+(t+1)+S*e;o.push(n,r,s);o.push(r,i,s);A+=6}a.addGroup(d,A,y);d+=A;h+=E}}static fromJSON(e){return new BoxGeometry(e.width,e.height,e.depth,e.widthSegments,e.heightSegments,e.depthSegments)}}function cloneUniforms(e){const t={};for(const n in e){t[n]={};for(const r in e[n]){const i=e[n][r];i&&(i.isColor||i.isMatrix3||i.isMatrix4||i.isVector2||i.isVector3||i.isVector4||i.isTexture||i.isQuaternion)?t[n][r]=i.clone():Array.isArray(i)?t[n][r]=i.slice():t[n][r]=i}}return t}function mergeUniforms(e){const t={};for(let n=0;n<e.length;n++){const r=cloneUniforms(e[n]);for(const e in r)t[e]=r[e]}return t}const mi={clone:cloneUniforms,merge:mergeUniforms};var gi=\"void main() {\\n\\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\\n}\";var yi=\"void main() {\\n\\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\\n}\";class ShaderMaterial extends Material{constructor(e){super();this.type=\"ShaderMaterial\";this.defines={};this.uniforms={};this.vertexShader=gi;this.fragmentShader=yi;this.linewidth=1;this.wireframe=false;this.wireframeLinewidth=1;this.fog=false;this.lights=false;this.clipping=false;this.extensions={derivatives:false,fragDepth:false,drawBuffers:false,shaderTextureLOD:false};this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]};this.index0AttributeName=void 0;this.uniformsNeedUpdate=false;this.glslVersion=null;if(void 0!==e){void 0!==e.attributes&&console.error(\"THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead.\");this.setValues(e)}}copy(e){super.copy(e);this.fragmentShader=e.fragmentShader;this.vertexShader=e.vertexShader;this.uniforms=cloneUniforms(e.uniforms);this.defines=Object.assign({},e.defines);this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.lights=e.lights;this.clipping=e.clipping;this.extensions=Object.assign({},e.extensions);this.glslVersion=e.glslVersion;return this}toJSON(e){const t=super.toJSON(e);t.glslVersion=this.glslVersion;t.uniforms={};for(const n in this.uniforms){const r=this.uniforms[n];const i=r.value;i&&i.isTexture?t.uniforms[n]={type:\"t\",value:i.toJSON(e).uuid}:i&&i.isColor?t.uniforms[n]={type:\"c\",value:i.getHex()}:i&&i.isVector2?t.uniforms[n]={type:\"v2\",value:i.toArray()}:i&&i.isVector3?t.uniforms[n]={type:\"v3\",value:i.toArray()}:i&&i.isVector4?t.uniforms[n]={type:\"v4\",value:i.toArray()}:i&&i.isMatrix3?t.uniforms[n]={type:\"m3\",value:i.toArray()}:i&&i.isMatrix4?t.uniforms[n]={type:\"m4\",value:i.toArray()}:t.uniforms[n]={value:i}}Object.keys(this.defines).length>0&&(t.defines=this.defines);t.vertexShader=this.vertexShader;t.fragmentShader=this.fragmentShader;const n={};for(const e in this.extensions)true===this.extensions[e]&&(n[e]=true);Object.keys(n).length>0&&(t.extensions=n);return t}}ShaderMaterial.prototype.isShaderMaterial=true;class Camera extends Object3D{constructor(){super();this.type=\"Camera\";this.matrixWorldInverse=new Matrix4;this.projectionMatrix=new Matrix4;this.projectionMatrixInverse=new Matrix4}copy(e,t){super.copy(e,t);this.matrixWorldInverse.copy(e.matrixWorldInverse);this.projectionMatrix.copy(e.projectionMatrix);this.projectionMatrixInverse.copy(e.projectionMatrixInverse);return this}getWorldDirection(e){this.updateWorldMatrix(true,false);const t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()}updateMatrixWorld(e){super.updateMatrixWorld(e);this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t);this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}Camera.prototype.isCamera=true;class PerspectiveCamera extends Camera{constructor(e=50,t=1,n=.1,r=2e3){super();this.type=\"PerspectiveCamera\";this.fov=e;this.zoom=1;this.near=n;this.far=r;this.focus=10;this.aspect=t;this.view=null;this.filmGauge=35;this.filmOffset=0;this.updateProjectionMatrix()}copy(e,t){super.copy(e,t);this.fov=e.fov;this.zoom=e.zoom;this.near=e.near;this.far=e.far;this.focus=e.focus;this.aspect=e.aspect;this.view=null===e.view?null:Object.assign({},e.view);this.filmGauge=e.filmGauge;this.filmOffset=e.filmOffset;return this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=2*Rn*Math.atan(t);this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(.5*Cn*this.fov);return.5*this.getFilmHeight()/e}getEffectiveFOV(){return 2*Rn*Math.atan(Math.tan(.5*Cn*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,n,r,i,s){this.aspect=e/t;null===this.view&&(this.view={enabled:true,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1});this.view.enabled=true;this.view.fullWidth=e;this.view.fullHeight=t;this.view.offsetX=n;this.view.offsetY=r;this.view.width=i;this.view.height=s;this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=false);this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(.5*Cn*this.fov)/this.zoom;let n=2*t;let r=this.aspect*n;let i=-.5*r;const s=this.view;if(null!==this.view&&this.view.enabled){const e=s.fullWidth,a=s.fullHeight;i+=s.offsetX*r/e;t-=s.offsetY*n/a;r*=s.width/e;n*=s.height/a}const a=this.filmOffset;0!==a&&(i+=e*a/this.getFilmWidth());this.projectionMatrix.makePerspective(i,i+r,t,t-n,e,this.far);this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);t.object.fov=this.fov;t.object.zoom=this.zoom;t.object.near=this.near;t.object.far=this.far;t.object.focus=this.focus;t.object.aspect=this.aspect;null!==this.view&&(t.object.view=Object.assign({},this.view));t.object.filmGauge=this.filmGauge;t.object.filmOffset=this.filmOffset;return t}}PerspectiveCamera.prototype.isPerspectiveCamera=true;const vi=90,xi=1;class CubeCamera extends Object3D{constructor(e,t,n){super();this.type=\"CubeCamera\";if(true!==n.isWebGLCubeRenderTarget){console.error(\"THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.\");return}this.renderTarget=n;const r=new PerspectiveCamera(vi,xi,e,t);r.layers=this.layers;r.up.set(0,-1,0);r.lookAt(new Vector3(1,0,0));this.add(r);const i=new PerspectiveCamera(vi,xi,e,t);i.layers=this.layers;i.up.set(0,-1,0);i.lookAt(new Vector3(-1,0,0));this.add(i);const s=new PerspectiveCamera(vi,xi,e,t);s.layers=this.layers;s.up.set(0,0,1);s.lookAt(new Vector3(0,1,0));this.add(s);const a=new PerspectiveCamera(vi,xi,e,t);a.layers=this.layers;a.up.set(0,0,-1);a.lookAt(new Vector3(0,-1,0));this.add(a);const o=new PerspectiveCamera(vi,xi,e,t);o.layers=this.layers;o.up.set(0,-1,0);o.lookAt(new Vector3(0,0,1));this.add(o);const l=new PerspectiveCamera(vi,xi,e,t);l.layers=this.layers;l.up.set(0,-1,0);l.lookAt(new Vector3(0,0,-1));this.add(l)}update(e,t){null===this.parent&&this.updateMatrixWorld();const n=this.renderTarget;const[r,i,s,a,o,l]=this.children;const c=e.xr.enabled;const u=e.getRenderTarget();e.xr.enabled=false;const h=n.texture.generateMipmaps;n.texture.generateMipmaps=false;e.setRenderTarget(n,0);e.render(t,r);e.setRenderTarget(n,1);e.render(t,i);e.setRenderTarget(n,2);e.render(t,s);e.setRenderTarget(n,3);e.render(t,a);e.setRenderTarget(n,4);e.render(t,o);n.texture.generateMipmaps=h;e.setRenderTarget(n,5);e.render(t,l);e.setRenderTarget(u);e.xr.enabled=c}}class CubeTexture extends Texture{constructor(e,t,n,r,i,s,a,o,l,c){e=void 0!==e?e:[];t=void 0!==t?t:re;super(e,t,n,r,i,s,a,o,l,c);this.flipY=false}get images(){return this.image}set images(e){this.image=e}}CubeTexture.prototype.isCubeTexture=true;class WebGLCubeRenderTarget extends WebGLRenderTarget{constructor(e,t,n){if(Number.isInteger(t)){console.warn(\"THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )\");t=n}super(e,e,t);t=t||{};this.texture=new CubeTexture(void 0,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.encoding);this.texture.isRenderTargetTexture=true;this.texture.generateMipmaps=void 0!==t.generateMipmaps&&t.generateMipmaps;this.texture.minFilter=void 0!==t.minFilter?t.minFilter:ye;this.texture._needsFlipEnvMap=false}fromEquirectangularTexture(e,t){this.texture.type=t.type;this.texture.format=Ne;this.texture.encoding=t.encoding;this.texture.generateMipmaps=t.generateMipmaps;this.texture.minFilter=t.minFilter;this.texture.magFilter=t.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:\"\\n\\n\\t\\t\\t\\tvarying vec3 vWorldDirection;\\n\\n\\t\\t\\t\\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\n\\t\\t\\t\\t\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\t\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\n\\t\\t\\t\\t\\t#include <begin_vertex>\\n\\t\\t\\t\\t\\t#include <project_vertex>\\n\\n\\t\\t\\t\\t}\\n\\t\\t\\t\",fragmentShader:\"\\n\\n\\t\\t\\t\\tuniform sampler2D tEquirect;\\n\\n\\t\\t\\t\\tvarying vec3 vWorldDirection;\\n\\n\\t\\t\\t\\t#include <common>\\n\\n\\t\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\t\\tvec3 direction = normalize( vWorldDirection );\\n\\n\\t\\t\\t\\t\\tvec2 sampleUV = equirectUv( direction );\\n\\n\\t\\t\\t\\t\\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n\\n\\t\\t\\t\\t}\\n\\t\\t\\t\"};const r=new BoxGeometry(5,5,5);const i=new ShaderMaterial({name:\"CubemapFromEquirect\",uniforms:cloneUniforms(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:d,blending:g});i.uniforms.tEquirect.value=t;const s=new Mesh(r,i);const a=t.minFilter;t.minFilter===be&&(t.minFilter=ye);const o=new CubeCamera(1,10,this);o.update(e,s);t.minFilter=a;s.geometry.dispose();s.material.dispose();return this}clear(e,t,n,r){const i=e.getRenderTarget();for(let i=0;i<6;i++){e.setRenderTarget(this,i);e.clear(t,n,r)}e.setRenderTarget(i)}}WebGLCubeRenderTarget.prototype.isWebGLCubeRenderTarget=true;const bi=new Vector3;const _i=new Vector3;const Mi=new Matrix3;class Plane{constructor(e=new Vector3(1,0,0),t=0){this.normal=e;this.constant=t}set(e,t){this.normal.copy(e);this.constant=t;return this}setComponents(e,t,n,r){this.normal.set(e,t,n);this.constant=r;return this}setFromNormalAndCoplanarPoint(e,t){this.normal.copy(e);this.constant=-t.dot(this.normal);return this}setFromCoplanarPoints(e,t,n){const r=bi.subVectors(n,t).cross(_i.subVectors(e,t)).normalize();this.setFromNormalAndCoplanarPoint(r,e);return this}copy(e){this.normal.copy(e.normal);this.constant=e.constant;return this}normalize(){const e=1/this.normal.length();this.normal.multiplyScalar(e);this.constant*=e;return this}negate(){this.constant*=-1;this.normal.negate();return this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(this.normal).multiplyScalar(-this.distanceToPoint(e)).add(e)}intersectLine(e,t){const n=e.delta(bi);const r=this.normal.dot(n);if(0===r)return 0===this.distanceToPoint(e.start)?t.copy(e.start):null;const i=-(e.start.dot(this.normal)+this.constant)/r;return i<0||i>1?null:t.copy(n).multiplyScalar(i).add(e.start)}intersectsLine(e){const t=this.distanceToPoint(e.start);const n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const n=t||Mi.getNormalMatrix(e);const r=this.coplanarPoint(bi).applyMatrix4(e);const i=this.normal.applyMatrix3(n).normalize();this.constant=-r.dot(i);return this}translate(e){this.constant-=e.dot(this.normal);return this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return(new this.constructor).copy(this)}}Plane.prototype.isPlane=true;const wi=new Sphere;const Si=new Vector3;class Frustum{constructor(e=new Plane,t=new Plane,n=new Plane,r=new Plane,i=new Plane,s=new Plane){this.planes=[e,t,n,r,i,s]}set(e,t,n,r,i,s){const a=this.planes;a[0].copy(e);a[1].copy(t);a[2].copy(n);a[3].copy(r);a[4].copy(i);a[5].copy(s);return this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e){const t=this.planes;const n=e.elements;const r=n[0],i=n[1],s=n[2],a=n[3];const o=n[4],l=n[5],c=n[6],u=n[7];const h=n[8],d=n[9],p=n[10],f=n[11];const m=n[12],g=n[13],y=n[14],x=n[15];t[0].setComponents(a-r,u-o,f-h,x-m).normalize();t[1].setComponents(a+r,u+o,f+h,x+m).normalize();t[2].setComponents(a+i,u+l,f+d,x+g).normalize();t[3].setComponents(a-i,u-l,f-d,x-g).normalize();t[4].setComponents(a-s,u-c,f-p,x-y).normalize();t[5].setComponents(a+s,u+c,f+p,x+y).normalize();return this}intersectsObject(e){const t=e.geometry;null===t.boundingSphere&&t.computeBoundingSphere();wi.copy(t.boundingSphere).applyMatrix4(e.matrixWorld);return this.intersectsSphere(wi)}intersectsSprite(e){wi.center.set(0,0,0);wi.radius=.7071067811865476;wi.applyMatrix4(e.matrixWorld);return this.intersectsSphere(wi)}intersectsSphere(e){const t=this.planes;const n=e.center;const r=-e.radius;for(let e=0;e<6;e++){const i=t[e].distanceToPoint(n);if(i<r)return false}return true}intersectsBox(e){const t=this.planes;for(let n=0;n<6;n++){const r=t[n];Si.x=r.normal.x>0?e.max.x:e.min.x;Si.y=r.normal.y>0?e.max.y:e.min.y;Si.z=r.normal.z>0?e.max.z:e.min.z;if(r.distanceToPoint(Si)<0)return false}return true}containsPoint(e){const t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return false;return true}clone(){return(new this.constructor).copy(this)}}function WebGLAnimation(){let e=null;let t=false;let n=null;let r=null;function onAnimationFrame(t,i){n(t,i);r=e.requestAnimationFrame(onAnimationFrame)}return{start:function(){if(true!==t&&null!==n){r=e.requestAnimationFrame(onAnimationFrame);t=true}},stop:function(){e.cancelAnimationFrame(r);t=false},setAnimationLoop:function(e){n=e},setContext:function(t){e=t}}}function WebGLAttributes(e,t){const n=t.isWebGL2;const r=new WeakMap;function createBuffer(t,r){const i=t.array;const s=t.usage;const a=e.createBuffer();e.bindBuffer(r,a);e.bufferData(r,i,s);t.onUploadCallback();let o=5126;i instanceof Float32Array?o=5126:i instanceof Float64Array?console.warn(\"THREE.WebGLAttributes: Unsupported data buffer format: Float64Array.\"):i instanceof Uint16Array?t.isFloat16BufferAttribute?n?o=5131:console.warn(\"THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.\"):o=5123:i instanceof Int16Array?o=5122:i instanceof Uint32Array?o=5125:i instanceof Int32Array?o=5124:i instanceof Int8Array?o=5120:(i instanceof Uint8Array||i instanceof Uint8ClampedArray)&&(o=5121);return{buffer:a,type:o,bytesPerElement:i.BYTES_PER_ELEMENT,version:t.version}}function updateBuffer(t,r,i){const s=r.array;const a=r.updateRange;e.bindBuffer(i,t);if(-1===a.count)e.bufferSubData(i,0,s);else{n?e.bufferSubData(i,a.offset*s.BYTES_PER_ELEMENT,s,a.offset,a.count):e.bufferSubData(i,a.offset*s.BYTES_PER_ELEMENT,s.subarray(a.offset,a.offset+a.count));a.count=-1}}function get(e){e.isInterleavedBufferAttribute&&(e=e.data);return r.get(e)}function remove(t){t.isInterleavedBufferAttribute&&(t=t.data);const n=r.get(t);if(n){e.deleteBuffer(n.buffer);r.delete(t)}}function update(e,t){if(e.isGLBufferAttribute){const t=r.get(e);(!t||t.version<e.version)&&r.set(e,{buffer:e.buffer,type:e.type,bytesPerElement:e.elementSize,version:e.version});return}e.isInterleavedBufferAttribute&&(e=e.data);const n=r.get(e);if(void 0===n)r.set(e,createBuffer(e,t));else if(n.version<e.version){updateBuffer(n.buffer,e,t);n.version=e.version}}return{get:get,remove:remove,update:update}}class PlaneGeometry extends BufferGeometry{constructor(e=1,t=1,n=1,r=1){super();this.type=\"PlaneGeometry\";this.parameters={width:e,height:t,widthSegments:n,heightSegments:r};const i=e/2;const s=t/2;const a=Math.floor(n);const o=Math.floor(r);const l=a+1;const c=o+1;const u=e/a;const h=t/o;const d=[];const p=[];const f=[];const m=[];for(let e=0;e<c;e++){const t=e*h-s;for(let n=0;n<l;n++){const r=n*u-i;p.push(r,-t,0);f.push(0,0,1);m.push(n/a);m.push(1-e/o)}}for(let e=0;e<o;e++)for(let t=0;t<a;t++){const n=t+l*e;const r=t+l*(e+1);const i=t+1+l*(e+1);const s=t+1+l*e;d.push(n,r,s);d.push(r,i,s)}this.setIndex(d);this.setAttribute(\"position\",new Float32BufferAttribute(p,3));this.setAttribute(\"normal\",new Float32BufferAttribute(f,3));this.setAttribute(\"uv\",new Float32BufferAttribute(m,2))}static fromJSON(e){return new PlaneGeometry(e.width,e.height,e.widthSegments,e.heightSegments)}}var Ti=\"#ifdef USE_ALPHAMAP\\n\\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\\n#endif\";var Ei=\"#ifdef USE_ALPHAMAP\\n\\tuniform sampler2D alphaMap;\\n#endif\";var Ai=\"#ifdef USE_ALPHATEST\\n\\tif ( diffuseColor.a < alphaTest ) discard;\\n#endif\";var Li=\"#ifdef USE_ALPHATEST\\n\\tuniform float alphaTest;\\n#endif\";var Ci=\"#ifdef USE_AOMAP\\n\\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\\n\\treflectedLight.indirectDiffuse *= ambientOcclusion;\\n\\t#if defined( USE_ENVMAP ) && defined( STANDARD )\\n\\t\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\t\\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\\n\\t#endif\\n#endif\";var Ri=\"#ifdef USE_AOMAP\\n\\tuniform sampler2D aoMap;\\n\\tuniform float aoMapIntensity;\\n#endif\";var Pi=\"vec3 transformed = vec3( position );\";var Ii=\"vec3 objectNormal = vec3( normal );\\n#ifdef USE_TANGENT\\n\\tvec3 objectTangent = vec3( tangent.xyz );\\n#endif\";var Di=\"vec3 BRDF_Lambert( const in vec3 diffuseColor ) {\\n\\treturn RECIPROCAL_PI * diffuseColor;\\n}\\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\\n\\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\\n\\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\\n}\\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\treturn 0.5 / max( gv + gl, EPSILON );\\n}\\nfloat D_GGX( const in float alpha, const in float dotNH ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\\n\\treturn RECIPROCAL_PI * a2 / pow2( denom );\\n}\\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float roughness ) {\\n\\tfloat alpha = pow2( roughness );\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\\tvec3 F = F_Schlick( f0, f90, dotVH );\\n\\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\\tfloat D = D_GGX( alpha, dotNH );\\n\\treturn F * ( V * D );\\n}\\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\\n\\tconst float LUT_SIZE = 64.0;\\n\\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\\n\\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\\n\\tfloat dotNV = saturate( dot( N, V ) );\\n\\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\\n\\tuv = uv * LUT_SCALE + LUT_BIAS;\\n\\treturn uv;\\n}\\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\\n\\tfloat l = length( f );\\n\\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\\n}\\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\\n\\tfloat x = dot( v1, v2 );\\n\\tfloat y = abs( x );\\n\\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\\n\\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\\n\\tfloat v = a / b;\\n\\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\\n\\treturn cross( v1, v2 ) * theta_sintheta;\\n}\\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\\n\\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\\n\\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\\n\\tvec3 lightNormal = cross( v1, v2 );\\n\\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\\n\\tvec3 T1, T2;\\n\\tT1 = normalize( V - N * dot( V, N ) );\\n\\tT2 = - cross( N, T1 );\\n\\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\\n\\tvec3 coords[ 4 ];\\n\\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\\n\\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\\n\\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\\n\\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\\n\\tcoords[ 0 ] = normalize( coords[ 0 ] );\\n\\tcoords[ 1 ] = normalize( coords[ 1 ] );\\n\\tcoords[ 2 ] = normalize( coords[ 2 ] );\\n\\tcoords[ 3 ] = normalize( coords[ 3 ] );\\n\\tvec3 vectorFormFactor = vec3( 0.0 );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\\n\\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\\n\\treturn vec3( result );\\n}\\nfloat G_BlinnPhong_Implicit( ) {\\n\\treturn 0.25;\\n}\\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\\n\\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\\n}\\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\\n\\tfloat G = G_BlinnPhong_Implicit( );\\n\\tfloat D = D_BlinnPhong( shininess, dotNH );\\n\\treturn F * ( G * D );\\n}\\n#if defined( USE_SHEEN )\\nfloat D_Charlie( float roughness, float dotNH ) {\\n\\tfloat alpha = pow2( roughness );\\n\\tfloat invAlpha = 1.0 / alpha;\\n\\tfloat cos2h = dotNH * dotNH;\\n\\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\\n\\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\\n}\\nfloat V_Neubelt( float dotNV, float dotNL ) {\\n\\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\\n}\\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat D = D_Charlie( sheenRoughness, dotNH );\\n\\tfloat V = V_Neubelt( dotNV, dotNL );\\n\\treturn sheenColor * ( D * V );\\n}\\n#endif\";var Bi=\"#ifdef USE_BUMPMAP\\n\\tuniform sampler2D bumpMap;\\n\\tuniform float bumpScale;\\n\\tvec2 dHdxy_fwd() {\\n\\t\\tvec2 dSTdx = dFdx( vUv );\\n\\t\\tvec2 dSTdy = dFdy( vUv );\\n\\t\\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\\n\\t\\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\\n\\t\\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\\n\\t\\treturn vec2( dBx, dBy );\\n\\t}\\n\\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\\n\\t\\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\\n\\t\\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\\n\\t\\tvec3 vN = surf_norm;\\n\\t\\tvec3 R1 = cross( vSigmaY, vN );\\n\\t\\tvec3 R2 = cross( vN, vSigmaX );\\n\\t\\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\\n\\t\\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\\n\\t\\treturn normalize( abs( fDet ) * surf_norm - vGrad );\\n\\t}\\n#endif\";var Vi=\"#if NUM_CLIPPING_PLANES > 0\\n\\tvec4 plane;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\\n\\t\\tplane = clippingPlanes[ i ];\\n\\t\\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\\n\\t\\tbool clipped = true;\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\\n\\t\\t\\tplane = clippingPlanes[ i ];\\n\\t\\t\\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t\\tif ( clipped ) discard;\\n\\t#endif\\n#endif\";var Ni=\"#if NUM_CLIPPING_PLANES > 0\\n\\tvarying vec3 vClipPosition;\\n\\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\\n#endif\";var Ui=\"#if NUM_CLIPPING_PLANES > 0\\n\\tvarying vec3 vClipPosition;\\n#endif\";var zi=\"#if NUM_CLIPPING_PLANES > 0\\n\\tvClipPosition = - mvPosition.xyz;\\n#endif\";var Gi=\"#if defined( USE_COLOR_ALPHA )\\n\\tdiffuseColor *= vColor;\\n#elif defined( USE_COLOR )\\n\\tdiffuseColor.rgb *= vColor;\\n#endif\";var Fi=\"#if defined( USE_COLOR_ALPHA )\\n\\tvarying vec4 vColor;\\n#elif defined( USE_COLOR )\\n\\tvarying vec3 vColor;\\n#endif\";var Oi=\"#if defined( USE_COLOR_ALPHA )\\n\\tvarying vec4 vColor;\\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\\n\\tvarying vec3 vColor;\\n#endif\";var Hi=\"#if defined( USE_COLOR_ALPHA )\\n\\tvColor = vec4( 1.0 );\\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\\n\\tvColor = vec3( 1.0 );\\n#endif\\n#ifdef USE_COLOR\\n\\tvColor *= color;\\n#endif\\n#ifdef USE_INSTANCING_COLOR\\n\\tvColor.xyz *= instanceColor.xyz;\\n#endif\";var ki=\"#define PI 3.141592653589793\\n#define PI2 6.283185307179586\\n#define PI_HALF 1.5707963267948966\\n#define RECIPROCAL_PI 0.3183098861837907\\n#define RECIPROCAL_PI2 0.15915494309189535\\n#define EPSILON 1e-6\\n#ifndef saturate\\n#define saturate( a ) clamp( a, 0.0, 1.0 )\\n#endif\\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\\nfloat pow2( const in float x ) { return x*x; }\\nfloat pow3( const in float x ) { return x*x*x; }\\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\\nhighp float rand( const in vec2 uv ) {\\n\\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\\n\\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\\n\\treturn fract( sin( sn ) * c );\\n}\\n#ifdef HIGH_PRECISION\\n\\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\\n#else\\n\\tfloat precisionSafeLength( vec3 v ) {\\n\\t\\tfloat maxComponent = max3( abs( v ) );\\n\\t\\treturn length( v / maxComponent ) * maxComponent;\\n\\t}\\n#endif\\nstruct IncidentLight {\\n\\tvec3 color;\\n\\tvec3 direction;\\n\\tbool visible;\\n};\\nstruct ReflectedLight {\\n\\tvec3 directDiffuse;\\n\\tvec3 directSpecular;\\n\\tvec3 indirectDiffuse;\\n\\tvec3 indirectSpecular;\\n};\\nstruct GeometricContext {\\n\\tvec3 position;\\n\\tvec3 normal;\\n\\tvec3 viewDir;\\n#ifdef USE_CLEARCOAT\\n\\tvec3 clearcoatNormal;\\n#endif\\n};\\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n}\\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\\n}\\nmat3 transposeMat3( const in mat3 m ) {\\n\\tmat3 tmp;\\n\\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\\n\\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\\n\\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\\n\\treturn tmp;\\n}\\nfloat linearToRelativeLuminance( const in vec3 color ) {\\n\\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\\n\\treturn dot( weights, color.rgb );\\n}\\nbool isPerspectiveMatrix( mat4 m ) {\\n\\treturn m[ 2 ][ 3 ] == - 1.0;\\n}\\nvec2 equirectUv( in vec3 dir ) {\\n\\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\\n\\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\\n\\treturn vec2( u, v );\\n}\";var Wi=\"#ifdef ENVMAP_TYPE_CUBE_UV\\n\\t#define cubeUV_maxMipLevel 8.0\\n\\t#define cubeUV_minMipLevel 4.0\\n\\t#define cubeUV_maxTileSize 256.0\\n\\t#define cubeUV_minTileSize 16.0\\n\\tfloat getFace( vec3 direction ) {\\n\\t\\tvec3 absDirection = abs( direction );\\n\\t\\tfloat face = - 1.0;\\n\\t\\tif ( absDirection.x > absDirection.z ) {\\n\\t\\t\\tif ( absDirection.x > absDirection.y )\\n\\t\\t\\t\\tface = direction.x > 0.0 ? 0.0 : 3.0;\\n\\t\\t\\telse\\n\\t\\t\\t\\tface = direction.y > 0.0 ? 1.0 : 4.0;\\n\\t\\t} else {\\n\\t\\t\\tif ( absDirection.z > absDirection.y )\\n\\t\\t\\t\\tface = direction.z > 0.0 ? 2.0 : 5.0;\\n\\t\\t\\telse\\n\\t\\t\\t\\tface = direction.y > 0.0 ? 1.0 : 4.0;\\n\\t\\t}\\n\\t\\treturn face;\\n\\t}\\n\\tvec2 getUV( vec3 direction, float face ) {\\n\\t\\tvec2 uv;\\n\\t\\tif ( face == 0.0 ) {\\n\\t\\t\\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\\n\\t\\t} else if ( face == 1.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\\n\\t\\t} else if ( face == 2.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\\n\\t\\t} else if ( face == 3.0 ) {\\n\\t\\t\\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\\n\\t\\t} else if ( face == 4.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\\n\\t\\t} else {\\n\\t\\t\\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\\n\\t\\t}\\n\\t\\treturn 0.5 * ( uv + 1.0 );\\n\\t}\\n\\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\\n\\t\\tfloat face = getFace( direction );\\n\\t\\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\\n\\t\\tmipInt = max( mipInt, cubeUV_minMipLevel );\\n\\t\\tfloat faceSize = exp2( mipInt );\\n\\t\\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\\n\\t\\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 ) + 0.5;\\n\\t\\tif ( face > 2.0 ) {\\n\\t\\t\\tuv.y += faceSize;\\n\\t\\t\\tface -= 3.0;\\n\\t\\t}\\n\\t\\tuv.x += face * faceSize;\\n\\t\\tif ( mipInt < cubeUV_maxMipLevel ) {\\n\\t\\t\\tuv.y += 2.0 * cubeUV_maxTileSize;\\n\\t\\t}\\n\\t\\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\\n\\t\\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\\n\\t\\tuv *= texelSize;\\n\\t\\treturn texture2D( envMap, uv ).rgb;\\n\\t}\\n\\t#define r0 1.0\\n\\t#define v0 0.339\\n\\t#define m0 - 2.0\\n\\t#define r1 0.8\\n\\t#define v1 0.276\\n\\t#define m1 - 1.0\\n\\t#define r4 0.4\\n\\t#define v4 0.046\\n\\t#define m4 2.0\\n\\t#define r5 0.305\\n\\t#define v5 0.016\\n\\t#define m5 3.0\\n\\t#define r6 0.21\\n\\t#define v6 0.0038\\n\\t#define m6 4.0\\n\\tfloat roughnessToMip( float roughness ) {\\n\\t\\tfloat mip = 0.0;\\n\\t\\tif ( roughness >= r1 ) {\\n\\t\\t\\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\\n\\t\\t} else if ( roughness >= r4 ) {\\n\\t\\t\\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\\n\\t\\t} else if ( roughness >= r5 ) {\\n\\t\\t\\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\\n\\t\\t} else if ( roughness >= r6 ) {\\n\\t\\t\\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\\n\\t\\t} else {\\n\\t\\t\\tmip = - 2.0 * log2( 1.16 * roughness );\\t\\t}\\n\\t\\treturn mip;\\n\\t}\\n\\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\\n\\t\\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\\n\\t\\tfloat mipF = fract( mip );\\n\\t\\tfloat mipInt = floor( mip );\\n\\t\\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\\n\\t\\tif ( mipF == 0.0 ) {\\n\\t\\t\\treturn vec4( color0, 1.0 );\\n\\t\\t} else {\\n\\t\\t\\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\\n\\t\\t\\treturn vec4( mix( color0, color1, mipF ), 1.0 );\\n\\t\\t}\\n\\t}\\n#endif\";var ji=\"vec3 transformedNormal = objectNormal;\\n#ifdef USE_INSTANCING\\n\\tmat3 m = mat3( instanceMatrix );\\n\\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\\n\\ttransformedNormal = m * transformedNormal;\\n#endif\\ntransformedNormal = normalMatrix * transformedNormal;\\n#ifdef FLIP_SIDED\\n\\ttransformedNormal = - transformedNormal;\\n#endif\\n#ifdef USE_TANGENT\\n\\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\\n\\t#ifdef FLIP_SIDED\\n\\t\\ttransformedTangent = - transformedTangent;\\n\\t#endif\\n#endif\";var qi=\"#ifdef USE_DISPLACEMENTMAP\\n\\tuniform sampler2D displacementMap;\\n\\tuniform float displacementScale;\\n\\tuniform float displacementBias;\\n#endif\";var Xi=\"#ifdef USE_DISPLACEMENTMAP\\n\\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\\n#endif\";var Ji=\"#ifdef USE_EMISSIVEMAP\\n\\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\\n\\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\\n\\ttotalEmissiveRadiance *= emissiveColor.rgb;\\n#endif\";var Yi=\"#ifdef USE_EMISSIVEMAP\\n\\tuniform sampler2D emissiveMap;\\n#endif\";var Zi=\"gl_FragColor = linearToOutputTexel( gl_FragColor );\";var Qi=\"vec4 LinearToLinear( in vec4 value ) {\\n\\treturn value;\\n}\\nvec4 sRGBToLinear( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\\n}\\nvec4 LinearTosRGB( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\\n}\";var Ki=\"#ifdef USE_ENVMAP\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvec3 cameraToFrag;\\n\\t\\tif ( isOrthographic ) {\\n\\t\\t\\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\\n\\t\\t} else {\\n\\t\\t\\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\\n\\t\\t}\\n\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#else\\n\\t\\tvec3 reflectVec = vReflect;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\\n\\t\\tenvColor = envMapTexelToLinear( envColor );\\n\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\\n\\t#else\\n\\t\\tvec4 envColor = vec4( 0.0 );\\n\\t#endif\\n\\t#ifdef ENVMAP_BLENDING_MULTIPLY\\n\\t\\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_MIX )\\n\\t\\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_ADD )\\n\\t\\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\\n\\t#endif\\n#endif\";var $i=\"#ifdef USE_ENVMAP\\n\\tuniform float envMapIntensity;\\n\\tuniform float flipEnvMap;\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tuniform samplerCube envMap;\\n\\t#else\\n\\t\\tuniform sampler2D envMap;\\n\\t#endif\\n\\t\\n#endif\";var es=\"#ifdef USE_ENVMAP\\n\\tuniform float reflectivity;\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\t#define ENV_WORLDPOS\\n\\t#endif\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t\\tuniform float refractionRatio;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t#endif\\n#endif\";var ts=\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\\n\\t\\t#define ENV_WORLDPOS\\n\\t#endif\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\t\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t\\tuniform float refractionRatio;\\n\\t#endif\\n#endif\";var ns=\"#ifdef USE_ENVMAP\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvWorldPosition = worldPosition.xyz;\\n\\t#else\\n\\t\\tvec3 cameraToVertex;\\n\\t\\tif ( isOrthographic ) {\\n\\t\\t\\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\\n\\t\\t} else {\\n\\t\\t\\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\\n\\t\\t}\\n\\t\\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvReflect = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#endif\\n#endif\";var rs=\"#ifdef USE_FOG\\n\\tvFogDepth = - mvPosition.z;\\n#endif\";var is=\"#ifdef USE_FOG\\n\\tvarying float vFogDepth;\\n#endif\";var ss=\"#ifdef USE_FOG\\n\\t#ifdef FOG_EXP2\\n\\t\\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\\n\\t#else\\n\\t\\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\\n\\t#endif\\n\\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\\n#endif\";var as=\"#ifdef USE_FOG\\n\\tuniform vec3 fogColor;\\n\\tvarying float vFogDepth;\\n\\t#ifdef FOG_EXP2\\n\\t\\tuniform float fogDensity;\\n\\t#else\\n\\t\\tuniform float fogNear;\\n\\t\\tuniform float fogFar;\\n\\t#endif\\n#endif\";var os=\"#ifdef USE_GRADIENTMAP\\n\\tuniform sampler2D gradientMap;\\n#endif\\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\\n\\tfloat dotNL = dot( normal, lightDirection );\\n\\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\\n\\t#ifdef USE_GRADIENTMAP\\n\\t\\treturn vec3( texture2D( gradientMap, coord ).r );\\n\\t#else\\n\\t\\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\\n\\t#endif\\n}\";var ls=\"#ifdef USE_LIGHTMAP\\n\\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\\n\\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tlightMapIrradiance *= PI;\\n\\t#endif\\n\\treflectedLight.indirectDiffuse += lightMapIrradiance;\\n#endif\";var cs=\"#ifdef USE_LIGHTMAP\\n\\tuniform sampler2D lightMap;\\n\\tuniform float lightMapIntensity;\\n#endif\";var us=\"vec3 diffuse = vec3( 1.0 );\\nGeometricContext geometry;\\ngeometry.position = mvPosition.xyz;\\ngeometry.normal = normalize( transformedNormal );\\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\\nGeometricContext backGeometry;\\nbackGeometry.position = geometry.position;\\nbackGeometry.normal = -geometry.normal;\\nbackGeometry.viewDir = geometry.viewDir;\\nvLightFront = vec3( 0.0 );\\nvIndirectFront = vec3( 0.0 );\\n#ifdef DOUBLE_SIDED\\n\\tvLightBack = vec3( 0.0 );\\n\\tvIndirectBack = vec3( 0.0 );\\n#endif\\nIncidentLight directLight;\\nfloat dotNL;\\nvec3 directLightColor_Diffuse;\\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry.normal );\\n#ifdef DOUBLE_SIDED\\n\\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\\n\\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry.normal );\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tgetPointLightInfo( pointLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tgetSpotLightInfo( spotLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if NUM_DIR_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tgetDirectionalLightInfo( directionalLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry.normal );\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\";var hs=\"uniform bool receiveShadow;\\nuniform vec3 ambientLightColor;\\nuniform vec3 lightProbe[ 9 ];\\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\\n\\tfloat x = normal.x, y = normal.y, z = normal.z;\\n\\tvec3 result = shCoefficients[ 0 ] * 0.886227;\\n\\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\\n\\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\\n\\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\\n\\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\\n\\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\\n\\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\\n\\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\\n\\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\\n\\treturn result;\\n}\\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\\n\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\\n\\treturn irradiance;\\n}\\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\\n\\tvec3 irradiance = ambientLightColor;\\n\\treturn irradiance;\\n}\\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\\n\\t#if defined ( PHYSICALLY_CORRECT_LIGHTS )\\n\\t\\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\\n\\t\\tif ( cutoffDistance > 0.0 ) {\\n\\t\\t\\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\\n\\t\\t}\\n\\t\\treturn distanceFalloff;\\n\\t#else\\n\\t\\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\\n\\t\\t\\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\\n\\t\\t}\\n\\t\\treturn 1.0;\\n\\t#endif\\n}\\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\\n\\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\\n}\\n#if NUM_DIR_LIGHTS > 0\\n\\tstruct DirectionalLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t};\\n\\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\\n\\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\\n\\t\\tlight.color = directionalLight.color;\\n\\t\\tlight.direction = directionalLight.direction;\\n\\t\\tlight.visible = true;\\n\\t}\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\tstruct PointLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t};\\n\\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\\n\\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\\n\\t\\tvec3 lVector = pointLight.position - geometry.position;\\n\\t\\tlight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tlight.color = pointLight.color;\\n\\t\\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\\n\\t\\tlight.visible = ( light.color != vec3( 0.0 ) );\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tstruct SpotLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tfloat coneCos;\\n\\t\\tfloat penumbraCos;\\n\\t};\\n\\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\\n\\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\\n\\t\\tvec3 lVector = spotLight.position - geometry.position;\\n\\t\\tlight.direction = normalize( lVector );\\n\\t\\tfloat angleCos = dot( light.direction, spotLight.direction );\\n\\t\\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\\n\\t\\tif ( spotAttenuation > 0.0 ) {\\n\\t\\t\\tfloat lightDistance = length( lVector );\\n\\t\\t\\tlight.color = spotLight.color * spotAttenuation;\\n\\t\\t\\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\\n\\t\\t\\tlight.visible = ( light.color != vec3( 0.0 ) );\\n\\t\\t} else {\\n\\t\\t\\tlight.color = vec3( 0.0 );\\n\\t\\t\\tlight.visible = false;\\n\\t\\t}\\n\\t}\\n#endif\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tstruct RectAreaLight {\\n\\t\\tvec3 color;\\n\\t\\tvec3 position;\\n\\t\\tvec3 halfWidth;\\n\\t\\tvec3 halfHeight;\\n\\t};\\n\\tuniform sampler2D ltc_1;\\tuniform sampler2D ltc_2;\\n\\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tstruct HemisphereLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 skyColor;\\n\\t\\tvec3 groundColor;\\n\\t};\\n\\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\\n\\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\\n\\t\\tfloat dotNL = dot( normal, hemiLight.direction );\\n\\t\\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\\n\\t\\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\\n\\t\\treturn irradiance;\\n\\t}\\n#endif\";var ds=\"#if defined( USE_ENVMAP )\\n\\t#ifdef ENVMAP_MODE_REFRACTION\\n\\t\\tuniform float refractionRatio;\\n\\t#endif\\n\\tvec3 getIBLIrradiance( const in vec3 normal ) {\\n\\t\\t#if defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\\n\\t\\t\\treturn PI * envMapColor.rgb * envMapIntensity;\\n\\t\\t#else\\n\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t#endif\\n\\t}\\n\\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\\n\\t\\t#if defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 reflectVec;\\n\\t\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\t\\treflectVec = reflect( - viewDir, normal );\\n\\t\\t\\t\\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\\n\\t\\t\\t#else\\n\\t\\t\\t\\treflectVec = refract( - viewDir, normal, refractionRatio );\\n\\t\\t\\t#endif\\n\\t\\t\\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\\n\\t\\t\\treturn envMapColor.rgb * envMapIntensity;\\n\\t\\t#else\\n\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t#endif\\n\\t}\\n#endif\";var ps=\"ToonMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\";var fs=\"varying vec3 vViewPosition;\\nstruct ToonMaterial {\\n\\tvec3 diffuseColor;\\n};\\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Toon\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Toon\\n#define Material_LightProbeLOD( material )\\t(0)\";var ms=\"BlinnPhongMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularColor = specular;\\nmaterial.specularShininess = shininess;\\nmaterial.specularStrength = specularStrength;\";var gs=\"varying vec3 vViewPosition;\\nstruct BlinnPhongMaterial {\\n\\tvec3 diffuseColor;\\n\\tvec3 specularColor;\\n\\tfloat specularShininess;\\n\\tfloat specularStrength;\\n};\\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n\\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\\n}\\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_BlinnPhong\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_BlinnPhong\\n#define Material_LightProbeLOD( material )\\t(0)\";var ys=\"PhysicalMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\\nmaterial.roughness = min( material.roughness, 1.0 );\\n#ifdef IOR\\n\\t#ifdef SPECULAR\\n\\t\\tfloat specularIntensityFactor = specularIntensity;\\n\\t\\tvec3 specularColorFactor = specularColor;\\n\\t\\t#ifdef USE_SPECULARINTENSITYMAP\\n\\t\\t\\tspecularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;\\n\\t\\t#endif\\n\\t\\t#ifdef USE_SPECULARCOLORMAP\\n\\t\\t\\tspecularColorFactor *= specularColorMapTexelToLinear( texture2D( specularColorMap, vUv ) ).rgb;\\n\\t\\t#endif\\n\\t\\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\\n\\t#else\\n\\t\\tfloat specularIntensityFactor = 1.0;\\n\\t\\tvec3 specularColorFactor = vec3( 1.0 );\\n\\t\\tmaterial.specularF90 = 1.0;\\n\\t#endif\\n\\tmaterial.specularColor = mix( min( pow2( ( ior - 1.0 ) / ( ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\\n#else\\n\\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\\n\\tmaterial.specularF90 = 1.0;\\n#endif\\n#ifdef USE_CLEARCOAT\\n\\tmaterial.clearcoat = clearcoat;\\n\\tmaterial.clearcoatRoughness = clearcoatRoughness;\\n\\tmaterial.clearcoatF0 = vec3( 0.04 );\\n\\tmaterial.clearcoatF90 = 1.0;\\n\\t#ifdef USE_CLEARCOATMAP\\n\\t\\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\t\\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\\n\\t#endif\\n\\tmaterial.clearcoat = saturate( material.clearcoat );\\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\\n\\tmaterial.clearcoatRoughness += geometryRoughness;\\n\\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\\n#endif\\n#ifdef USE_SHEEN\\n\\tmaterial.sheenColor = sheenColor;\\n\\t#ifdef USE_SHEENCOLORMAP\\n\\t\\tmaterial.sheenColor *= sheenColorMapTexelToLinear( texture2D( sheenColorMap, vUv ) ).rgb;\\n\\t#endif\\n\\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\\n\\t#ifdef USE_SHEENROUGHNESSMAP\\n\\t\\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vUv ).a;\\n\\t#endif\\n#endif\";var vs=\"struct PhysicalMaterial {\\n\\tvec3 diffuseColor;\\n\\tfloat roughness;\\n\\tvec3 specularColor;\\n\\tfloat specularF90;\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat clearcoat;\\n\\t\\tfloat clearcoatRoughness;\\n\\t\\tvec3 clearcoatF0;\\n\\t\\tfloat clearcoatF90;\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tvec3 sheenColor;\\n\\t\\tfloat sheenRoughness;\\n\\t#endif\\n};\\nvec3 clearcoatSpecular = vec3( 0.0 );\\nvec3 sheenSpecular = vec3( 0.0 );\\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness) {\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat r2 = roughness * roughness;\\n\\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\\n\\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\\n\\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\\n\\treturn saturate( DG * RECIPROCAL_PI );\\n}\\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\\n\\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\\n\\tvec4 r = roughness * c0 + c1;\\n\\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\\n\\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\\n\\treturn fab;\\n}\\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\\n\\tvec2 fab = DFGApprox( normal, viewDir, roughness );\\n\\treturn specularColor * fab.x + specularF90 * fab.y;\\n}\\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\\n\\tvec2 fab = DFGApprox( normal, viewDir, roughness );\\n\\tvec3 FssEss = specularColor * fab.x + specularF90 * fab.y;\\n\\tfloat Ess = fab.x + fab.y;\\n\\tfloat Ems = 1.0 - Ess;\\n\\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\\n\\tsingleScatter += FssEss;\\n\\tmultiScatter += Fms * Ems;\\n}\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t\\tvec3 normal = geometry.normal;\\n\\t\\tvec3 viewDir = geometry.viewDir;\\n\\t\\tvec3 position = geometry.position;\\n\\t\\tvec3 lightPos = rectAreaLight.position;\\n\\t\\tvec3 halfWidth = rectAreaLight.halfWidth;\\n\\t\\tvec3 halfHeight = rectAreaLight.halfHeight;\\n\\t\\tvec3 lightColor = rectAreaLight.color;\\n\\t\\tfloat roughness = material.roughness;\\n\\t\\tvec3 rectCoords[ 4 ];\\n\\t\\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\\t\\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\\n\\t\\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\\n\\t\\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\\n\\t\\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\\n\\t\\tvec4 t1 = texture2D( ltc_1, uv );\\n\\t\\tvec4 t2 = texture2D( ltc_2, uv );\\n\\t\\tmat3 mInv = mat3(\\n\\t\\t\\tvec3( t1.x, 0, t1.y ),\\n\\t\\t\\tvec3(    0, 1,    0 ),\\n\\t\\t\\tvec3( t1.z, 0, t1.w )\\n\\t\\t);\\n\\t\\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\\n\\t\\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\\n\\t\\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\\n\\t}\\n#endif\\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\\n\\t\\tvec3 ccIrradiance = dotNLcc * directLight.color;\\n\\t\\tclearcoatSpecular += ccIrradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\\n\\t#endif\\n\\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\\n\\t#endif\\n\\tvec3 singleScattering = vec3( 0.0 );\\n\\tvec3 multiScattering = vec3( 0.0 );\\n\\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\\n\\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\\n\\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\\n\\treflectedLight.indirectSpecular += radiance * singleScattering;\\n\\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\\n\\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Physical\\n#define RE_Direct_RectArea\\t\\tRE_Direct_RectArea_Physical\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Physical\\n#define RE_IndirectSpecular\\t\\tRE_IndirectSpecular_Physical\\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\\n\\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\\n}\";var xs=\"\\nGeometricContext geometry;\\ngeometry.position = - vViewPosition;\\ngeometry.normal = normal;\\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\\n#ifdef USE_CLEARCOAT\\n\\tgeometry.clearcoatNormal = clearcoatNormal;\\n#endif\\nIncidentLight directLight;\\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tPointLight pointLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\\n\\tPointLightShadow pointLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tgetPointLightInfo( pointLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\\n\\t\\tpointLightShadow = pointLightShadows[ i ];\\n\\t\\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tSpotLight spotLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\\n\\tSpotLightShadow spotLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tgetSpotLightInfo( spotLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\\t\\tspotLightShadow = spotLightShadows[ i ];\\n\\t\\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tDirectionalLight directionalLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\\n\\tDirectionalLightShadow directionalLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\\n\\t\\tdirectionalLightShadow = directionalLightShadows[ i ];\\n\\t\\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\\n\\tRectAreaLight rectAreaLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\\n\\t\\trectAreaLight = rectAreaLights[ i ];\\n\\t\\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if defined( RE_IndirectDiffuse )\\n\\tvec3 iblIrradiance = vec3( 0.0 );\\n\\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\\n\\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\\n\\t#if ( NUM_HEMI_LIGHTS > 0 )\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\t\\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t#endif\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\\tvec3 radiance = vec3( 0.0 );\\n\\tvec3 clearcoatRadiance = vec3( 0.0 );\\n#endif\";var bs=\"#if defined( RE_IndirectDiffuse )\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\\n\\t\\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\\n\\t\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\t\\tlightMapIrradiance *= PI;\\n\\t\\t#endif\\n\\t\\tirradiance += lightMapIrradiance;\\n\\t#endif\\n\\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tiblIrradiance += getIBLIrradiance( geometry.normal );\\n\\t#endif\\n#endif\\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\\n\\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\\n\\t#endif\\n#endif\";var _s=\"#if defined( RE_IndirectDiffuse )\\n\\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\\n#endif\";var Ms=\"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\\n\\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\\n#endif\";var ws=\"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\\n\\tuniform float logDepthBufFC;\\n\\tvarying float vFragDepth;\\n\\tvarying float vIsPerspective;\\n#endif\";var Ss=\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t\\tvarying float vIsPerspective;\\n\\t#else\\n\\t\\tuniform float logDepthBufFC;\\n\\t#endif\\n#endif\";var Ts=\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvFragDepth = 1.0 + gl_Position.w;\\n\\t\\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\\n\\t#else\\n\\t\\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\\n\\t\\t\\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\\n\\t\\t\\tgl_Position.z *= gl_Position.w;\\n\\t\\t}\\n\\t#endif\\n#endif\";var Es=\"#ifdef USE_MAP\\n\\tvec4 texelColor = texture2D( map, vUv );\\n\\ttexelColor = mapTexelToLinear( texelColor );\\n\\tdiffuseColor *= texelColor;\\n#endif\";var As=\"#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\";var Ls=\"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\\n\\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\\n#endif\\n#ifdef USE_MAP\\n\\tvec4 mapTexel = texture2D( map, uv );\\n\\tdiffuseColor *= mapTexelToLinear( mapTexel );\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\\n#endif\";var Cs=\"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\\n\\tuniform mat3 uvTransform;\\n#endif\\n#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tuniform sampler2D alphaMap;\\n#endif\";var Rs=\"float metalnessFactor = metalness;\\n#ifdef USE_METALNESSMAP\\n\\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\\n\\tmetalnessFactor *= texelMetalness.b;\\n#endif\";var Ps=\"#ifdef USE_METALNESSMAP\\n\\tuniform sampler2D metalnessMap;\\n#endif\";var Is=\"#ifdef USE_MORPHNORMALS\\n\\tobjectNormal *= morphTargetBaseInfluence;\\n\\t#ifdef MORPHTARGETS_TEXTURE\\n\\t\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\t\\tif ( morphTargetInfluences[ i ] > 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1, 2 ) * morphTargetInfluences[ i ];\\n\\t\\t}\\n\\t#else\\n\\t\\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\\n\\t\\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\\n\\t\\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\\n\\t\\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\\n\\t#endif\\n#endif\";var Ds=\"#ifdef USE_MORPHTARGETS\\n\\tuniform float morphTargetBaseInfluence;\\n\\t#ifdef MORPHTARGETS_TEXTURE\\n\\t\\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\\n\\t\\tuniform sampler2DArray morphTargetsTexture;\\n\\t\\tuniform vec2 morphTargetsTextureSize;\\n\\t\\tvec3 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset, const in int stride ) {\\n\\t\\t\\tfloat texelIndex = float( vertexIndex * stride + offset );\\n\\t\\t\\tfloat y = floor( texelIndex / morphTargetsTextureSize.x );\\n\\t\\t\\tfloat x = texelIndex - y * morphTargetsTextureSize.x;\\n\\t\\t\\tvec3 morphUV = vec3( ( x + 0.5 ) / morphTargetsTextureSize.x, y / morphTargetsTextureSize.y, morphTargetIndex );\\n\\t\\t\\treturn texture( morphTargetsTexture, morphUV ).xyz;\\n\\t\\t}\\n\\t#else\\n\\t\\t#ifndef USE_MORPHNORMALS\\n\\t\\t\\tuniform float morphTargetInfluences[ 8 ];\\n\\t\\t#else\\n\\t\\t\\tuniform float morphTargetInfluences[ 4 ];\\n\\t\\t#endif\\n\\t#endif\\n#endif\";var Bs=\"#ifdef USE_MORPHTARGETS\\n\\ttransformed *= morphTargetBaseInfluence;\\n\\t#ifdef MORPHTARGETS_TEXTURE\\n\\t\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\t\\t#ifndef USE_MORPHNORMALS\\n\\t\\t\\t\\tif ( morphTargetInfluences[ i ] > 0.0 ) transformed += getMorph( gl_VertexID, i, 0, 1 ) * morphTargetInfluences[ i ];\\n\\t\\t\\t#else\\n\\t\\t\\t\\tif ( morphTargetInfluences[ i ] > 0.0 ) transformed += getMorph( gl_VertexID, i, 0, 2 ) * morphTargetInfluences[ i ];\\n\\t\\t\\t#endif\\n\\t\\t}\\n\\t#else\\n\\t\\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\\n\\t\\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\\n\\t\\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\\n\\t\\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\\n\\t\\t#ifndef USE_MORPHNORMALS\\n\\t\\t\\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\\n\\t\\t\\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\\n\\t\\t\\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\\n\\t\\t\\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\\n\\t\\t#endif\\n\\t#endif\\n#endif\";var Vs=\"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\\n#ifdef FLAT_SHADED\\n\\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\\n\\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\\n\\tvec3 normal = normalize( cross( fdx, fdy ) );\\n#else\\n\\tvec3 normal = normalize( vNormal );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\tnormal = normal * faceDirection;\\n\\t#endif\\n\\t#ifdef USE_TANGENT\\n\\t\\tvec3 tangent = normalize( vTangent );\\n\\t\\tvec3 bitangent = normalize( vBitangent );\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\ttangent = tangent * faceDirection;\\n\\t\\t\\tbitangent = bitangent * faceDirection;\\n\\t\\t#endif\\n\\t\\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\\n\\t\\t\\tmat3 vTBN = mat3( tangent, bitangent, normal );\\n\\t\\t#endif\\n\\t#endif\\n#endif\\nvec3 geometryNormal = normal;\";var Ns=\"#ifdef OBJECTSPACE_NORMALMAP\\n\\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\\n\\t#ifdef FLIP_SIDED\\n\\t\\tnormal = - normal;\\n\\t#endif\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\tnormal = normal * faceDirection;\\n\\t#endif\\n\\tnormal = normalize( normalMatrix * normal );\\n#elif defined( TANGENTSPACE_NORMALMAP )\\n\\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\\n\\tmapN.xy *= normalScale;\\n\\t#ifdef USE_TANGENT\\n\\t\\tnormal = normalize( vTBN * mapN );\\n\\t#else\\n\\t\\tnormal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection );\\n\\t#endif\\n#elif defined( USE_BUMPMAP )\\n\\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\\n#endif\";var Us=\"#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\tvarying vec3 vTangent;\\n\\t\\tvarying vec3 vBitangent;\\n\\t#endif\\n#endif\";var zs=\"#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\tvarying vec3 vTangent;\\n\\t\\tvarying vec3 vBitangent;\\n\\t#endif\\n#endif\";var Gs=\"#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n\\t#ifdef USE_TANGENT\\n\\t\\tvTangent = normalize( transformedTangent );\\n\\t\\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\\n\\t#endif\\n#endif\";var Fs=\"#ifdef USE_NORMALMAP\\n\\tuniform sampler2D normalMap;\\n\\tuniform vec2 normalScale;\\n#endif\\n#ifdef OBJECTSPACE_NORMALMAP\\n\\tuniform mat3 normalMatrix;\\n#endif\\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\\n\\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\\n\\t\\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\\n\\t\\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\\n\\t\\tvec2 st0 = dFdx( vUv.st );\\n\\t\\tvec2 st1 = dFdy( vUv.st );\\n\\t\\tvec3 N = surf_norm;\\n\\t\\tvec3 q1perp = cross( q1, N );\\n\\t\\tvec3 q0perp = cross( N, q0 );\\n\\t\\tvec3 T = q1perp * st0.x + q0perp * st1.x;\\n\\t\\tvec3 B = q1perp * st0.y + q0perp * st1.y;\\n\\t\\tfloat det = max( dot( T, T ), dot( B, B ) );\\n\\t\\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\\n\\t\\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\\n\\t}\\n#endif\";var Os=\"#ifdef USE_CLEARCOAT\\n\\tvec3 clearcoatNormal = geometryNormal;\\n#endif\";var Hs=\"#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\\n\\tclearcoatMapN.xy *= clearcoatNormalScale;\\n\\t#ifdef USE_TANGENT\\n\\t\\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\\n\\t#else\\n\\t\\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\\n\\t#endif\\n#endif\";var ks=\"#ifdef USE_CLEARCOATMAP\\n\\tuniform sampler2D clearcoatMap;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\tuniform sampler2D clearcoatRoughnessMap;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tuniform sampler2D clearcoatNormalMap;\\n\\tuniform vec2 clearcoatNormalScale;\\n#endif\";var Ws=\"#ifdef OPAQUE\\ndiffuseColor.a = 1.0;\\n#endif\\n#ifdef USE_TRANSMISSION\\ndiffuseColor.a *= transmissionAlpha + 0.1;\\n#endif\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\";var js=\"vec3 packNormalToRGB( const in vec3 normal ) {\\n\\treturn normalize( normal ) * 0.5 + 0.5;\\n}\\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\\n\\treturn 2.0 * rgb.xyz - 1.0;\\n}\\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\\nconst float ShiftRight8 = 1. / 256.;\\nvec4 packDepthToRGBA( const in float v ) {\\n\\tvec4 r = vec4( fract( v * PackFactors ), v );\\n\\tr.yzw -= r.xyz * ShiftRight8;\\treturn r * PackUpscale;\\n}\\nfloat unpackRGBAToDepth( const in vec4 v ) {\\n\\treturn dot( v, UnpackFactors );\\n}\\nvec4 pack2HalfToRGBA( vec2 v ) {\\n\\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\\n\\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\\n}\\nvec2 unpackRGBATo2Half( vec4 v ) {\\n\\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\\n}\\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( viewZ + near ) / ( near - far );\\n}\\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\\n\\treturn linearClipZ * ( near - far ) - near;\\n}\\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\\n}\\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\\n\\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\\n}\";var qs=\"#ifdef PREMULTIPLIED_ALPHA\\n\\tgl_FragColor.rgb *= gl_FragColor.a;\\n#endif\";var Xs=\"vec4 mvPosition = vec4( transformed, 1.0 );\\n#ifdef USE_INSTANCING\\n\\tmvPosition = instanceMatrix * mvPosition;\\n#endif\\nmvPosition = modelViewMatrix * mvPosition;\\ngl_Position = projectionMatrix * mvPosition;\";var Js=\"#ifdef DITHERING\\n\\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\\n#endif\";var Ys=\"#ifdef DITHERING\\n\\tvec3 dithering( vec3 color ) {\\n\\t\\tfloat grid_position = rand( gl_FragCoord.xy );\\n\\t\\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\\n\\t\\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\\n\\t\\treturn color + dither_shift_RGB;\\n\\t}\\n#endif\";var Zs=\"float roughnessFactor = roughness;\\n#ifdef USE_ROUGHNESSMAP\\n\\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\\n\\troughnessFactor *= texelRoughness.g;\\n#endif\";var Qs=\"#ifdef USE_ROUGHNESSMAP\\n\\tuniform sampler2D roughnessMap;\\n#endif\";var Ks=\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tstruct DirectionalLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tstruct SpotLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tstruct PointLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t\\tfloat shadowCameraNear;\\n\\t\\t\\tfloat shadowCameraFar;\\n\\t\\t};\\n\\t\\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\\n\\t\\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\\n\\t}\\n\\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\\n\\t\\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\\n\\t}\\n\\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\\n\\t\\tfloat occlusion = 1.0;\\n\\t\\tvec2 distribution = texture2DDistribution( shadow, uv );\\n\\t\\tfloat hard_shadow = step( compare , distribution.x );\\n\\t\\tif (hard_shadow != 1.0 ) {\\n\\t\\t\\tfloat distance = compare - distribution.x ;\\n\\t\\t\\tfloat variance = max( 0.00000, distribution.y * distribution.y );\\n\\t\\t\\tfloat softness_probability = variance / (variance + distance * distance );\\t\\t\\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\\t\\t\\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\\n\\t\\t}\\n\\t\\treturn occlusion;\\n\\t}\\n\\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tfloat shadow = 1.0;\\n\\t\\tshadowCoord.xyz /= shadowCoord.w;\\n\\t\\tshadowCoord.z += shadowBias;\\n\\t\\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\\n\\t\\tbool inFrustum = all( inFrustumVec );\\n\\t\\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\\n\\t\\tbool frustumTest = all( frustumTestVec );\\n\\t\\tif ( frustumTest ) {\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx2 = dx0 / 2.0;\\n\\t\\t\\tfloat dy2 = dy0 / 2.0;\\n\\t\\t\\tfloat dx3 = dx1 / 2.0;\\n\\t\\t\\tfloat dy3 = dy1 / 2.0;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 17.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx = texelSize.x;\\n\\t\\t\\tfloat dy = texelSize.y;\\n\\t\\t\\tvec2 uv = shadowCoord.xy;\\n\\t\\t\\tvec2 f = fract( uv * shadowMapSize + 0.5 );\\n\\t\\t\\tuv -= f * texelSize;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.x ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.x ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.y ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.y ) +\\n\\t\\t\\t\\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t\\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t  f.x ),\\n\\t\\t\\t\\t\\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t\\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t  f.x ),\\n\\t\\t\\t\\t\\t f.y )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_VSM )\\n\\t\\t\\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#else\\n\\t\\t\\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#endif\\n\\t\\t}\\n\\t\\treturn shadow;\\n\\t}\\n\\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\\n\\t\\tvec3 absV = abs( v );\\n\\t\\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\\n\\t\\tabsV *= scaleToCube;\\n\\t\\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\\n\\t\\tvec2 planar = v.xy;\\n\\t\\tfloat almostATexel = 1.5 * texelSizeY;\\n\\t\\tfloat almostOne = 1.0 - almostATexel;\\n\\t\\tif ( absV.z >= almostOne ) {\\n\\t\\t\\tif ( v.z > 0.0 )\\n\\t\\t\\t\\tplanar.x = 4.0 - v.x;\\n\\t\\t} else if ( absV.x >= almostOne ) {\\n\\t\\t\\tfloat signX = sign( v.x );\\n\\t\\t\\tplanar.x = v.z * signX + 2.0 * signX;\\n\\t\\t} else if ( absV.y >= almostOne ) {\\n\\t\\t\\tfloat signY = sign( v.y );\\n\\t\\t\\tplanar.x = v.x + 2.0 * signY + 2.0;\\n\\t\\t\\tplanar.y = v.z * signY - 2.0;\\n\\t\\t}\\n\\t\\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\\n\\t}\\n\\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\\n\\t\\tvec3 lightToPosition = shadowCoord.xyz;\\n\\t\\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\\t\\tdp += shadowBias;\\n\\t\\tvec3 bd3D = normalize( lightToPosition );\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\\n\\t\\t\\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\\n\\t\\t#endif\\n\\t}\\n#endif\";var $s=\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tstruct DirectionalLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tstruct SpotLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tstruct PointLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t\\tfloat shadowCameraNear;\\n\\t\\t\\tfloat shadowCameraFar;\\n\\t\\t};\\n\\t\\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t#endif\\n#endif\";var ea=\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\tvec4 shadowWorldPosition;\\n\\t#endif\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n#endif\";var ta=\"float getShadowMask() {\\n\\tfloat shadow = 1.0;\\n\\t#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\tDirectionalLightShadow directionalLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\tSpotLightShadow spotLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tspotLight = spotLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\tPointLightShadow pointLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tpointLight = pointLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#endif\\n\\treturn shadow;\\n}\";var na=\"#ifdef USE_SKINNING\\n\\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\\n\\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\\n\\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\\n\\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\\n#endif\";var ra=\"#ifdef USE_SKINNING\\n\\tuniform mat4 bindMatrix;\\n\\tuniform mat4 bindMatrixInverse;\\n\\t#ifdef BONE_TEXTURE\\n\\t\\tuniform highp sampler2D boneTexture;\\n\\t\\tuniform int boneTextureSize;\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tfloat j = i * 4.0;\\n\\t\\t\\tfloat x = mod( j, float( boneTextureSize ) );\\n\\t\\t\\tfloat y = floor( j / float( boneTextureSize ) );\\n\\t\\t\\tfloat dx = 1.0 / float( boneTextureSize );\\n\\t\\t\\tfloat dy = 1.0 / float( boneTextureSize );\\n\\t\\t\\ty = dy * ( y + 0.5 );\\n\\t\\t\\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\\n\\t\\t\\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\\n\\t\\t\\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\\n\\t\\t\\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\\n\\t\\t\\tmat4 bone = mat4( v1, v2, v3, v4 );\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#else\\n\\t\\tuniform mat4 boneMatrices[ MAX_BONES ];\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tmat4 bone = boneMatrices[ int(i) ];\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#endif\\n#endif\";var ia=\"#ifdef USE_SKINNING\\n\\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\\n\\tvec4 skinned = vec4( 0.0 );\\n\\tskinned += boneMatX * skinVertex * skinWeight.x;\\n\\tskinned += boneMatY * skinVertex * skinWeight.y;\\n\\tskinned += boneMatZ * skinVertex * skinWeight.z;\\n\\tskinned += boneMatW * skinVertex * skinWeight.w;\\n\\ttransformed = ( bindMatrixInverse * skinned ).xyz;\\n#endif\";var sa=\"#ifdef USE_SKINNING\\n\\tmat4 skinMatrix = mat4( 0.0 );\\n\\tskinMatrix += skinWeight.x * boneMatX;\\n\\tskinMatrix += skinWeight.y * boneMatY;\\n\\tskinMatrix += skinWeight.z * boneMatZ;\\n\\tskinMatrix += skinWeight.w * boneMatW;\\n\\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\\n\\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\\n\\t#ifdef USE_TANGENT\\n\\t\\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\\n\\t#endif\\n#endif\";var aa=\"float specularStrength;\\n#ifdef USE_SPECULARMAP\\n\\tvec4 texelSpecular = texture2D( specularMap, vUv );\\n\\tspecularStrength = texelSpecular.r;\\n#else\\n\\tspecularStrength = 1.0;\\n#endif\";var oa=\"#ifdef USE_SPECULARMAP\\n\\tuniform sampler2D specularMap;\\n#endif\";var la=\"#if defined( TONE_MAPPING )\\n\\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\\n#endif\";var ca=\"#ifndef saturate\\n#define saturate( a ) clamp( a, 0.0, 1.0 )\\n#endif\\nuniform float toneMappingExposure;\\nvec3 LinearToneMapping( vec3 color ) {\\n\\treturn toneMappingExposure * color;\\n}\\nvec3 ReinhardToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\treturn saturate( color / ( vec3( 1.0 ) + color ) );\\n}\\nvec3 OptimizedCineonToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\tcolor = max( vec3( 0.0 ), color - 0.004 );\\n\\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\\n}\\nvec3 RRTAndODTFit( vec3 v ) {\\n\\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\\n\\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\\n\\treturn a / b;\\n}\\nvec3 ACESFilmicToneMapping( vec3 color ) {\\n\\tconst mat3 ACESInputMat = mat3(\\n\\t\\tvec3( 0.59719, 0.07600, 0.02840 ),\\t\\tvec3( 0.35458, 0.90834, 0.13383 ),\\n\\t\\tvec3( 0.04823, 0.01566, 0.83777 )\\n\\t);\\n\\tconst mat3 ACESOutputMat = mat3(\\n\\t\\tvec3(  1.60475, -0.10208, -0.00327 ),\\t\\tvec3( -0.53108,  1.10813, -0.07276 ),\\n\\t\\tvec3( -0.07367, -0.00605,  1.07602 )\\n\\t);\\n\\tcolor *= toneMappingExposure / 0.6;\\n\\tcolor = ACESInputMat * color;\\n\\tcolor = RRTAndODTFit( color );\\n\\tcolor = ACESOutputMat * color;\\n\\treturn saturate( color );\\n}\\nvec3 CustomToneMapping( vec3 color ) { return color; }\";var ua=\"#ifdef USE_TRANSMISSION\\n\\tfloat transmissionAlpha = 1.0;\\n\\tfloat transmissionFactor = transmission;\\n\\tfloat thicknessFactor = thickness;\\n\\t#ifdef USE_TRANSMISSIONMAP\\n\\t\\ttransmissionFactor *= texture2D( transmissionMap, vUv ).r;\\n\\t#endif\\n\\t#ifdef USE_THICKNESSMAP\\n\\t\\tthicknessFactor *= texture2D( thicknessMap, vUv ).g;\\n\\t#endif\\n\\tvec3 pos = vWorldPosition;\\n\\tvec3 v = normalize( cameraPosition - pos );\\n\\tvec3 n = inverseTransformDirection( normal, viewMatrix );\\n\\tvec4 transmission = getIBLVolumeRefraction(\\n\\t\\tn, v, roughnessFactor, material.diffuseColor, material.specularColor, material.specularF90,\\n\\t\\tpos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,\\n\\t\\tattenuationColor, attenuationDistance );\\n\\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, transmissionFactor );\\n\\ttransmissionAlpha = mix( transmissionAlpha, transmission.a, transmissionFactor );\\n#endif\";var ha=\"#ifdef USE_TRANSMISSION\\n\\tuniform float transmission;\\n\\tuniform float thickness;\\n\\tuniform float attenuationDistance;\\n\\tuniform vec3 attenuationColor;\\n\\t#ifdef USE_TRANSMISSIONMAP\\n\\t\\tuniform sampler2D transmissionMap;\\n\\t#endif\\n\\t#ifdef USE_THICKNESSMAP\\n\\t\\tuniform sampler2D thicknessMap;\\n\\t#endif\\n\\tuniform vec2 transmissionSamplerSize;\\n\\tuniform sampler2D transmissionSamplerMap;\\n\\tuniform mat4 modelMatrix;\\n\\tuniform mat4 projectionMatrix;\\n\\tvarying vec3 vWorldPosition;\\n\\tvec3 getVolumeTransmissionRay( vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix ) {\\n\\t\\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\\n\\t\\tvec3 modelScale;\\n\\t\\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\\n\\t\\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\\n\\t\\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\\n\\t\\treturn normalize( refractionVector ) * thickness * modelScale;\\n\\t}\\n\\tfloat applyIorToRoughness( float roughness, float ior ) {\\n\\t\\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\\n\\t}\\n\\tvec4 getTransmissionSample( vec2 fragCoord, float roughness, float ior ) {\\n\\t\\tfloat framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\\n\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\treturn texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod );\\n\\t\\t#else\\n\\t\\t\\treturn texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod );\\n\\t\\t#endif\\n\\t}\\n\\tvec3 applyVolumeAttenuation( vec3 radiance, float transmissionDistance, vec3 attenuationColor, float attenuationDistance ) {\\n\\t\\tif ( attenuationDistance == 0.0 ) {\\n\\t\\t\\treturn radiance;\\n\\t\\t} else {\\n\\t\\t\\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\\n\\t\\t\\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\\t\\t\\treturn transmittance * radiance;\\n\\t\\t}\\n\\t}\\n\\tvec4 getIBLVolumeRefraction( vec3 n, vec3 v, float roughness, vec3 diffuseColor, vec3 specularColor, float specularF90,\\n\\t\\tvec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness,\\n\\t\\tvec3 attenuationColor, float attenuationDistance ) {\\n\\t\\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\\n\\t\\tvec3 refractedRayExit = position + transmissionRay;\\n\\t\\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\\n\\t\\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\\n\\t\\trefractionCoords += 1.0;\\n\\t\\trefractionCoords /= 2.0;\\n\\t\\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\\n\\t\\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\\n\\t\\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\\n\\t\\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\\n\\t}\\n#endif\";var da=\"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\\n\\tvarying vec2 vUv;\\n#endif\";var pa=\"#ifdef USE_UV\\n\\t#ifdef UVS_VERTEX_ONLY\\n\\t\\tvec2 vUv;\\n\\t#else\\n\\t\\tvarying vec2 vUv;\\n\\t#endif\\n\\tuniform mat3 uvTransform;\\n#endif\";var fa=\"#ifdef USE_UV\\n\\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n#endif\";var ma=\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvarying vec2 vUv2;\\n#endif\";var ga=\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tattribute vec2 uv2;\\n\\tvarying vec2 vUv2;\\n\\tuniform mat3 uv2Transform;\\n#endif\";var ya=\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\\n#endif\";var va=\"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION )\\n\\tvec4 worldPosition = vec4( transformed, 1.0 );\\n\\t#ifdef USE_INSTANCING\\n\\t\\tworldPosition = instanceMatrix * worldPosition;\\n\\t#endif\\n\\tworldPosition = modelMatrix * worldPosition;\\n#endif\";const xa=\"varying vec2 vUv;\\nuniform mat3 uvTransform;\\nvoid main() {\\n\\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n\\tgl_Position = vec4( position.xy, 1.0, 1.0 );\\n}\";const ba=\"uniform sampler2D t2D;\\nvarying vec2 vUv;\\nvoid main() {\\n\\tvec4 texColor = texture2D( t2D, vUv );\\n\\tgl_FragColor = mapTexelToLinear( texColor );\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n}\";const _a=\"varying vec3 vWorldDirection;\\n#include <common>\\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include <begin_vertex>\\n\\t#include <project_vertex>\\n\\tgl_Position.z = gl_Position.w;\\n}\";const Ma=\"#include <envmap_common_pars_fragment>\\nuniform float opacity;\\nvarying vec3 vWorldDirection;\\n#include <cube_uv_reflection_fragment>\\nvoid main() {\\n\\tvec3 vReflect = vWorldDirection;\\n\\t#include <envmap_fragment>\\n\\tgl_FragColor = envColor;\\n\\tgl_FragColor.a *= opacity;\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n}\";const wa=\"#include <common>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvarying vec2 vHighPrecisionZW;\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#ifdef USE_DISPLACEMENTMAP\\n\\t\\t#include <beginnormal_vertex>\\n\\t\\t#include <morphnormal_vertex>\\n\\t\\t#include <skinnormal_vertex>\\n\\t#endif\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvHighPrecisionZW = gl_Position.zw;\\n}\";const Sa=\"#if DEPTH_PACKING == 3200\\n\\tuniform float opacity;\\n#endif\\n#include <common>\\n#include <packing>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvarying vec2 vHighPrecisionZW;\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tdiffuseColor.a = opacity;\\n\\t#endif\\n\\t#include <map_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <logdepthbuf_fragment>\\n\\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\\n\\t#elif DEPTH_PACKING == 3201\\n\\t\\tgl_FragColor = packDepthToRGBA( fragCoordZ );\\n\\t#endif\\n}\";const Ta=\"#define DISTANCE\\nvarying vec3 vWorldPosition;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#ifdef USE_DISPLACEMENTMAP\\n\\t\\t#include <beginnormal_vertex>\\n\\t\\t#include <morphnormal_vertex>\\n\\t\\t#include <skinnormal_vertex>\\n\\t#endif\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvWorldPosition = worldPosition.xyz;\\n}\";const Ea=\"#define DISTANCE\\nuniform vec3 referencePosition;\\nuniform float nearDistance;\\nuniform float farDistance;\\nvarying vec3 vWorldPosition;\\n#include <common>\\n#include <packing>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main () {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#include <map_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\tfloat dist = length( vWorldPosition - referencePosition );\\n\\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\\n\\tdist = saturate( dist );\\n\\tgl_FragColor = packDepthToRGBA( dist );\\n}\";const Aa=\"varying vec3 vWorldDirection;\\n#include <common>\\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include <begin_vertex>\\n\\t#include <project_vertex>\\n}\";const La=\"uniform sampler2D tEquirect;\\nvarying vec3 vWorldDirection;\\n#include <common>\\nvoid main() {\\n\\tvec3 direction = normalize( vWorldDirection );\\n\\tvec2 sampleUV = equirectUv( direction );\\n\\tvec4 texColor = texture2D( tEquirect, sampleUV );\\n\\tgl_FragColor = mapTexelToLinear( texColor );\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n}\";const Ca=\"uniform float scale;\\nattribute float lineDistance;\\nvarying float vLineDistance;\\n#include <common>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\tvLineDistance = scale * lineDistance;\\n\\t#include <color_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <fog_vertex>\\n}\";const Ra=\"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float dashSize;\\nuniform float totalSize;\\nvarying float vLineDistance;\\n#include <common>\\n#include <color_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\\n\\t\\tdiscard;\\n\\t}\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <color_fragment>\\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n}\";const Pa=\"#include <common>\\n#include <uv_pars_vertex>\\n#include <uv2_pars_vertex>\\n#include <envmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <uv2_vertex>\\n\\t#include <color_vertex>\\n\\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\\n\\t\\t#include <beginnormal_vertex>\\n\\t\\t#include <morphnormal_vertex>\\n\\t\\t#include <skinbase_vertex>\\n\\t\\t#include <skinnormal_vertex>\\n\\t\\t#include <defaultnormal_vertex>\\n\\t#endif\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <envmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const Ia=\"uniform vec3 diffuse;\\nuniform float opacity;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include <common>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <uv2_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_pars_fragment>\\n#include <cube_uv_reflection_fragment>\\n#include <fog_pars_fragment>\\n#include <specularmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <specularmap_fragment>\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\\n\\t\\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\\n\\t#else\\n\\t\\treflectedLight.indirectDiffuse += vec3( 1.0 );\\n\\t#endif\\n\\t#include <aomap_fragment>\\n\\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\\n\\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\\n\\t#include <envmap_fragment>\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const Da=\"#define LAMBERT\\nvarying vec3 vLightFront;\\nvarying vec3 vIndirectFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n\\tvarying vec3 vIndirectBack;\\n#endif\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <uv2_pars_vertex>\\n#include <envmap_pars_vertex>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <uv2_vertex>\\n\\t#include <color_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <envmap_vertex>\\n\\t#include <lights_lambert_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const Ba=\"uniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\nvarying vec3 vLightFront;\\nvarying vec3 vIndirectFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n\\tvarying vec3 vIndirectBack;\\n#endif\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <uv2_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_pars_fragment>\\n#include <cube_uv_reflection_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <fog_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <shadowmask_pars_fragment>\\n#include <specularmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <specularmap_fragment>\\n\\t#include <emissivemap_fragment>\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\\n\\t#else\\n\\t\\treflectedLight.indirectDiffuse += vIndirectFront;\\n\\t#endif\\n\\t#include <lightmap_fragment>\\n\\treflectedLight.indirectDiffuse *= BRDF_Lambert( diffuseColor.rgb );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\\n\\t#else\\n\\t\\treflectedLight.directDiffuse = vLightFront;\\n\\t#endif\\n\\treflectedLight.directDiffuse *= BRDF_Lambert( diffuseColor.rgb ) * getShadowMask();\\n\\t#include <aomap_fragment>\\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include <envmap_fragment>\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const Va=\"#define MATCAP\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <color_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <color_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <fog_vertex>\\n\\tvViewPosition = - mvPosition.xyz;\\n}\";const Na=\"#define MATCAP\\nuniform vec3 diffuse;\\nuniform float opacity;\\nuniform sampler2D matcap;\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <normal_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\tvec3 viewDir = normalize( vViewPosition );\\n\\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\\n\\tvec3 y = cross( viewDir, x );\\n\\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\\n\\t#ifdef USE_MATCAP\\n\\t\\tvec4 matcapColor = texture2D( matcap, uv );\\n\\t\\tmatcapColor = matcapTexelToLinear( matcapColor );\\n\\t#else\\n\\t\\tvec4 matcapColor = vec4( 1.0 );\\n\\t#endif\\n\\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const Ua=\"#define NORMAL\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\\n\\tvViewPosition = - mvPosition.xyz;\\n#endif\\n}\";const za=\"#define NORMAL\\nuniform float opacity;\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#include <packing>\\n#include <uv_pars_fragment>\\n#include <normal_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\\n}\";const Ga=\"#define PHONG\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <uv2_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <envmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <uv2_vertex>\\n\\t#include <color_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include <worldpos_vertex>\\n\\t#include <envmap_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const Fa=\"#define PHONG\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform vec3 specular;\\nuniform float shininess;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <uv2_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_pars_fragment>\\n#include <cube_uv_reflection_fragment>\\n#include <fog_pars_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <normal_pars_fragment>\\n#include <lights_phong_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <specularmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <specularmap_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\t#include <emissivemap_fragment>\\n\\t#include <lights_phong_fragment>\\n\\t#include <lights_fragment_begin>\\n\\t#include <lights_fragment_maps>\\n\\t#include <lights_fragment_end>\\n\\t#include <aomap_fragment>\\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\t#include <envmap_fragment>\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const Oa=\"#define STANDARD\\nvarying vec3 vViewPosition;\\n#ifdef USE_TRANSMISSION\\n\\tvarying vec3 vWorldPosition;\\n#endif\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <uv2_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <uv2_vertex>\\n\\t#include <color_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include <worldpos_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n#ifdef USE_TRANSMISSION\\n\\tvWorldPosition = worldPosition.xyz;\\n#endif\\n}\";const Ha=\"#define STANDARD\\n#ifdef PHYSICAL\\n\\t#define IOR\\n\\t#define SPECULAR\\n#endif\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\n#ifdef IOR\\n\\tuniform float ior;\\n#endif\\n#ifdef SPECULAR\\n\\tuniform float specularIntensity;\\n\\tuniform vec3 specularColor;\\n\\t#ifdef USE_SPECULARINTENSITYMAP\\n\\t\\tuniform sampler2D specularIntensityMap;\\n\\t#endif\\n\\t#ifdef USE_SPECULARCOLORMAP\\n\\t\\tuniform sampler2D specularColorMap;\\n\\t#endif\\n#endif\\n#ifdef USE_CLEARCOAT\\n\\tuniform float clearcoat;\\n\\tuniform float clearcoatRoughness;\\n#endif\\n#ifdef USE_SHEEN\\n\\tuniform vec3 sheenColor;\\n\\tuniform float sheenRoughness;\\n\\t#ifdef USE_SHEENCOLORMAP\\n\\t\\tuniform sampler2D sheenColorMap;\\n\\t#endif\\n\\t#ifdef USE_SHEENROUGHNESSMAP\\n\\t\\tuniform sampler2D sheenRoughnessMap;\\n\\t#endif\\n#endif\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <uv2_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <bsdfs>\\n#include <cube_uv_reflection_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_physical_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <lights_pars_begin>\\n#include <normal_pars_fragment>\\n#include <lights_physical_pars_fragment>\\n#include <transmission_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <clearcoat_pars_fragment>\\n#include <roughnessmap_pars_fragment>\\n#include <metalnessmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <roughnessmap_fragment>\\n\\t#include <metalnessmap_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\t#include <clearcoat_normal_fragment_begin>\\n\\t#include <clearcoat_normal_fragment_maps>\\n\\t#include <emissivemap_fragment>\\n\\t#include <lights_physical_fragment>\\n\\t#include <lights_fragment_begin>\\n\\t#include <lights_fragment_maps>\\n\\t#include <lights_fragment_end>\\n\\t#include <aomap_fragment>\\n\\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\\n\\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\\n\\t#include <transmission_fragment>\\n\\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\\n\\t#ifdef USE_SHEEN\\n\\t\\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\\n\\t\\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\\n\\t\\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\\n\\t\\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\\n\\t#endif\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const ka=\"#define TOON\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <uv2_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <uv2_vertex>\\n\\t#include <color_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include <worldpos_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const Wa=\"#define TOON\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <uv2_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <gradientmap_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <normal_pars_fragment>\\n#include <lights_toon_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\t#include <emissivemap_fragment>\\n\\t#include <lights_toon_fragment>\\n\\t#include <lights_fragment_begin>\\n\\t#include <lights_fragment_maps>\\n\\t#include <lights_fragment_end>\\n\\t#include <aomap_fragment>\\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const ja=\"uniform float size;\\nuniform float scale;\\n#include <common>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <color_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <project_vertex>\\n\\tgl_PointSize = size;\\n\\t#ifdef USE_SIZEATTENUATION\\n\\t\\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\\n\\t\\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\\n\\t#endif\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <fog_vertex>\\n}\";const qa=\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include <common>\\n#include <color_pars_fragment>\\n#include <map_particle_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_particle_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphatest_fragment>\\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n}\";const Xa=\"#include <common>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\nvoid main() {\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <project_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const Ja=\"uniform vec3 color;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <fog_pars_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <shadowmap_pars_fragment>\\n#include <shadowmask_pars_fragment>\\nvoid main() {\\n\\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n}\";const Ya=\"uniform float rotation;\\nuniform vec2 center;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\tvec2 scale;\\n\\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\\n\\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\\n\\t#ifndef USE_SIZEATTENUATION\\n\\t\\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\\n\\t\\tif ( isPerspective ) scale *= - mvPosition.z;\\n\\t#endif\\n\\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\\n\\tvec2 rotatedPosition;\\n\\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\\n\\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\\n\\tmvPosition.xy += rotatedPosition;\\n\\tgl_Position = projectionMatrix * mvPosition;\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <fog_vertex>\\n}\";const Za=\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include <common>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n}\";const Qa={alphamap_fragment:Ti,alphamap_pars_fragment:Ei,alphatest_fragment:Ai,alphatest_pars_fragment:Li,aomap_fragment:Ci,aomap_pars_fragment:Ri,begin_vertex:Pi,beginnormal_vertex:Ii,bsdfs:Di,bumpmap_pars_fragment:Bi,clipping_planes_fragment:Vi,clipping_planes_pars_fragment:Ni,clipping_planes_pars_vertex:Ui,clipping_planes_vertex:zi,color_fragment:Gi,color_pars_fragment:Fi,color_pars_vertex:Oi,color_vertex:Hi,common:ki,cube_uv_reflection_fragment:Wi,defaultnormal_vertex:ji,displacementmap_pars_vertex:qi,displacementmap_vertex:Xi,emissivemap_fragment:Ji,emissivemap_pars_fragment:Yi,encodings_fragment:Zi,encodings_pars_fragment:Qi,envmap_fragment:Ki,envmap_common_pars_fragment:$i,envmap_pars_fragment:es,envmap_pars_vertex:ts,envmap_physical_pars_fragment:ds,envmap_vertex:ns,fog_vertex:rs,fog_pars_vertex:is,fog_fragment:ss,fog_pars_fragment:as,gradientmap_pars_fragment:os,lightmap_fragment:ls,lightmap_pars_fragment:cs,lights_lambert_vertex:us,lights_pars_begin:hs,lights_toon_fragment:ps,lights_toon_pars_fragment:fs,lights_phong_fragment:ms,lights_phong_pars_fragment:gs,lights_physical_fragment:ys,lights_physical_pars_fragment:vs,lights_fragment_begin:xs,lights_fragment_maps:bs,lights_fragment_end:_s,logdepthbuf_fragment:Ms,logdepthbuf_pars_fragment:ws,logdepthbuf_pars_vertex:Ss,logdepthbuf_vertex:Ts,map_fragment:Es,map_pars_fragment:As,map_particle_fragment:Ls,map_particle_pars_fragment:Cs,metalnessmap_fragment:Rs,metalnessmap_pars_fragment:Ps,morphnormal_vertex:Is,morphtarget_pars_vertex:Ds,morphtarget_vertex:Bs,normal_fragment_begin:Vs,normal_fragment_maps:Ns,normal_pars_fragment:Us,normal_pars_vertex:zs,normal_vertex:Gs,normalmap_pars_fragment:Fs,clearcoat_normal_fragment_begin:Os,clearcoat_normal_fragment_maps:Hs,clearcoat_pars_fragment:ks,output_fragment:Ws,packing:js,premultiplied_alpha_fragment:qs,project_vertex:Xs,dithering_fragment:Js,dithering_pars_fragment:Ys,roughnessmap_fragment:Zs,roughnessmap_pars_fragment:Qs,shadowmap_pars_fragment:Ks,shadowmap_pars_vertex:$s,shadowmap_vertex:ea,shadowmask_pars_fragment:ta,skinbase_vertex:na,skinning_pars_vertex:ra,skinning_vertex:ia,skinnormal_vertex:sa,specularmap_fragment:aa,specularmap_pars_fragment:oa,tonemapping_fragment:la,tonemapping_pars_fragment:ca,transmission_fragment:ua,transmission_pars_fragment:ha,uv_pars_fragment:da,uv_pars_vertex:pa,uv_vertex:fa,uv2_pars_fragment:ma,uv2_pars_vertex:ga,uv2_vertex:ya,worldpos_vertex:va,background_vert:xa,background_frag:ba,cube_vert:_a,cube_frag:Ma,depth_vert:wa,depth_frag:Sa,distanceRGBA_vert:Ta,distanceRGBA_frag:Ea,equirect_vert:Aa,equirect_frag:La,linedashed_vert:Ca,linedashed_frag:Ra,meshbasic_vert:Pa,meshbasic_frag:Ia,meshlambert_vert:Da,meshlambert_frag:Ba,meshmatcap_vert:Va,meshmatcap_frag:Na,meshnormal_vert:Ua,meshnormal_frag:za,meshphong_vert:Ga,meshphong_frag:Fa,meshphysical_vert:Oa,meshphysical_frag:Ha,meshtoon_vert:ka,meshtoon_frag:Wa,points_vert:ja,points_frag:qa,shadow_vert:Xa,shadow_frag:Ja,sprite_vert:Ya,sprite_frag:Za};const Ka={common:{diffuse:{value:new Color(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new Matrix3},uv2Transform:{value:new Matrix3},alphaMap:{value:null},alphaTest:{value:0}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new Vector2(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Color(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Color(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Matrix3}},sprite:{diffuse:{value:new Color(16777215)},opacity:{value:1},center:{value:new Vector2(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Matrix3}}};const $a={basic:{uniforms:mergeUniforms([Ka.common,Ka.specularmap,Ka.envmap,Ka.aomap,Ka.lightmap,Ka.fog]),vertexShader:Qa.meshbasic_vert,fragmentShader:Qa.meshbasic_frag},lambert:{uniforms:mergeUniforms([Ka.common,Ka.specularmap,Ka.envmap,Ka.aomap,Ka.lightmap,Ka.emissivemap,Ka.fog,Ka.lights,{emissive:{value:new Color(0)}}]),vertexShader:Qa.meshlambert_vert,fragmentShader:Qa.meshlambert_frag},phong:{uniforms:mergeUniforms([Ka.common,Ka.specularmap,Ka.envmap,Ka.aomap,Ka.lightmap,Ka.emissivemap,Ka.bumpmap,Ka.normalmap,Ka.displacementmap,Ka.fog,Ka.lights,{emissive:{value:new Color(0)},specular:{value:new Color(1118481)},shininess:{value:30}}]),vertexShader:Qa.meshphong_vert,fragmentShader:Qa.meshphong_frag},standard:{uniforms:mergeUniforms([Ka.common,Ka.envmap,Ka.aomap,Ka.lightmap,Ka.emissivemap,Ka.bumpmap,Ka.normalmap,Ka.displacementmap,Ka.roughnessmap,Ka.metalnessmap,Ka.fog,Ka.lights,{emissive:{value:new Color(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Qa.meshphysical_vert,fragmentShader:Qa.meshphysical_frag},toon:{uniforms:mergeUniforms([Ka.common,Ka.aomap,Ka.lightmap,Ka.emissivemap,Ka.bumpmap,Ka.normalmap,Ka.displacementmap,Ka.gradientmap,Ka.fog,Ka.lights,{emissive:{value:new Color(0)}}]),vertexShader:Qa.meshtoon_vert,fragmentShader:Qa.meshtoon_frag},matcap:{uniforms:mergeUniforms([Ka.common,Ka.bumpmap,Ka.normalmap,Ka.displacementmap,Ka.fog,{matcap:{value:null}}]),vertexShader:Qa.meshmatcap_vert,fragmentShader:Qa.meshmatcap_frag},points:{uniforms:mergeUniforms([Ka.points,Ka.fog]),vertexShader:Qa.points_vert,fragmentShader:Qa.points_frag},dashed:{uniforms:mergeUniforms([Ka.common,Ka.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Qa.linedashed_vert,fragmentShader:Qa.linedashed_frag},depth:{uniforms:mergeUniforms([Ka.common,Ka.displacementmap]),vertexShader:Qa.depth_vert,fragmentShader:Qa.depth_frag},normal:{uniforms:mergeUniforms([Ka.common,Ka.bumpmap,Ka.normalmap,Ka.displacementmap,{opacity:{value:1}}]),vertexShader:Qa.meshnormal_vert,fragmentShader:Qa.meshnormal_frag},sprite:{uniforms:mergeUniforms([Ka.sprite,Ka.fog]),vertexShader:Qa.sprite_vert,fragmentShader:Qa.sprite_frag},background:{uniforms:{uvTransform:{value:new Matrix3},t2D:{value:null}},vertexShader:Qa.background_vert,fragmentShader:Qa.background_frag},cube:{uniforms:mergeUniforms([Ka.envmap,{opacity:{value:1}}]),vertexShader:Qa.cube_vert,fragmentShader:Qa.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Qa.equirect_vert,fragmentShader:Qa.equirect_frag},distanceRGBA:{uniforms:mergeUniforms([Ka.common,Ka.displacementmap,{referencePosition:{value:new Vector3},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Qa.distanceRGBA_vert,fragmentShader:Qa.distanceRGBA_frag},shadow:{uniforms:mergeUniforms([Ka.lights,Ka.fog,{color:{value:new Color(0)},opacity:{value:1}}]),vertexShader:Qa.shadow_vert,fragmentShader:Qa.shadow_frag}};$a.physical={uniforms:mergeUniforms([$a.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new Vector2(1,1)},clearcoatNormalMap:{value:null},sheen:{value:0},sheenColor:{value:new Color(0)},sheenColorMap:{value:null},sheenRoughness:{value:0},sheenRoughnessMap:{value:null},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new Vector2},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new Color(0)},specularIntensity:{value:0},specularIntensityMap:{value:null},specularColor:{value:new Color(1,1,1)},specularColorMap:{value:null}}]),vertexShader:Qa.meshphysical_vert,fragmentShader:Qa.meshphysical_frag};function WebGLBackground(e,t,n,r,i){const s=new Color(0);let a=0;let o;let l;let c=null;let u=0;let p=null;function render(n,i){let f=false;let m=true===i.isScene?i.background:null;m&&m.isTexture&&(m=t.get(m));const g=e.xr;const y=g.getSession&&g.getSession();y&&\"additive\"===y.environmentBlendMode&&(m=null);if(null===m)setClear(s,a);else if(m&&m.isColor){setClear(m,1);f=true}(e.autoClear||f)&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil);if(m&&(m.isCubeTexture||m.mapping===oe)){if(void 0===l){l=new Mesh(new BoxGeometry(1,1,1),new ShaderMaterial({name:\"BackgroundCubeMaterial\",uniforms:cloneUniforms($a.cube.uniforms),vertexShader:$a.cube.vertexShader,fragmentShader:$a.cube.fragmentShader,side:d,depthTest:false,depthWrite:false,fog:false}));l.geometry.deleteAttribute(\"normal\");l.geometry.deleteAttribute(\"uv\");l.onBeforeRender=function(e,t,n){this.matrixWorld.copyPosition(n.matrixWorld)};Object.defineProperty(l.material,\"envMap\",{get:function(){return this.uniforms.envMap.value}});r.update(l)}l.material.uniforms.envMap.value=m;l.material.uniforms.flipEnvMap.value=m.isCubeTexture&&false===m.isRenderTargetTexture?-1:1;if(c!==m||u!==m.version||p!==e.toneMapping){l.material.needsUpdate=true;c=m;u=m.version;p=e.toneMapping}n.unshift(l,l.geometry,l.material,0,0,null)}else if(m&&m.isTexture){if(void 0===o){o=new Mesh(new PlaneGeometry(2,2),new ShaderMaterial({name:\"BackgroundMaterial\",uniforms:cloneUniforms($a.background.uniforms),vertexShader:$a.background.vertexShader,fragmentShader:$a.background.fragmentShader,side:h,depthTest:false,depthWrite:false,fog:false}));o.geometry.deleteAttribute(\"normal\");Object.defineProperty(o.material,\"map\",{get:function(){return this.uniforms.t2D.value}});r.update(o)}o.material.uniforms.t2D.value=m;true===m.matrixAutoUpdate&&m.updateMatrix();o.material.uniforms.uvTransform.value.copy(m.matrix);if(c!==m||u!==m.version||p!==e.toneMapping){o.material.needsUpdate=true;c=m;u=m.version;p=e.toneMapping}n.unshift(o,o.geometry,o.material,0,0,null)}}function setClear(e,t){n.buffers.color.setClear(e.r,e.g,e.b,t,i)}return{getClearColor:function(){return s},setClearColor:function(e,t=1){s.set(e);a=t;setClear(s,a)},getClearAlpha:function(){return a},setClearAlpha:function(e){a=e;setClear(s,a)},render:render}}function WebGLBindingStates(e,t,n,r){const i=e.getParameter(34921);const s=r.isWebGL2?null:t.get(\"OES_vertex_array_object\");const a=r.isWebGL2||null!==s;const o={};const l=createBindingState(null);let c=l;function setup(t,r,i,s,o){let l=false;if(a){const e=getBindingState(s,i,r);if(c!==e){c=e;bindVertexArrayObject(c.object)}l=needsUpdate(s,o);l&&saveCache(s,o)}else{const e=true===r.wireframe;if(c.geometry!==s.id||c.program!==i.id||c.wireframe!==e){c.geometry=s.id;c.program=i.id;c.wireframe=e;l=true}}true===t.isInstancedMesh&&(l=true);null!==o&&n.update(o,34963);if(l){setupVertexAttributes(t,r,i,s);null!==o&&e.bindBuffer(34963,n.get(o).buffer)}}function createVertexArrayObject(){return r.isWebGL2?e.createVertexArray():s.createVertexArrayOES()}function bindVertexArrayObject(t){return r.isWebGL2?e.bindVertexArray(t):s.bindVertexArrayOES(t)}function deleteVertexArrayObject(t){return r.isWebGL2?e.deleteVertexArray(t):s.deleteVertexArrayOES(t)}function getBindingState(e,t,n){const r=true===n.wireframe;let i=o[e.id];if(void 0===i){i={};o[e.id]=i}let s=i[t.id];if(void 0===s){s={};i[t.id]=s}let a=s[r];if(void 0===a){a=createBindingState(createVertexArrayObject());s[r]=a}return a}function createBindingState(e){const t=[];const n=[];const r=[];for(let e=0;e<i;e++){t[e]=0;n[e]=0;r[e]=0}return{geometry:null,program:null,wireframe:false,newAttributes:t,enabledAttributes:n,attributeDivisors:r,object:e,attributes:{},index:null}}function needsUpdate(e,t){const n=c.attributes;const r=e.attributes;let i=0;for(const e in r){const t=n[e];const s=r[e];if(void 0===t)return true;if(t.attribute!==s)return true;if(t.data!==s.data)return true;i++}return c.attributesNum!==i||c.index!==t}function saveCache(e,t){const n={};const r=e.attributes;let i=0;for(const e in r){const t=r[e];const s={};s.attribute=t;t.data&&(s.data=t.data);n[e]=s;i++}c.attributes=n;c.attributesNum=i;c.index=t}function initAttributes(){const e=c.newAttributes;for(let t=0,n=e.length;t<n;t++)e[t]=0}function enableAttribute(e){enableAttributeAndDivisor(e,0)}function enableAttributeAndDivisor(n,i){const s=c.newAttributes;const a=c.enabledAttributes;const o=c.attributeDivisors;s[n]=1;if(0===a[n]){e.enableVertexAttribArray(n);a[n]=1}if(o[n]!==i){const s=r.isWebGL2?e:t.get(\"ANGLE_instanced_arrays\");s[r.isWebGL2?\"vertexAttribDivisor\":\"vertexAttribDivisorANGLE\"](n,i);o[n]=i}}function disableUnusedAttributes(){const t=c.newAttributes;const n=c.enabledAttributes;for(let r=0,i=n.length;r<i;r++)if(n[r]!==t[r]){e.disableVertexAttribArray(r);n[r]=0}}function vertexAttribPointer(t,n,i,s,a,o){true!==r.isWebGL2||5124!==i&&5125!==i?e.vertexAttribPointer(t,n,i,s,a,o):e.vertexAttribIPointer(t,n,i,a,o)}function setupVertexAttributes(i,s,a,o){if(false===r.isWebGL2&&(i.isInstancedMesh||o.isInstancedBufferGeometry)&&null===t.get(\"ANGLE_instanced_arrays\"))return;initAttributes();const l=o.attributes;const c=a.getAttributes();const u=s.defaultAttributeValues;for(const t in c){const r=c[t];if(r.location>=0){let s=l[t];if(void 0===s){\"instanceMatrix\"===t&&i.instanceMatrix&&(s=i.instanceMatrix);\"instanceColor\"===t&&i.instanceColor&&(s=i.instanceColor)}if(void 0!==s){const t=s.normalized;const a=s.itemSize;const l=n.get(s);if(void 0===l)continue;const c=l.buffer;const u=l.type;const h=l.bytesPerElement;if(s.isInterleavedBufferAttribute){const n=s.data;const l=n.stride;const d=s.offset;if(n&&n.isInstancedInterleavedBuffer){for(let e=0;e<r.locationSize;e++)enableAttributeAndDivisor(r.location+e,n.meshPerAttribute);true!==i.isInstancedMesh&&void 0===o._maxInstanceCount&&(o._maxInstanceCount=n.meshPerAttribute*n.count)}else for(let e=0;e<r.locationSize;e++)enableAttribute(r.location+e);e.bindBuffer(34962,c);for(let e=0;e<r.locationSize;e++)vertexAttribPointer(r.location+e,a/r.locationSize,u,t,l*h,(d+a/r.locationSize*e)*h)}else{if(s.isInstancedBufferAttribute){for(let e=0;e<r.locationSize;e++)enableAttributeAndDivisor(r.location+e,s.meshPerAttribute);true!==i.isInstancedMesh&&void 0===o._maxInstanceCount&&(o._maxInstanceCount=s.meshPerAttribute*s.count)}else for(let e=0;e<r.locationSize;e++)enableAttribute(r.location+e);e.bindBuffer(34962,c);for(let e=0;e<r.locationSize;e++)vertexAttribPointer(r.location+e,a/r.locationSize,u,t,a*h,a/r.locationSize*e*h)}}else if(void 0!==u){const n=u[t];if(void 0!==n)switch(n.length){case 2:e.vertexAttrib2fv(r.location,n);break;case 3:e.vertexAttrib3fv(r.location,n);break;case 4:e.vertexAttrib4fv(r.location,n);break;default:e.vertexAttrib1fv(r.location,n)}}}}disableUnusedAttributes()}function dispose(){reset();for(const e in o){const t=o[e];for(const e in t){const n=t[e];for(const e in n){deleteVertexArrayObject(n[e].object);delete n[e]}delete t[e]}delete o[e]}}function releaseStatesOfGeometry(e){if(void 0===o[e.id])return;const t=o[e.id];for(const e in t){const n=t[e];for(const e in n){deleteVertexArrayObject(n[e].object);delete n[e]}delete t[e]}delete o[e.id]}function releaseStatesOfProgram(e){for(const t in o){const n=o[t];if(void 0===n[e.id])continue;const r=n[e.id];for(const e in r){deleteVertexArrayObject(r[e].object);delete r[e]}delete n[e.id]}}function reset(){resetDefaultState();if(c!==l){c=l;bindVertexArrayObject(c.object)}}function resetDefaultState(){l.geometry=null;l.program=null;l.wireframe=false}return{setup:setup,reset:reset,resetDefaultState:resetDefaultState,dispose:dispose,releaseStatesOfGeometry:releaseStatesOfGeometry,releaseStatesOfProgram:releaseStatesOfProgram,initAttributes:initAttributes,enableAttribute:enableAttribute,disableUnusedAttributes:disableUnusedAttributes}}function WebGLBufferRenderer(e,t,n,r){const i=r.isWebGL2;let s;function setMode(e){s=e}function render(t,r){e.drawArrays(s,t,r);n.update(r,s,1)}function renderInstances(r,a,o){if(0===o)return;let l,c;if(i){l=e;c=\"drawArraysInstanced\"}else{l=t.get(\"ANGLE_instanced_arrays\");c=\"drawArraysInstancedANGLE\";if(null===l){console.error(\"THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.\");return}}l[c](s,r,a,o);n.update(a,s,o)}this.setMode=setMode;this.render=render;this.renderInstances=renderInstances}function WebGLCapabilities(e,t,n){let r;function getMaxAnisotropy(){if(void 0!==r)return r;if(true===t.has(\"EXT_texture_filter_anisotropic\")){const n=t.get(\"EXT_texture_filter_anisotropic\");r=e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else r=0;return r}function getMaxPrecision(t){if(\"highp\"===t){if(e.getShaderPrecisionFormat(35633,36338).precision>0&&e.getShaderPrecisionFormat(35632,36338).precision>0)return\"highp\";t=\"mediump\"}return\"mediump\"===t&&e.getShaderPrecisionFormat(35633,36337).precision>0&&e.getShaderPrecisionFormat(35632,36337).precision>0?\"mediump\":\"lowp\"}const i=\"undefined\"!==typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||\"undefined\"!==typeof WebGL2ComputeRenderingContext&&e instanceof WebGL2ComputeRenderingContext;let s=void 0!==n.precision?n.precision:\"highp\";const a=getMaxPrecision(s);if(a!==s){console.warn(\"THREE.WebGLRenderer:\",s,\"not supported, using\",a,\"instead.\");s=a}const o=i||t.has(\"WEBGL_draw_buffers\");const l=true===n.logarithmicDepthBuffer;const c=e.getParameter(34930);const u=e.getParameter(35660);const h=e.getParameter(3379);const d=e.getParameter(34076);const p=e.getParameter(34921);const f=e.getParameter(36347);const m=e.getParameter(36348);const g=e.getParameter(36349);const y=u>0;const x=i||t.has(\"OES_texture_float\");const b=y&&x;const _=i?e.getParameter(36183):0;return{isWebGL2:i,drawBuffers:o,getMaxAnisotropy:getMaxAnisotropy,getMaxPrecision:getMaxPrecision,precision:s,logarithmicDepthBuffer:l,maxTextures:c,maxVertexTextures:u,maxTextureSize:h,maxCubemapSize:d,maxAttributes:p,maxVertexUniforms:f,maxVaryings:m,maxFragmentUniforms:g,vertexTextures:y,floatFragmentTextures:x,floatVertexTextures:b,maxSamples:_}}function WebGLClipping(e){const t=this;let n=null,r=0,i=false,s=false;const a=new Plane,o=new Matrix3,l={value:null,needsUpdate:false};this.uniform=l;this.numPlanes=0;this.numIntersection=0;this.init=function(e,t,s){const a=0!==e.length||t||0!==r||i;i=t;n=projectPlanes(e,s,0);r=e.length;return a};this.beginShadows=function(){s=true;projectPlanes(null)};this.endShadows=function(){s=false;resetGlobalState()};this.setState=function(t,a,o){const c=t.clippingPlanes,u=t.clipIntersection,h=t.clipShadows;const d=e.get(t);if(!i||null===c||0===c.length||s&&!h)s?projectPlanes(null):resetGlobalState();else{const e=s?0:r,t=4*e;let i=d.clippingState||null;l.value=i;i=projectPlanes(c,a,t,o);for(let e=0;e!==t;++e)i[e]=n[e];d.clippingState=i;this.numIntersection=u?this.numPlanes:0;this.numPlanes+=e}};function resetGlobalState(){if(l.value!==n){l.value=n;l.needsUpdate=r>0}t.numPlanes=r;t.numIntersection=0}function projectPlanes(e,n,r,i){const s=null!==e?e.length:0;let c=null;if(0!==s){c=l.value;if(true!==i||null===c){const t=r+4*s,i=n.matrixWorldInverse;o.getNormalMatrix(i);(null===c||c.length<t)&&(c=new Float32Array(t));for(let t=0,n=r;t!==s;++t,n+=4){a.copy(e[t]).applyMatrix4(i,o);a.normal.toArray(c,n);c[n+3]=a.constant}}l.value=c;l.needsUpdate=true}t.numPlanes=s;t.numIntersection=0;return c}}function WebGLCubeMaps(e){let t=new WeakMap;function mapTextureMapping(e,t){t===se?e.mapping=re:t===ae&&(e.mapping=ie);return e}function get(n){if(n&&n.isTexture&&false===n.isRenderTargetTexture){const r=n.mapping;if(r===se||r===ae){if(t.has(n)){const e=t.get(n).texture;return mapTextureMapping(e,n.mapping)}{const r=n.image;if(r&&r.height>0){const i=e.getRenderTarget();const s=new WebGLCubeRenderTarget(r.height/2);s.fromEquirectangularTexture(e,n);t.set(n,s);e.setRenderTarget(i);n.addEventListener(\"dispose\",onTextureDispose);return mapTextureMapping(s.texture,n.mapping)}return null}}}return n}function onTextureDispose(e){const n=e.target;n.removeEventListener(\"dispose\",onTextureDispose);const r=t.get(n);if(void 0!==r){t.delete(n);r.dispose()}}function dispose(){t=new WeakMap}return{get:get,dispose:dispose}}class OrthographicCamera extends Camera{constructor(e=-1,t=1,n=1,r=-1,i=.1,s=2e3){super();this.type=\"OrthographicCamera\";this.zoom=1;this.view=null;this.left=e;this.right=t;this.top=n;this.bottom=r;this.near=i;this.far=s;this.updateProjectionMatrix()}copy(e,t){super.copy(e,t);this.left=e.left;this.right=e.right;this.top=e.top;this.bottom=e.bottom;this.near=e.near;this.far=e.far;this.zoom=e.zoom;this.view=null===e.view?null:Object.assign({},e.view);return this}setViewOffset(e,t,n,r,i,s){null===this.view&&(this.view={enabled:true,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1});this.view.enabled=true;this.view.fullWidth=e;this.view.fullHeight=t;this.view.offsetX=n;this.view.offsetY=r;this.view.width=i;this.view.height=s;this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=false);this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom);const t=(this.top-this.bottom)/(2*this.zoom);const n=(this.right+this.left)/2;const r=(this.top+this.bottom)/2;let i=n-e;let s=n+e;let a=r+t;let o=r-t;if(null!==this.view&&this.view.enabled){const e=(this.right-this.left)/this.view.fullWidth/this.zoom;const t=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=e*this.view.offsetX;s=i+e*this.view.width;a-=t*this.view.offsetY;o=a-t*this.view.height}this.projectionMatrix.makeOrthographic(i,s,a,o,this.near,this.far);this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);t.object.zoom=this.zoom;t.object.left=this.left;t.object.right=this.right;t.object.top=this.top;t.object.bottom=this.bottom;t.object.near=this.near;t.object.far=this.far;null!==this.view&&(t.object.view=Object.assign({},this.view));return t}}OrthographicCamera.prototype.isOrthographicCamera=true;class RawShaderMaterial extends ShaderMaterial{constructor(e){super(e);this.type=\"RawShaderMaterial\"}}RawShaderMaterial.prototype.isRawShaderMaterial=true;const eo=4;const to=8;const no=Math.pow(2,to);const ro=[.125,.215,.35,.446,.526,.582];const io=to-eo+1+ro.length;const so=20;const ao={[Xt]:0,[Jt]:1};const oo=new OrthographicCamera;const{_lodPlanes:lo,_sizeLods:co,_sigmas:uo}=_createPlanes();const ho=new Color;let po=null;const fo=(1+Math.sqrt(5))/2;const mo=1/fo;const go=[new Vector3(1,1,1),new Vector3(-1,1,1),new Vector3(1,1,-1),new Vector3(-1,1,-1),new Vector3(0,fo,mo),new Vector3(0,fo,-mo),new Vector3(mo,0,fo),new Vector3(-mo,0,fo),new Vector3(fo,mo,0),new Vector3(-fo,mo,0)];class PMREMGenerator{constructor(e){this._renderer=e;this._pingPongRenderTarget=null;this._blurMaterial=_getBlurShader(so);this._equirectShader=null;this._cubemapShader=null;this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,n=.1,r=100){po=this._renderer.getRenderTarget();const i=this._allocateTargets();this._sceneToCubeUV(e,n,r,i);t>0&&this._blur(i,0,0,t);this._applyPMREM(i);this._cleanup(i);return i}fromEquirectangular(e){return this._fromTexture(e)}fromCubemap(e){return this._fromTexture(e)}compileCubemapShader(){if(null===this._cubemapShader){this._cubemapShader=_getCubemapShader();this._compileMaterial(this._cubemapShader)}}compileEquirectangularShader(){if(null===this._equirectShader){this._equirectShader=_getEquirectShader();this._compileMaterial(this._equirectShader)}}dispose(){this._blurMaterial.dispose();null!==this._cubemapShader&&this._cubemapShader.dispose();null!==this._equirectShader&&this._equirectShader.dispose();for(let e=0;e<lo.length;e++)lo[e].dispose()}_cleanup(e){this._pingPongRenderTarget.dispose();this._renderer.setRenderTarget(po);e.scissorTest=false;_setViewport(e,0,0,e.width,e.height)}_fromTexture(e){po=this._renderer.getRenderTarget();const t=this._allocateTargets(e);this._textureToCubeUV(e,t);this._applyPMREM(t);this._cleanup(t);return t}_allocateTargets(e){const t={magFilter:ye,minFilter:ye,generateMipmaps:false,type:Ce,format:Ne,encoding:Xt,depthBuffer:false};const n=_createRenderTarget(t);n.depthBuffer=!e;this._pingPongRenderTarget=_createRenderTarget(t);return n}_compileMaterial(e){const t=new Mesh(lo[0],e);this._renderer.compile(t,oo)}_sceneToCubeUV(e,t,n,r){const i=90;const s=1;const a=new PerspectiveCamera(i,s,t,n);const o=[1,-1,1,1,1,1];const l=[1,1,1,-1,-1,-1];const c=this._renderer;const u=c.autoClear;const h=c.toneMapping;c.getClearColor(ho);c.toneMapping=Z;c.autoClear=false;const p=new MeshBasicMaterial({name:\"PMREM.Background\",side:d,depthWrite:false,depthTest:false});const f=new Mesh(new BoxGeometry,p);let m=false;const g=e.background;if(g){if(g.isColor){p.color.copy(g);e.background=null;m=true}}else{p.color.copy(ho);m=true}for(let t=0;t<6;t++){const n=t%3;if(0==n){a.up.set(0,o[t],0);a.lookAt(l[t],0,0)}else if(1==n){a.up.set(0,0,o[t]);a.lookAt(0,l[t],0)}else{a.up.set(0,o[t],0);a.lookAt(0,0,l[t])}_setViewport(r,n*no,t>2?no:0,no,no);c.setRenderTarget(r);m&&c.render(f,a);c.render(e,a)}f.geometry.dispose();f.material.dispose();c.toneMapping=h;c.autoClear=u;e.background=g}_setEncoding(e,t){true===this._renderer.capabilities.isWebGL2&&t.format===Ne&&t.type===Me&&t.encoding===Jt?e.value=ao[Xt]:e.value=ao[t.encoding]}_textureToCubeUV(e,t){const n=this._renderer;const r=e.mapping===re||e.mapping===ie;r?null==this._cubemapShader&&(this._cubemapShader=_getCubemapShader()):null==this._equirectShader&&(this._equirectShader=_getEquirectShader());const i=r?this._cubemapShader:this._equirectShader;const s=new Mesh(lo[0],i);const a=i.uniforms;a.envMap.value=e;r||a.texelSize.value.set(1/e.image.width,1/e.image.height);this._setEncoding(a.inputEncoding,e);_setViewport(t,0,0,3*no,2*no);n.setRenderTarget(t);n.render(s,oo)}_applyPMREM(e){const t=this._renderer;const n=t.autoClear;t.autoClear=false;for(let t=1;t<io;t++){const n=Math.sqrt(uo[t]*uo[t]-uo[t-1]*uo[t-1]);const r=go[(t-1)%go.length];this._blur(e,t-1,t,n,r)}t.autoClear=n}_blur(e,t,n,r,i){const s=this._pingPongRenderTarget;this._halfBlur(e,s,t,n,r,\"latitudinal\",i);this._halfBlur(s,e,n,n,r,\"longitudinal\",i)}_halfBlur(e,t,n,r,i,s,a){const o=this._renderer;const l=this._blurMaterial;\"latitudinal\"!==s&&\"longitudinal\"!==s&&console.error(\"blur direction must be either latitudinal or longitudinal!\");const c=3;const u=new Mesh(lo[r],l);const h=l.uniforms;const d=co[n]-1;const p=isFinite(i)?Math.PI/(2*d):2*Math.PI/(2*so-1);const f=i/p;const m=isFinite(i)?1+Math.floor(c*f):so;m>so&&console.warn(`sigmaRadians, ${i}, is too large and will clip, as it requested ${m} samples when the maximum is set to ${so}`);const g=[];let y=0;for(let e=0;e<so;++e){const t=e/f;const n=Math.exp(-t*t/2);g.push(n);0==e?y+=n:e<m&&(y+=2*n)}for(let e=0;e<g.length;e++)g[e]=g[e]/y;h.envMap.value=e.texture;h.samples.value=m;h.weights.value=g;h.latitudinal.value=\"latitudinal\"===s;a&&(h.poleAxis.value=a);h.dTheta.value=p;h.mipInt.value=to-n;const x=co[r];const b=3*Math.max(0,no-2*x);const _=(0===r?0:2*no)+2*x*(r>to-eo?r-to+eo:0);_setViewport(t,b,_,3*x,2*x);o.setRenderTarget(t);o.render(u,oo)}}function _createPlanes(){const e=[];const t=[];const n=[];let r=to;for(let i=0;i<io;i++){const s=Math.pow(2,r);t.push(s);let a=1/s;i>to-eo?a=ro[i-to+eo-1]:0==i&&(a=0);n.push(a);const o=1/(s-1);const l=-o/2;const c=1+o/2;const u=[l,l,c,l,c,c,l,l,c,c,l,c];const h=6;const d=6;const p=3;const f=2;const m=1;const g=new Float32Array(p*d*h);const y=new Float32Array(f*d*h);const x=new Float32Array(m*d*h);for(let e=0;e<h;e++){const t=e%3*2/3-1;const n=e>2?0:-1;const r=[t,n,0,t+2/3,n,0,t+2/3,n+1,0,t,n,0,t+2/3,n+1,0,t,n+1,0];g.set(r,p*d*e);y.set(u,f*d*e);const i=[e,e,e,e,e,e];x.set(i,m*d*e)}const b=new BufferGeometry;b.setAttribute(\"position\",new BufferAttribute(g,p));b.setAttribute(\"uv\",new BufferAttribute(y,f));b.setAttribute(\"faceIndex\",new BufferAttribute(x,m));e.push(b);r>eo&&r--}return{_lodPlanes:e,_sizeLods:t,_sigmas:n}}function _createRenderTarget(e){const t=new WebGLRenderTarget(3*no,3*no,e);t.texture.mapping=oe;t.texture.name=\"PMREM.cubeUv\";t.scissorTest=true;return t}function _setViewport(e,t,n,r,i){e.viewport.set(t,n,r,i);e.scissor.set(t,n,r,i)}function _getBlurShader(e){const t=new Float32Array(e);const n=new Vector3(0,1,0);const r=new RawShaderMaterial({name:\"SphericalGaussianBlur\",defines:{n:e},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:t},latitudinal:{value:false},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:n}},vertexShader:_getCommonVertexShader(),fragmentShader:`\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform sampler2D envMap;\\n\\t\\t\\tuniform int samples;\\n\\t\\t\\tuniform float weights[ n ];\\n\\t\\t\\tuniform bool latitudinal;\\n\\t\\t\\tuniform float dTheta;\\n\\t\\t\\tuniform float mipInt;\\n\\t\\t\\tuniform vec3 poleAxis;\\n\\n\\t\\t\\t${_getEncodings()}\\n\\n\\t\\t\\t#define ENVMAP_TYPE_CUBE_UV\\n\\t\\t\\t#include <cube_uv_reflection_fragment>\\n\\n\\t\\t\\tvec3 getSample( float theta, vec3 axis ) {\\n\\n\\t\\t\\t\\tfloat cosTheta = cos( theta );\\n\\t\\t\\t\\t// Rodrigues' axis-angle rotation\\n\\t\\t\\t\\tvec3 sampleDirection = vOutputDirection * cosTheta\\n\\t\\t\\t\\t\\t+ cross( axis, vOutputDirection ) * sin( theta )\\n\\t\\t\\t\\t\\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\\n\\n\\t\\t\\t\\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\\n\\n\\t\\t\\t\\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\\n\\n\\t\\t\\t\\t\\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\taxis = normalize( axis );\\n\\n\\t\\t\\t\\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\t\\t\\t\\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\\n\\n\\t\\t\\t\\tfor ( int i = 1; i < n; i++ ) {\\n\\n\\t\\t\\t\\t\\tif ( i >= samples ) {\\n\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tfloat theta = dTheta * float( i );\\n\\t\\t\\t\\t\\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\\n\\t\\t\\t\\t\\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t}\\n\\t\\t`,blending:g,depthTest:false,depthWrite:false});return r}function _getEquirectShader(){const e=new Vector2(1,1);const t=new RawShaderMaterial({name:\"EquirectangularToCubeUV\",uniforms:{envMap:{value:null},texelSize:{value:e},inputEncoding:{value:ao[Xt]}},vertexShader:_getCommonVertexShader(),fragmentShader:`\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform sampler2D envMap;\\n\\t\\t\\tuniform vec2 texelSize;\\n\\n\\t\\t\\t${_getEncodings()}\\n\\n\\t\\t\\t#include <common>\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\n\\t\\t\\t\\tvec3 outputDirection = normalize( vOutputDirection );\\n\\t\\t\\t\\tvec2 uv = equirectUv( outputDirection );\\n\\n\\t\\t\\t\\tvec2 f = fract( uv / texelSize - 0.5 );\\n\\t\\t\\t\\tuv -= f * texelSize;\\n\\t\\t\\t\\tvec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\\n\\t\\t\\t\\tuv.x += texelSize.x;\\n\\t\\t\\t\\tvec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\\n\\t\\t\\t\\tuv.y += texelSize.y;\\n\\t\\t\\t\\tvec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\\n\\t\\t\\t\\tuv.x -= texelSize.x;\\n\\t\\t\\t\\tvec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\\n\\n\\t\\t\\t\\tvec3 tm = mix( tl, tr, f.x );\\n\\t\\t\\t\\tvec3 bm = mix( bl, br, f.x );\\n\\t\\t\\t\\tgl_FragColor.rgb = mix( tm, bm, f.y );\\n\\n\\t\\t\\t}\\n\\t\\t`,blending:g,depthTest:false,depthWrite:false});return t}function _getCubemapShader(){const e=new RawShaderMaterial({name:\"CubemapToCubeUV\",uniforms:{envMap:{value:null},inputEncoding:{value:ao[Xt]}},vertexShader:_getCommonVertexShader(),fragmentShader:`\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform samplerCube envMap;\\n\\n\\t\\t\\t${_getEncodings()}\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tgl_FragColor = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) );\\n\\n\\t\\t\\t}\\n\\t\\t`,blending:g,depthTest:false,depthWrite:false});return e}function _getCommonVertexShader(){return\"\\n\\n\\t\\tprecision mediump float;\\n\\t\\tprecision mediump int;\\n\\n\\t\\tattribute vec3 position;\\n\\t\\tattribute vec2 uv;\\n\\t\\tattribute float faceIndex;\\n\\n\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t// RH coordinate system; PMREM face-indexing convention\\n\\t\\tvec3 getDirection( vec2 uv, float face ) {\\n\\n\\t\\t\\tuv = 2.0 * uv - 1.0;\\n\\n\\t\\t\\tvec3 direction = vec3( uv, 1.0 );\\n\\n\\t\\t\\tif ( face == 0.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx; // ( 1, v, u ) pos x\\n\\n\\t\\t\\t} else if ( face == 1.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\\n\\n\\t\\t\\t} else if ( face == 2.0 ) {\\n\\n\\t\\t\\t\\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\\n\\n\\t\\t\\t} else if ( face == 3.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\\n\\n\\t\\t\\t} else if ( face == 4.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\\n\\n\\t\\t\\t} else if ( face == 5.0 ) {\\n\\n\\t\\t\\t\\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn direction;\\n\\n\\t\\t}\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\tvOutputDirection = getDirection( uv, faceIndex );\\n\\t\\t\\tgl_Position = vec4( position, 1.0 );\\n\\n\\t\\t}\\n\\t\"}function _getEncodings(){return\"\\n\\n\\t\\tuniform int inputEncoding;\\n\\n\\t\\t#include <encodings_pars_fragment>\\n\\n\\t\\tvec4 inputTexelToLinear( vec4 value ) {\\n\\n\\t\\t\\tif ( inputEncoding == 0 ) {\\n\\n\\t\\t\\t\\treturn value;\\n\\n\\t\\t\\t} else {\\n\\n\\t\\t\\t\\treturn sRGBToLinear( value );\\n\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\n\\t\\tvec4 envMapTexelToLinear( vec4 color ) {\\n\\n\\t\\t\\treturn inputTexelToLinear( color );\\n\\n\\t\\t}\\n\\t\"}function WebGLCubeUVMaps(e){let t=new WeakMap;let n=null;function get(r){if(r&&r.isTexture&&false===r.isRenderTargetTexture){const i=r.mapping;const s=i===se||i===ae;const a=i===re||i===ie;if(s||a){if(t.has(r))return t.get(r).texture;{const i=r.image;if(s&&i&&i.height>0||a&&i&&isCubeTextureComplete(i)){const i=e.getRenderTarget();null===n&&(n=new PMREMGenerator(e));const a=s?n.fromEquirectangular(r):n.fromCubemap(r);t.set(r,a);e.setRenderTarget(i);r.addEventListener(\"dispose\",onTextureDispose);return a.texture}return null}}}return r}function isCubeTextureComplete(e){let t=0;const n=6;for(let r=0;r<n;r++)void 0!==e[r]&&t++;return t===n}function onTextureDispose(e){const n=e.target;n.removeEventListener(\"dispose\",onTextureDispose);const r=t.get(n);if(void 0!==r){t.delete(n);r.dispose()}}function dispose(){t=new WeakMap;if(null!==n){n.dispose();n=null}}return{get:get,dispose:dispose}}function WebGLExtensions(e){const t={};function getExtension(n){if(void 0!==t[n])return t[n];let r;switch(n){case\"WEBGL_depth_texture\":r=e.getExtension(\"WEBGL_depth_texture\")||e.getExtension(\"MOZ_WEBGL_depth_texture\")||e.getExtension(\"WEBKIT_WEBGL_depth_texture\");break;case\"EXT_texture_filter_anisotropic\":r=e.getExtension(\"EXT_texture_filter_anisotropic\")||e.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||e.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\");break;case\"WEBGL_compressed_texture_s3tc\":r=e.getExtension(\"WEBGL_compressed_texture_s3tc\")||e.getExtension(\"MOZ_WEBGL_compressed_texture_s3tc\")||e.getExtension(\"WEBKIT_WEBGL_compressed_texture_s3tc\");break;case\"WEBGL_compressed_texture_pvrtc\":r=e.getExtension(\"WEBGL_compressed_texture_pvrtc\")||e.getExtension(\"WEBKIT_WEBGL_compressed_texture_pvrtc\");break;default:r=e.getExtension(n)}t[n]=r;return r}return{has:function(e){return null!==getExtension(e)},init:function(e){if(e.isWebGL2)getExtension(\"EXT_color_buffer_float\");else{getExtension(\"WEBGL_depth_texture\");getExtension(\"OES_texture_float\");getExtension(\"OES_texture_half_float\");getExtension(\"OES_texture_half_float_linear\");getExtension(\"OES_standard_derivatives\");getExtension(\"OES_element_index_uint\");getExtension(\"OES_vertex_array_object\");getExtension(\"ANGLE_instanced_arrays\")}getExtension(\"OES_texture_float_linear\");getExtension(\"EXT_color_buffer_half_float\");getExtension(\"WEBGL_multisampled_render_to_texture\")},get:function(e){const t=getExtension(e);null===t&&console.warn(\"THREE.WebGLRenderer: \"+e+\" extension not supported.\");return t}}}function WebGLGeometries(e,t,n,r){const i={};const s=new WeakMap;function onGeometryDispose(e){const a=e.target;null!==a.index&&t.remove(a.index);for(const e in a.attributes)t.remove(a.attributes[e]);a.removeEventListener(\"dispose\",onGeometryDispose);delete i[a.id];const o=s.get(a);if(o){t.remove(o);s.delete(a)}r.releaseStatesOfGeometry(a);true===a.isInstancedBufferGeometry&&delete a._maxInstanceCount;n.memory.geometries--}function get(e,t){if(true===i[t.id])return t;t.addEventListener(\"dispose\",onGeometryDispose);i[t.id]=true;n.memory.geometries++;return t}function update(e){const n=e.attributes;for(const e in n)t.update(n[e],34962);const r=e.morphAttributes;for(const e in r){const n=r[e];for(let e=0,r=n.length;e<r;e++)t.update(n[e],34962)}}function updateWireframeAttribute(e){const n=[];const r=e.index;const i=e.attributes.position;let a=0;if(null!==r){const e=r.array;a=r.version;for(let t=0,r=e.length;t<r;t+=3){const r=e[t+0];const i=e[t+1];const s=e[t+2];n.push(r,i,i,s,s,r)}}else{const e=i.array;a=i.version;for(let t=0,r=e.length/3-1;t<r;t+=3){const e=t+0;const r=t+1;const i=t+2;n.push(e,r,r,i,i,e)}}const o=new(arrayMax(n)>65535?Uint32BufferAttribute:Uint16BufferAttribute)(n,1);o.version=a;const l=s.get(e);l&&t.remove(l);s.set(e,o)}function getWireframeAttribute(e){const t=s.get(e);if(t){const n=e.index;null!==n&&t.version<n.version&&updateWireframeAttribute(e)}else updateWireframeAttribute(e);return s.get(e)}return{get:get,update:update,getWireframeAttribute:getWireframeAttribute}}function WebGLIndexedBufferRenderer(e,t,n,r){const i=r.isWebGL2;let s;function setMode(e){s=e}let a,o;function setIndex(e){a=e.type;o=e.bytesPerElement}function render(t,r){e.drawElements(s,r,a,t*o);n.update(r,s,1)}function renderInstances(r,l,c){if(0===c)return;let u,h;if(i){u=e;h=\"drawElementsInstanced\"}else{u=t.get(\"ANGLE_instanced_arrays\");h=\"drawElementsInstancedANGLE\";if(null===u){console.error(\"THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.\");return}}u[h](s,l,a,r*o,c);n.update(l,s,c)}this.setMode=setMode;this.setIndex=setIndex;this.render=render;this.renderInstances=renderInstances}function WebGLInfo(e){const t={geometries:0,textures:0};const n={frame:0,calls:0,triangles:0,points:0,lines:0};function update(e,t,r){n.calls++;switch(t){case 4:n.triangles+=r*(e/3);break;case 1:n.lines+=r*(e/2);break;case 3:n.lines+=r*(e-1);break;case 2:n.lines+=r*e;break;case 0:n.points+=r*e;break;default:console.error(\"THREE.WebGLInfo: Unknown draw mode:\",t);break}}function reset(){n.frame++;n.calls=0;n.triangles=0;n.points=0;n.lines=0}return{memory:t,render:n,programs:null,autoReset:true,reset:reset,update:update}}class DataTexture2DArray extends Texture{constructor(e=null,t=1,n=1,r=1){super(null);this.image={data:e,width:t,height:n,depth:r};this.magFilter=de;this.minFilter=de;this.wrapR=ue;this.generateMipmaps=false;this.flipY=false;this.unpackAlignment=1}}DataTexture2DArray.prototype.isDataTexture2DArray=true;function numericalSort(e,t){return e[0]-t[0]}function absNumericalSort(e,t){return Math.abs(t[1])-Math.abs(e[1])}function denormalize(e,t){let n=1;const r=t.isInterleavedBufferAttribute?t.data.array:t.array;r instanceof Int8Array?n=127:r instanceof Int16Array?n=32767:r instanceof Int32Array?n=2147483647:console.error(\"THREE.WebGLMorphtargets: Unsupported morph attribute data type: \",r);e.divideScalar(n)}function WebGLMorphtargets(e,t,n){const r={};const i=new Float32Array(8);const s=new WeakMap;const a=new Vector3;const o=[];for(let e=0;e<8;e++)o[e]=[e,0];function update(l,c,u,h){const d=l.morphTargetInfluences;if(true===t.isWebGL2){const r=c.morphAttributes.position.length;let i=s.get(c);if(void 0===i||i.count!==r){void 0!==i&&i.texture.dispose();const e=void 0!==c.morphAttributes.normal;const n=c.morphAttributes.position;const o=c.morphAttributes.normal||[];const l=c.attributes.position.count;const u=true===e?2:1;let h=l*u;let d=1;if(h>t.maxTextureSize){d=Math.ceil(h/t.maxTextureSize);h=t.maxTextureSize}const p=new Float32Array(h*d*4*r);const f=new DataTexture2DArray(p,h,d,r);f.format=Ne;f.type=Le;f.needsUpdate=true;const m=4*u;for(let t=0;t<r;t++){const r=n[t];const i=o[t];const s=h*d*4*t;for(let t=0;t<r.count;t++){a.fromBufferAttribute(r,t);true===r.normalized&&denormalize(a,r);const n=t*m;p[s+n+0]=a.x;p[s+n+1]=a.y;p[s+n+2]=a.z;p[s+n+3]=0;if(true===e){a.fromBufferAttribute(i,t);true===i.normalized&&denormalize(a,i);p[s+n+4]=a.x;p[s+n+5]=a.y;p[s+n+6]=a.z;p[s+n+7]=0}}}i={count:r,texture:f,size:new Vector2(h,d)};s.set(c,i)}let o=0;for(let e=0;e<d.length;e++)o+=d[e];const l=c.morphTargetsRelative?1:1-o;h.getUniforms().setValue(e,\"morphTargetBaseInfluence\",l);h.getUniforms().setValue(e,\"morphTargetInfluences\",d);h.getUniforms().setValue(e,\"morphTargetsTexture\",i.texture,n);h.getUniforms().setValue(e,\"morphTargetsTextureSize\",i.size)}else{const t=void 0===d?0:d.length;let n=r[c.id];if(void 0===n||n.length!==t){n=[];for(let e=0;e<t;e++)n[e]=[e,0];r[c.id]=n}for(let e=0;e<t;e++){const t=n[e];t[0]=e;t[1]=d[e]}n.sort(absNumericalSort);for(let e=0;e<8;e++)if(e<t&&n[e][1]){o[e][0]=n[e][0];o[e][1]=n[e][1]}else{o[e][0]=Number.MAX_SAFE_INTEGER;o[e][1]=0}o.sort(numericalSort);const s=c.morphAttributes.position;const a=c.morphAttributes.normal;let l=0;for(let e=0;e<8;e++){const t=o[e];const n=t[0];const r=t[1];if(n!==Number.MAX_SAFE_INTEGER&&r){s&&c.getAttribute(\"morphTarget\"+e)!==s[n]&&c.setAttribute(\"morphTarget\"+e,s[n]);a&&c.getAttribute(\"morphNormal\"+e)!==a[n]&&c.setAttribute(\"morphNormal\"+e,a[n]);i[e]=r;l+=r}else{s&&true===c.hasAttribute(\"morphTarget\"+e)&&c.deleteAttribute(\"morphTarget\"+e);a&&true===c.hasAttribute(\"morphNormal\"+e)&&c.deleteAttribute(\"morphNormal\"+e);i[e]=0}}const u=c.morphTargetsRelative?1:1-l;h.getUniforms().setValue(e,\"morphTargetBaseInfluence\",u);h.getUniforms().setValue(e,\"morphTargetInfluences\",i)}}return{update:update}}function WebGLObjects(e,t,n,r){let i=new WeakMap;function update(e){const s=r.render.frame;const a=e.geometry;const o=t.get(e,a);if(i.get(o)!==s){t.update(o);i.set(o,s)}if(e.isInstancedMesh){false===e.hasEventListener(\"dispose\",onInstancedMeshDispose)&&e.addEventListener(\"dispose\",onInstancedMeshDispose);n.update(e.instanceMatrix,34962);null!==e.instanceColor&&n.update(e.instanceColor,34962)}return o}function dispose(){i=new WeakMap}function onInstancedMeshDispose(e){const t=e.target;t.removeEventListener(\"dispose\",onInstancedMeshDispose);n.remove(t.instanceMatrix);null!==t.instanceColor&&n.remove(t.instanceColor)}return{update:update,dispose:dispose}}class DataTexture3D extends Texture{constructor(e=null,t=1,n=1,r=1){super(null);this.image={data:e,width:t,height:n,depth:r};this.magFilter=de;this.minFilter=de;this.wrapR=ue;this.generateMipmaps=false;this.flipY=false;this.unpackAlignment=1}}DataTexture3D.prototype.isDataTexture3D=true;const yo=new Texture;const vo=new DataTexture2DArray;const xo=new DataTexture3D;const bo=new CubeTexture;const _o=[];const Mo=[];const wo=new Float32Array(16);const So=new Float32Array(9);const To=new Float32Array(4);function flatten(e,t,n){const r=e[0];if(r<=0||r>0)return e;const i=t*n;let s=_o[i];if(void 0===s){s=new Float32Array(i);_o[i]=s}if(0!==t){r.toArray(s,0);for(let r=1,i=0;r!==t;++r){i+=n;e[r].toArray(s,i)}}return s}function arraysEqual(e,t){if(e.length!==t.length)return false;for(let n=0,r=e.length;n<r;n++)if(e[n]!==t[n])return false;return true}function copyArray(e,t){for(let n=0,r=t.length;n<r;n++)e[n]=t[n]}function allocTexUnits(e,t){let n=Mo[t];if(void 0===n){n=new Int32Array(t);Mo[t]=n}for(let r=0;r!==t;++r)n[r]=e.allocateTextureUnit();return n}function setValueV1f(e,t){const n=this.cache;if(n[0]!==t){e.uniform1f(this.addr,t);n[0]=t}}function setValueV2f(e,t){const n=this.cache;if(void 0!==t.x){if(n[0]!==t.x||n[1]!==t.y){e.uniform2f(this.addr,t.x,t.y);n[0]=t.x;n[1]=t.y}}else{if(arraysEqual(n,t))return;e.uniform2fv(this.addr,t);copyArray(n,t)}}function setValueV3f(e,t){const n=this.cache;if(void 0!==t.x){if(n[0]!==t.x||n[1]!==t.y||n[2]!==t.z){e.uniform3f(this.addr,t.x,t.y,t.z);n[0]=t.x;n[1]=t.y;n[2]=t.z}}else if(void 0!==t.r){if(n[0]!==t.r||n[1]!==t.g||n[2]!==t.b){e.uniform3f(this.addr,t.r,t.g,t.b);n[0]=t.r;n[1]=t.g;n[2]=t.b}}else{if(arraysEqual(n,t))return;e.uniform3fv(this.addr,t);copyArray(n,t)}}function setValueV4f(e,t){const n=this.cache;if(void 0!==t.x){if(n[0]!==t.x||n[1]!==t.y||n[2]!==t.z||n[3]!==t.w){e.uniform4f(this.addr,t.x,t.y,t.z,t.w);n[0]=t.x;n[1]=t.y;n[2]=t.z;n[3]=t.w}}else{if(arraysEqual(n,t))return;e.uniform4fv(this.addr,t);copyArray(n,t)}}function setValueM2(e,t){const n=this.cache;const r=t.elements;if(void 0===r){if(arraysEqual(n,t))return;e.uniformMatrix2fv(this.addr,false,t);copyArray(n,t)}else{if(arraysEqual(n,r))return;To.set(r);e.uniformMatrix2fv(this.addr,false,To);copyArray(n,r)}}function setValueM3(e,t){const n=this.cache;const r=t.elements;if(void 0===r){if(arraysEqual(n,t))return;e.uniformMatrix3fv(this.addr,false,t);copyArray(n,t)}else{if(arraysEqual(n,r))return;So.set(r);e.uniformMatrix3fv(this.addr,false,So);copyArray(n,r)}}function setValueM4(e,t){const n=this.cache;const r=t.elements;if(void 0===r){if(arraysEqual(n,t))return;e.uniformMatrix4fv(this.addr,false,t);copyArray(n,t)}else{if(arraysEqual(n,r))return;wo.set(r);e.uniformMatrix4fv(this.addr,false,wo);copyArray(n,r)}}function setValueV1i(e,t){const n=this.cache;if(n[0]!==t){e.uniform1i(this.addr,t);n[0]=t}}function setValueV2i(e,t){const n=this.cache;if(!arraysEqual(n,t)){e.uniform2iv(this.addr,t);copyArray(n,t)}}function setValueV3i(e,t){const n=this.cache;if(!arraysEqual(n,t)){e.uniform3iv(this.addr,t);copyArray(n,t)}}function setValueV4i(e,t){const n=this.cache;if(!arraysEqual(n,t)){e.uniform4iv(this.addr,t);copyArray(n,t)}}function setValueV1ui(e,t){const n=this.cache;if(n[0]!==t){e.uniform1ui(this.addr,t);n[0]=t}}function setValueV2ui(e,t){const n=this.cache;if(!arraysEqual(n,t)){e.uniform2uiv(this.addr,t);copyArray(n,t)}}function setValueV3ui(e,t){const n=this.cache;if(!arraysEqual(n,t)){e.uniform3uiv(this.addr,t);copyArray(n,t)}}function setValueV4ui(e,t){const n=this.cache;if(!arraysEqual(n,t)){e.uniform4uiv(this.addr,t);copyArray(n,t)}}function setValueT1(e,t,n){const r=this.cache;const i=n.allocateTextureUnit();if(r[0]!==i){e.uniform1i(this.addr,i);r[0]=i}n.safeSetTexture2D(t||yo,i)}function setValueT3D1(e,t,n){const r=this.cache;const i=n.allocateTextureUnit();if(r[0]!==i){e.uniform1i(this.addr,i);r[0]=i}n.setTexture3D(t||xo,i)}function setValueT6(e,t,n){const r=this.cache;const i=n.allocateTextureUnit();if(r[0]!==i){e.uniform1i(this.addr,i);r[0]=i}n.safeSetTextureCube(t||bo,i)}function setValueT2DArray1(e,t,n){const r=this.cache;const i=n.allocateTextureUnit();if(r[0]!==i){e.uniform1i(this.addr,i);r[0]=i}n.setTexture2DArray(t||vo,i)}function getSingularSetter(e){switch(e){case 5126:return setValueV1f;case 35664:return setValueV2f;case 35665:return setValueV3f;case 35666:return setValueV4f;case 35674:return setValueM2;case 35675:return setValueM3;case 35676:return setValueM4;case 5124:case 35670:return setValueV1i;case 35667:case 35671:return setValueV2i;case 35668:case 35672:return setValueV3i;case 35669:case 35673:return setValueV4i;case 5125:return setValueV1ui;case 36294:return setValueV2ui;case 36295:return setValueV3ui;case 36296:return setValueV4ui;case 35678:case 36198:case 36298:case 36306:case 35682:return setValueT1;case 35679:case 36299:case 36307:return setValueT3D1;case 35680:case 36300:case 36308:case 36293:return setValueT6;case 36289:case 36303:case 36311:case 36292:return setValueT2DArray1}}function setValueV1fArray(e,t){e.uniform1fv(this.addr,t)}function setValueV2fArray(e,t){const n=flatten(t,this.size,2);e.uniform2fv(this.addr,n)}function setValueV3fArray(e,t){const n=flatten(t,this.size,3);e.uniform3fv(this.addr,n)}function setValueV4fArray(e,t){const n=flatten(t,this.size,4);e.uniform4fv(this.addr,n)}function setValueM2Array(e,t){const n=flatten(t,this.size,4);e.uniformMatrix2fv(this.addr,false,n)}function setValueM3Array(e,t){const n=flatten(t,this.size,9);e.uniformMatrix3fv(this.addr,false,n)}function setValueM4Array(e,t){const n=flatten(t,this.size,16);e.uniformMatrix4fv(this.addr,false,n)}function setValueV1iArray(e,t){e.uniform1iv(this.addr,t)}function setValueV2iArray(e,t){e.uniform2iv(this.addr,t)}function setValueV3iArray(e,t){e.uniform3iv(this.addr,t)}function setValueV4iArray(e,t){e.uniform4iv(this.addr,t)}function setValueV1uiArray(e,t){e.uniform1uiv(this.addr,t)}function setValueV2uiArray(e,t){e.uniform2uiv(this.addr,t)}function setValueV3uiArray(e,t){e.uniform3uiv(this.addr,t)}function setValueV4uiArray(e,t){e.uniform4uiv(this.addr,t)}function setValueT1Array(e,t,n){const r=t.length;const i=allocTexUnits(n,r);e.uniform1iv(this.addr,i);for(let e=0;e!==r;++e)n.safeSetTexture2D(t[e]||yo,i[e])}function setValueT3DArray(e,t,n){const r=t.length;const i=allocTexUnits(n,r);e.uniform1iv(this.addr,i);for(let e=0;e!==r;++e)n.setTexture3D(t[e]||xo,i[e])}function setValueT6Array(e,t,n){const r=t.length;const i=allocTexUnits(n,r);e.uniform1iv(this.addr,i);for(let e=0;e!==r;++e)n.safeSetTextureCube(t[e]||bo,i[e])}function setValueT2DArrayArray(e,t,n){const r=t.length;const i=allocTexUnits(n,r);e.uniform1iv(this.addr,i);for(let e=0;e!==r;++e)n.setTexture2DArray(t[e]||vo,i[e])}function getPureArraySetter(e){switch(e){case 5126:return setValueV1fArray;case 35664:return setValueV2fArray;case 35665:return setValueV3fArray;case 35666:return setValueV4fArray;case 35674:return setValueM2Array;case 35675:return setValueM3Array;case 35676:return setValueM4Array;case 5124:case 35670:return setValueV1iArray;case 35667:case 35671:return setValueV2iArray;case 35668:case 35672:return setValueV3iArray;case 35669:case 35673:return setValueV4iArray;case 5125:return setValueV1uiArray;case 36294:return setValueV2uiArray;case 36295:return setValueV3uiArray;case 36296:return setValueV4uiArray;case 35678:case 36198:case 36298:case 36306:case 35682:return setValueT1Array;case 35679:case 36299:case 36307:return setValueT3DArray;case 35680:case 36300:case 36308:case 36293:return setValueT6Array;case 36289:case 36303:case 36311:case 36292:return setValueT2DArrayArray}}function SingleUniform(e,t,n){this.id=e;this.addr=n;this.cache=[];this.setValue=getSingularSetter(t.type)}function PureArrayUniform(e,t,n){this.id=e;this.addr=n;this.cache=[];this.size=t.size;this.setValue=getPureArraySetter(t.type)}PureArrayUniform.prototype.updateCache=function(e){const t=this.cache;e instanceof Float32Array&&t.length!==e.length&&(this.cache=new Float32Array(e.length));copyArray(t,e)};function StructuredUniform(e){this.id=e;this.seq=[];this.map={}}StructuredUniform.prototype.setValue=function(e,t,n){const r=this.seq;for(let i=0,s=r.length;i!==s;++i){const s=r[i];s.setValue(e,t[s.id],n)}};const Eo=/(\\w+)(\\])?(\\[|\\.)?/g;function addUniform(e,t){e.seq.push(t);e.map[t.id]=t}function parseUniform(e,t,n){const r=e.name,i=r.length;Eo.lastIndex=0;while(true){const s=Eo.exec(r),a=Eo.lastIndex;let o=s[1];const l=\"]\"===s[2],c=s[3];l&&(o|=0);if(void 0===c||\"[\"===c&&a+2===i){addUniform(n,void 0===c?new SingleUniform(o,e,t):new PureArrayUniform(o,e,t));break}{const e=n.map;let t=e[o];if(void 0===t){t=new StructuredUniform(o);addUniform(n,t)}n=t}}}function WebGLUniforms(e,t){this.seq=[];this.map={};const n=e.getProgramParameter(t,35718);for(let r=0;r<n;++r){const n=e.getActiveUniform(t,r),i=e.getUniformLocation(t,n.name);parseUniform(n,i,this)}}WebGLUniforms.prototype.setValue=function(e,t,n,r){const i=this.map[t];void 0!==i&&i.setValue(e,n,r)};WebGLUniforms.prototype.setOptional=function(e,t,n){const r=t[n];void 0!==r&&this.setValue(e,n,r)};WebGLUniforms.upload=function(e,t,n,r){for(let i=0,s=t.length;i!==s;++i){const s=t[i],a=n[s.id];false!==a.needsUpdate&&s.setValue(e,a.value,r)}};WebGLUniforms.seqWithValue=function(e,t){const n=[];for(let r=0,i=e.length;r!==i;++r){const i=e[r];i.id in t&&n.push(i)}return n};function WebGLShader(e,t,n){const r=e.createShader(t);e.shaderSource(r,n);e.compileShader(r);return r}let Ao=0;function addLineNumbers(e){const t=e.split(\"\\n\");for(let e=0;e<t.length;e++)t[e]=e+1+\": \"+t[e];return t.join(\"\\n\")}function getEncodingComponents(e){switch(e){case Xt:return[\"Linear\",\"( value )\"];case Jt:return[\"sRGB\",\"( value )\"];default:console.warn(\"THREE.WebGLProgram: Unsupported encoding:\",e);return[\"Linear\",\"( value )\"]}}function getShaderErrors(e,t,n){const r=e.getShaderParameter(t,35713);const i=e.getShaderInfoLog(t).trim();return r&&\"\"===i?\"\":n.toUpperCase()+\"\\n\\n\"+i+\"\\n\\n\"+addLineNumbers(e.getShaderSource(t))}function getTexelDecodingFunction(e,t){const n=getEncodingComponents(t);return\"vec4 \"+e+\"( vec4 value ) { return \"+n[0]+\"ToLinear\"+n[1]+\"; }\"}function getTexelEncodingFunction(e,t){const n=getEncodingComponents(t);return\"vec4 \"+e+\"( vec4 value ) { return LinearTo\"+n[0]+n[1]+\"; }\"}function getToneMappingFunction(e,t){let n;switch(t){case Q:n=\"Linear\";break;case K:n=\"Reinhard\";break;case $:n=\"OptimizedCineon\";break;case ee:n=\"ACESFilmic\";break;case te:n=\"Custom\";break;default:console.warn(\"THREE.WebGLProgram: Unsupported toneMapping:\",t);n=\"Linear\"}return\"vec3 \"+e+\"( vec3 color ) { return \"+n+\"ToneMapping( color ); }\"}function generateExtensions(e){const t=[e.extensionDerivatives||e.envMapCubeUV||e.bumpMap||e.tangentSpaceNormalMap||e.clearcoatNormalMap||e.flatShading||\"physical\"===e.shaderID?\"#extension GL_OES_standard_derivatives : enable\":\"\",(e.extensionFragDepth||e.logarithmicDepthBuffer)&&e.rendererExtensionFragDepth?\"#extension GL_EXT_frag_depth : enable\":\"\",e.extensionDrawBuffers&&e.rendererExtensionDrawBuffers?\"#extension GL_EXT_draw_buffers : require\":\"\",(e.extensionShaderTextureLOD||e.envMap||e.transmission)&&e.rendererExtensionShaderTextureLod?\"#extension GL_EXT_shader_texture_lod : enable\":\"\"];return t.filter(filterEmptyLine).join(\"\\n\")}function generateDefines(e){const t=[];for(const n in e){const r=e[n];false!==r&&t.push(\"#define \"+n+\" \"+r)}return t.join(\"\\n\")}function fetchAttributeLocations(e,t){const n={};const r=e.getProgramParameter(t,35721);for(let i=0;i<r;i++){const r=e.getActiveAttrib(t,i);const s=r.name;let a=1;35674===r.type&&(a=2);35675===r.type&&(a=3);35676===r.type&&(a=4);n[s]={type:r.type,location:e.getAttribLocation(t,s),locationSize:a}}return n}function filterEmptyLine(e){return\"\"!==e}function replaceLightNums(e,t){return e.replace(/NUM_DIR_LIGHTS/g,t.numDirLights).replace(/NUM_SPOT_LIGHTS/g,t.numSpotLights).replace(/NUM_RECT_AREA_LIGHTS/g,t.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,t.numPointLights).replace(/NUM_HEMI_LIGHTS/g,t.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,t.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS/g,t.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,t.numPointLightShadows)}function replaceClippingPlaneNums(e,t){return e.replace(/NUM_CLIPPING_PLANES/g,t.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,t.numClippingPlanes-t.numClipIntersection)}const Lo=/^[ \\t]*#include +<([\\w\\d./]+)>/gm;function resolveIncludes(e){return e.replace(Lo,includeReplacer)}function includeReplacer(e,t){const n=Qa[t];if(void 0===n)throw new Error(\"Can not resolve #include <\"+t+\">\");return resolveIncludes(n)}const Co=/#pragma unroll_loop[\\s]+?for \\( int i \\= (\\d+)\\; i < (\\d+)\\; i \\+\\+ \\) \\{([\\s\\S]+?)(?=\\})\\}/g;const Ro=/#pragma unroll_loop_start\\s+for\\s*\\(\\s*int\\s+i\\s*=\\s*(\\d+)\\s*;\\s*i\\s*<\\s*(\\d+)\\s*;\\s*i\\s*\\+\\+\\s*\\)\\s*{([\\s\\S]+?)}\\s+#pragma unroll_loop_end/g;function unrollLoops(e){return e.replace(Ro,loopReplacer).replace(Co,deprecatedLoopReplacer)}function deprecatedLoopReplacer(e,t,n,r){console.warn(\"WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead.\");return loopReplacer(e,t,n,r)}function loopReplacer(e,t,n,r){let i=\"\";for(let e=parseInt(t);e<parseInt(n);e++)i+=r.replace(/\\[\\s*i\\s*\\]/g,\"[ \"+e+\" ]\").replace(/UNROLLED_LOOP_INDEX/g,e);return i}function generatePrecision(e){let t=\"precision \"+e.precision+\" float;\\nprecision \"+e.precision+\" int;\";\"highp\"===e.precision?t+=\"\\n#define HIGH_PRECISION\":\"mediump\"===e.precision?t+=\"\\n#define MEDIUM_PRECISION\":\"lowp\"===e.precision&&(t+=\"\\n#define LOW_PRECISION\");return t}function generateShadowMapTypeDefine(e){let t=\"SHADOWMAP_TYPE_BASIC\";e.shadowMapType===l?t=\"SHADOWMAP_TYPE_PCF\":e.shadowMapType===c?t=\"SHADOWMAP_TYPE_PCF_SOFT\":e.shadowMapType===u&&(t=\"SHADOWMAP_TYPE_VSM\");return t}function generateEnvMapTypeDefine(e){let t=\"ENVMAP_TYPE_CUBE\";if(e.envMap)switch(e.envMapMode){case re:case ie:t=\"ENVMAP_TYPE_CUBE\";break;case oe:case le:t=\"ENVMAP_TYPE_CUBE_UV\";break}return t}function generateEnvMapModeDefine(e){let t=\"ENVMAP_MODE_REFLECTION\";if(e.envMap)switch(e.envMapMode){case ie:case le:t=\"ENVMAP_MODE_REFRACTION\";break}return t}function generateEnvMapBlendingDefine(e){let t=\"ENVMAP_BLENDING_NONE\";if(e.envMap)switch(e.combine){case X:t=\"ENVMAP_BLENDING_MULTIPLY\";break;case J:t=\"ENVMAP_BLENDING_MIX\";break;case Y:t=\"ENVMAP_BLENDING_ADD\";break}return t}function WebGLProgram(e,t,n,r){const i=e.getContext();const s=n.defines;let a=n.vertexShader;let o=n.fragmentShader;const l=generateShadowMapTypeDefine(n);const c=generateEnvMapTypeDefine(n);const u=generateEnvMapModeDefine(n);const h=generateEnvMapBlendingDefine(n);const d=n.isWebGL2?\"\":generateExtensions(n);const p=generateDefines(s);const f=i.createProgram();let m,g;let y=n.glslVersion?\"#version \"+n.glslVersion+\"\\n\":\"\";if(n.isRawShaderMaterial){m=[p].filter(filterEmptyLine).join(\"\\n\");m.length>0&&(m+=\"\\n\");g=[d,p].filter(filterEmptyLine).join(\"\\n\");g.length>0&&(g+=\"\\n\")}else{m=[generatePrecision(n),\"#define SHADER_NAME \"+n.shaderName,p,n.instancing?\"#define USE_INSTANCING\":\"\",n.instancingColor?\"#define USE_INSTANCING_COLOR\":\"\",n.supportsVertexTextures?\"#define VERTEX_TEXTURES\":\"\",\"#define MAX_BONES \"+n.maxBones,n.useFog&&n.fog?\"#define USE_FOG\":\"\",n.useFog&&n.fogExp2?\"#define FOG_EXP2\":\"\",n.map?\"#define USE_MAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+u:\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.normalMap&&n.objectSpaceNormalMap?\"#define OBJECTSPACE_NORMALMAP\":\"\",n.normalMap&&n.tangentSpaceNormalMap?\"#define TANGENTSPACE_NORMALMAP\":\"\",n.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",n.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",n.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",n.displacementMap&&n.supportsVertexTextures?\"#define USE_DISPLACEMENTMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.specularIntensityMap?\"#define USE_SPECULARINTENSITYMAP\":\"\",n.specularColorMap?\"#define USE_SPECULARCOLORMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.transmission?\"#define USE_TRANSMISSION\":\"\",n.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",n.thicknessMap?\"#define USE_THICKNESSMAP\":\"\",n.sheenColorMap?\"#define USE_SHEENCOLORMAP\":\"\",n.sheenRoughnessMap?\"#define USE_SHEENROUGHNESSMAP\":\"\",n.vertexTangents?\"#define USE_TANGENT\":\"\",n.vertexColors?\"#define USE_COLOR\":\"\",n.vertexAlphas?\"#define USE_COLOR_ALPHA\":\"\",n.vertexUvs?\"#define USE_UV\":\"\",n.uvsVertexOnly?\"#define UVS_VERTEX_ONLY\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.skinning?\"#define USE_SKINNING\":\"\",n.useVertexTexture?\"#define BONE_TEXTURE\":\"\",n.morphTargets?\"#define USE_MORPHTARGETS\":\"\",n.morphNormals&&false===n.flatShading?\"#define USE_MORPHNORMALS\":\"\",n.morphTargets&&n.isWebGL2?\"#define MORPHTARGETS_TEXTURE\":\"\",n.morphTargets&&n.isWebGL2?\"#define MORPHTARGETS_COUNT \"+n.morphTargetsCount:\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+l:\"\",n.sizeAttenuation?\"#define USE_SIZEATTENUATION\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?\"#define USE_LOGDEPTHBUF_EXT\":\"\",\"uniform mat4 modelMatrix;\",\"uniform mat4 modelViewMatrix;\",\"uniform mat4 projectionMatrix;\",\"uniform mat4 viewMatrix;\",\"uniform mat3 normalMatrix;\",\"uniform vec3 cameraPosition;\",\"uniform bool isOrthographic;\",\"#ifdef USE_INSTANCING\",\"\\tattribute mat4 instanceMatrix;\",\"#endif\",\"#ifdef USE_INSTANCING_COLOR\",\"\\tattribute vec3 instanceColor;\",\"#endif\",\"attribute vec3 position;\",\"attribute vec3 normal;\",\"attribute vec2 uv;\",\"#ifdef USE_TANGENT\",\"\\tattribute vec4 tangent;\",\"#endif\",\"#if defined( USE_COLOR_ALPHA )\",\"\\tattribute vec4 color;\",\"#elif defined( USE_COLOR )\",\"\\tattribute vec3 color;\",\"#endif\",\"#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )\",\"\\tattribute vec3 morphTarget0;\",\"\\tattribute vec3 morphTarget1;\",\"\\tattribute vec3 morphTarget2;\",\"\\tattribute vec3 morphTarget3;\",\"\\t#ifdef USE_MORPHNORMALS\",\"\\t\\tattribute vec3 morphNormal0;\",\"\\t\\tattribute vec3 morphNormal1;\",\"\\t\\tattribute vec3 morphNormal2;\",\"\\t\\tattribute vec3 morphNormal3;\",\"\\t#else\",\"\\t\\tattribute vec3 morphTarget4;\",\"\\t\\tattribute vec3 morphTarget5;\",\"\\t\\tattribute vec3 morphTarget6;\",\"\\t\\tattribute vec3 morphTarget7;\",\"\\t#endif\",\"#endif\",\"#ifdef USE_SKINNING\",\"\\tattribute vec4 skinIndex;\",\"\\tattribute vec4 skinWeight;\",\"#endif\",\"\\n\"].filter(filterEmptyLine).join(\"\\n\");g=[d,generatePrecision(n),\"#define SHADER_NAME \"+n.shaderName,p,n.useFog&&n.fog?\"#define USE_FOG\":\"\",n.useFog&&n.fogExp2?\"#define FOG_EXP2\":\"\",n.map?\"#define USE_MAP\":\"\",n.matcap?\"#define USE_MATCAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+c:\"\",n.envMap?\"#define \"+u:\"\",n.envMap?\"#define \"+h:\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.normalMap&&n.objectSpaceNormalMap?\"#define OBJECTSPACE_NORMALMAP\":\"\",n.normalMap&&n.tangentSpaceNormalMap?\"#define TANGENTSPACE_NORMALMAP\":\"\",n.clearcoat?\"#define USE_CLEARCOAT\":\"\",n.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",n.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",n.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.specularIntensityMap?\"#define USE_SPECULARINTENSITYMAP\":\"\",n.specularColorMap?\"#define USE_SPECULARCOLORMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.alphaTest?\"#define USE_ALPHATEST\":\"\",n.sheen?\"#define USE_SHEEN\":\"\",n.sheenColorMap?\"#define USE_SHEENCOLORMAP\":\"\",n.sheenRoughnessMap?\"#define USE_SHEENROUGHNESSMAP\":\"\",n.transmission?\"#define USE_TRANSMISSION\":\"\",n.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",n.thicknessMap?\"#define USE_THICKNESSMAP\":\"\",n.vertexTangents?\"#define USE_TANGENT\":\"\",n.vertexColors||n.instancingColor?\"#define USE_COLOR\":\"\",n.vertexAlphas?\"#define USE_COLOR_ALPHA\":\"\",n.vertexUvs?\"#define USE_UV\":\"\",n.uvsVertexOnly?\"#define UVS_VERTEX_ONLY\":\"\",n.gradientMap?\"#define USE_GRADIENTMAP\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+l:\"\",n.premultipliedAlpha?\"#define PREMULTIPLIED_ALPHA\":\"\",n.physicallyCorrectLights?\"#define PHYSICALLY_CORRECT_LIGHTS\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?\"#define USE_LOGDEPTHBUF_EXT\":\"\",(n.extensionShaderTextureLOD||n.envMap)&&n.rendererExtensionShaderTextureLod?\"#define TEXTURE_LOD_EXT\":\"\",\"uniform mat4 viewMatrix;\",\"uniform vec3 cameraPosition;\",\"uniform bool isOrthographic;\",n.toneMapping!==Z?\"#define TONE_MAPPING\":\"\",n.toneMapping!==Z?Qa.tonemapping_pars_fragment:\"\",n.toneMapping!==Z?getToneMappingFunction(\"toneMapping\",n.toneMapping):\"\",n.dithering?\"#define DITHERING\":\"\",n.format===Ve?\"#define OPAQUE\":\"\",Qa.encodings_pars_fragment,n.map?getTexelDecodingFunction(\"mapTexelToLinear\",n.mapEncoding):\"\",n.matcap?getTexelDecodingFunction(\"matcapTexelToLinear\",n.matcapEncoding):\"\",n.envMap?getTexelDecodingFunction(\"envMapTexelToLinear\",n.envMapEncoding):\"\",n.emissiveMap?getTexelDecodingFunction(\"emissiveMapTexelToLinear\",n.emissiveMapEncoding):\"\",n.specularColorMap?getTexelDecodingFunction(\"specularColorMapTexelToLinear\",n.specularColorMapEncoding):\"\",n.sheenColorMap?getTexelDecodingFunction(\"sheenColorMapTexelToLinear\",n.sheenColorMapEncoding):\"\",n.lightMap?getTexelDecodingFunction(\"lightMapTexelToLinear\",n.lightMapEncoding):\"\",getTexelEncodingFunction(\"linearToOutputTexel\",n.outputEncoding),n.depthPacking?\"#define DEPTH_PACKING \"+n.depthPacking:\"\",\"\\n\"].filter(filterEmptyLine).join(\"\\n\")}a=resolveIncludes(a);a=replaceLightNums(a,n);a=replaceClippingPlaneNums(a,n);o=resolveIncludes(o);o=replaceLightNums(o,n);o=replaceClippingPlaneNums(o,n);a=unrollLoops(a);o=unrollLoops(o);if(n.isWebGL2&&true!==n.isRawShaderMaterial){y=\"#version 300 es\\n\";m=[\"precision mediump sampler2DArray;\",\"#define attribute in\",\"#define varying out\",\"#define texture2D texture\"].join(\"\\n\")+\"\\n\"+m;g=[\"#define varying in\",n.glslVersion===En?\"\":\"layout(location = 0) out highp vec4 pc_fragColor;\",n.glslVersion===En?\"\":\"#define gl_FragColor pc_fragColor\",\"#define gl_FragDepthEXT gl_FragDepth\",\"#define texture2D texture\",\"#define textureCube texture\",\"#define texture2DProj textureProj\",\"#define texture2DLodEXT textureLod\",\"#define texture2DProjLodEXT textureProjLod\",\"#define textureCubeLodEXT textureLod\",\"#define texture2DGradEXT textureGrad\",\"#define texture2DProjGradEXT textureProjGrad\",\"#define textureCubeGradEXT textureGrad\"].join(\"\\n\")+\"\\n\"+g}const x=y+m+a;const b=y+g+o;const _=WebGLShader(i,35633,x);const M=WebGLShader(i,35632,b);i.attachShader(f,_);i.attachShader(f,M);void 0!==n.index0AttributeName?i.bindAttribLocation(f,0,n.index0AttributeName):true===n.morphTargets&&i.bindAttribLocation(f,0,\"position\");i.linkProgram(f);if(e.debug.checkShaderErrors){const e=i.getProgramInfoLog(f).trim();const t=i.getShaderInfoLog(_).trim();const n=i.getShaderInfoLog(M).trim();let r=true;let s=true;if(false===i.getProgramParameter(f,35714)){r=false;const t=getShaderErrors(i,_,\"vertex\");const n=getShaderErrors(i,M,\"fragment\");console.error(\"THREE.WebGLProgram: Shader Error \"+i.getError()+\" - VALIDATE_STATUS \"+i.getProgramParameter(f,35715)+\"\\n\\nProgram Info Log: \"+e+\"\\n\"+t+\"\\n\"+n)}else\"\"!==e?console.warn(\"THREE.WebGLProgram: Program Info Log:\",e):\"\"!==t&&\"\"!==n||(s=false);s&&(this.diagnostics={runnable:r,programLog:e,vertexShader:{log:t,prefix:m},fragmentShader:{log:n,prefix:g}})}i.deleteShader(_);i.deleteShader(M);let w;this.getUniforms=function(){void 0===w&&(w=new WebGLUniforms(i,f));return w};let S;this.getAttributes=function(){void 0===S&&(S=fetchAttributeLocations(i,f));return S};this.destroy=function(){r.releaseStatesOfProgram(this);i.deleteProgram(f);this.program=void 0};this.name=n.shaderName;this.id=Ao++;this.cacheKey=t;this.usedTimes=1;this.program=f;this.vertexShader=_;this.fragmentShader=M;return this}let Po=0;class WebGLShaderCache{constructor(){this.shaderCache=new Map;this.materialCache=new Map}update(e){const t=e.vertexShader;const n=e.fragmentShader;const r=this._getShaderStage(t);const i=this._getShaderStage(n);const s=this._getShaderCacheForMaterial(e);if(false===s.has(r)){s.add(r);r.usedTimes++}if(false===s.has(i)){s.add(i);i.usedTimes++}return this}remove(e){const t=this.materialCache.get(e);for(const e of t){e.usedTimes--;0===e.usedTimes&&this.shaderCache.delete(e)}this.materialCache.delete(e);return this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear();this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;false===t.has(e)&&t.set(e,new Set);return t.get(e)}_getShaderStage(e){const t=this.shaderCache;if(false===t.has(e)){const n=new WebGLShaderStage;t.set(e,n)}return t.get(e)}}class WebGLShaderStage{constructor(){this.id=Po++;this.usedTimes=0}}function WebGLPrograms(e,t,n,r,i,s,a){const o=new Layers;const l=new WebGLShaderCache;const c=[];const u=i.isWebGL2;const h=i.logarithmicDepthBuffer;const f=i.floatVertexTextures;const m=i.maxVertexUniforms;const g=i.vertexTextures;let y=i.precision;const x={MeshDepthMaterial:\"depth\",MeshDistanceMaterial:\"distanceRGBA\",MeshNormalMaterial:\"normal\",MeshBasicMaterial:\"basic\",MeshLambertMaterial:\"lambert\",MeshPhongMaterial:\"phong\",MeshToonMaterial:\"toon\",MeshStandardMaterial:\"physical\",MeshPhysicalMaterial:\"physical\",MeshMatcapMaterial:\"matcap\",LineBasicMaterial:\"basic\",LineDashedMaterial:\"dashed\",PointsMaterial:\"points\",ShadowMaterial:\"shadow\",SpriteMaterial:\"sprite\"};function getMaxBones(e){const t=e.skeleton;const n=t.bones;if(f)return 1024;{const e=m;const t=Math.floor((e-20)/4);const r=Math.min(t,n.length);if(r<n.length){console.warn(\"THREE.WebGLRenderer: Skeleton has \"+n.length+\" bones. This GPU supports \"+r+\".\");return 0}return r}}function getTextureEncodingFromMap(e){let t;if(e&&e.isTexture)t=e.encoding;else if(e&&e.isWebGLRenderTarget){console.warn(\"THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead.\");t=e.texture.encoding}else t=Xt;u&&e&&e.isTexture&&e.format===Ne&&e.type===Me&&e.encoding===Jt&&(t=Xt);return t}function getParameters(s,o,c,m,b){const _=m.fog;const M=s.isMeshStandardMaterial?m.environment:null;const w=(s.isMeshStandardMaterial?n:t).get(s.envMap||M);const S=x[s.type];const T=b.isSkinnedMesh?getMaxBones(b):0;if(null!==s.precision){y=i.getMaxPrecision(s.precision);y!==s.precision&&console.warn(\"THREE.WebGLProgram.getParameters:\",s.precision,\"not supported, using\",y,\"instead.\")}let E,A;let L,C;if(S){const e=$a[S];E=e.vertexShader;A=e.fragmentShader}else{E=s.vertexShader;A=s.fragmentShader;l.update(s);L=l.getVertexShaderID(s);C=l.getFragmentShaderID(s)}const R=e.getRenderTarget();const P=s.alphaTest>0;const I=s.clearcoat>0;const D={isWebGL2:u,shaderID:S,shaderName:s.type,vertexShader:E,fragmentShader:A,defines:s.defines,customVertexShaderID:L,customFragmentShaderID:C,isRawShaderMaterial:true===s.isRawShaderMaterial,glslVersion:s.glslVersion,precision:y,instancing:true===b.isInstancedMesh,instancingColor:true===b.isInstancedMesh&&null!==b.instanceColor,supportsVertexTextures:g,outputEncoding:null!==R?getTextureEncodingFromMap(R.texture):e.outputEncoding,map:!!s.map,mapEncoding:getTextureEncodingFromMap(s.map),matcap:!!s.matcap,matcapEncoding:getTextureEncodingFromMap(s.matcap),envMap:!!w,envMapMode:w&&w.mapping,envMapEncoding:getTextureEncodingFromMap(w),envMapCubeUV:!!w&&(w.mapping===oe||w.mapping===le),lightMap:!!s.lightMap,lightMapEncoding:getTextureEncodingFromMap(s.lightMap),aoMap:!!s.aoMap,emissiveMap:!!s.emissiveMap,emissiveMapEncoding:getTextureEncodingFromMap(s.emissiveMap),bumpMap:!!s.bumpMap,normalMap:!!s.normalMap,objectSpaceNormalMap:s.normalMapType===Kt,tangentSpaceNormalMap:s.normalMapType===Qt,clearcoat:I,clearcoatMap:I&&!!s.clearcoatMap,clearcoatRoughnessMap:I&&!!s.clearcoatRoughnessMap,clearcoatNormalMap:I&&!!s.clearcoatNormalMap,displacementMap:!!s.displacementMap,roughnessMap:!!s.roughnessMap,metalnessMap:!!s.metalnessMap,specularMap:!!s.specularMap,specularIntensityMap:!!s.specularIntensityMap,specularColorMap:!!s.specularColorMap,specularColorMapEncoding:getTextureEncodingFromMap(s.specularColorMap),alphaMap:!!s.alphaMap,alphaTest:P,gradientMap:!!s.gradientMap,sheen:s.sheen>0,sheenColorMap:!!s.sheenColorMap,sheenColorMapEncoding:getTextureEncodingFromMap(s.sheenColorMap),sheenRoughnessMap:!!s.sheenRoughnessMap,transmission:s.transmission>0,transmissionMap:!!s.transmissionMap,thicknessMap:!!s.thicknessMap,combine:s.combine,vertexTangents:!!s.normalMap&&!!b.geometry&&!!b.geometry.attributes.tangent,vertexColors:s.vertexColors,vertexAlphas:true===s.vertexColors&&!!b.geometry&&!!b.geometry.attributes.color&&4===b.geometry.attributes.color.itemSize,vertexUvs:!!s.map||!!s.bumpMap||!!s.normalMap||!!s.specularMap||!!s.alphaMap||!!s.emissiveMap||!!s.roughnessMap||!!s.metalnessMap||!!s.clearcoatMap||!!s.clearcoatRoughnessMap||!!s.clearcoatNormalMap||!!s.displacementMap||!!s.transmissionMap||!!s.thicknessMap||!!s.specularIntensityMap||!!s.specularColorMap||!!s.sheenColorMap||!!s.sheenRoughnessMap,uvsVertexOnly:!(!!s.map||!!s.bumpMap||!!s.normalMap||!!s.specularMap||!!s.alphaMap||!!s.emissiveMap||!!s.roughnessMap||!!s.metalnessMap||!!s.clearcoatNormalMap||s.transmission>0||!!s.transmissionMap||!!s.thicknessMap||!!s.specularIntensityMap||!!s.specularColorMap||s.sheen>0||!!s.sheenColorMap||!!s.sheenRoughnessMap)&&!!s.displacementMap,fog:!!_,useFog:s.fog,fogExp2:_&&_.isFogExp2,flatShading:!!s.flatShading,sizeAttenuation:s.sizeAttenuation,logarithmicDepthBuffer:h,skinning:true===b.isSkinnedMesh&&T>0,maxBones:T,useVertexTexture:f,morphTargets:!!b.geometry&&!!b.geometry.morphAttributes.position,morphNormals:!!b.geometry&&!!b.geometry.morphAttributes.normal,morphTargetsCount:!b.geometry||!b.geometry.morphAttributes.position?0:b.geometry.morphAttributes.position.length,numDirLights:o.directional.length,numPointLights:o.point.length,numSpotLights:o.spot.length,numRectAreaLights:o.rectArea.length,numHemiLights:o.hemi.length,numDirLightShadows:o.directionalShadowMap.length,numPointLightShadows:o.pointShadowMap.length,numSpotLightShadows:o.spotShadowMap.length,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,format:s.format,dithering:s.dithering,shadowMapEnabled:e.shadowMap.enabled&&c.length>0,shadowMapType:e.shadowMap.type,toneMapping:s.toneMapped?e.toneMapping:Z,physicallyCorrectLights:e.physicallyCorrectLights,premultipliedAlpha:s.premultipliedAlpha,doubleSided:s.side===p,flipSided:s.side===d,depthPacking:void 0!==s.depthPacking&&s.depthPacking,index0AttributeName:s.index0AttributeName,extensionDerivatives:s.extensions&&s.extensions.derivatives,extensionFragDepth:s.extensions&&s.extensions.fragDepth,extensionDrawBuffers:s.extensions&&s.extensions.drawBuffers,extensionShaderTextureLOD:s.extensions&&s.extensions.shaderTextureLOD,rendererExtensionFragDepth:u||r.has(\"EXT_frag_depth\"),rendererExtensionDrawBuffers:u||r.has(\"WEBGL_draw_buffers\"),rendererExtensionShaderTextureLod:u||r.has(\"EXT_shader_texture_lod\"),customProgramCacheKey:s.customProgramCacheKey()};return D}function getProgramCacheKey(t){const n=[];if(t.shaderID)n.push(t.shaderID);else{n.push(t.customVertexShaderID);n.push(t.customFragmentShaderID)}if(void 0!==t.defines)for(const e in t.defines){n.push(e);n.push(t.defines[e])}if(false===t.isRawShaderMaterial){getProgramCacheKeyParameters(n,t);getProgramCacheKeyBooleans(n,t);n.push(e.outputEncoding)}n.push(t.customProgramCacheKey);return n.join()}function getProgramCacheKeyParameters(e,t){e.push(t.precision);e.push(t.outputEncoding);e.push(t.mapEncoding);e.push(t.matcapEncoding);e.push(t.envMapMode);e.push(t.envMapEncoding);e.push(t.lightMapEncoding);e.push(t.emissiveMapEncoding);e.push(t.combine);e.push(t.vertexUvs);e.push(t.fogExp2);e.push(t.sizeAttenuation);e.push(t.maxBones);e.push(t.morphTargetsCount);e.push(t.numDirLights);e.push(t.numPointLights);e.push(t.numSpotLights);e.push(t.numHemiLights);e.push(t.numRectAreaLights);e.push(t.numDirLightShadows);e.push(t.numPointLightShadows);e.push(t.numSpotLightShadows);e.push(t.shadowMapType);e.push(t.toneMapping);e.push(t.numClippingPlanes);e.push(t.numClipIntersection);e.push(t.format);e.push(t.specularColorMapEncoding);e.push(t.sheenColorMapEncoding)}function getProgramCacheKeyBooleans(e,t){o.disableAll();t.isWebGL2&&o.enable(0);t.supportsVertexTextures&&o.enable(1);t.instancing&&o.enable(2);t.instancingColor&&o.enable(3);t.map&&o.enable(4);t.matcap&&o.enable(5);t.envMap&&o.enable(6);t.envMapCubeUV&&o.enable(7);t.lightMap&&o.enable(8);t.aoMap&&o.enable(9);t.emissiveMap&&o.enable(10);t.bumpMap&&o.enable(11);t.normalMap&&o.enable(12);t.objectSpaceNormalMap&&o.enable(13);t.tangentSpaceNormalMap&&o.enable(14);t.clearcoat&&o.enable(15);t.clearcoatMap&&o.enable(16);t.clearcoatRoughnessMap&&o.enable(17);t.clearcoatNormalMap&&o.enable(18);t.displacementMap&&o.enable(19);t.specularMap&&o.enable(20);t.roughnessMap&&o.enable(21);t.metalnessMap&&o.enable(22);t.gradientMap&&o.enable(23);t.alphaMap&&o.enable(24);t.alphaTest&&o.enable(25);t.vertexColors&&o.enable(26);t.vertexAlphas&&o.enable(27);t.vertexUvs&&o.enable(28);t.vertexTangents&&o.enable(29);t.uvsVertexOnly&&o.enable(30);t.fog&&o.enable(31);e.push(o.mask);o.disableAll();t.useFog&&o.enable(0);t.flatShading&&o.enable(1);t.logarithmicDepthBuffer&&o.enable(2);t.skinning&&o.enable(3);t.useVertexTexture&&o.enable(4);t.morphTargets&&o.enable(5);t.morphNormals&&o.enable(6);t.premultipliedAlpha&&o.enable(7);t.shadowMapEnabled&&o.enable(8);t.physicallyCorrectLights&&o.enable(9);t.doubleSided&&o.enable(10);t.flipSided&&o.enable(11);t.depthPacking&&o.enable(12);t.dithering&&o.enable(13);t.specularIntensityMap&&o.enable(14);t.specularColorMap&&o.enable(15);t.transmission&&o.enable(16);t.transmissionMap&&o.enable(17);t.thicknessMap&&o.enable(18);t.sheen&&o.enable(19);t.sheenColorMap&&o.enable(20);t.sheenRoughnessMap&&o.enable(21);e.push(o.mask)}function getUniforms(e){const t=x[e.type];let n;if(t){const e=$a[t];n=mi.clone(e.uniforms)}else n=e.uniforms;return n}function acquireProgram(t,n){let r;for(let e=0,t=c.length;e<t;e++){const t=c[e];if(t.cacheKey===n){r=t;++r.usedTimes;break}}if(void 0===r){r=new WebGLProgram(e,n,t,s);c.push(r)}return r}function releaseProgram(e){if(0===--e.usedTimes){const t=c.indexOf(e);c[t]=c[c.length-1];c.pop();e.destroy()}}function releaseShaderCache(e){l.remove(e)}function dispose(){l.dispose()}return{getParameters:getParameters,getProgramCacheKey:getProgramCacheKey,getUniforms:getUniforms,acquireProgram:acquireProgram,releaseProgram:releaseProgram,releaseShaderCache:releaseShaderCache,programs:c,dispose:dispose}}function WebGLProperties(){let e=new WeakMap;function get(t){let n=e.get(t);if(void 0===n){n={};e.set(t,n)}return n}function remove(t){e.delete(t)}function update(t,n,r){e.get(t)[n]=r}function dispose(){e=new WeakMap}return{get:get,remove:remove,update:update,dispose:dispose}}function painterSortStable(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.material.id!==t.material.id?e.material.id-t.material.id:e.z!==t.z?e.z-t.z:e.id-t.id}function reversePainterSortStable(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.z!==t.z?t.z-e.z:e.id-t.id}function WebGLRenderList(){const e=[];let t=0;const n=[];const r=[];const i=[];function init(){t=0;n.length=0;r.length=0;i.length=0}function getNextRenderItem(n,r,i,s,a,o){let l=e[t];if(void 0===l){l={id:n.id,object:n,geometry:r,material:i,groupOrder:s,renderOrder:n.renderOrder,z:a,group:o};e[t]=l}else{l.id=n.id;l.object=n;l.geometry=r;l.material=i;l.groupOrder=s;l.renderOrder=n.renderOrder;l.z=a;l.group=o}t++;return l}function push(e,t,s,a,o,l){const c=getNextRenderItem(e,t,s,a,o,l);s.transmission>0?r.push(c):true===s.transparent?i.push(c):n.push(c)}function unshift(e,t,s,a,o,l){const c=getNextRenderItem(e,t,s,a,o,l);s.transmission>0?r.unshift(c):true===s.transparent?i.unshift(c):n.unshift(c)}function sort(e,t){n.length>1&&n.sort(e||painterSortStable);r.length>1&&r.sort(t||reversePainterSortStable);i.length>1&&i.sort(t||reversePainterSortStable)}function finish(){for(let n=t,r=e.length;n<r;n++){const t=e[n];if(null===t.id)break;t.id=null;t.object=null;t.geometry=null;t.material=null;t.group=null}}return{opaque:n,transmissive:r,transparent:i,init:init,push:push,unshift:unshift,finish:finish,sort:sort}}function WebGLRenderLists(){let e=new WeakMap;function get(t,n){let r;if(false===e.has(t)){r=new WebGLRenderList;e.set(t,[r])}else if(n>=e.get(t).length){r=new WebGLRenderList;e.get(t).push(r)}else r=e.get(t)[n];return r}function dispose(){e=new WeakMap}return{get:get,dispose:dispose}}function UniformsCache(){const e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let n;switch(t.type){case\"DirectionalLight\":n={direction:new Vector3,color:new Color};break;case\"SpotLight\":n={position:new Vector3,direction:new Vector3,color:new Color,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case\"PointLight\":n={position:new Vector3,color:new Color,distance:0,decay:0};break;case\"HemisphereLight\":n={direction:new Vector3,skyColor:new Color,groundColor:new Color};break;case\"RectAreaLight\":n={color:new Color,position:new Vector3,halfWidth:new Vector3,halfHeight:new Vector3};break}e[t.id]=n;return n}}}function ShadowUniformsCache(){const e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let n;switch(t.type){case\"DirectionalLight\":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vector2};break;case\"SpotLight\":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vector2};break;case\"PointLight\":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vector2,shadowCameraNear:1,shadowCameraFar:1e3};break}e[t.id]=n;return n}}}let Io=0;function shadowCastingLightsFirst(e,t){return(t.castShadow?1:0)-(e.castShadow?1:0)}function WebGLLights(e,t){const n=new UniformsCache;const r=ShadowUniformsCache();const i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let e=0;e<9;e++)i.probe.push(new Vector3);const s=new Vector3;const a=new Matrix4;const o=new Matrix4;function setup(s,a){let o=0,l=0,c=0;for(let e=0;e<9;e++)i.probe[e].set(0,0,0);let u=0;let h=0;let d=0;let p=0;let f=0;let m=0;let g=0;let y=0;s.sort(shadowCastingLightsFirst);const x=true!==a?Math.PI:1;for(let e=0,t=s.length;e<t;e++){const t=s[e];const a=t.color;const b=t.intensity;const _=t.distance;const M=t.shadow&&t.shadow.map?t.shadow.map.texture:null;if(t.isAmbientLight){o+=a.r*b*x;l+=a.g*b*x;c+=a.b*b*x}else if(t.isLightProbe)for(let e=0;e<9;e++)i.probe[e].addScaledVector(t.sh.coefficients[e],b);else if(t.isDirectionalLight){const e=n.get(t);e.color.copy(t.color).multiplyScalar(t.intensity*x);if(t.castShadow){const e=t.shadow;const n=r.get(t);n.shadowBias=e.bias;n.shadowNormalBias=e.normalBias;n.shadowRadius=e.radius;n.shadowMapSize=e.mapSize;i.directionalShadow[u]=n;i.directionalShadowMap[u]=M;i.directionalShadowMatrix[u]=t.shadow.matrix;m++}i.directional[u]=e;u++}else if(t.isSpotLight){const e=n.get(t);e.position.setFromMatrixPosition(t.matrixWorld);e.color.copy(a).multiplyScalar(b*x);e.distance=_;e.coneCos=Math.cos(t.angle);e.penumbraCos=Math.cos(t.angle*(1-t.penumbra));e.decay=t.decay;if(t.castShadow){const e=t.shadow;const n=r.get(t);n.shadowBias=e.bias;n.shadowNormalBias=e.normalBias;n.shadowRadius=e.radius;n.shadowMapSize=e.mapSize;i.spotShadow[d]=n;i.spotShadowMap[d]=M;i.spotShadowMatrix[d]=t.shadow.matrix;y++}i.spot[d]=e;d++}else if(t.isRectAreaLight){const e=n.get(t);e.color.copy(a).multiplyScalar(b);e.halfWidth.set(.5*t.width,0,0);e.halfHeight.set(0,.5*t.height,0);i.rectArea[p]=e;p++}else if(t.isPointLight){const e=n.get(t);e.color.copy(t.color).multiplyScalar(t.intensity*x);e.distance=t.distance;e.decay=t.decay;if(t.castShadow){const e=t.shadow;const n=r.get(t);n.shadowBias=e.bias;n.shadowNormalBias=e.normalBias;n.shadowRadius=e.radius;n.shadowMapSize=e.mapSize;n.shadowCameraNear=e.camera.near;n.shadowCameraFar=e.camera.far;i.pointShadow[h]=n;i.pointShadowMap[h]=M;i.pointShadowMatrix[h]=t.shadow.matrix;g++}i.point[h]=e;h++}else if(t.isHemisphereLight){const e=n.get(t);e.skyColor.copy(t.color).multiplyScalar(b*x);e.groundColor.copy(t.groundColor).multiplyScalar(b*x);i.hemi[f]=e;f++}}if(p>0)if(t.isWebGL2){i.rectAreaLTC1=Ka.LTC_FLOAT_1;i.rectAreaLTC2=Ka.LTC_FLOAT_2}else if(true===e.has(\"OES_texture_float_linear\")){i.rectAreaLTC1=Ka.LTC_FLOAT_1;i.rectAreaLTC2=Ka.LTC_FLOAT_2}else if(true===e.has(\"OES_texture_half_float_linear\")){i.rectAreaLTC1=Ka.LTC_HALF_1;i.rectAreaLTC2=Ka.LTC_HALF_2}else console.error(\"THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.\");i.ambient[0]=o;i.ambient[1]=l;i.ambient[2]=c;const b=i.hash;if(b.directionalLength!==u||b.pointLength!==h||b.spotLength!==d||b.rectAreaLength!==p||b.hemiLength!==f||b.numDirectionalShadows!==m||b.numPointShadows!==g||b.numSpotShadows!==y){i.directional.length=u;i.spot.length=d;i.rectArea.length=p;i.point.length=h;i.hemi.length=f;i.directionalShadow.length=m;i.directionalShadowMap.length=m;i.pointShadow.length=g;i.pointShadowMap.length=g;i.spotShadow.length=y;i.spotShadowMap.length=y;i.directionalShadowMatrix.length=m;i.pointShadowMatrix.length=g;i.spotShadowMatrix.length=y;b.directionalLength=u;b.pointLength=h;b.spotLength=d;b.rectAreaLength=p;b.hemiLength=f;b.numDirectionalShadows=m;b.numPointShadows=g;b.numSpotShadows=y;i.version=Io++}}function setupView(e,t){let n=0;let r=0;let l=0;let c=0;let u=0;const h=t.matrixWorldInverse;for(let t=0,d=e.length;t<d;t++){const d=e[t];if(d.isDirectionalLight){const e=i.directional[n];e.direction.setFromMatrixPosition(d.matrixWorld);s.setFromMatrixPosition(d.target.matrixWorld);e.direction.sub(s);e.direction.transformDirection(h);n++}else if(d.isSpotLight){const e=i.spot[l];e.position.setFromMatrixPosition(d.matrixWorld);e.position.applyMatrix4(h);e.direction.setFromMatrixPosition(d.matrixWorld);s.setFromMatrixPosition(d.target.matrixWorld);e.direction.sub(s);e.direction.transformDirection(h);l++}else if(d.isRectAreaLight){const e=i.rectArea[c];e.position.setFromMatrixPosition(d.matrixWorld);e.position.applyMatrix4(h);o.identity();a.copy(d.matrixWorld);a.premultiply(h);o.extractRotation(a);e.halfWidth.set(.5*d.width,0,0);e.halfHeight.set(0,.5*d.height,0);e.halfWidth.applyMatrix4(o);e.halfHeight.applyMatrix4(o);c++}else if(d.isPointLight){const e=i.point[r];e.position.setFromMatrixPosition(d.matrixWorld);e.position.applyMatrix4(h);r++}else if(d.isHemisphereLight){const e=i.hemi[u];e.direction.setFromMatrixPosition(d.matrixWorld);e.direction.transformDirection(h);e.direction.normalize();u++}}}return{setup:setup,setupView:setupView,state:i}}function WebGLRenderState(e,t){const n=new WebGLLights(e,t);const r=[];const i=[];function init(){r.length=0;i.length=0}function pushLight(e){r.push(e)}function pushShadow(e){i.push(e)}function setupLights(e){n.setup(r,e)}function setupLightsView(e){n.setupView(r,e)}const s={lightsArray:r,shadowsArray:i,lights:n};return{init:init,state:s,setupLights:setupLights,setupLightsView:setupLightsView,pushLight:pushLight,pushShadow:pushShadow}}function WebGLRenderStates(e,t){let n=new WeakMap;function get(r,i=0){let s;if(false===n.has(r)){s=new WebGLRenderState(e,t);n.set(r,[s])}else if(i>=n.get(r).length){s=new WebGLRenderState(e,t);n.get(r).push(s)}else s=n.get(r)[i];return s}function dispose(){n=new WeakMap}return{get:get,dispose:dispose}}class MeshDepthMaterial extends Material{constructor(e){super();this.type=\"MeshDepthMaterial\";this.depthPacking=Yt;this.map=null;this.alphaMap=null;this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.wireframe=false;this.wireframeLinewidth=1;this.fog=false;this.setValues(e)}copy(e){super.copy(e);this.depthPacking=e.depthPacking;this.map=e.map;this.alphaMap=e.alphaMap;this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;return this}}MeshDepthMaterial.prototype.isMeshDepthMaterial=true;class MeshDistanceMaterial extends Material{constructor(e){super();this.type=\"MeshDistanceMaterial\";this.referencePosition=new Vector3;this.nearDistance=1;this.farDistance=1e3;this.map=null;this.alphaMap=null;this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.fog=false;this.setValues(e)}copy(e){super.copy(e);this.referencePosition.copy(e.referencePosition);this.nearDistance=e.nearDistance;this.farDistance=e.farDistance;this.map=e.map;this.alphaMap=e.alphaMap;this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;return this}}MeshDistanceMaterial.prototype.isMeshDistanceMaterial=true;const Do=\"void main() {\\n\\tgl_Position = vec4( position, 1.0 );\\n}\";const Bo=\"uniform sampler2D shadow_pass;\\nuniform vec2 resolution;\\nuniform float radius;\\n#include <packing>\\nvoid main() {\\n\\tconst float samples = float( VSM_SAMPLES );\\n\\tfloat mean = 0.0;\\n\\tfloat squared_mean = 0.0;\\n\\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\\n\\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\\n\\tfor ( float i = 0.0; i < samples; i ++ ) {\\n\\t\\tfloat uvOffset = uvStart + i * uvStride;\\n\\t\\t#ifdef HORIZONTAL_PASS\\n\\t\\t\\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\\n\\t\\t\\tmean += distribution.x;\\n\\t\\t\\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\\n\\t\\t#else\\n\\t\\t\\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\\n\\t\\t\\tmean += depth;\\n\\t\\t\\tsquared_mean += depth * depth;\\n\\t\\t#endif\\n\\t}\\n\\tmean = mean / samples;\\n\\tsquared_mean = squared_mean / samples;\\n\\tfloat std_dev = sqrt( squared_mean - mean * mean );\\n\\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\\n}\";function WebGLShadowMap(e,t,n){let r=new Frustum;const i=new Vector2,s=new Vector2,a=new Vector4,o=new MeshDepthMaterial({depthPacking:Zt}),c=new MeshDistanceMaterial,f={},m=n.maxTextureSize;const y={0:d,1:h,2:p};const x=new ShaderMaterial({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Vector2},radius:{value:4}},vertexShader:Do,fragmentShader:Bo});const b=x.clone();b.defines.HORIZONTAL_PASS=1;const _=new BufferGeometry;_.setAttribute(\"position\",new BufferAttribute(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const M=new Mesh(_,x);const w=this;this.enabled=false;this.autoUpdate=true;this.needsUpdate=false;this.type=l;this.render=function(t,n,o){if(false===w.enabled)return;if(false===w.autoUpdate&&false===w.needsUpdate)return;if(0===t.length)return;const l=e.getRenderTarget();const c=e.getActiveCubeFace();const h=e.getActiveMipmapLevel();const d=e.state;d.setBlending(g);d.buffers.color.setClear(1,1,1,1);d.buffers.depth.setTest(true);d.setScissorTest(false);for(let l=0,c=t.length;l<c;l++){const c=t[l];const h=c.shadow;if(void 0===h){console.warn(\"THREE.WebGLShadowMap:\",c,\"has no shadow.\");continue}if(false===h.autoUpdate&&false===h.needsUpdate)continue;i.copy(h.mapSize);const p=h.getFrameExtents();i.multiply(p);s.copy(h.mapSize);if(i.x>m||i.y>m){if(i.x>m){s.x=Math.floor(m/p.x);i.x=s.x*p.x;h.mapSize.x=s.x}if(i.y>m){s.y=Math.floor(m/p.y);i.y=s.y*p.y;h.mapSize.y=s.y}}if(null===h.map&&!h.isPointLightShadow&&this.type===u){const e={minFilter:ye,magFilter:ye,format:Ne};h.map=new WebGLRenderTarget(i.x,i.y,e);h.map.texture.name=c.name+\".shadowMap\";h.mapPass=new WebGLRenderTarget(i.x,i.y,e);h.camera.updateProjectionMatrix()}if(null===h.map){const e={minFilter:de,magFilter:de,format:Ne};h.map=new WebGLRenderTarget(i.x,i.y,e);h.map.texture.name=c.name+\".shadowMap\";h.camera.updateProjectionMatrix()}e.setRenderTarget(h.map);e.clear();const f=h.getViewportCount();for(let e=0;e<f;e++){const t=h.getViewport(e);a.set(s.x*t.x,s.y*t.y,s.x*t.z,s.y*t.w);d.viewport(a);h.updateMatrices(c,e);r=h.getFrustum();renderObject(n,o,h.camera,c,this.type)}h.isPointLightShadow||this.type!==u||VSMPass(h,o);h.needsUpdate=false}w.needsUpdate=false;e.setRenderTarget(l,c,h)};function VSMPass(n,r){const i=t.update(M);if(x.defines.VSM_SAMPLES!==n.blurSamples){x.defines.VSM_SAMPLES=n.blurSamples;b.defines.VSM_SAMPLES=n.blurSamples;x.needsUpdate=true;b.needsUpdate=true}x.uniforms.shadow_pass.value=n.map.texture;x.uniforms.resolution.value=n.mapSize;x.uniforms.radius.value=n.radius;e.setRenderTarget(n.mapPass);e.clear();e.renderBufferDirect(r,null,i,x,M,null);b.uniforms.shadow_pass.value=n.mapPass.texture;b.uniforms.resolution.value=n.mapSize;b.uniforms.radius.value=n.radius;e.setRenderTarget(n.map);e.clear();e.renderBufferDirect(r,null,i,b,M,null)}function getDepthMaterial(t,n,r,i,s,a,l){let h=null;const d=true===i.isPointLight?t.customDistanceMaterial:t.customDepthMaterial;h=void 0!==d?d:true===i.isPointLight?c:o;if(e.localClippingEnabled&&true===r.clipShadows&&0!==r.clippingPlanes.length||r.displacementMap&&0!==r.displacementScale||r.alphaMap&&r.alphaTest>0){const e=h.uuid,t=r.uuid;let n=f[e];if(void 0===n){n={};f[e]=n}let i=n[t];if(void 0===i){i=h.clone();n[t]=i}h=i}h.visible=r.visible;h.wireframe=r.wireframe;h.side=l===u?null!==r.shadowSide?r.shadowSide:r.side:null!==r.shadowSide?r.shadowSide:y[r.side];h.alphaMap=r.alphaMap;h.alphaTest=r.alphaTest;h.clipShadows=r.clipShadows;h.clippingPlanes=r.clippingPlanes;h.clipIntersection=r.clipIntersection;h.displacementMap=r.displacementMap;h.displacementScale=r.displacementScale;h.displacementBias=r.displacementBias;h.wireframeLinewidth=r.wireframeLinewidth;h.linewidth=r.linewidth;if(true===i.isPointLight&&true===h.isMeshDistanceMaterial){h.referencePosition.setFromMatrixPosition(i.matrixWorld);h.nearDistance=s;h.farDistance=a}return h}function renderObject(n,i,s,a,o){if(false===n.visible)return;const l=n.layers.test(i.layers);if(l&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&o===u)&&(!n.frustumCulled||r.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(s.matrixWorldInverse,n.matrixWorld);const r=t.update(n);const i=n.material;if(Array.isArray(i)){const t=r.groups;for(let l=0,c=t.length;l<c;l++){const c=t[l];const u=i[c.materialIndex];if(u&&u.visible){const t=getDepthMaterial(n,r,u,a,s.near,s.far,o);e.renderBufferDirect(s,null,r,t,n,c)}}}else if(i.visible){const t=getDepthMaterial(n,r,i,a,s.near,s.far,o);e.renderBufferDirect(s,null,r,t,n,null)}}const c=n.children;for(let e=0,t=c.length;e<t;e++)renderObject(c[e],i,s,a,o)}}function WebGLState(e,t,n){const a=n.isWebGL2;function ColorBuffer(){let t=false;const n=new Vector4;let r=null;const i=new Vector4(0,0,0,0);return{setMask:function(n){if(r!==n&&!t){e.colorMask(n,n,n,n);r=n}},setLocked:function(e){t=e},setClear:function(t,r,s,a,o){if(true===o){t*=a;r*=a;s*=a}n.set(t,r,s,a);if(false===i.equals(n)){e.clearColor(t,r,s,a);i.copy(n)}},reset:function(){t=false;r=null;i.set(-1,0,0,0)}}}function DepthBuffer(){let t=false;let n=null;let r=null;let i=null;return{setTest:function(e){e?enable(2929):disable(2929)},setMask:function(r){if(n!==r&&!t){e.depthMask(r);n=r}},setFunc:function(t){if(r!==t){if(t)switch(t){case G:e.depthFunc(512);break;case F:e.depthFunc(519);break;case O:e.depthFunc(513);break;case H:e.depthFunc(515);break;case k:e.depthFunc(514);break;case W:e.depthFunc(518);break;case j:e.depthFunc(516);break;case q:e.depthFunc(517);break;default:e.depthFunc(515)}else e.depthFunc(515);r=t}},setLocked:function(e){t=e},setClear:function(t){if(i!==t){e.clearDepth(t);i=t}},reset:function(){t=false;n=null;r=null;i=null}}}function StencilBuffer(){let t=false;let n=null;let r=null;let i=null;let s=null;let a=null;let o=null;let l=null;let c=null;return{setTest:function(e){t||(e?enable(2960):disable(2960))},setMask:function(r){if(n!==r&&!t){e.stencilMask(r);n=r}},setFunc:function(t,n,a){if(r!==t||i!==n||s!==a){e.stencilFunc(t,n,a);r=t;i=n;s=a}},setOp:function(t,n,r){if(a!==t||o!==n||l!==r){e.stencilOp(t,n,r);a=t;o=n;l=r}},setLocked:function(e){t=e},setClear:function(t){if(c!==t){e.clearStencil(t);c=t}},reset:function(){t=false;n=null;r=null;i=null;s=null;a=null;o=null;l=null;c=null}}}const o=new ColorBuffer;const l=new DepthBuffer;const c=new StencilBuffer;let u={};let h={};let f=null;let m=false;let X=null;let J=null;let Y=null;let Z=null;let Q=null;let K=null;let $=null;let ee=false;let te=null;let ne=null;let re=null;let ie=null;let se=null;const ae=e.getParameter(35661);let oe=false;let le=0;const ce=e.getParameter(7938);if(-1!==ce.indexOf(\"WebGL\")){le=parseFloat(/^WebGL (\\d)/.exec(ce)[1]);oe=le>=1}else if(-1!==ce.indexOf(\"OpenGL ES\")){le=parseFloat(/^OpenGL ES (\\d)/.exec(ce)[1]);oe=le>=2}let ue=null;let he={};const de=e.getParameter(3088);const pe=e.getParameter(2978);const fe=(new Vector4).fromArray(de);const me=(new Vector4).fromArray(pe);function createTexture(t,n,r){const i=new Uint8Array(4);const s=e.createTexture();e.bindTexture(t,s);e.texParameteri(t,10241,9728);e.texParameteri(t,10240,9728);for(let t=0;t<r;t++)e.texImage2D(n+t,0,6408,1,1,0,6408,5121,i);return s}const ge={};ge[3553]=createTexture(3553,3553,1);ge[34067]=createTexture(34067,34069,6);o.setClear(0,0,0,1);l.setClear(1);c.setClear(0);enable(2929);l.setFunc(H);setFlipSided(false);setCullFace(i);enable(2884);setBlending(g);function enable(t){if(true!==u[t]){e.enable(t);u[t]=true}}function disable(t){if(false!==u[t]){e.disable(t);u[t]=false}}function bindFramebuffer(t,n){if(h[t]!==n){e.bindFramebuffer(t,n);h[t]=n;if(a){36009===t&&(h[36160]=n);36160===t&&(h[36009]=n)}return true}return false}function useProgram(t){if(f!==t){e.useProgram(t);f=t;return true}return false}const ye={[w]:32774,[S]:32778,[T]:32779};if(a){ye[E]=32775;ye[A]=32776}else{const e=t.get(\"EXT_blend_minmax\");if(null!==e){ye[E]=e.MIN_EXT;ye[A]=e.MAX_EXT}}const ve={[L]:0,[C]:1,[R]:768,[I]:770,[z]:776,[N]:774,[B]:772,[P]:769,[D]:771,[U]:775,[V]:773};function setBlending(t,n,r,i,s,a,o,l){if(t!==g){if(false===m){enable(3042);m=true}if(t===M){s=s||n;a=a||r;o=o||i;if(n!==J||s!==Q){e.blendEquationSeparate(ye[n],ye[s]);J=n;Q=s}if(r!==Y||i!==Z||a!==K||o!==$){e.blendFuncSeparate(ve[r],ve[i],ve[a],ve[o]);Y=r;Z=i;K=a;$=o}X=t;ee=null}else if(t!==X||l!==ee){if(J!==w||Q!==w){e.blendEquation(32774);J=w;Q=w}if(l)switch(t){case y:e.blendFuncSeparate(1,771,1,771);break;case x:e.blendFunc(1,1);break;case b:e.blendFuncSeparate(0,0,769,771);break;case _:e.blendFuncSeparate(0,768,0,770);break;default:console.error(\"THREE.WebGLState: Invalid blending: \",t);break}else switch(t){case y:e.blendFuncSeparate(770,771,1,771);break;case x:e.blendFunc(770,1);break;case b:e.blendFunc(0,769);break;case _:e.blendFunc(0,768);break;default:console.error(\"THREE.WebGLState: Invalid blending: \",t);break}Y=null;Z=null;K=null;$=null;X=t;ee=l}}else if(true===m){disable(3042);m=false}}function setMaterial(e,t){e.side===p?disable(2884):enable(2884);let n=e.side===d;t&&(n=!n);setFlipSided(n);e.blending===y&&false===e.transparent?setBlending(g):setBlending(e.blending,e.blendEquation,e.blendSrc,e.blendDst,e.blendEquationAlpha,e.blendSrcAlpha,e.blendDstAlpha,e.premultipliedAlpha);l.setFunc(e.depthFunc);l.setTest(e.depthTest);l.setMask(e.depthWrite);o.setMask(e.colorWrite);const r=e.stencilWrite;c.setTest(r);if(r){c.setMask(e.stencilWriteMask);c.setFunc(e.stencilFunc,e.stencilRef,e.stencilFuncMask);c.setOp(e.stencilFail,e.stencilZFail,e.stencilZPass)}setPolygonOffset(e.polygonOffset,e.polygonOffsetFactor,e.polygonOffsetUnits);true===e.alphaToCoverage?enable(32926):disable(32926)}function setFlipSided(t){if(te!==t){t?e.frontFace(2304):e.frontFace(2305);te=t}}function setCullFace(t){if(t!==r){enable(2884);t!==ne&&(t===i?e.cullFace(1029):t===s?e.cullFace(1028):e.cullFace(1032))}else disable(2884);ne=t}function setLineWidth(t){if(t!==re){oe&&e.lineWidth(t);re=t}}function setPolygonOffset(t,n,r){if(t){enable(32823);if(ie!==n||se!==r){e.polygonOffset(n,r);ie=n;se=r}}else disable(32823)}function setScissorTest(e){e?enable(3089):disable(3089)}function activeTexture(t){void 0===t&&(t=33984+ae-1);if(ue!==t){e.activeTexture(t);ue=t}}function bindTexture(t,n){null===ue&&activeTexture();let r=he[ue];if(void 0===r){r={type:void 0,texture:void 0};he[ue]=r}if(r.type!==t||r.texture!==n){e.bindTexture(t,n||ge[t]);r.type=t;r.texture=n}}function unbindTexture(){const t=he[ue];if(void 0!==t&&void 0!==t.type){e.bindTexture(t.type,null);t.type=void 0;t.texture=void 0}}function compressedTexImage2D(){try{e.compressedTexImage2D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function texSubImage2D(){try{e.texSubImage2D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function texSubImage3D(){try{e.texSubImage3D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function compressedTexSubImage2D(){try{e.compressedTexSubImage2D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function texStorage2D(){try{e.texStorage2D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function texStorage3D(){try{e.texStorage3D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function texImage2D(){try{e.texImage2D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function texImage3D(){try{e.texImage3D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function scissor(t){if(false===fe.equals(t)){e.scissor(t.x,t.y,t.z,t.w);fe.copy(t)}}function viewport(t){if(false===me.equals(t)){e.viewport(t.x,t.y,t.z,t.w);me.copy(t)}}function reset(){e.disable(3042);e.disable(2884);e.disable(2929);e.disable(32823);e.disable(3089);e.disable(2960);e.disable(32926);e.blendEquation(32774);e.blendFunc(1,0);e.blendFuncSeparate(1,0,1,0);e.colorMask(true,true,true,true);e.clearColor(0,0,0,0);e.depthMask(true);e.depthFunc(513);e.clearDepth(1);e.stencilMask(4294967295);e.stencilFunc(519,0,4294967295);e.stencilOp(7680,7680,7680);e.clearStencil(0);e.cullFace(1029);e.frontFace(2305);e.polygonOffset(0,0);e.activeTexture(33984);e.bindFramebuffer(36160,null);if(true===a){e.bindFramebuffer(36009,null);e.bindFramebuffer(36008,null)}e.useProgram(null);e.lineWidth(1);e.scissor(0,0,e.canvas.width,e.canvas.height);e.viewport(0,0,e.canvas.width,e.canvas.height);u={};ue=null;he={};h={};f=null;m=false;X=null;J=null;Y=null;Z=null;Q=null;K=null;$=null;ee=false;te=null;ne=null;re=null;ie=null;se=null;fe.set(0,0,e.canvas.width,e.canvas.height);me.set(0,0,e.canvas.width,e.canvas.height);o.reset();l.reset();c.reset()}return{buffers:{color:o,depth:l,stencil:c},enable:enable,disable:disable,bindFramebuffer:bindFramebuffer,useProgram:useProgram,setBlending:setBlending,setMaterial:setMaterial,setFlipSided:setFlipSided,setCullFace:setCullFace,setLineWidth:setLineWidth,setPolygonOffset:setPolygonOffset,setScissorTest:setScissorTest,activeTexture:activeTexture,bindTexture:bindTexture,unbindTexture:unbindTexture,compressedTexImage2D:compressedTexImage2D,texImage2D:texImage2D,texImage3D:texImage3D,texStorage2D:texStorage2D,texStorage3D:texStorage3D,texSubImage2D:texSubImage2D,texSubImage3D:texSubImage3D,compressedTexSubImage2D:compressedTexSubImage2D,scissor:scissor,viewport:viewport,reset:reset}}function WebGLTextures(e,t,n,r,i,s,a){const o=i.isWebGL2;const l=i.maxTextures;const c=i.maxCubemapSize;const u=i.maxTextureSize;const h=i.maxSamples;const d=t.has(\"WEBGL_multisampled_render_to_texture\");const p=d?t.get(\"WEBGL_multisampled_render_to_texture\"):void 0;const f=new WeakMap;let m;let g=false;try{g=\"undefined\"!==typeof OffscreenCanvas&&null!==new OffscreenCanvas(1,1).getContext(\"2d\")}catch(e){}function createCanvas(e,t){return g?new OffscreenCanvas(e,t):createElementNS(\"canvas\")}function resizeImage(e,t,n,r){let i=1;(e.width>r||e.height>r)&&(i=r/Math.max(e.width,e.height));if(i<1||true===t){if(\"undefined\"!==typeof HTMLImageElement&&e instanceof HTMLImageElement||\"undefined\"!==typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||\"undefined\"!==typeof ImageBitmap&&e instanceof ImageBitmap){const r=t?floorPowerOfTwo:Math.floor;const s=r(i*e.width);const a=r(i*e.height);void 0===m&&(m=createCanvas(s,a));const o=n?createCanvas(s,a):m;o.width=s;o.height=a;const l=o.getContext(\"2d\");l.drawImage(e,0,0,s,a);console.warn(\"THREE.WebGLRenderer: Texture has been resized from (\"+e.width+\"x\"+e.height+\") to (\"+s+\"x\"+a+\").\");return o}\"data\"in e&&console.warn(\"THREE.WebGLRenderer: Image in DataTexture is too big (\"+e.width+\"x\"+e.height+\").\");return e}return e}function isPowerOfTwo$1(e){return isPowerOfTwo(e.width)&&isPowerOfTwo(e.height)}function textureNeedsPowerOfTwo(e){return!o&&(e.wrapS!==ue||e.wrapT!==ue||e.minFilter!==de&&e.minFilter!==ye)}function textureNeedsGenerateMipmaps(e,t){return e.generateMipmaps&&t&&e.minFilter!==de&&e.minFilter!==ye}function generateMipmap(t){e.generateMipmap(t)}function getInternalFormat(n,r,i,s){if(false===o)return r;if(null!==n){if(void 0!==e[n])return e[n];console.warn(\"THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '\"+n+\"'\")}let a=r;if(6403===r){5126===i&&(a=33326);5131===i&&(a=33325);5121===i&&(a=33321)}if(6407===r){5126===i&&(a=34837);5131===i&&(a=34843);5121===i&&(a=32849)}if(6408===r){5126===i&&(a=34836);5131===i&&(a=34842);5121===i&&(a=s===Jt?35907:32856)}33325!==a&&33326!==a&&34842!==a&&34836!==a||t.get(\"EXT_color_buffer_float\");return a}function getMipLevels(e,t,n){return true===textureNeedsGenerateMipmaps(e,n)||e.isFramebufferTexture&&e.minFilter!==de&&e.minFilter!==ye?Math.log2(Math.max(t.width,t.height))+1:void 0!==e.mipmaps&&e.mipmaps.length>0?e.mipmaps.length:e.isCompressedTexture&&Array.isArray(e.image)?t.mipmaps.length:1}function filterFallback(e){return e===de||e===pe||e===me?9728:9729}function onTextureDispose(e){const t=e.target;t.removeEventListener(\"dispose\",onTextureDispose);deallocateTexture(t);t.isVideoTexture&&f.delete(t);a.memory.textures--}function onRenderTargetDispose(e){const t=e.target;t.removeEventListener(\"dispose\",onRenderTargetDispose);deallocateRenderTarget(t)}function deallocateTexture(t){const n=r.get(t);if(void 0!==n.__webglInit){e.deleteTexture(n.__webglTexture);r.remove(t)}}function deallocateRenderTarget(t){const n=t.texture;const i=r.get(t);const s=r.get(n);if(t){if(void 0!==s.__webglTexture){e.deleteTexture(s.__webglTexture);a.memory.textures--}t.depthTexture&&t.depthTexture.dispose();if(t.isWebGLCubeRenderTarget)for(let t=0;t<6;t++){e.deleteFramebuffer(i.__webglFramebuffer[t]);i.__webglDepthbuffer&&e.deleteRenderbuffer(i.__webglDepthbuffer[t])}else{e.deleteFramebuffer(i.__webglFramebuffer);i.__webglDepthbuffer&&e.deleteRenderbuffer(i.__webglDepthbuffer);i.__webglMultisampledFramebuffer&&e.deleteFramebuffer(i.__webglMultisampledFramebuffer);i.__webglColorRenderbuffer&&e.deleteRenderbuffer(i.__webglColorRenderbuffer);i.__webglDepthRenderbuffer&&e.deleteRenderbuffer(i.__webglDepthRenderbuffer)}if(t.isWebGLMultipleRenderTargets)for(let t=0,i=n.length;t<i;t++){const i=r.get(n[t]);if(i.__webglTexture){e.deleteTexture(i.__webglTexture);a.memory.textures--}r.remove(n[t])}r.remove(n);r.remove(t)}}let y=0;function resetTextureUnits(){y=0}function allocateTextureUnit(){const e=y;e>=l&&console.warn(\"THREE.WebGLTextures: Trying to use \"+e+\" texture units while this GPU supports only \"+l);y+=1;return e}function setTexture2D(e,t){const i=r.get(e);e.isVideoTexture&&updateVideoTexture(e);if(e.version>0&&i.__version!==e.version){const n=e.image;if(void 0===n)console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is undefined\");else{if(false!==n.complete){uploadTexture(i,e,t);return}console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is incomplete\")}}n.activeTexture(33984+t);n.bindTexture(3553,i.__webglTexture)}function setTexture2DArray(e,t){const i=r.get(e);if(e.version>0&&i.__version!==e.version)uploadTexture(i,e,t);else{n.activeTexture(33984+t);n.bindTexture(35866,i.__webglTexture)}}function setTexture3D(e,t){const i=r.get(e);if(e.version>0&&i.__version!==e.version)uploadTexture(i,e,t);else{n.activeTexture(33984+t);n.bindTexture(32879,i.__webglTexture)}}function setTextureCube(e,t){const i=r.get(e);if(e.version>0&&i.__version!==e.version)uploadCubeTexture(i,e,t);else{n.activeTexture(33984+t);n.bindTexture(34067,i.__webglTexture)}}const x={[ce]:10497,[ue]:33071,[he]:33648};const b={[de]:9728,[pe]:9984,[me]:9986,[ye]:9729,[ve]:9985,[be]:9987};function setTextureParameters(n,s,a){if(a){e.texParameteri(n,10242,x[s.wrapS]);e.texParameteri(n,10243,x[s.wrapT]);32879!==n&&35866!==n||e.texParameteri(n,32882,x[s.wrapR]);e.texParameteri(n,10240,b[s.magFilter]);e.texParameteri(n,10241,b[s.minFilter])}else{e.texParameteri(n,10242,33071);e.texParameteri(n,10243,33071);32879!==n&&35866!==n||e.texParameteri(n,32882,33071);s.wrapS===ue&&s.wrapT===ue||console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.\");e.texParameteri(n,10240,filterFallback(s.magFilter));e.texParameteri(n,10241,filterFallback(s.minFilter));s.minFilter!==de&&s.minFilter!==ye&&console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.\")}if(true===t.has(\"EXT_texture_filter_anisotropic\")){const a=t.get(\"EXT_texture_filter_anisotropic\");if(s.type===Le&&false===t.has(\"OES_texture_float_linear\"))return;if(false===o&&s.type===Ce&&false===t.has(\"OES_texture_half_float_linear\"))return;if(s.anisotropy>1||r.get(s).__currentAnisotropy){e.texParameterf(n,a.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(s.anisotropy,i.getMaxAnisotropy()));r.get(s).__currentAnisotropy=s.anisotropy}}}function initTexture(t,n){if(void 0===t.__webglInit){t.__webglInit=true;n.addEventListener(\"dispose\",onTextureDispose);t.__webglTexture=e.createTexture();a.memory.textures++}}function uploadTexture(t,r,i){let a=3553;r.isDataTexture2DArray&&(a=35866);r.isDataTexture3D&&(a=32879);initTexture(t,r);n.activeTexture(33984+i);n.bindTexture(a,t.__webglTexture);e.pixelStorei(37440,r.flipY);e.pixelStorei(37441,r.premultiplyAlpha);e.pixelStorei(3317,r.unpackAlignment);e.pixelStorei(37443,0);const l=textureNeedsPowerOfTwo(r)&&false===isPowerOfTwo$1(r.image);const c=resizeImage(r.image,l,false,u);const h=isPowerOfTwo$1(c)||o,d=s.convert(r.format);let p=s.convert(r.type),f=getInternalFormat(r.internalFormat,d,p,r.encoding);setTextureParameters(a,r,h);let m;const g=r.mipmaps;const y=o&&true!==r.isVideoTexture;const x=void 0===t.__version;const b=getMipLevels(r,c,h);if(r.isDepthTexture){f=6402;o?f=r.type===Le?36012:r.type===Ae?33190:r.type===De?35056:33189:r.type===Le&&console.error(\"WebGLRenderer: Floating point depth texture requires WebGL2.\");if(r.format===Ge&&6402===f&&r.type!==Te&&r.type!==Ae){console.warn(\"THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.\");r.type=Te;p=s.convert(r.type)}if(r.format===Fe&&6402===f){f=34041;if(r.type!==De){console.warn(\"THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.\");r.type=De;p=s.convert(r.type)}}y&&x?n.texStorage2D(3553,1,f,c.width,c.height):n.texImage2D(3553,0,f,c.width,c.height,0,d,p,null)}else if(r.isDataTexture)if(g.length>0&&h){y&&x&&n.texStorage2D(3553,b,f,g[0].width,g[0].height);for(let e=0,t=g.length;e<t;e++){m=g[e];y?n.texSubImage2D(3553,0,0,0,m.width,m.height,d,p,m.data):n.texImage2D(3553,e,f,m.width,m.height,0,d,p,m.data)}r.generateMipmaps=false}else if(y){x&&n.texStorage2D(3553,b,f,c.width,c.height);n.texSubImage2D(3553,0,0,0,c.width,c.height,d,p,c.data)}else n.texImage2D(3553,0,f,c.width,c.height,0,d,p,c.data);else if(r.isCompressedTexture){y&&x&&n.texStorage2D(3553,b,f,g[0].width,g[0].height);for(let e=0,t=g.length;e<t;e++){m=g[e];r.format!==Ne&&r.format!==Ve?null!==d?y?n.compressedTexSubImage2D(3553,e,0,0,m.width,m.height,d,m.data):n.compressedTexImage2D(3553,e,f,m.width,m.height,0,m.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()\"):y?n.texSubImage2D(3553,e,0,0,m.width,m.height,d,p,m.data):n.texImage2D(3553,e,f,m.width,m.height,0,d,p,m.data)}}else if(r.isDataTexture2DArray)if(y){x&&n.texStorage3D(35866,b,f,c.width,c.height,c.depth);n.texSubImage3D(35866,0,0,0,0,c.width,c.height,c.depth,d,p,c.data)}else n.texImage3D(35866,0,f,c.width,c.height,c.depth,0,d,p,c.data);else if(r.isDataTexture3D)if(y){x&&n.texStorage3D(32879,b,f,c.width,c.height,c.depth);n.texSubImage3D(32879,0,0,0,0,c.width,c.height,c.depth,d,p,c.data)}else n.texImage3D(32879,0,f,c.width,c.height,c.depth,0,d,p,c.data);else if(r.isFramebufferTexture)y&&x?n.texStorage2D(3553,b,f,c.width,c.height):n.texImage2D(3553,0,f,c.width,c.height,0,d,p,null);else if(g.length>0&&h){y&&x&&n.texStorage2D(3553,b,f,g[0].width,g[0].height);for(let e=0,t=g.length;e<t;e++){m=g[e];y?n.texSubImage2D(3553,e,0,0,d,p,m):n.texImage2D(3553,e,f,d,p,m)}r.generateMipmaps=false}else if(y){x&&n.texStorage2D(3553,b,f,c.width,c.height);n.texSubImage2D(3553,0,0,0,d,p,c)}else n.texImage2D(3553,0,f,d,p,c);textureNeedsGenerateMipmaps(r,h)&&generateMipmap(a);t.__version=r.version;r.onUpdate&&r.onUpdate(r)}function uploadCubeTexture(t,r,i){if(6!==r.image.length)return;initTexture(t,r);n.activeTexture(33984+i);n.bindTexture(34067,t.__webglTexture);e.pixelStorei(37440,r.flipY);e.pixelStorei(37441,r.premultiplyAlpha);e.pixelStorei(3317,r.unpackAlignment);e.pixelStorei(37443,0);const a=r&&(r.isCompressedTexture||r.image[0].isCompressedTexture);const l=r.image[0]&&r.image[0].isDataTexture;const u=[];for(let e=0;e<6;e++)u[e]=a||l?l?r.image[e].image:r.image[e]:resizeImage(r.image[e],false,true,c);const h=u[0],d=isPowerOfTwo$1(h)||o,p=s.convert(r.format),f=s.convert(r.type),m=getInternalFormat(r.internalFormat,p,f,r.encoding);const g=o&&true!==r.isVideoTexture;const y=void 0===t.__version;let x=getMipLevels(r,h,d);setTextureParameters(34067,r,d);let b;if(a){g&&y&&n.texStorage2D(34067,x,m,h.width,h.height);for(let e=0;e<6;e++){b=u[e].mipmaps;for(let t=0;t<b.length;t++){const i=b[t];r.format!==Ne&&r.format!==Ve?null!==p?g?n.compressedTexSubImage2D(34069+e,t,0,0,i.width,i.height,p,i.data):n.compressedTexImage2D(34069+e,t,m,i.width,i.height,0,i.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()\"):g?n.texSubImage2D(34069+e,t,0,0,i.width,i.height,p,f,i.data):n.texImage2D(34069+e,t,m,i.width,i.height,0,p,f,i.data)}}}else{b=r.mipmaps;if(g&&y){b.length>0&&x++;n.texStorage2D(34067,x,m,u[0].width,u[0].height)}for(let e=0;e<6;e++)if(l){g?n.texSubImage2D(34069+e,0,0,0,u[e].width,u[e].height,p,f,u[e].data):n.texImage2D(34069+e,0,m,u[e].width,u[e].height,0,p,f,u[e].data);for(let t=0;t<b.length;t++){const r=b[t];const i=r.image[e].image;g?n.texSubImage2D(34069+e,t+1,0,0,i.width,i.height,p,f,i.data):n.texImage2D(34069+e,t+1,m,i.width,i.height,0,p,f,i.data)}}else{g?n.texSubImage2D(34069+e,0,0,0,p,f,u[e]):n.texImage2D(34069+e,0,m,p,f,u[e]);for(let t=0;t<b.length;t++){const r=b[t];g?n.texSubImage2D(34069+e,t+1,0,0,p,f,r.image[e]):n.texImage2D(34069+e,t+1,m,p,f,r.image[e])}}}textureNeedsGenerateMipmaps(r,d)&&generateMipmap(34067);t.__version=r.version;r.onUpdate&&r.onUpdate(r)}function setupFrameBufferTexture(t,i,a,o,l){const c=s.convert(a.format);const u=s.convert(a.type);const h=getInternalFormat(a.internalFormat,c,u,a.encoding);const d=r.get(i);d.__hasExternalTextures||(32879===l||35866===l?n.texImage3D(l,0,h,i.width,i.height,i.depth,0,c,u,null):n.texImage2D(l,0,h,i.width,i.height,0,c,u,null));n.bindFramebuffer(36160,t);i.useRenderToTexture?p.framebufferTexture2DMultisampleEXT(36160,o,l,r.get(a).__webglTexture,0,getRenderTargetSamples(i)):e.framebufferTexture2D(36160,o,l,r.get(a).__webglTexture,0);n.bindFramebuffer(36160,null)}function setupRenderBufferStorage(t,n,r){e.bindRenderbuffer(36161,t);if(n.depthBuffer&&!n.stencilBuffer){let i=33189;if(r||n.useRenderToTexture){const t=n.depthTexture;t&&t.isDepthTexture&&(t.type===Le?i=36012:t.type===Ae&&(i=33190));const r=getRenderTargetSamples(n);n.useRenderToTexture?p.renderbufferStorageMultisampleEXT(36161,r,i,n.width,n.height):e.renderbufferStorageMultisample(36161,r,i,n.width,n.height)}else e.renderbufferStorage(36161,i,n.width,n.height);e.framebufferRenderbuffer(36160,36096,36161,t)}else if(n.depthBuffer&&n.stencilBuffer){const i=getRenderTargetSamples(n);r&&n.useRenderbuffer?e.renderbufferStorageMultisample(36161,i,35056,n.width,n.height):n.useRenderToTexture?p.renderbufferStorageMultisampleEXT(36161,i,35056,n.width,n.height):e.renderbufferStorage(36161,34041,n.width,n.height);e.framebufferRenderbuffer(36160,33306,36161,t)}else{const t=true===n.isWebGLMultipleRenderTargets?n.texture[0]:n.texture;const i=s.convert(t.format);const a=s.convert(t.type);const o=getInternalFormat(t.internalFormat,i,a,t.encoding);const l=getRenderTargetSamples(n);r&&n.useRenderbuffer?e.renderbufferStorageMultisample(36161,l,o,n.width,n.height):n.useRenderToTexture?p.renderbufferStorageMultisampleEXT(36161,l,o,n.width,n.height):e.renderbufferStorage(36161,o,n.width,n.height)}e.bindRenderbuffer(36161,null)}function setupDepthTexture(t,i){const s=i&&i.isWebGLCubeRenderTarget;if(s)throw new Error(\"Depth Texture with cube render targets is not supported\");n.bindFramebuffer(36160,t);if(!(i.depthTexture&&i.depthTexture.isDepthTexture))throw new Error(\"renderTarget.depthTexture must be an instance of THREE.DepthTexture\");if(!r.get(i.depthTexture).__webglTexture||i.depthTexture.image.width!==i.width||i.depthTexture.image.height!==i.height){i.depthTexture.image.width=i.width;i.depthTexture.image.height=i.height;i.depthTexture.needsUpdate=true}setTexture2D(i.depthTexture,0);const a=r.get(i.depthTexture).__webglTexture;const o=getRenderTargetSamples(i);if(i.depthTexture.format===Ge)i.useRenderToTexture?p.framebufferTexture2DMultisampleEXT(36160,36096,3553,a,0,o):e.framebufferTexture2D(36160,36096,3553,a,0);else{if(i.depthTexture.format!==Fe)throw new Error(\"Unknown depthTexture format\");i.useRenderToTexture?p.framebufferTexture2DMultisampleEXT(36160,33306,3553,a,0,o):e.framebufferTexture2D(36160,33306,3553,a,0)}}function setupDepthRenderbuffer(t){const i=r.get(t);const s=true===t.isWebGLCubeRenderTarget;if(t.depthTexture&&!i.__autoAllocateDepthBuffer){if(s)throw new Error(\"target.depthTexture not supported in Cube render targets\");setupDepthTexture(i.__webglFramebuffer,t)}else if(s){i.__webglDepthbuffer=[];for(let r=0;r<6;r++){n.bindFramebuffer(36160,i.__webglFramebuffer[r]);i.__webglDepthbuffer[r]=e.createRenderbuffer();setupRenderBufferStorage(i.__webglDepthbuffer[r],t,false)}}else{n.bindFramebuffer(36160,i.__webglFramebuffer);i.__webglDepthbuffer=e.createRenderbuffer();setupRenderBufferStorage(i.__webglDepthbuffer,t,false)}n.bindFramebuffer(36160,null)}function rebindTextures(e,t,n){const i=r.get(e);void 0!==t&&setupFrameBufferTexture(i.__webglFramebuffer,e,e.texture,36064,3553);void 0!==n&&setupDepthRenderbuffer(e)}function setupRenderTarget(t){const l=t.texture;const c=r.get(t);const u=r.get(l);t.addEventListener(\"dispose\",onRenderTargetDispose);if(true!==t.isWebGLMultipleRenderTargets){void 0===u.__webglTexture&&(u.__webglTexture=e.createTexture());u.__version=l.version;a.memory.textures++}const h=true===t.isWebGLCubeRenderTarget;const d=true===t.isWebGLMultipleRenderTargets;const p=l.isDataTexture3D||l.isDataTexture2DArray;const f=isPowerOfTwo$1(t)||o;if(o&&l.format===Ve&&(l.type===Le||l.type===Ce)){l.format=Ne;console.warn(\"THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.\")}if(h){c.__webglFramebuffer=[];for(let t=0;t<6;t++)c.__webglFramebuffer[t]=e.createFramebuffer()}else{c.__webglFramebuffer=e.createFramebuffer();if(d)if(i.drawBuffers){const n=t.texture;for(let t=0,i=n.length;t<i;t++){const i=r.get(n[t]);if(void 0===i.__webglTexture){i.__webglTexture=e.createTexture();a.memory.textures++}}}else console.warn(\"THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.\");else if(t.useRenderbuffer)if(o){c.__webglMultisampledFramebuffer=e.createFramebuffer();c.__webglColorRenderbuffer=e.createRenderbuffer();e.bindRenderbuffer(36161,c.__webglColorRenderbuffer);const r=s.convert(l.format);const i=s.convert(l.type);const a=getInternalFormat(l.internalFormat,r,i,l.encoding);const o=getRenderTargetSamples(t);e.renderbufferStorageMultisample(36161,o,a,t.width,t.height);n.bindFramebuffer(36160,c.__webglMultisampledFramebuffer);e.framebufferRenderbuffer(36160,36064,36161,c.__webglColorRenderbuffer);e.bindRenderbuffer(36161,null);if(t.depthBuffer){c.__webglDepthRenderbuffer=e.createRenderbuffer();setupRenderBufferStorage(c.__webglDepthRenderbuffer,t,true)}n.bindFramebuffer(36160,null)}else console.warn(\"THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.\")}if(h){n.bindTexture(34067,u.__webglTexture);setTextureParameters(34067,l,f);for(let e=0;e<6;e++)setupFrameBufferTexture(c.__webglFramebuffer[e],t,l,36064,34069+e);textureNeedsGenerateMipmaps(l,f)&&generateMipmap(34067);n.unbindTexture()}else if(d){const e=t.texture;for(let i=0,s=e.length;i<s;i++){const s=e[i];const a=r.get(s);n.bindTexture(3553,a.__webglTexture);setTextureParameters(3553,s,f);setupFrameBufferTexture(c.__webglFramebuffer,t,s,36064+i,3553);textureNeedsGenerateMipmaps(s,f)&&generateMipmap(3553)}n.unbindTexture()}else{let e=3553;if(p)if(o){const t=l.isDataTexture3D;e=t?32879:35866}else console.warn(\"THREE.DataTexture3D and THREE.DataTexture2DArray only supported with WebGL2.\");n.bindTexture(e,u.__webglTexture);setTextureParameters(e,l,f);setupFrameBufferTexture(c.__webglFramebuffer,t,l,36064,e);textureNeedsGenerateMipmaps(l,f)&&generateMipmap(e);n.unbindTexture()}t.depthBuffer&&setupDepthRenderbuffer(t)}function updateRenderTargetMipmap(e){const t=isPowerOfTwo$1(e)||o;const i=true===e.isWebGLMultipleRenderTargets?e.texture:[e.texture];for(let s=0,a=i.length;s<a;s++){const a=i[s];if(textureNeedsGenerateMipmaps(a,t)){const t=e.isWebGLCubeRenderTarget?34067:3553;const i=r.get(a).__webglTexture;n.bindTexture(t,i);generateMipmap(t);n.unbindTexture()}}}function updateMultisampleRenderTarget(t){if(t.useRenderbuffer)if(o){const i=t.width;const s=t.height;let a=16384;const o=[36064];const l=t.stencilBuffer?33306:36096;t.depthBuffer&&o.push(l);if(!t.ignoreDepthForMultisampleCopy){t.depthBuffer&&(a|=256);t.stencilBuffer&&(a|=1024)}const c=r.get(t);n.bindFramebuffer(36008,c.__webglMultisampledFramebuffer);n.bindFramebuffer(36009,c.__webglFramebuffer);if(t.ignoreDepthForMultisampleCopy){e.invalidateFramebuffer(36008,[l]);e.invalidateFramebuffer(36009,[l])}e.blitFramebuffer(0,0,i,s,0,0,i,s,a,9728);e.invalidateFramebuffer(36008,o);n.bindFramebuffer(36008,null);n.bindFramebuffer(36009,c.__webglMultisampledFramebuffer)}else console.warn(\"THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.\")}function getRenderTargetSamples(e){return o&&(e.useRenderbuffer||e.useRenderToTexture)?Math.min(h,e.samples):0}function updateVideoTexture(e){const t=a.render.frame;if(f.get(e)!==t){f.set(e,t);e.update()}}let _=false;let M=false;function safeSetTexture2D(e,t){if(e&&e.isWebGLRenderTarget){if(false===_){console.warn(\"THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead.\");_=true}e=e.texture}setTexture2D(e,t)}function safeSetTextureCube(e,t){if(e&&e.isWebGLCubeRenderTarget){if(false===M){console.warn(\"THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead.\");M=true}e=e.texture}setTextureCube(e,t)}this.allocateTextureUnit=allocateTextureUnit;this.resetTextureUnits=resetTextureUnits;this.setTexture2D=setTexture2D;this.setTexture2DArray=setTexture2DArray;this.setTexture3D=setTexture3D;this.setTextureCube=setTextureCube;this.rebindTextures=rebindTextures;this.setupRenderTarget=setupRenderTarget;this.updateRenderTargetMipmap=updateRenderTargetMipmap;this.updateMultisampleRenderTarget=updateMultisampleRenderTarget;this.setupDepthRenderbuffer=setupDepthRenderbuffer;this.setupFrameBufferTexture=setupFrameBufferTexture;this.safeSetTexture2D=safeSetTexture2D;this.safeSetTextureCube=safeSetTextureCube}function WebGLUtils(e,t,n){const r=n.isWebGL2;function convert(e){let n;if(e===Me)return 5121;if(e===Re)return 32819;if(e===Pe)return 32820;if(e===Ie)return 33635;if(e===we)return 5120;if(e===Se)return 5122;if(e===Te)return 5123;if(e===Ee)return 5124;if(e===Ae)return 5125;if(e===Le)return 5126;if(e===Ce){if(r)return 5131;n=t.get(\"OES_texture_half_float\");return null!==n?n.HALF_FLOAT_OES:null}if(e===Be)return 6406;if(e===Ve)return 6407;if(e===Ne)return 6408;if(e===Ue)return 6409;if(e===ze)return 6410;if(e===Ge)return 6402;if(e===Fe)return 34041;if(e===Oe)return 6403;if(e===He)return 36244;if(e===ke)return 33319;if(e===We)return 33320;if(e===je)return 36248;if(e===qe)return 36249;if(e===Xe||e===Je||e===Ye||e===Ze){n=t.get(\"WEBGL_compressed_texture_s3tc\");if(null===n)return null;if(e===Xe)return n.COMPRESSED_RGB_S3TC_DXT1_EXT;if(e===Je)return n.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(e===Ye)return n.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(e===Ze)return n.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(e===Qe||e===Ke||e===$e||e===et){n=t.get(\"WEBGL_compressed_texture_pvrtc\");if(null===n)return null;if(e===Qe)return n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(e===Ke)return n.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(e===$e)return n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(e===et)return n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(e===tt){n=t.get(\"WEBGL_compressed_texture_etc1\");return null!==n?n.COMPRESSED_RGB_ETC1_WEBGL:null}if(e===nt||e===rt){n=t.get(\"WEBGL_compressed_texture_etc\");if(null!==n){if(e===nt)return n.COMPRESSED_RGB8_ETC2;if(e===rt)return n.COMPRESSED_RGBA8_ETC2_EAC}}if(e===it||e===st||e===at||e===ot||e===lt||e===ct||e===ut||e===ht||e===dt||e===pt||e===ft||e===mt||e===gt||e===yt||e===xt||e===bt||e===_t||e===Mt||e===wt||e===St||e===Tt||e===Et||e===At||e===Lt||e===Ct||e===Rt||e===Pt||e===It){n=t.get(\"WEBGL_compressed_texture_astc\");return null!==n?e:null}if(e===vt){n=t.get(\"EXT_texture_compression_bptc\");return null!==n?e:null}if(e===De){if(r)return 34042;n=t.get(\"WEBGL_depth_texture\");return null!==n?n.UNSIGNED_INT_24_8_WEBGL:null}}return{convert:convert}}class ArrayCamera extends PerspectiveCamera{constructor(e=[]){super();this.cameras=e}}ArrayCamera.prototype.isArrayCamera=true;class Group extends Object3D{constructor(){super();this.type=\"Group\"}}Group.prototype.isGroup=true;const Vo={type:\"move\"};class WebXRController{constructor(){this._targetRay=null;this._grip=null;this._hand=null}getHandSpace(){if(null===this._hand){this._hand=new Group;this._hand.matrixAutoUpdate=false;this._hand.visible=false;this._hand.joints={};this._hand.inputState={pinching:false}}return this._hand}getTargetRaySpace(){if(null===this._targetRay){this._targetRay=new Group;this._targetRay.matrixAutoUpdate=false;this._targetRay.visible=false;this._targetRay.hasLinearVelocity=false;this._targetRay.linearVelocity=new Vector3;this._targetRay.hasAngularVelocity=false;this._targetRay.angularVelocity=new Vector3}return this._targetRay}getGripSpace(){if(null===this._grip){this._grip=new Group;this._grip.matrixAutoUpdate=false;this._grip.visible=false;this._grip.hasLinearVelocity=false;this._grip.linearVelocity=new Vector3;this._grip.hasAngularVelocity=false;this._grip.angularVelocity=new Vector3}return this._grip}dispatchEvent(e){null!==this._targetRay&&this._targetRay.dispatchEvent(e);null!==this._grip&&this._grip.dispatchEvent(e);null!==this._hand&&this._hand.dispatchEvent(e);return this}disconnect(e){this.dispatchEvent({type:\"disconnected\",data:e});null!==this._targetRay&&(this._targetRay.visible=false);null!==this._grip&&(this._grip.visible=false);null!==this._hand&&(this._hand.visible=false);return this}update(e,t,n){let r=null;let i=null;let s=null;const a=this._targetRay;const o=this._grip;const l=this._hand;if(e&&\"visible-blurred\"!==t.session.visibilityState){if(null!==a){r=t.getPose(e.targetRaySpace,n);if(null!==r){a.matrix.fromArray(r.transform.matrix);a.matrix.decompose(a.position,a.rotation,a.scale);if(r.linearVelocity){a.hasLinearVelocity=true;a.linearVelocity.copy(r.linearVelocity)}else a.hasLinearVelocity=false;if(r.angularVelocity){a.hasAngularVelocity=true;a.angularVelocity.copy(r.angularVelocity)}else a.hasAngularVelocity=false;this.dispatchEvent(Vo)}}if(l&&e.hand){s=true;for(const r of e.hand.values()){const e=t.getJointPose(r,n);if(void 0===l.joints[r.jointName]){const e=new Group;e.matrixAutoUpdate=false;e.visible=false;l.joints[r.jointName]=e;l.add(e)}const i=l.joints[r.jointName];if(null!==e){i.matrix.fromArray(e.transform.matrix);i.matrix.decompose(i.position,i.rotation,i.scale);i.jointRadius=e.radius}i.visible=null!==e}const r=l.joints[\"index-finger-tip\"];const i=l.joints[\"thumb-tip\"];const a=r.position.distanceTo(i.position);const o=.02;const c=.005;if(l.inputState.pinching&&a>o+c){l.inputState.pinching=false;this.dispatchEvent({type:\"pinchend\",handedness:e.handedness,target:this})}else if(!l.inputState.pinching&&a<=o-c){l.inputState.pinching=true;this.dispatchEvent({type:\"pinchstart\",handedness:e.handedness,target:this})}}else if(null!==o&&e.gripSpace){i=t.getPose(e.gripSpace,n);if(null!==i){o.matrix.fromArray(i.transform.matrix);o.matrix.decompose(o.position,o.rotation,o.scale);if(i.linearVelocity){o.hasLinearVelocity=true;o.linearVelocity.copy(i.linearVelocity)}else o.hasLinearVelocity=false;if(i.angularVelocity){o.hasAngularVelocity=true;o.angularVelocity.copy(i.angularVelocity)}else o.hasAngularVelocity=false}}}null!==a&&(a.visible=null!==r);null!==o&&(o.visible=null!==i);null!==l&&(l.visible=null!==s);return this}}class DepthTexture extends Texture{constructor(e,t,n,r,i,s,a,o,l,c){c=void 0!==c?c:Ge;if(c!==Ge&&c!==Fe)throw new Error(\"DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat\");void 0===n&&c===Ge&&(n=Te);void 0===n&&c===Fe&&(n=De);super(null,r,i,s,a,o,c,n,l);this.image={width:e,height:t};this.magFilter=void 0!==a?a:de;this.minFilter=void 0!==o?o:de;this.flipY=false;this.generateMipmaps=false}}DepthTexture.prototype.isDepthTexture=true;class WebXRManager extends EventDispatcher{constructor(e,t){super();const n=this;let r=null;let i=1;let s=null;let a=\"local-floor\";const o=e.extensions.has(\"WEBGL_multisampled_render_to_texture\");let l=null;let c=null;let u=null;let h=null;let d=false;let p=null;const f=t.getContextAttributes();let m=null;let g=null;const y=[];const x=new Map;const b=new PerspectiveCamera;b.layers.enable(1);b.viewport=new Vector4;const _=new PerspectiveCamera;_.layers.enable(2);_.viewport=new Vector4;const M=[b,_];const w=new ArrayCamera;w.layers.enable(1);w.layers.enable(2);let S=null;let T=null;this.cameraAutoUpdate=true;this.enabled=false;this.isPresenting=false;this.getController=function(e){let t=y[e];if(void 0===t){t=new WebXRController;y[e]=t}return t.getTargetRaySpace()};this.getControllerGrip=function(e){let t=y[e];if(void 0===t){t=new WebXRController;y[e]=t}return t.getGripSpace()};this.getHand=function(e){let t=y[e];if(void 0===t){t=new WebXRController;y[e]=t}return t.getHandSpace()};function onSessionEvent(e){const t=x.get(e.inputSource);t&&t.dispatchEvent({type:e.type,data:e.inputSource})}function onSessionEnd(){x.forEach((function(e,t){e.disconnect(t)}));x.clear();S=null;T=null;e.setRenderTarget(m);h=null;u=null;c=null;r=null;g=null;C.stop();n.isPresenting=false;n.dispatchEvent({type:\"sessionend\"})}this.setFramebufferScaleFactor=function(e){i=e;true===n.isPresenting&&console.warn(\"THREE.WebXRManager: Cannot change framebuffer scale while presenting.\")};this.setReferenceSpaceType=function(e){a=e;true===n.isPresenting&&console.warn(\"THREE.WebXRManager: Cannot change reference space type while presenting.\")};this.getReferenceSpace=function(){return s};this.getBaseLayer=function(){return null!==u?u:h};this.getBinding=function(){return c};this.getFrame=function(){return p};this.getSession=function(){return r};this.setSession=async function(l){r=l;if(null!==r){m=e.getRenderTarget();r.addEventListener(\"select\",onSessionEvent);r.addEventListener(\"selectstart\",onSessionEvent);r.addEventListener(\"selectend\",onSessionEvent);r.addEventListener(\"squeeze\",onSessionEvent);r.addEventListener(\"squeezestart\",onSessionEvent);r.addEventListener(\"squeezeend\",onSessionEvent);r.addEventListener(\"end\",onSessionEnd);r.addEventListener(\"inputsourceschange\",onInputSourcesChange);true!==f.xrCompatible&&await t.makeXRCompatible();if(void 0===r.renderState.layers||false===e.capabilities.isWebGL2){const n={antialias:void 0!==r.renderState.layers||f.antialias,alpha:f.alpha,depth:f.depth,stencil:f.stencil,framebufferScaleFactor:i};h=new XRWebGLLayer(r,t,n);r.updateRenderState({baseLayer:h});g=new WebGLRenderTarget(h.framebufferWidth,h.framebufferHeight,{format:Ne,type:Me,encoding:e.outputEncoding})}else{d=f.antialias;let n=null;let s=null;let a=null;if(f.depth){a=f.stencil?35056:33190;n=f.stencil?Fe:Ge;s=f.stencil?De:Te}const l={colorFormat:f.alpha||d?32856:32849,depthFormat:a,scaleFactor:i};c=new XRWebGLBinding(r,t);u=c.createProjectionLayer(l);r.updateRenderState({layers:[u]});g=d?new WebGLMultisampleRenderTarget(u.textureWidth,u.textureHeight,{format:Ne,type:Me,depthTexture:new DepthTexture(u.textureWidth,u.textureHeight,s,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:f.stencil,ignoreDepth:u.ignoreDepthValues,useRenderToTexture:o,encoding:e.outputEncoding}):new WebGLRenderTarget(u.textureWidth,u.textureHeight,{format:f.alpha?Ne:Ve,type:Me,depthTexture:new DepthTexture(u.textureWidth,u.textureHeight,s,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:f.stencil,ignoreDepth:u.ignoreDepthValues,encoding:e.outputEncoding})}this.setFoveation(1);s=await r.requestReferenceSpace(a);C.setContext(r);C.start();n.isPresenting=true;n.dispatchEvent({type:\"sessionstart\"})}};function onInputSourcesChange(e){const t=r.inputSources;for(let e=0;e<y.length;e++)x.set(t[e],y[e]);for(let t=0;t<e.removed.length;t++){const n=e.removed[t];const r=x.get(n);if(r){r.dispatchEvent({type:\"disconnected\",data:n});x.delete(n)}}for(let t=0;t<e.added.length;t++){const n=e.added[t];const r=x.get(n);r&&r.dispatchEvent({type:\"connected\",data:n})}}const E=new Vector3;const A=new Vector3;function setProjectionFromUnion(e,t,n){E.setFromMatrixPosition(t.matrixWorld);A.setFromMatrixPosition(n.matrixWorld);const r=E.distanceTo(A);const i=t.projectionMatrix.elements;const s=n.projectionMatrix.elements;const a=i[14]/(i[10]-1);const o=i[14]/(i[10]+1);const l=(i[9]+1)/i[5];const c=(i[9]-1)/i[5];const u=(i[8]-1)/i[0];const h=(s[8]+1)/s[0];const d=a*u;const p=a*h;const f=r/(-u+h);const m=f*-u;t.matrixWorld.decompose(e.position,e.quaternion,e.scale);e.translateX(m);e.translateZ(f);e.matrixWorld.compose(e.position,e.quaternion,e.scale);e.matrixWorldInverse.copy(e.matrixWorld).invert();const g=a+f;const y=o+f;const x=d-m;const b=p+(r-m);const _=l*o/y*g;const M=c*o/y*g;e.projectionMatrix.makePerspective(x,b,_,M,g,y)}function updateCamera(e,t){null===t?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix);e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(null===r)return;w.near=_.near=b.near=e.near;w.far=_.far=b.far=e.far;if(S!==w.near||T!==w.far){r.updateRenderState({depthNear:w.near,depthFar:w.far});S=w.near;T=w.far}const t=e.parent;const n=w.cameras;updateCamera(w,t);for(let e=0;e<n.length;e++)updateCamera(n[e],t);w.matrixWorld.decompose(w.position,w.quaternion,w.scale);e.position.copy(w.position);e.quaternion.copy(w.quaternion);e.scale.copy(w.scale);e.matrix.copy(w.matrix);e.matrixWorld.copy(w.matrixWorld);const i=e.children;for(let e=0,t=i.length;e<t;e++)i[e].updateMatrixWorld(true);2===n.length?setProjectionFromUnion(w,b,_):w.projectionMatrix.copy(b.projectionMatrix)};this.getCamera=function(){return w};this.getFoveation=function(){return null!==u?u.fixedFoveation:null!==h?h.fixedFoveation:void 0};this.setFoveation=function(e){null!==u&&(u.fixedFoveation=e);null!==h&&void 0!==h.fixedFoveation&&(h.fixedFoveation=e)};let L=null;function onAnimationFrame(t,n){l=n.getViewerPose(s);p=n;if(null!==l){const t=l.views;if(null!==h){e.setRenderTargetFramebuffer(g,h.framebuffer);e.setRenderTarget(g)}let n=false;if(t.length!==w.cameras.length){w.cameras.length=0;n=true}for(let r=0;r<t.length;r++){const i=t[r];let s=null;if(null!==h)s=h.getViewport(i);else{const t=c.getViewSubImage(u,i);s=t.viewport;if(0===r){e.setRenderTargetTextures(g,t.colorTexture,u.ignoreDepthValues?void 0:t.depthStencilTexture);e.setRenderTarget(g)}}const a=M[r];a.matrix.fromArray(i.transform.matrix);a.projectionMatrix.fromArray(i.projectionMatrix);a.viewport.set(s.x,s.y,s.width,s.height);0===r&&w.matrix.copy(a.matrix);true===n&&w.cameras.push(a)}}const i=r.inputSources;for(let e=0;e<y.length;e++){const t=y[e];const r=i[e];t.update(r,n,s)}L&&L(t,n);p=null}const C=new WebGLAnimation;C.setAnimationLoop(onAnimationFrame);this.setAnimationLoop=function(e){L=e};this.dispose=function(){}}}function WebGLMaterials(e){function refreshFogUniforms(e,t){e.fogColor.value.copy(t.color);if(t.isFog){e.fogNear.value=t.near;e.fogFar.value=t.far}else t.isFogExp2&&(e.fogDensity.value=t.density)}function refreshMaterialUniforms(e,t,n,r,i){if(t.isMeshBasicMaterial)refreshUniformsCommon(e,t);else if(t.isMeshLambertMaterial){refreshUniformsCommon(e,t);refreshUniformsLambert(e,t)}else if(t.isMeshToonMaterial){refreshUniformsCommon(e,t);refreshUniformsToon(e,t)}else if(t.isMeshPhongMaterial){refreshUniformsCommon(e,t);refreshUniformsPhong(e,t)}else if(t.isMeshStandardMaterial){refreshUniformsCommon(e,t);t.isMeshPhysicalMaterial?refreshUniformsPhysical(e,t,i):refreshUniformsStandard(e,t)}else if(t.isMeshMatcapMaterial){refreshUniformsCommon(e,t);refreshUniformsMatcap(e,t)}else if(t.isMeshDepthMaterial){refreshUniformsCommon(e,t);refreshUniformsDepth(e,t)}else if(t.isMeshDistanceMaterial){refreshUniformsCommon(e,t);refreshUniformsDistance(e,t)}else if(t.isMeshNormalMaterial){refreshUniformsCommon(e,t);refreshUniformsNormal(e,t)}else if(t.isLineBasicMaterial){refreshUniformsLine(e,t);t.isLineDashedMaterial&&refreshUniformsDash(e,t)}else if(t.isPointsMaterial)refreshUniformsPoints(e,t,n,r);else if(t.isSpriteMaterial)refreshUniformsSprites(e,t);else if(t.isShadowMaterial){e.color.value.copy(t.color);e.opacity.value=t.opacity}else t.isShaderMaterial&&(t.uniformsNeedUpdate=false)}function refreshUniformsCommon(t,n){t.opacity.value=n.opacity;n.color&&t.diffuse.value.copy(n.color);n.emissive&&t.emissive.value.copy(n.emissive).multiplyScalar(n.emissiveIntensity);n.map&&(t.map.value=n.map);n.alphaMap&&(t.alphaMap.value=n.alphaMap);n.specularMap&&(t.specularMap.value=n.specularMap);n.alphaTest>0&&(t.alphaTest.value=n.alphaTest);const r=e.get(n).envMap;if(r){t.envMap.value=r;t.flipEnvMap.value=r.isCubeTexture&&false===r.isRenderTargetTexture?-1:1;t.reflectivity.value=n.reflectivity;t.ior.value=n.ior;t.refractionRatio.value=n.refractionRatio}if(n.lightMap){t.lightMap.value=n.lightMap;t.lightMapIntensity.value=n.lightMapIntensity}if(n.aoMap){t.aoMap.value=n.aoMap;t.aoMapIntensity.value=n.aoMapIntensity}let i;n.map?i=n.map:n.specularMap?i=n.specularMap:n.displacementMap?i=n.displacementMap:n.normalMap?i=n.normalMap:n.bumpMap?i=n.bumpMap:n.roughnessMap?i=n.roughnessMap:n.metalnessMap?i=n.metalnessMap:n.alphaMap?i=n.alphaMap:n.emissiveMap?i=n.emissiveMap:n.clearcoatMap?i=n.clearcoatMap:n.clearcoatNormalMap?i=n.clearcoatNormalMap:n.clearcoatRoughnessMap?i=n.clearcoatRoughnessMap:n.specularIntensityMap?i=n.specularIntensityMap:n.specularColorMap?i=n.specularColorMap:n.transmissionMap?i=n.transmissionMap:n.thicknessMap?i=n.thicknessMap:n.sheenColorMap?i=n.sheenColorMap:n.sheenRoughnessMap&&(i=n.sheenRoughnessMap);if(void 0!==i){i.isWebGLRenderTarget&&(i=i.texture);true===i.matrixAutoUpdate&&i.updateMatrix();t.uvTransform.value.copy(i.matrix)}let s;n.aoMap?s=n.aoMap:n.lightMap&&(s=n.lightMap);if(void 0!==s){s.isWebGLRenderTarget&&(s=s.texture);true===s.matrixAutoUpdate&&s.updateMatrix();t.uv2Transform.value.copy(s.matrix)}}function refreshUniformsLine(e,t){e.diffuse.value.copy(t.color);e.opacity.value=t.opacity}function refreshUniformsDash(e,t){e.dashSize.value=t.dashSize;e.totalSize.value=t.dashSize+t.gapSize;e.scale.value=t.scale}function refreshUniformsPoints(e,t,n,r){e.diffuse.value.copy(t.color);e.opacity.value=t.opacity;e.size.value=t.size*n;e.scale.value=.5*r;t.map&&(e.map.value=t.map);t.alphaMap&&(e.alphaMap.value=t.alphaMap);t.alphaTest>0&&(e.alphaTest.value=t.alphaTest);let i;t.map?i=t.map:t.alphaMap&&(i=t.alphaMap);if(void 0!==i){true===i.matrixAutoUpdate&&i.updateMatrix();e.uvTransform.value.copy(i.matrix)}}function refreshUniformsSprites(e,t){e.diffuse.value.copy(t.color);e.opacity.value=t.opacity;e.rotation.value=t.rotation;t.map&&(e.map.value=t.map);t.alphaMap&&(e.alphaMap.value=t.alphaMap);t.alphaTest>0&&(e.alphaTest.value=t.alphaTest);let n;t.map?n=t.map:t.alphaMap&&(n=t.alphaMap);if(void 0!==n){true===n.matrixAutoUpdate&&n.updateMatrix();e.uvTransform.value.copy(n.matrix)}}function refreshUniformsLambert(e,t){t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap)}function refreshUniformsPhong(e,t){e.specular.value.copy(t.specular);e.shininess.value=Math.max(t.shininess,1e-4);t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap);if(t.bumpMap){e.bumpMap.value=t.bumpMap;e.bumpScale.value=t.bumpScale;t.side===d&&(e.bumpScale.value*=-1)}if(t.normalMap){e.normalMap.value=t.normalMap;e.normalScale.value.copy(t.normalScale);t.side===d&&e.normalScale.value.negate()}if(t.displacementMap){e.displacementMap.value=t.displacementMap;e.displacementScale.value=t.displacementScale;e.displacementBias.value=t.displacementBias}}function refreshUniformsToon(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap);t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap);if(t.bumpMap){e.bumpMap.value=t.bumpMap;e.bumpScale.value=t.bumpScale;t.side===d&&(e.bumpScale.value*=-1)}if(t.normalMap){e.normalMap.value=t.normalMap;e.normalScale.value.copy(t.normalScale);t.side===d&&e.normalScale.value.negate()}if(t.displacementMap){e.displacementMap.value=t.displacementMap;e.displacementScale.value=t.displacementScale;e.displacementBias.value=t.displacementBias}}function refreshUniformsStandard(t,n){t.roughness.value=n.roughness;t.metalness.value=n.metalness;n.roughnessMap&&(t.roughnessMap.value=n.roughnessMap);n.metalnessMap&&(t.metalnessMap.value=n.metalnessMap);n.emissiveMap&&(t.emissiveMap.value=n.emissiveMap);if(n.bumpMap){t.bumpMap.value=n.bumpMap;t.bumpScale.value=n.bumpScale;n.side===d&&(t.bumpScale.value*=-1)}if(n.normalMap){t.normalMap.value=n.normalMap;t.normalScale.value.copy(n.normalScale);n.side===d&&t.normalScale.value.negate()}if(n.displacementMap){t.displacementMap.value=n.displacementMap;t.displacementScale.value=n.displacementScale;t.displacementBias.value=n.displacementBias}const r=e.get(n).envMap;r&&(t.envMapIntensity.value=n.envMapIntensity)}function refreshUniformsPhysical(e,t,n){refreshUniformsStandard(e,t);e.ior.value=t.ior;if(t.sheen>0){e.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen);e.sheenRoughness.value=t.sheenRoughness;t.sheenColorMap&&(e.sheenColorMap.value=t.sheenColorMap);t.sheenRoughnessMap&&(e.sheenRoughnessMap.value=t.sheenRoughnessMap)}if(t.clearcoat>0){e.clearcoat.value=t.clearcoat;e.clearcoatRoughness.value=t.clearcoatRoughness;t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap);t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap);if(t.clearcoatNormalMap){e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale);e.clearcoatNormalMap.value=t.clearcoatNormalMap;t.side===d&&e.clearcoatNormalScale.value.negate()}}if(t.transmission>0){e.transmission.value=t.transmission;e.transmissionSamplerMap.value=n.texture;e.transmissionSamplerSize.value.set(n.width,n.height);t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap);e.thickness.value=t.thickness;t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap);e.attenuationDistance.value=t.attenuationDistance;e.attenuationColor.value.copy(t.attenuationColor)}e.specularIntensity.value=t.specularIntensity;e.specularColor.value.copy(t.specularColor);t.specularIntensityMap&&(e.specularIntensityMap.value=t.specularIntensityMap);t.specularColorMap&&(e.specularColorMap.value=t.specularColorMap)}function refreshUniformsMatcap(e,t){t.matcap&&(e.matcap.value=t.matcap);if(t.bumpMap){e.bumpMap.value=t.bumpMap;e.bumpScale.value=t.bumpScale;t.side===d&&(e.bumpScale.value*=-1)}if(t.normalMap){e.normalMap.value=t.normalMap;e.normalScale.value.copy(t.normalScale);t.side===d&&e.normalScale.value.negate()}if(t.displacementMap){e.displacementMap.value=t.displacementMap;e.displacementScale.value=t.displacementScale;e.displacementBias.value=t.displacementBias}}function refreshUniformsDepth(e,t){if(t.displacementMap){e.displacementMap.value=t.displacementMap;e.displacementScale.value=t.displacementScale;e.displacementBias.value=t.displacementBias}}function refreshUniformsDistance(e,t){if(t.displacementMap){e.displacementMap.value=t.displacementMap;e.displacementScale.value=t.displacementScale;e.displacementBias.value=t.displacementBias}e.referencePosition.value.copy(t.referencePosition);e.nearDistance.value=t.nearDistance;e.farDistance.value=t.farDistance}function refreshUniformsNormal(e,t){if(t.bumpMap){e.bumpMap.value=t.bumpMap;e.bumpScale.value=t.bumpScale;t.side===d&&(e.bumpScale.value*=-1)}if(t.normalMap){e.normalMap.value=t.normalMap;e.normalScale.value.copy(t.normalScale);t.side===d&&e.normalScale.value.negate()}if(t.displacementMap){e.displacementMap.value=t.displacementMap;e.displacementScale.value=t.displacementScale;e.displacementBias.value=t.displacementBias}}return{refreshFogUniforms:refreshFogUniforms,refreshMaterialUniforms:refreshMaterialUniforms}}function createCanvasElement(){const e=createElementNS(\"canvas\");e.style.display=\"block\";return e}function WebGLRenderer(t={}){const n=void 0!==t.canvas?t.canvas:createCanvasElement(),r=void 0!==t.context?t.context:null,i=void 0!==t.alpha&&t.alpha,s=void 0===t.depth||t.depth,a=void 0===t.stencil||t.stencil,o=void 0!==t.antialias&&t.antialias,l=void 0===t.premultipliedAlpha||t.premultipliedAlpha,c=void 0!==t.preserveDrawingBuffer&&t.preserveDrawingBuffer,u=void 0!==t.powerPreference?t.powerPreference:\"default\",f=void 0!==t.failIfMajorPerformanceCaveat&&t.failIfMajorPerformanceCaveat;let m=null;let g=null;const y=[];const x=[];this.domElement=n;this.debug={\n/**\n\t\t * Enables error checking and reporting when shader programs are being compiled\n\t\t * @type {boolean}\n\t\t */\ncheckShaderErrors:true};this.autoClear=true;this.autoClearColor=true;this.autoClearDepth=true;this.autoClearStencil=true;this.sortObjects=true;this.clippingPlanes=[];this.localClippingEnabled=false;this.outputEncoding=Xt;this.physicallyCorrectLights=false;this.toneMapping=Z;this.toneMappingExposure=1;const b=this;let _=false;let M=0;let w=0;let S=null;let T=-1;let E=null;const A=new Vector4;const L=new Vector4;let C=null;let R=n.width;let P=n.height;let I=1;let D=null;let B=null;const V=new Vector4(0,0,R,P);const N=new Vector4(0,0,R,P);let U=false;const z=[];const G=new Frustum;let F=false;let O=false;let H=null;const k=new Matrix4;const W=new Vector3;const j={background:null,fog:null,environment:null,overrideMaterial:null,isScene:true};function getTargetPixelRatio(){return null===S?I:1}let q=r;function getContext(e,t){for(let r=0;r<e.length;r++){const i=e[r];const s=n.getContext(i,t);if(null!==s)return s}return null}try{const t={alpha:i,depth:s,stencil:a,antialias:o,premultipliedAlpha:l,preserveDrawingBuffer:c,powerPreference:u,failIfMajorPerformanceCaveat:f};\"setAttribute\"in n&&n.setAttribute(\"data-engine\",`three.js r${e}`);n.addEventListener(\"webglcontextlost\",onContextLost,false);n.addEventListener(\"webglcontextrestored\",onContextRestore,false);if(null===q){const e=[\"webgl2\",\"webgl\",\"experimental-webgl\"];true===b.isWebGL1Renderer&&e.shift();q=getContext(e,t);if(null===q)throw getContext(e)?new Error(\"Error creating WebGL context with your selected attributes.\"):new Error(\"Error creating WebGL context.\")}void 0===q.getShaderPrecisionFormat&&(q.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(e){console.error(\"THREE.WebGLRenderer: \"+e.message);throw e}let X,J,Y,Q;let K,$,ee,te,ne,re,ie;let se,ae,oe,le,ce,he;let pe,fe,me,ge;let ye,ve;function initGLContext(){X=new WebGLExtensions(q);J=new WebGLCapabilities(q,X,t);X.init(J);ye=new WebGLUtils(q,X,J);Y=new WebGLState(q,X,J);z[0]=1029;Q=new WebGLInfo(q);K=new WebGLProperties;$=new WebGLTextures(q,X,Y,K,J,ye,Q);ee=new WebGLCubeMaps(b);te=new WebGLCubeUVMaps(b);ne=new WebGLAttributes(q,J);ve=new WebGLBindingStates(q,X,ne,J);re=new WebGLGeometries(q,ne,Q,ve);ie=new WebGLObjects(q,re,ne,Q);fe=new WebGLMorphtargets(q,J,$);ce=new WebGLClipping(K);se=new WebGLPrograms(b,ee,te,X,J,ve,ce);ae=new WebGLMaterials(K);oe=new WebGLRenderLists;le=new WebGLRenderStates(X,J);pe=new WebGLBackground(b,ee,Y,ie,l);he=new WebGLShadowMap(b,ie,J);me=new WebGLBufferRenderer(q,X,Q,J);ge=new WebGLIndexedBufferRenderer(q,X,Q,J);Q.programs=se.programs;b.capabilities=J;b.extensions=X;b.properties=K;b.renderLists=oe;b.shadowMap=he;b.state=Y;b.info=Q}initGLContext();const xe=new WebXRManager(b,q);this.xr=xe;this.getContext=function(){return q};this.getContextAttributes=function(){return q.getContextAttributes()};this.forceContextLoss=function(){const e=X.get(\"WEBGL_lose_context\");e&&e.loseContext()};this.forceContextRestore=function(){const e=X.get(\"WEBGL_lose_context\");e&&e.restoreContext()};this.getPixelRatio=function(){return I};this.setPixelRatio=function(e){if(void 0!==e){I=e;this.setSize(R,P,false)}};this.getSize=function(e){return e.set(R,P)};this.setSize=function(e,t,r){if(xe.isPresenting)console.warn(\"THREE.WebGLRenderer: Can't change size while VR device is presenting.\");else{R=e;P=t;n.width=Math.floor(e*I);n.height=Math.floor(t*I);if(false!==r){n.style.width=e+\"px\";n.style.height=t+\"px\"}this.setViewport(0,0,e,t)}};this.getDrawingBufferSize=function(e){return e.set(R*I,P*I).floor()};this.setDrawingBufferSize=function(e,t,r){R=e;P=t;I=r;n.width=Math.floor(e*r);n.height=Math.floor(t*r);this.setViewport(0,0,e,t)};this.getCurrentViewport=function(e){return e.copy(A)};this.getViewport=function(e){return e.copy(V)};this.setViewport=function(e,t,n,r){e.isVector4?V.set(e.x,e.y,e.z,e.w):V.set(e,t,n,r);Y.viewport(A.copy(V).multiplyScalar(I).floor())};this.getScissor=function(e){return e.copy(N)};this.setScissor=function(e,t,n,r){e.isVector4?N.set(e.x,e.y,e.z,e.w):N.set(e,t,n,r);Y.scissor(L.copy(N).multiplyScalar(I).floor())};this.getScissorTest=function(){return U};this.setScissorTest=function(e){Y.setScissorTest(U=e)};this.setOpaqueSort=function(e){D=e};this.setTransparentSort=function(e){B=e};this.getClearColor=function(e){return e.copy(pe.getClearColor())};this.setClearColor=function(){pe.setClearColor.apply(pe,arguments)};this.getClearAlpha=function(){return pe.getClearAlpha()};this.setClearAlpha=function(){pe.setClearAlpha.apply(pe,arguments)};this.clear=function(e,t,n){let r=0;(void 0===e||e)&&(r|=16384);(void 0===t||t)&&(r|=256);(void 0===n||n)&&(r|=1024);q.clear(r)};this.clearColor=function(){this.clear(true,false,false)};this.clearDepth=function(){this.clear(false,true,false)};this.clearStencil=function(){this.clear(false,false,true)};this.dispose=function(){n.removeEventListener(\"webglcontextlost\",onContextLost,false);n.removeEventListener(\"webglcontextrestored\",onContextRestore,false);oe.dispose();le.dispose();K.dispose();ee.dispose();te.dispose();ie.dispose();ve.dispose();se.dispose();xe.dispose();xe.removeEventListener(\"sessionstart\",onXRSessionStart);xe.removeEventListener(\"sessionend\",onXRSessionEnd);if(H){H.dispose();H=null}we.stop()};function onContextLost(e){e.preventDefault();console.log(\"THREE.WebGLRenderer: Context Lost.\");_=true}function onContextRestore(){console.log(\"THREE.WebGLRenderer: Context Restored.\");_=false;const e=Q.autoReset;const t=he.enabled;const n=he.autoUpdate;const r=he.needsUpdate;const i=he.type;initGLContext();Q.autoReset=e;he.enabled=t;he.autoUpdate=n;he.needsUpdate=r;he.type=i}function onMaterialDispose(e){const t=e.target;t.removeEventListener(\"dispose\",onMaterialDispose);deallocateMaterial(t)}function deallocateMaterial(e){releaseMaterialProgramReferences(e);K.remove(e)}function releaseMaterialProgramReferences(e){const t=K.get(e).programs;if(void 0!==t){t.forEach((function(e){se.releaseProgram(e)}));e.isShaderMaterial&&se.releaseShaderCache(e)}}this.renderBufferDirect=function(e,t,n,r,i,s){null===t&&(t=j);const a=i.isMesh&&i.matrixWorld.determinant()<0;const o=setProgram(e,t,n,r,i);Y.setMaterial(r,a);let l=n.index;const c=n.attributes.position;if(null===l){if(void 0===c||0===c.count)return}else if(0===l.count)return;let u=1;if(true===r.wireframe){l=re.getWireframeAttribute(n);u=2}ve.setup(i,r,o,n,l);let h;let d=me;if(null!==l){h=ne.get(l);d=ge;d.setIndex(h)}const p=null!==l?l.count:c.count;const f=n.drawRange.start*u;const m=n.drawRange.count*u;const g=null!==s?s.start*u:0;const y=null!==s?s.count*u:Infinity;const x=Math.max(f,g);const b=Math.min(p,f+m,g+y)-1;const _=Math.max(0,b-x+1);if(0!==_){if(i.isMesh)if(true===r.wireframe){Y.setLineWidth(r.wireframeLinewidth*getTargetPixelRatio());d.setMode(1)}else d.setMode(4);else if(i.isLine){let e=r.linewidth;void 0===e&&(e=1);Y.setLineWidth(e*getTargetPixelRatio());i.isLineSegments?d.setMode(1):i.isLineLoop?d.setMode(2):d.setMode(3)}else i.isPoints?d.setMode(0):i.isSprite&&d.setMode(4);if(i.isInstancedMesh)d.renderInstances(x,_,i.count);else if(n.isInstancedBufferGeometry){const e=Math.min(n.instanceCount,n._maxInstanceCount);d.renderInstances(x,_,e)}else d.render(x,_)}};this.compile=function(e,t){g=le.get(e);g.init();x.push(g);e.traverseVisible((function(e){if(e.isLight&&e.layers.test(t.layers)){g.pushLight(e);e.castShadow&&g.pushShadow(e)}}));g.setupLights(b.physicallyCorrectLights);e.traverse((function(t){const n=t.material;if(n)if(Array.isArray(n))for(let r=0;r<n.length;r++){const i=n[r];getProgram(i,e,t)}else getProgram(n,e,t)}));x.pop();g=null};let _e=null;function onAnimationFrame(e){_e&&_e(e)}function onXRSessionStart(){we.stop()}function onXRSessionEnd(){we.start()}const we=new WebGLAnimation;we.setAnimationLoop(onAnimationFrame);\"undefined\"!==typeof window&&we.setContext(window);this.setAnimationLoop=function(e){_e=e;xe.setAnimationLoop(e);null===e?we.stop():we.start()};xe.addEventListener(\"sessionstart\",onXRSessionStart);xe.addEventListener(\"sessionend\",onXRSessionEnd);this.render=function(e,t){if(void 0!==t&&true!==t.isCamera){console.error(\"THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.\");return}if(true===_)return;true===e.autoUpdate&&e.updateMatrixWorld();null===t.parent&&t.updateMatrixWorld();if(true===xe.enabled&&true===xe.isPresenting){true===xe.cameraAutoUpdate&&xe.updateCamera(t);t=xe.getCamera()}true===e.isScene&&e.onBeforeRender(b,e,t,S);g=le.get(e,x.length);g.init();x.push(g);k.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse);G.setFromProjectionMatrix(k);O=this.localClippingEnabled;F=ce.init(this.clippingPlanes,O,t);m=oe.get(e,y.length);m.init();y.push(m);projectObject(e,t,0,b.sortObjects);m.finish();true===b.sortObjects&&m.sort(D,B);true===F&&ce.beginShadows();const n=g.state.shadowsArray;he.render(n,e,t);true===F&&ce.endShadows();true===this.info.autoReset&&this.info.reset();pe.render(m,e);g.setupLights(b.physicallyCorrectLights);if(t.isArrayCamera){const n=t.cameras;for(let t=0,r=n.length;t<r;t++){const r=n[t];renderScene(m,e,r,r.viewport)}}else renderScene(m,e,t);if(null!==S){$.updateMultisampleRenderTarget(S);$.updateRenderTargetMipmap(S)}true===e.isScene&&e.onAfterRender(b,e,t);Y.buffers.depth.setTest(true);Y.buffers.depth.setMask(true);Y.buffers.color.setMask(true);Y.setPolygonOffset(false);ve.resetDefaultState();T=-1;E=null;x.pop();g=x.length>0?x[x.length-1]:null;y.pop();m=y.length>0?y[y.length-1]:null};function projectObject(e,t,n,r){if(false===e.visible)return;const i=e.layers.test(t.layers);if(i)if(e.isGroup)n=e.renderOrder;else if(e.isLOD)true===e.autoUpdate&&e.update(t);else if(e.isLight){g.pushLight(e);e.castShadow&&g.pushShadow(e)}else if(e.isSprite){if(!e.frustumCulled||G.intersectsSprite(e)){r&&W.setFromMatrixPosition(e.matrixWorld).applyMatrix4(k);const t=ie.update(e);const i=e.material;i.visible&&m.push(e,t,i,n,W.z,null)}}else if(e.isMesh||e.isLine||e.isPoints){if(e.isSkinnedMesh&&e.skeleton.frame!==Q.render.frame){e.skeleton.update();e.skeleton.frame=Q.render.frame}if(!e.frustumCulled||G.intersectsObject(e)){r&&W.setFromMatrixPosition(e.matrixWorld).applyMatrix4(k);const t=ie.update(e);const i=e.material;if(Array.isArray(i)){const r=t.groups;for(let s=0,a=r.length;s<a;s++){const a=r[s];const o=i[a.materialIndex];o&&o.visible&&m.push(e,t,o,n,W.z,a)}}else i.visible&&m.push(e,t,i,n,W.z,null)}}const s=e.children;for(let e=0,i=s.length;e<i;e++)projectObject(s[e],t,n,r)}function renderScene(e,t,n,r){const i=e.opaque;const s=e.transmissive;const a=e.transparent;g.setupLightsView(n);s.length>0&&renderTransmissionPass(i,t,n);r&&Y.viewport(A.copy(r));i.length>0&&renderObjects(i,t,n);s.length>0&&renderObjects(s,t,n);a.length>0&&renderObjects(a,t,n)}function renderTransmissionPass(e,t,n){if(null===H){const e=true===o&&true===J.isWebGL2;const t=e?WebGLMultisampleRenderTarget:WebGLRenderTarget;H=new t(1024,1024,{generateMipmaps:true,type:null!==ye.convert(Ce)?Ce:Me,minFilter:be,magFilter:de,wrapS:ue,wrapT:ue,useRenderToTexture:X.has(\"WEBGL_multisampled_render_to_texture\")})}const r=b.getRenderTarget();b.setRenderTarget(H);b.clear();const i=b.toneMapping;b.toneMapping=Z;renderObjects(e,t,n);b.toneMapping=i;$.updateMultisampleRenderTarget(H);$.updateRenderTargetMipmap(H);b.setRenderTarget(r)}function renderObjects(e,t,n){const r=true===t.isScene?t.overrideMaterial:null;for(let i=0,s=e.length;i<s;i++){const s=e[i];const a=s.object;const o=s.geometry;const l=null===r?s.material:r;const c=s.group;a.layers.test(n.layers)&&renderObject(a,t,n,o,l,c)}}function renderObject(e,t,n,r,i,s){e.onBeforeRender(b,t,n,r,i,s);e.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,e.matrixWorld);e.normalMatrix.getNormalMatrix(e.modelViewMatrix);i.onBeforeRender(b,t,n,r,e,s);if(true===i.transparent&&i.side===p){i.side=d;i.needsUpdate=true;b.renderBufferDirect(n,t,r,i,e,s);i.side=h;i.needsUpdate=true;b.renderBufferDirect(n,t,r,i,e,s);i.side=p}else b.renderBufferDirect(n,t,r,i,e,s);e.onAfterRender(b,t,n,r,i,s)}function getProgram(e,t,n){true!==t.isScene&&(t=j);const r=K.get(e);const i=g.state.lights;const s=g.state.shadowsArray;const a=i.state.version;const o=se.getParameters(e,i.state,s,t,n);const l=se.getProgramCacheKey(o);let c=r.programs;r.environment=e.isMeshStandardMaterial?t.environment:null;r.fog=t.fog;r.envMap=(e.isMeshStandardMaterial?te:ee).get(e.envMap||r.environment);if(void 0===c){e.addEventListener(\"dispose\",onMaterialDispose);c=new Map;r.programs=c}let u=c.get(l);if(void 0!==u){if(r.currentProgram===u&&r.lightsStateVersion===a){updateCommonMaterialProperties(e,o);return u}}else{o.uniforms=se.getUniforms(e);e.onBuild(n,o,b);e.onBeforeCompile(o,b);u=se.acquireProgram(o,l);c.set(l,u);r.uniforms=o.uniforms}const h=r.uniforms;(e.isShaderMaterial||e.isRawShaderMaterial)&&true!==e.clipping||(h.clippingPlanes=ce.uniform);updateCommonMaterialProperties(e,o);r.needsLights=materialNeedsLights(e);r.lightsStateVersion=a;if(r.needsLights){h.ambientLightColor.value=i.state.ambient;h.lightProbe.value=i.state.probe;h.directionalLights.value=i.state.directional;h.directionalLightShadows.value=i.state.directionalShadow;h.spotLights.value=i.state.spot;h.spotLightShadows.value=i.state.spotShadow;h.rectAreaLights.value=i.state.rectArea;h.ltc_1.value=i.state.rectAreaLTC1;h.ltc_2.value=i.state.rectAreaLTC2;h.pointLights.value=i.state.point;h.pointLightShadows.value=i.state.pointShadow;h.hemisphereLights.value=i.state.hemi;h.directionalShadowMap.value=i.state.directionalShadowMap;h.directionalShadowMatrix.value=i.state.directionalShadowMatrix;h.spotShadowMap.value=i.state.spotShadowMap;h.spotShadowMatrix.value=i.state.spotShadowMatrix;h.pointShadowMap.value=i.state.pointShadowMap;h.pointShadowMatrix.value=i.state.pointShadowMatrix}const d=u.getUniforms();const p=WebGLUniforms.seqWithValue(d.seq,h);r.currentProgram=u;r.uniformsList=p;return u}function updateCommonMaterialProperties(e,t){const n=K.get(e);n.outputEncoding=t.outputEncoding;n.instancing=t.instancing;n.skinning=t.skinning;n.morphTargets=t.morphTargets;n.morphNormals=t.morphNormals;n.morphTargetsCount=t.morphTargetsCount;n.numClippingPlanes=t.numClippingPlanes;n.numIntersection=t.numClipIntersection;n.vertexAlphas=t.vertexAlphas;n.vertexTangents=t.vertexTangents;n.toneMapping=t.toneMapping}function setProgram(e,t,n,r,i){true!==t.isScene&&(t=j);$.resetTextureUnits();const s=t.fog;const a=r.isMeshStandardMaterial?t.environment:null;const o=null===S?b.outputEncoding:S.texture.encoding;const l=(r.isMeshStandardMaterial?te:ee).get(r.envMap||a);const c=true===r.vertexColors&&!!n.attributes.color&&4===n.attributes.color.itemSize;const u=!!r.normalMap&&!!n.attributes.tangent;const h=!!n.morphAttributes.position;const d=!!n.morphAttributes.normal;const p=!n.morphAttributes.position?0:n.morphAttributes.position.length;const f=r.toneMapped?b.toneMapping:Z;const m=K.get(r);const y=g.state.lights;if(true===F&&(true===O||e!==E)){const t=e===E&&r.id===T;ce.setState(r,e,t)}let x=false;if(r.version===m.__version)m.needsLights&&m.lightsStateVersion!==y.state.version||m.outputEncoding!==o||i.isInstancedMesh&&false===m.instancing?x=true:i.isInstancedMesh||true!==m.instancing?i.isSkinnedMesh&&false===m.skinning?x=true:i.isSkinnedMesh||true!==m.skinning?m.envMap!==l||r.fog&&m.fog!==s?x=true:void 0===m.numClippingPlanes||m.numClippingPlanes===ce.numPlanes&&m.numIntersection===ce.numIntersection?(m.vertexAlphas!==c||m.vertexTangents!==u||m.morphTargets!==h||m.morphNormals!==d||m.toneMapping!==f||true===J.isWebGL2&&m.morphTargetsCount!==p)&&(x=true):x=true:x=true:x=true;else{x=true;m.__version=r.version}let _=m.currentProgram;true===x&&(_=getProgram(r,t,i));let M=false;let w=false;let A=false;const L=_.getUniforms(),C=m.uniforms;if(Y.useProgram(_.program)){M=true;w=true;A=true}if(r.id!==T){T=r.id;w=true}if(M||E!==e){L.setValue(q,\"projectionMatrix\",e.projectionMatrix);J.logarithmicDepthBuffer&&L.setValue(q,\"logDepthBufFC\",2/(Math.log(e.far+1)/Math.LN2));if(E!==e){E=e;w=true;A=true}if(r.isShaderMaterial||r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshStandardMaterial||r.envMap){const t=L.map.cameraPosition;void 0!==t&&t.setValue(q,W.setFromMatrixPosition(e.matrixWorld))}(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial)&&L.setValue(q,\"isOrthographic\",true===e.isOrthographicCamera);(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial||r.isShadowMaterial||i.isSkinnedMesh)&&L.setValue(q,\"viewMatrix\",e.matrixWorldInverse)}if(i.isSkinnedMesh){L.setOptional(q,i,\"bindMatrix\");L.setOptional(q,i,\"bindMatrixInverse\");const e=i.skeleton;if(e)if(J.floatVertexTextures){null===e.boneTexture&&e.computeBoneTexture();L.setValue(q,\"boneTexture\",e.boneTexture,$);L.setValue(q,\"boneTextureSize\",e.boneTextureSize)}else L.setOptional(q,e,\"boneMatrices\")}!n||void 0===n.morphAttributes.position&&void 0===n.morphAttributes.normal||fe.update(i,n,r,_);if(w||m.receiveShadow!==i.receiveShadow){m.receiveShadow=i.receiveShadow;L.setValue(q,\"receiveShadow\",i.receiveShadow)}if(w){L.setValue(q,\"toneMappingExposure\",b.toneMappingExposure);m.needsLights&&markUniformsLightsNeedsUpdate(C,A);s&&r.fog&&ae.refreshFogUniforms(C,s);ae.refreshMaterialUniforms(C,r,I,P,H);WebGLUniforms.upload(q,m.uniformsList,C,$)}if(r.isShaderMaterial&&true===r.uniformsNeedUpdate){WebGLUniforms.upload(q,m.uniformsList,C,$);r.uniformsNeedUpdate=false}r.isSpriteMaterial&&L.setValue(q,\"center\",i.center);L.setValue(q,\"modelViewMatrix\",i.modelViewMatrix);L.setValue(q,\"normalMatrix\",i.normalMatrix);L.setValue(q,\"modelMatrix\",i.matrixWorld);return _}function markUniformsLightsNeedsUpdate(e,t){e.ambientLightColor.needsUpdate=t;e.lightProbe.needsUpdate=t;e.directionalLights.needsUpdate=t;e.directionalLightShadows.needsUpdate=t;e.pointLights.needsUpdate=t;e.pointLightShadows.needsUpdate=t;e.spotLights.needsUpdate=t;e.spotLightShadows.needsUpdate=t;e.rectAreaLights.needsUpdate=t;e.hemisphereLights.needsUpdate=t}function materialNeedsLights(e){return e.isMeshLambertMaterial||e.isMeshToonMaterial||e.isMeshPhongMaterial||e.isMeshStandardMaterial||e.isShadowMaterial||e.isShaderMaterial&&true===e.lights}this.getActiveCubeFace=function(){return M};this.getActiveMipmapLevel=function(){return w};this.getRenderTarget=function(){return S};this.setRenderTargetTextures=function(e,t,n){K.get(e.texture).__webglTexture=t;K.get(e.depthTexture).__webglTexture=n;const r=K.get(e);r.__hasExternalTextures=true;if(r.__hasExternalTextures){r.__autoAllocateDepthBuffer=void 0===n;if(!r.__autoAllocateDepthBuffer&&e.useRenderToTexture){console.warn(\"render-to-texture extension was disabled because an external texture was provided\");e.useRenderToTexture=false;e.useRenderbuffer=true}}};this.setRenderTargetFramebuffer=function(e,t){const n=K.get(e);n.__webglFramebuffer=t;n.__useDefaultFramebuffer=void 0===t};this.setRenderTarget=function(e,t=0,n=0){S=e;M=t;w=n;let r=true;if(e){const t=K.get(e);if(void 0!==t.__useDefaultFramebuffer){Y.bindFramebuffer(36160,null);r=false}else void 0===t.__webglFramebuffer?$.setupRenderTarget(e):t.__hasExternalTextures&&$.rebindTextures(e,K.get(e.texture).__webglTexture,K.get(e.depthTexture).__webglTexture)}let i=null;let s=false;let a=false;if(e){const n=e.texture;(n.isDataTexture3D||n.isDataTexture2DArray)&&(a=true);const r=K.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget){i=r[t];s=true}else i=e.useRenderbuffer?K.get(e).__webglMultisampledFramebuffer:r;A.copy(e.viewport);L.copy(e.scissor);C=e.scissorTest}else{A.copy(V).multiplyScalar(I).floor();L.copy(N).multiplyScalar(I).floor();C=U}const o=Y.bindFramebuffer(36160,i);if(o&&J.drawBuffers&&r){let t=false;if(e){if(e.isWebGLMultipleRenderTargets){const n=e.texture;if(z.length!==n.length||36064!==z[0]){for(let e=0,t=n.length;e<t;e++)z[e]=36064+e;z.length=n.length;t=true}}else if(1!==z.length||36064!==z[0]){z[0]=36064;z.length=1;t=true}}else if(1!==z.length||1029!==z[0]){z[0]=1029;z.length=1;t=true}t&&(J.isWebGL2?q.drawBuffers(z):X.get(\"WEBGL_draw_buffers\").drawBuffersWEBGL(z))}Y.viewport(A);Y.scissor(L);Y.setScissorTest(C);if(s){const r=K.get(e.texture);q.framebufferTexture2D(36160,36064,34069+t,r.__webglTexture,n)}else if(a){const r=K.get(e.texture);const i=t||0;q.framebufferTextureLayer(36160,36064,r.__webglTexture,n||0,i)}T=-1};this.readRenderTargetPixels=function(e,t,n,r,i,s,a){if(!(e&&e.isWebGLRenderTarget)){console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");return}let o=K.get(e).__webglFramebuffer;e.isWebGLCubeRenderTarget&&void 0!==a&&(o=o[a]);if(o){Y.bindFramebuffer(36160,o);try{const a=e.texture;const o=a.format;const l=a.type;if(o!==Ne&&ye.convert(o)!==q.getParameter(35739)){console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.\");return}const c=l===Ce&&(X.has(\"EXT_color_buffer_half_float\")||J.isWebGL2&&X.has(\"EXT_color_buffer_float\"));if(l!==Me&&ye.convert(l)!==q.getParameter(35738)&&!(l===Le&&(J.isWebGL2||X.has(\"OES_texture_float\")||X.has(\"WEBGL_color_buffer_float\")))&&!c){console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.\");return}36053===q.checkFramebufferStatus(36160)?t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&q.readPixels(t,n,r,i,ye.convert(o),ye.convert(l),s):console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.\")}finally{const e=null!==S?K.get(S).__webglFramebuffer:null;Y.bindFramebuffer(36160,e)}}};this.copyFramebufferToTexture=function(e,t,n=0){if(true!==t.isFramebufferTexture){console.error(\"THREE.WebGLRenderer: copyFramebufferToTexture() can only be used with FramebufferTexture.\");return}const r=Math.pow(2,-n);const i=Math.floor(t.image.width*r);const s=Math.floor(t.image.height*r);$.setTexture2D(t,0);q.copyTexSubImage2D(3553,n,0,0,e.x,e.y,i,s);Y.unbindTexture()};this.copyTextureToTexture=function(e,t,n,r=0){const i=t.image.width;const s=t.image.height;const a=ye.convert(n.format);const o=ye.convert(n.type);$.setTexture2D(n,0);q.pixelStorei(37440,n.flipY);q.pixelStorei(37441,n.premultiplyAlpha);q.pixelStorei(3317,n.unpackAlignment);t.isDataTexture?q.texSubImage2D(3553,r,e.x,e.y,i,s,a,o,t.image.data):t.isCompressedTexture?q.compressedTexSubImage2D(3553,r,e.x,e.y,t.mipmaps[0].width,t.mipmaps[0].height,a,t.mipmaps[0].data):q.texSubImage2D(3553,r,e.x,e.y,a,o,t.image);0===r&&n.generateMipmaps&&q.generateMipmap(3553);Y.unbindTexture()};this.copyTextureToTexture3D=function(e,t,n,r,i=0){if(b.isWebGL1Renderer){console.warn(\"THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.\");return}const s=e.max.x-e.min.x+1;const a=e.max.y-e.min.y+1;const o=e.max.z-e.min.z+1;const l=ye.convert(r.format);const c=ye.convert(r.type);let u;if(r.isDataTexture3D){$.setTexture3D(r,0);u=32879}else{if(!r.isDataTexture2DArray){console.warn(\"THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.\");return}$.setTexture2DArray(r,0);u=35866}q.pixelStorei(37440,r.flipY);q.pixelStorei(37441,r.premultiplyAlpha);q.pixelStorei(3317,r.unpackAlignment);const h=q.getParameter(3314);const d=q.getParameter(32878);const p=q.getParameter(3316);const f=q.getParameter(3315);const m=q.getParameter(32877);const g=n.isCompressedTexture?n.mipmaps[0]:n.image;q.pixelStorei(3314,g.width);q.pixelStorei(32878,g.height);q.pixelStorei(3316,e.min.x);q.pixelStorei(3315,e.min.y);q.pixelStorei(32877,e.min.z);if(n.isDataTexture||n.isDataTexture3D)q.texSubImage3D(u,i,t.x,t.y,t.z,s,a,o,l,c,g.data);else if(n.isCompressedTexture){console.warn(\"THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture.\");q.compressedTexSubImage3D(u,i,t.x,t.y,t.z,s,a,o,l,g.data)}else q.texSubImage3D(u,i,t.x,t.y,t.z,s,a,o,l,c,g);q.pixelStorei(3314,h);q.pixelStorei(32878,d);q.pixelStorei(3316,p);q.pixelStorei(3315,f);q.pixelStorei(32877,m);0===i&&r.generateMipmaps&&q.generateMipmap(u);Y.unbindTexture()};this.initTexture=function(e){$.setTexture2D(e,0);Y.unbindTexture()};this.resetState=function(){M=0;w=0;S=null;Y.reset();ve.reset()};\"undefined\"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}WebGLRenderer.prototype.isWebGLRenderer=true;class WebGL1Renderer extends WebGLRenderer{}WebGL1Renderer.prototype.isWebGL1Renderer=true;class FogExp2{constructor(e,t=25e-5){this.name=\"\";this.color=new Color(e);this.density=t}clone(){return new FogExp2(this.color,this.density)}toJSON(){return{type:\"FogExp2\",color:this.color.getHex(),density:this.density}}}FogExp2.prototype.isFogExp2=true;class Fog{constructor(e,t=1,n=1e3){this.name=\"\";this.color=new Color(e);this.near=t;this.far=n}clone(){return new Fog(this.color,this.near,this.far)}toJSON(){return{type:\"Fog\",color:this.color.getHex(),near:this.near,far:this.far}}}Fog.prototype.isFog=true;class Scene extends Object3D{constructor(){super();this.type=\"Scene\";this.background=null;this.environment=null;this.fog=null;this.overrideMaterial=null;this.autoUpdate=true;\"undefined\"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}copy(e,t){super.copy(e,t);null!==e.background&&(this.background=e.background.clone());null!==e.environment&&(this.environment=e.environment.clone());null!==e.fog&&(this.fog=e.fog.clone());null!==e.overrideMaterial&&(this.overrideMaterial=e.overrideMaterial.clone());this.autoUpdate=e.autoUpdate;this.matrixAutoUpdate=e.matrixAutoUpdate;return this}toJSON(e){const t=super.toJSON(e);null!==this.fog&&(t.object.fog=this.fog.toJSON());return t}}Scene.prototype.isScene=true;class InterleavedBuffer{constructor(e,t){this.array=e;this.stride=t;this.count=void 0!==e?e.length/t:0;this.usage=gn;this.updateRange={offset:0,count:-1};this.version=0;this.uuid=generateUUID()}onUploadCallback(){}set needsUpdate(e){true===e&&this.version++}setUsage(e){this.usage=e;return this}copy(e){this.array=new e.array.constructor(e.array);this.count=e.count;this.stride=e.stride;this.usage=e.usage;return this}copyAt(e,t,n){e*=this.stride;n*=t.stride;for(let r=0,i=this.stride;r<i;r++)this.array[e+r]=t.array[n+r];return this}set(e,t=0){this.array.set(e,t);return this}clone(e){void 0===e.arrayBuffers&&(e.arrayBuffers={});void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=generateUUID());void 0===e.arrayBuffers[this.array.buffer._uuid]&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);const t=new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]);const n=new this.constructor(t,this.stride);n.setUsage(this.usage);return n}onUpload(e){this.onUploadCallback=e;return this}toJSON(e){void 0===e.arrayBuffers&&(e.arrayBuffers={});void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=generateUUID());void 0===e.arrayBuffers[this.array.buffer._uuid]&&(e.arrayBuffers[this.array.buffer._uuid]=Array.prototype.slice.call(new Uint32Array(this.array.buffer)));return{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}}InterleavedBuffer.prototype.isInterleavedBuffer=true;const No=new Vector3;class InterleavedBufferAttribute{constructor(e,t,n,r=false){this.name=\"\";this.data=e;this.itemSize=t;this.offset=n;this.normalized=true===r}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(e){this.data.needsUpdate=e}applyMatrix4(e){for(let t=0,n=this.data.count;t<n;t++){No.x=this.getX(t);No.y=this.getY(t);No.z=this.getZ(t);No.applyMatrix4(e);this.setXYZ(t,No.x,No.y,No.z)}return this}applyNormalMatrix(e){for(let t=0,n=this.count;t<n;t++){No.x=this.getX(t);No.y=this.getY(t);No.z=this.getZ(t);No.applyNormalMatrix(e);this.setXYZ(t,No.x,No.y,No.z)}return this}transformDirection(e){for(let t=0,n=this.count;t<n;t++){No.x=this.getX(t);No.y=this.getY(t);No.z=this.getZ(t);No.transformDirection(e);this.setXYZ(t,No.x,No.y,No.z)}return this}setX(e,t){this.data.array[e*this.data.stride+this.offset]=t;return this}setY(e,t){this.data.array[e*this.data.stride+this.offset+1]=t;return this}setZ(e,t){this.data.array[e*this.data.stride+this.offset+2]=t;return this}setW(e,t){this.data.array[e*this.data.stride+this.offset+3]=t;return this}getX(e){return this.data.array[e*this.data.stride+this.offset]}getY(e){return this.data.array[e*this.data.stride+this.offset+1]}getZ(e){return this.data.array[e*this.data.stride+this.offset+2]}getW(e){return this.data.array[e*this.data.stride+this.offset+3]}setXY(e,t,n){e=e*this.data.stride+this.offset;this.data.array[e+0]=t;this.data.array[e+1]=n;return this}setXYZ(e,t,n,r){e=e*this.data.stride+this.offset;this.data.array[e+0]=t;this.data.array[e+1]=n;this.data.array[e+2]=r;return this}setXYZW(e,t,n,r,i){e=e*this.data.stride+this.offset;this.data.array[e+0]=t;this.data.array[e+1]=n;this.data.array[e+2]=r;this.data.array[e+3]=i;return this}clone(e){if(void 0===e){console.log(\"THREE.InterleavedBufferAttribute.clone(): Cloning an interlaved buffer attribute will deinterleave buffer data.\");const e=[];for(let t=0;t<this.count;t++){const n=t*this.data.stride+this.offset;for(let t=0;t<this.itemSize;t++)e.push(this.data.array[n+t])}return new BufferAttribute(new this.array.constructor(e),this.itemSize,this.normalized)}void 0===e.interleavedBuffers&&(e.interleavedBuffers={});void 0===e.interleavedBuffers[this.data.uuid]&&(e.interleavedBuffers[this.data.uuid]=this.data.clone(e));return new InterleavedBufferAttribute(e.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(e){if(void 0===e){console.log(\"THREE.InterleavedBufferAttribute.toJSON(): Serializing an interlaved buffer attribute will deinterleave buffer data.\");const e=[];for(let t=0;t<this.count;t++){const n=t*this.data.stride+this.offset;for(let t=0;t<this.itemSize;t++)e.push(this.data.array[n+t])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:e,normalized:this.normalized}}void 0===e.interleavedBuffers&&(e.interleavedBuffers={});void 0===e.interleavedBuffers[this.data.uuid]&&(e.interleavedBuffers[this.data.uuid]=this.data.toJSON(e));return{isInterleavedBufferAttribute:true,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}}InterleavedBufferAttribute.prototype.isInterleavedBufferAttribute=true;class SpriteMaterial extends Material{constructor(e){super();this.type=\"SpriteMaterial\";this.color=new Color(16777215);this.map=null;this.alphaMap=null;this.rotation=0;this.sizeAttenuation=true;this.transparent=true;this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.map=e.map;this.alphaMap=e.alphaMap;this.rotation=e.rotation;this.sizeAttenuation=e.sizeAttenuation;return this}}SpriteMaterial.prototype.isSpriteMaterial=true;let Uo;const zo=new Vector3;const Go=new Vector3;const Fo=new Vector3;const Oo=new Vector2;const Ho=new Vector2;const ko=new Matrix4;const Wo=new Vector3;const jo=new Vector3;const qo=new Vector3;const Xo=new Vector2;const Jo=new Vector2;const Yo=new Vector2;class Sprite extends Object3D{constructor(e){super();this.type=\"Sprite\";if(void 0===Uo){Uo=new BufferGeometry;const e=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]);const t=new InterleavedBuffer(e,5);Uo.setIndex([0,1,2,0,2,3]);Uo.setAttribute(\"position\",new InterleavedBufferAttribute(t,3,0,false));Uo.setAttribute(\"uv\",new InterleavedBufferAttribute(t,2,3,false))}this.geometry=Uo;this.material=void 0!==e?e:new SpriteMaterial;this.center=new Vector2(.5,.5)}raycast(e,t){null===e.camera&&console.error('THREE.Sprite: \"Raycaster.camera\" needs to be set in order to raycast against sprites.');Go.setFromMatrixScale(this.matrixWorld);ko.copy(e.camera.matrixWorld);this.modelViewMatrix.multiplyMatrices(e.camera.matrixWorldInverse,this.matrixWorld);Fo.setFromMatrixPosition(this.modelViewMatrix);e.camera.isPerspectiveCamera&&false===this.material.sizeAttenuation&&Go.multiplyScalar(-Fo.z);const n=this.material.rotation;let r,i;if(0!==n){i=Math.cos(n);r=Math.sin(n)}const s=this.center;transformVertex(Wo.set(-.5,-.5,0),Fo,s,Go,r,i);transformVertex(jo.set(.5,-.5,0),Fo,s,Go,r,i);transformVertex(qo.set(.5,.5,0),Fo,s,Go,r,i);Xo.set(0,0);Jo.set(1,0);Yo.set(1,1);let a=e.ray.intersectTriangle(Wo,jo,qo,false,zo);if(null===a){transformVertex(jo.set(-.5,.5,0),Fo,s,Go,r,i);Jo.set(0,1);a=e.ray.intersectTriangle(Wo,qo,jo,false,zo);if(null===a)return}const o=e.ray.origin.distanceTo(zo);o<e.near||o>e.far||t.push({distance:o,point:zo.clone(),uv:Triangle.getUV(zo,Wo,jo,qo,Xo,Jo,Yo,new Vector2),face:null,object:this})}copy(e){super.copy(e);void 0!==e.center&&this.center.copy(e.center);this.material=e.material;return this}}Sprite.prototype.isSprite=true;function transformVertex(e,t,n,r,i,s){Oo.subVectors(e,n).addScalar(.5).multiply(r);if(void 0!==i){Ho.x=s*Oo.x-i*Oo.y;Ho.y=i*Oo.x+s*Oo.y}else Ho.copy(Oo);e.copy(t);e.x+=Ho.x;e.y+=Ho.y;e.applyMatrix4(ko)}const Zo=new Vector3;const Qo=new Vector3;class LOD extends Object3D{constructor(){super();this._currentLevel=0;this.type=\"LOD\";Object.defineProperties(this,{levels:{enumerable:true,value:[]},isLOD:{value:true}});this.autoUpdate=true}copy(e){super.copy(e,false);const t=e.levels;for(let e=0,n=t.length;e<n;e++){const n=t[e];this.addLevel(n.object.clone(),n.distance)}this.autoUpdate=e.autoUpdate;return this}addLevel(e,t=0){t=Math.abs(t);const n=this.levels;let r;for(r=0;r<n.length;r++)if(t<n[r].distance)break;n.splice(r,0,{distance:t,object:e});this.add(e);return this}getCurrentLevel(){return this._currentLevel}getObjectForDistance(e){const t=this.levels;if(t.length>0){let n,r;for(n=1,r=t.length;n<r;n++)if(e<t[n].distance)break;return t[n-1].object}return null}raycast(e,t){const n=this.levels;if(n.length>0){Zo.setFromMatrixPosition(this.matrixWorld);const n=e.ray.origin.distanceTo(Zo);this.getObjectForDistance(n).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Zo.setFromMatrixPosition(e.matrixWorld);Qo.setFromMatrixPosition(this.matrixWorld);const n=Zo.distanceTo(Qo)/e.zoom;t[0].object.visible=true;let r,i;for(r=1,i=t.length;r<i;r++){if(!(n>=t[r].distance))break;t[r-1].object.visible=false;t[r].object.visible=true}this._currentLevel=r-1;for(;r<i;r++)t[r].object.visible=false}}toJSON(e){const t=super.toJSON(e);false===this.autoUpdate&&(t.object.autoUpdate=false);t.object.levels=[];const n=this.levels;for(let e=0,r=n.length;e<r;e++){const r=n[e];t.object.levels.push({object:r.object.uuid,distance:r.distance})}return t}}const Ko=new Vector3;const $o=new Vector4;const el=new Vector4;const tl=new Vector3;const nl=new Matrix4;class SkinnedMesh extends Mesh{constructor(e,t){super(e,t);this.type=\"SkinnedMesh\";this.bindMode=\"attached\";this.bindMatrix=new Matrix4;this.bindMatrixInverse=new Matrix4}copy(e){super.copy(e);this.bindMode=e.bindMode;this.bindMatrix.copy(e.bindMatrix);this.bindMatrixInverse.copy(e.bindMatrixInverse);this.skeleton=e.skeleton;return this}bind(e,t){this.skeleton=e;if(void 0===t){this.updateMatrixWorld(true);this.skeleton.calculateInverses();t=this.matrixWorld}this.bindMatrix.copy(t);this.bindMatrixInverse.copy(t).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){const e=new Vector4;const t=this.geometry.attributes.skinWeight;for(let n=0,r=t.count;n<r;n++){e.x=t.getX(n);e.y=t.getY(n);e.z=t.getZ(n);e.w=t.getW(n);const r=1/e.manhattanLength();Infinity!==r?e.multiplyScalar(r):e.set(1,0,0,0);t.setXYZW(n,e.x,e.y,e.z,e.w)}}updateMatrixWorld(e){super.updateMatrixWorld(e);\"attached\"===this.bindMode?this.bindMatrixInverse.copy(this.matrixWorld).invert():\"detached\"===this.bindMode?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn(\"THREE.SkinnedMesh: Unrecognized bindMode: \"+this.bindMode)}boneTransform(e,t){const n=this.skeleton;const r=this.geometry;$o.fromBufferAttribute(r.attributes.skinIndex,e);el.fromBufferAttribute(r.attributes.skinWeight,e);Ko.copy(t).applyMatrix4(this.bindMatrix);t.set(0,0,0);for(let e=0;e<4;e++){const r=el.getComponent(e);if(0!==r){const i=$o.getComponent(e);nl.multiplyMatrices(n.bones[i].matrixWorld,n.boneInverses[i]);t.addScaledVector(tl.copy(Ko).applyMatrix4(nl),r)}}return t.applyMatrix4(this.bindMatrixInverse)}}SkinnedMesh.prototype.isSkinnedMesh=true;class Bone extends Object3D{constructor(){super();this.type=\"Bone\"}}Bone.prototype.isBone=true;class DataTexture extends Texture{constructor(e=null,t=1,n=1,r,i,s,a,o,l=de,c=de,u,h){super(null,s,a,o,l,c,r,i,u,h);this.image={data:e,width:t,height:n};this.magFilter=l;this.minFilter=c;this.generateMipmaps=false;this.flipY=false;this.unpackAlignment=1}}DataTexture.prototype.isDataTexture=true;const rl=new Matrix4;const il=new Matrix4;class Skeleton{constructor(e=[],t=[]){this.uuid=generateUUID();this.bones=e.slice(0);this.boneInverses=t;this.boneMatrices=null;this.boneTexture=null;this.boneTextureSize=0;this.frame=-1;this.init()}init(){const e=this.bones;const t=this.boneInverses;this.boneMatrices=new Float32Array(16*e.length);if(0===t.length)this.calculateInverses();else if(e.length!==t.length){console.warn(\"THREE.Skeleton: Number of inverse bone matrices does not match amount of bones.\");this.boneInverses=[];for(let e=0,t=this.bones.length;e<t;e++)this.boneInverses.push(new Matrix4)}}calculateInverses(){this.boneInverses.length=0;for(let e=0,t=this.bones.length;e<t;e++){const t=new Matrix4;this.bones[e]&&t.copy(this.bones[e].matrixWorld).invert();this.boneInverses.push(t)}}pose(){for(let e=0,t=this.bones.length;e<t;e++){const t=this.bones[e];t&&t.matrixWorld.copy(this.boneInverses[e]).invert()}for(let e=0,t=this.bones.length;e<t;e++){const t=this.bones[e];if(t){if(t.parent&&t.parent.isBone){t.matrix.copy(t.parent.matrixWorld).invert();t.matrix.multiply(t.matrixWorld)}else t.matrix.copy(t.matrixWorld);t.matrix.decompose(t.position,t.quaternion,t.scale)}}}update(){const e=this.bones;const t=this.boneInverses;const n=this.boneMatrices;const r=this.boneTexture;for(let r=0,i=e.length;r<i;r++){const i=e[r]?e[r].matrixWorld:il;rl.multiplyMatrices(i,t[r]);rl.toArray(n,16*r)}null!==r&&(r.needsUpdate=true)}clone(){return new Skeleton(this.bones,this.boneInverses)}computeBoneTexture(){let e=Math.sqrt(4*this.bones.length);e=ceilPowerOfTwo(e);e=Math.max(e,4);const t=new Float32Array(e*e*4);t.set(this.boneMatrices);const n=new DataTexture(t,e,e,Ne,Le);n.needsUpdate=true;this.boneMatrices=t;this.boneTexture=n;this.boneTextureSize=e;return this}getBoneByName(e){for(let t=0,n=this.bones.length;t<n;t++){const n=this.bones[t];if(n.name===e)return n}}dispose(){if(null!==this.boneTexture){this.boneTexture.dispose();this.boneTexture=null}}fromJSON(e,t){this.uuid=e.uuid;for(let n=0,r=e.bones.length;n<r;n++){const r=e.bones[n];let i=t[r];if(void 0===i){console.warn(\"THREE.Skeleton: No bone found with UUID:\",r);i=new Bone}this.bones.push(i);this.boneInverses.push((new Matrix4).fromArray(e.boneInverses[n]))}this.init();return this}toJSON(){const e={metadata:{version:4.5,type:\"Skeleton\",generator:\"Skeleton.toJSON\"},bones:[],boneInverses:[]};e.uuid=this.uuid;const t=this.bones;const n=this.boneInverses;for(let r=0,i=t.length;r<i;r++){const i=t[r];e.bones.push(i.uuid);const s=n[r];e.boneInverses.push(s.toArray())}return e}}class InstancedBufferAttribute extends BufferAttribute{constructor(e,t,n,r=1){if(\"number\"===typeof n){r=n;n=false;console.error(\"THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.\")}super(e,t,n);this.meshPerAttribute=r}copy(e){super.copy(e);this.meshPerAttribute=e.meshPerAttribute;return this}toJSON(){const e=super.toJSON();e.meshPerAttribute=this.meshPerAttribute;e.isInstancedBufferAttribute=true;return e}}InstancedBufferAttribute.prototype.isInstancedBufferAttribute=true;const sl=new Matrix4;const al=new Matrix4;const ol=[];const ll=new Mesh;class InstancedMesh extends Mesh{constructor(e,t,n){super(e,t);this.instanceMatrix=new InstancedBufferAttribute(new Float32Array(16*n),16);this.instanceColor=null;this.count=n;this.frustumCulled=false}copy(e){super.copy(e);this.instanceMatrix.copy(e.instanceMatrix);null!==e.instanceColor&&(this.instanceColor=e.instanceColor.clone());this.count=e.count;return this}getColorAt(e,t){t.fromArray(this.instanceColor.array,3*e)}getMatrixAt(e,t){t.fromArray(this.instanceMatrix.array,16*e)}raycast(e,t){const n=this.matrixWorld;const r=this.count;ll.geometry=this.geometry;ll.material=this.material;if(void 0!==ll.material)for(let i=0;i<r;i++){this.getMatrixAt(i,sl);al.multiplyMatrices(n,sl);ll.matrixWorld=al;ll.raycast(e,ol);for(let e=0,n=ol.length;e<n;e++){const n=ol[e];n.instanceId=i;n.object=this;t.push(n)}ol.length=0}}setColorAt(e,t){null===this.instanceColor&&(this.instanceColor=new InstancedBufferAttribute(new Float32Array(3*this.instanceMatrix.count),3));t.toArray(this.instanceColor.array,3*e)}setMatrixAt(e,t){t.toArray(this.instanceMatrix.array,16*e)}updateMorphTargets(){}dispose(){this.dispatchEvent({type:\"dispose\"})}}InstancedMesh.prototype.isInstancedMesh=true;class LineBasicMaterial extends Material{constructor(e){super();this.type=\"LineBasicMaterial\";this.color=new Color(16777215);this.linewidth=1;this.linecap=\"round\";this.linejoin=\"round\";this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.linewidth=e.linewidth;this.linecap=e.linecap;this.linejoin=e.linejoin;return this}}LineBasicMaterial.prototype.isLineBasicMaterial=true;const cl=new Vector3;const ul=new Vector3;const hl=new Matrix4;const dl=new Ray;const pl=new Sphere;class Line extends Object3D{constructor(e=new BufferGeometry,t=new LineBasicMaterial){super();this.type=\"Line\";this.geometry=e;this.material=t;this.updateMorphTargets()}copy(e){super.copy(e);this.material=e.material;this.geometry=e.geometry;return this}computeLineDistances(){const e=this.geometry;if(e.isBufferGeometry)if(null===e.index){const t=e.attributes.position;const n=[0];for(let e=1,r=t.count;e<r;e++){cl.fromBufferAttribute(t,e-1);ul.fromBufferAttribute(t,e);n[e]=n[e-1];n[e]+=cl.distanceTo(ul)}e.setAttribute(\"lineDistance\",new Float32BufferAttribute(n,1))}else console.warn(\"THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.\");else e.isGeometry&&console.error(\"THREE.Line.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\");return this}raycast(e,t){const n=this.geometry;const r=this.matrixWorld;const i=e.params.Line.threshold;const s=n.drawRange;null===n.boundingSphere&&n.computeBoundingSphere();pl.copy(n.boundingSphere);pl.applyMatrix4(r);pl.radius+=i;if(false===e.ray.intersectsSphere(pl))return;hl.copy(r).invert();dl.copy(e.ray).applyMatrix4(hl);const a=i/((this.scale.x+this.scale.y+this.scale.z)/3);const o=a*a;const l=new Vector3;const c=new Vector3;const u=new Vector3;const h=new Vector3;const d=this.isLineSegments?2:1;if(n.isBufferGeometry){const r=n.index;const i=n.attributes;const a=i.position;if(null!==r){const n=Math.max(0,s.start);const i=Math.min(r.count,s.start+s.count);for(let s=n,p=i-1;s<p;s+=d){const n=r.getX(s);const i=r.getX(s+1);l.fromBufferAttribute(a,n);c.fromBufferAttribute(a,i);const d=dl.distanceSqToSegment(l,c,h,u);if(d>o)continue;h.applyMatrix4(this.matrixWorld);const p=e.ray.origin.distanceTo(h);p<e.near||p>e.far||t.push({distance:p,point:u.clone().applyMatrix4(this.matrixWorld),index:s,face:null,faceIndex:null,object:this})}}else{const n=Math.max(0,s.start);const r=Math.min(a.count,s.start+s.count);for(let i=n,s=r-1;i<s;i+=d){l.fromBufferAttribute(a,i);c.fromBufferAttribute(a,i+1);const n=dl.distanceSqToSegment(l,c,h,u);if(n>o)continue;h.applyMatrix4(this.matrixWorld);const r=e.ray.origin.distanceTo(h);r<e.near||r>e.far||t.push({distance:r,point:u.clone().applyMatrix4(this.matrixWorld),index:i,face:null,faceIndex:null,object:this})}}}else n.isGeometry&&console.error(\"THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\")}updateMorphTargets(){const e=this.geometry;if(e.isBufferGeometry){const t=e.morphAttributes;const n=Object.keys(t);if(n.length>0){const e=t[n[0]];if(void 0!==e){this.morphTargetInfluences=[];this.morphTargetDictionary={};for(let t=0,n=e.length;t<n;t++){const n=e[t].name||String(t);this.morphTargetInfluences.push(0);this.morphTargetDictionary[n]=t}}}}else{const t=e.morphTargets;void 0!==t&&t.length>0&&console.error(\"THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.\")}}}Line.prototype.isLine=true;const fl=new Vector3;const ml=new Vector3;class LineSegments extends Line{constructor(e,t){super(e,t);this.type=\"LineSegments\"}computeLineDistances(){const e=this.geometry;if(e.isBufferGeometry)if(null===e.index){const t=e.attributes.position;const n=[];for(let e=0,r=t.count;e<r;e+=2){fl.fromBufferAttribute(t,e);ml.fromBufferAttribute(t,e+1);n[e]=0===e?0:n[e-1];n[e+1]=n[e]+fl.distanceTo(ml)}e.setAttribute(\"lineDistance\",new Float32BufferAttribute(n,1))}else console.warn(\"THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.\");else e.isGeometry&&console.error(\"THREE.LineSegments.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\");return this}}LineSegments.prototype.isLineSegments=true;class LineLoop extends Line{constructor(e,t){super(e,t);this.type=\"LineLoop\"}}LineLoop.prototype.isLineLoop=true;class PointsMaterial extends Material{constructor(e){super();this.type=\"PointsMaterial\";this.color=new Color(16777215);this.map=null;this.alphaMap=null;this.size=1;this.sizeAttenuation=true;this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.map=e.map;this.alphaMap=e.alphaMap;this.size=e.size;this.sizeAttenuation=e.sizeAttenuation;return this}}PointsMaterial.prototype.isPointsMaterial=true;const gl=new Matrix4;const yl=new Ray;const vl=new Sphere;const xl=new Vector3;class Points extends Object3D{constructor(e=new BufferGeometry,t=new PointsMaterial){super();this.type=\"Points\";this.geometry=e;this.material=t;this.updateMorphTargets()}copy(e){super.copy(e);this.material=e.material;this.geometry=e.geometry;return this}raycast(e,t){const n=this.geometry;const r=this.matrixWorld;const i=e.params.Points.threshold;const s=n.drawRange;null===n.boundingSphere&&n.computeBoundingSphere();vl.copy(n.boundingSphere);vl.applyMatrix4(r);vl.radius+=i;if(false===e.ray.intersectsSphere(vl))return;gl.copy(r).invert();yl.copy(e.ray).applyMatrix4(gl);const a=i/((this.scale.x+this.scale.y+this.scale.z)/3);const o=a*a;if(n.isBufferGeometry){const i=n.index;const a=n.attributes;const l=a.position;if(null!==i){const n=Math.max(0,s.start);const a=Math.min(i.count,s.start+s.count);for(let s=n,c=a;s<c;s++){const n=i.getX(s);xl.fromBufferAttribute(l,n);testPoint(xl,n,o,r,e,t,this)}}else{const n=Math.max(0,s.start);const i=Math.min(l.count,s.start+s.count);for(let s=n,a=i;s<a;s++){xl.fromBufferAttribute(l,s);testPoint(xl,s,o,r,e,t,this)}}}else console.error(\"THREE.Points.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\")}updateMorphTargets(){const e=this.geometry;if(e.isBufferGeometry){const t=e.morphAttributes;const n=Object.keys(t);if(n.length>0){const e=t[n[0]];if(void 0!==e){this.morphTargetInfluences=[];this.morphTargetDictionary={};for(let t=0,n=e.length;t<n;t++){const n=e[t].name||String(t);this.morphTargetInfluences.push(0);this.morphTargetDictionary[n]=t}}}}else{const t=e.morphTargets;void 0!==t&&t.length>0&&console.error(\"THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.\")}}}Points.prototype.isPoints=true;function testPoint(e,t,n,r,i,s,a){const o=yl.distanceSqToPoint(e);if(o<n){const n=new Vector3;yl.closestPointToPoint(e,n);n.applyMatrix4(r);const l=i.ray.origin.distanceTo(n);if(l<i.near||l>i.far)return;s.push({distance:l,distanceToRay:Math.sqrt(o),point:n,index:t,face:null,object:a})}}class VideoTexture extends Texture{constructor(e,t,n,r,i,s,a,o,l){super(e,t,n,r,i,s,a,o,l);this.format=void 0!==a?a:Ve;this.minFilter=void 0!==s?s:ye;this.magFilter=void 0!==i?i:ye;this.generateMipmaps=false;const c=this;function updateVideo(){c.needsUpdate=true;e.requestVideoFrameCallback(updateVideo)}\"requestVideoFrameCallback\"in e&&e.requestVideoFrameCallback(updateVideo)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;const t=\"requestVideoFrameCallback\"in e;false===t&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=true)}}VideoTexture.prototype.isVideoTexture=true;class FramebufferTexture extends Texture{constructor(e,t,n){super({width:e,height:t});this.format=n;this.magFilter=de;this.minFilter=de;this.generateMipmaps=false;this.needsUpdate=true}}FramebufferTexture.prototype.isFramebufferTexture=true;class CompressedTexture extends Texture{constructor(e,t,n,r,i,s,a,o,l,c,u,h){super(null,s,a,o,l,c,r,i,u,h);this.image={width:t,height:n};this.mipmaps=e;this.flipY=false;this.generateMipmaps=false}}CompressedTexture.prototype.isCompressedTexture=true;class CanvasTexture extends Texture{constructor(e,t,n,r,i,s,a,o,l){super(e,t,n,r,i,s,a,o,l);this.needsUpdate=true}}CanvasTexture.prototype.isCanvasTexture=true;class CircleGeometry extends BufferGeometry{constructor(e=1,t=8,n=0,r=2*Math.PI){super();this.type=\"CircleGeometry\";this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:r};t=Math.max(3,t);const i=[];const s=[];const a=[];const o=[];const l=new Vector3;const c=new Vector2;s.push(0,0,0);a.push(0,0,1);o.push(.5,.5);for(let i=0,u=3;i<=t;i++,u+=3){const h=n+i/t*r;l.x=e*Math.cos(h);l.y=e*Math.sin(h);s.push(l.x,l.y,l.z);a.push(0,0,1);c.x=(s[u]/e+1)/2;c.y=(s[u+1]/e+1)/2;o.push(c.x,c.y)}for(let e=1;e<=t;e++)i.push(e,e+1,0);this.setIndex(i);this.setAttribute(\"position\",new Float32BufferAttribute(s,3));this.setAttribute(\"normal\",new Float32BufferAttribute(a,3));this.setAttribute(\"uv\",new Float32BufferAttribute(o,2))}static fromJSON(e){return new CircleGeometry(e.radius,e.segments,e.thetaStart,e.thetaLength)}}class CylinderGeometry extends BufferGeometry{constructor(e=1,t=1,n=1,r=8,i=1,s=false,a=0,o=2*Math.PI){super();this.type=\"CylinderGeometry\";this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:r,heightSegments:i,openEnded:s,thetaStart:a,thetaLength:o};const l=this;r=Math.floor(r);i=Math.floor(i);const c=[];const u=[];const h=[];const d=[];let p=0;const f=[];const m=n/2;let g=0;generateTorso();if(false===s){e>0&&generateCap(true);t>0&&generateCap(false)}this.setIndex(c);this.setAttribute(\"position\",new Float32BufferAttribute(u,3));this.setAttribute(\"normal\",new Float32BufferAttribute(h,3));this.setAttribute(\"uv\",new Float32BufferAttribute(d,2));function generateTorso(){const s=new Vector3;const y=new Vector3;let x=0;const b=(t-e)/n;for(let l=0;l<=i;l++){const c=[];const g=l/i;const x=g*(t-e)+e;for(let e=0;e<=r;e++){const t=e/r;const i=t*o+a;const l=Math.sin(i);const f=Math.cos(i);y.x=x*l;y.y=-g*n+m;y.z=x*f;u.push(y.x,y.y,y.z);s.set(l,b,f).normalize();h.push(s.x,s.y,s.z);d.push(t,1-g);c.push(p++)}f.push(c)}for(let e=0;e<r;e++)for(let t=0;t<i;t++){const n=f[t][e];const r=f[t+1][e];const i=f[t+1][e+1];const s=f[t][e+1];c.push(n,r,s);c.push(r,i,s);x+=6}l.addGroup(g,x,0);g+=x}function generateCap(n){const i=p;const s=new Vector2;const f=new Vector3;let y=0;const x=true===n?e:t;const b=true===n?1:-1;for(let e=1;e<=r;e++){u.push(0,m*b,0);h.push(0,b,0);d.push(.5,.5);p++}const _=p;for(let e=0;e<=r;e++){const t=e/r;const n=t*o+a;const i=Math.cos(n);const l=Math.sin(n);f.x=x*l;f.y=m*b;f.z=x*i;u.push(f.x,f.y,f.z);h.push(0,b,0);s.x=.5*i+.5;s.y=.5*l*b+.5;d.push(s.x,s.y);p++}for(let e=0;e<r;e++){const t=i+e;const r=_+e;true===n?c.push(r,r+1,t):c.push(r+1,r,t);y+=3}l.addGroup(g,y,true===n?1:2);g+=y}}static fromJSON(e){return new CylinderGeometry(e.radiusTop,e.radiusBottom,e.height,e.radialSegments,e.heightSegments,e.openEnded,e.thetaStart,e.thetaLength)}}class ConeGeometry extends CylinderGeometry{constructor(e=1,t=1,n=8,r=1,i=false,s=0,a=2*Math.PI){super(0,e,t,n,r,i,s,a);this.type=\"ConeGeometry\";this.parameters={radius:e,height:t,radialSegments:n,heightSegments:r,openEnded:i,thetaStart:s,thetaLength:a}}static fromJSON(e){return new ConeGeometry(e.radius,e.height,e.radialSegments,e.heightSegments,e.openEnded,e.thetaStart,e.thetaLength)}}class PolyhedronGeometry extends BufferGeometry{constructor(e=[],t=[],n=1,r=0){super();this.type=\"PolyhedronGeometry\";this.parameters={vertices:e,indices:t,radius:n,detail:r};const i=[];const s=[];subdivide(r);applyRadius(n);generateUVs();this.setAttribute(\"position\",new Float32BufferAttribute(i,3));this.setAttribute(\"normal\",new Float32BufferAttribute(i.slice(),3));this.setAttribute(\"uv\",new Float32BufferAttribute(s,2));0===r?this.computeVertexNormals():this.normalizeNormals();function subdivide(e){const n=new Vector3;const r=new Vector3;const i=new Vector3;for(let s=0;s<t.length;s+=3){getVertexByIndex(t[s+0],n);getVertexByIndex(t[s+1],r);getVertexByIndex(t[s+2],i);subdivideFace(n,r,i,e)}}function subdivideFace(e,t,n,r){const i=r+1;const s=[];for(let r=0;r<=i;r++){s[r]=[];const a=e.clone().lerp(n,r/i);const o=t.clone().lerp(n,r/i);const l=i-r;for(let e=0;e<=l;e++)s[r][e]=0===e&&r===i?a:a.clone().lerp(o,e/l)}for(let e=0;e<i;e++)for(let t=0;t<2*(i-e)-1;t++){const n=Math.floor(t/2);if(t%2===0){pushVertex(s[e][n+1]);pushVertex(s[e+1][n]);pushVertex(s[e][n])}else{pushVertex(s[e][n+1]);pushVertex(s[e+1][n+1]);pushVertex(s[e+1][n])}}}function applyRadius(e){const t=new Vector3;for(let n=0;n<i.length;n+=3){t.x=i[n+0];t.y=i[n+1];t.z=i[n+2];t.normalize().multiplyScalar(e);i[n+0]=t.x;i[n+1]=t.y;i[n+2]=t.z}}function generateUVs(){const e=new Vector3;for(let t=0;t<i.length;t+=3){e.x=i[t+0];e.y=i[t+1];e.z=i[t+2];const n=azimuth(e)/2/Math.PI+.5;const r=inclination(e)/Math.PI+.5;s.push(n,1-r)}correctUVs();correctSeam()}function correctSeam(){for(let e=0;e<s.length;e+=6){const t=s[e+0];const n=s[e+2];const r=s[e+4];const i=Math.max(t,n,r);const a=Math.min(t,n,r);if(i>.9&&a<.1){t<.2&&(s[e+0]+=1);n<.2&&(s[e+2]+=1);r<.2&&(s[e+4]+=1)}}}function pushVertex(e){i.push(e.x,e.y,e.z)}function getVertexByIndex(t,n){const r=3*t;n.x=e[r+0];n.y=e[r+1];n.z=e[r+2]}function correctUVs(){const e=new Vector3;const t=new Vector3;const n=new Vector3;const r=new Vector3;const a=new Vector2;const o=new Vector2;const l=new Vector2;for(let c=0,u=0;c<i.length;c+=9,u+=6){e.set(i[c+0],i[c+1],i[c+2]);t.set(i[c+3],i[c+4],i[c+5]);n.set(i[c+6],i[c+7],i[c+8]);a.set(s[u+0],s[u+1]);o.set(s[u+2],s[u+3]);l.set(s[u+4],s[u+5]);r.copy(e).add(t).add(n).divideScalar(3);const h=azimuth(r);correctUV(a,u+0,e,h);correctUV(o,u+2,t,h);correctUV(l,u+4,n,h)}}function correctUV(e,t,n,r){r<0&&1===e.x&&(s[t]=e.x-1);0===n.x&&0===n.z&&(s[t]=r/2/Math.PI+.5)}function azimuth(e){return Math.atan2(e.z,-e.x)}function inclination(e){return Math.atan2(-e.y,Math.sqrt(e.x*e.x+e.z*e.z))}}static fromJSON(e){return new PolyhedronGeometry(e.vertices,e.indices,e.radius,e.details)}}class DodecahedronGeometry extends PolyhedronGeometry{constructor(e=1,t=0){const n=(1+Math.sqrt(5))/2;const r=1/n;const i=[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-r,-n,0,-r,n,0,r,-n,0,r,n,-r,-n,0,-r,n,0,r,-n,0,r,n,0,-n,0,-r,n,0,-r,-n,0,r,n,0,r];const s=[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9];super(i,s,e,t);this.type=\"DodecahedronGeometry\";this.parameters={radius:e,detail:t}}static fromJSON(e){return new DodecahedronGeometry(e.radius,e.detail)}}const bl=new Vector3;const _l=new Vector3;const Ml=new Vector3;const wl=new Triangle;class EdgesGeometry extends BufferGeometry{constructor(e=null,t=1){super();this.type=\"EdgesGeometry\";this.parameters={geometry:e,thresholdAngle:t};if(null!==e){const n=4;const r=Math.pow(10,n);const i=Math.cos(Cn*t);const s=e.getIndex();const a=e.getAttribute(\"position\");const o=s?s.count:a.count;const l=[0,0,0];const c=[\"a\",\"b\",\"c\"];const u=new Array(3);const h={};const d=[];for(let e=0;e<o;e+=3){if(s){l[0]=s.getX(e);l[1]=s.getX(e+1);l[2]=s.getX(e+2)}else{l[0]=e;l[1]=e+1;l[2]=e+2}const{a:t,b:n,c:o}=wl;t.fromBufferAttribute(a,l[0]);n.fromBufferAttribute(a,l[1]);o.fromBufferAttribute(a,l[2]);wl.getNormal(Ml);u[0]=`${Math.round(t.x*r)},${Math.round(t.y*r)},${Math.round(t.z*r)}`;u[1]=`${Math.round(n.x*r)},${Math.round(n.y*r)},${Math.round(n.z*r)}`;u[2]=`${Math.round(o.x*r)},${Math.round(o.y*r)},${Math.round(o.z*r)}`;if(u[0]!==u[1]&&u[1]!==u[2]&&u[2]!==u[0])for(let e=0;e<3;e++){const t=(e+1)%3;const n=u[e];const r=u[t];const s=wl[c[e]];const a=wl[c[t]];const o=`${n}_${r}`;const p=`${r}_${n}`;if(p in h&&h[p]){if(Ml.dot(h[p].normal)<=i){d.push(s.x,s.y,s.z);d.push(a.x,a.y,a.z)}h[p]=null}else o in h||(h[o]={index0:l[e],index1:l[t],normal:Ml.clone()})}}for(const e in h)if(h[e]){const{index0:t,index1:n}=h[e];bl.fromBufferAttribute(a,t);_l.fromBufferAttribute(a,n);d.push(bl.x,bl.y,bl.z);d.push(_l.x,_l.y,_l.z)}this.setAttribute(\"position\",new Float32BufferAttribute(d,3))}}}class Curve{constructor(){this.type=\"Curve\";this.arcLengthDivisions=200}getPoint(){console.warn(\"THREE.Curve: .getPoint() not implemented.\");return null}getPointAt(e,t){const n=this.getUtoTmapping(e);return this.getPoint(n,t)}getPoints(e=5){const t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return t}getSpacedPoints(e=5){const t=[];for(let n=0;n<=e;n++)t.push(this.getPointAt(n/e));return t}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=false;const t=[];let n,r=this.getPoint(0);let i=0;t.push(0);for(let s=1;s<=e;s++){n=this.getPoint(s/e);i+=n.distanceTo(r);t.push(i);r=n}this.cacheArcLengths=t;return t}updateArcLengths(){this.needsUpdate=true;this.getLengths()}getUtoTmapping(e,t){const n=this.getLengths();let r=0;const i=n.length;let s;s=t||e*n[i-1];let a,o=0,l=i-1;while(o<=l){r=Math.floor(o+(l-o)/2);a=n[r]-s;if(a<0)o=r+1;else{if(!(a>0)){l=r;break}l=r-1}}r=l;if(n[r]===s)return r/(i-1);const c=n[r];const u=n[r+1];const h=u-c;const d=(s-c)/h;const p=(r+d)/(i-1);return p}getTangent(e,t){const n=1e-4;let r=e-n;let i=e+n;r<0&&(r=0);i>1&&(i=1);const s=this.getPoint(r);const a=this.getPoint(i);const o=t||(s.isVector2?new Vector2:new Vector3);o.copy(a).sub(s).normalize();return o}getTangentAt(e,t){const n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t){const n=new Vector3;const r=[];const i=[];const s=[];const a=new Vector3;const o=new Matrix4;for(let t=0;t<=e;t++){const n=t/e;r[t]=this.getTangentAt(n,new Vector3)}i[0]=new Vector3;s[0]=new Vector3;let l=Number.MAX_VALUE;const c=Math.abs(r[0].x);const u=Math.abs(r[0].y);const h=Math.abs(r[0].z);if(c<=l){l=c;n.set(1,0,0)}if(u<=l){l=u;n.set(0,1,0)}h<=l&&n.set(0,0,1);a.crossVectors(r[0],n).normalize();i[0].crossVectors(r[0],a);s[0].crossVectors(r[0],i[0]);for(let t=1;t<=e;t++){i[t]=i[t-1].clone();s[t]=s[t-1].clone();a.crossVectors(r[t-1],r[t]);if(a.length()>Number.EPSILON){a.normalize();const e=Math.acos(clamp(r[t-1].dot(r[t]),-1,1));i[t].applyMatrix4(o.makeRotationAxis(a,e))}s[t].crossVectors(r[t],i[t])}if(true===t){let t=Math.acos(clamp(i[0].dot(i[e]),-1,1));t/=e;r[0].dot(a.crossVectors(i[0],i[e]))>0&&(t=-t);for(let n=1;n<=e;n++){i[n].applyMatrix4(o.makeRotationAxis(r[n],t*n));s[n].crossVectors(r[n],i[n])}}return{tangents:r,normals:i,binormals:s}}clone(){return(new this.constructor).copy(this)}copy(e){this.arcLengthDivisions=e.arcLengthDivisions;return this}toJSON(){const e={metadata:{version:4.5,type:\"Curve\",generator:\"Curve.toJSON\"}};e.arcLengthDivisions=this.arcLengthDivisions;e.type=this.type;return e}fromJSON(e){this.arcLengthDivisions=e.arcLengthDivisions;return this}}class EllipseCurve extends Curve{constructor(e=0,t=0,n=1,r=1,i=0,s=2*Math.PI,a=false,o=0){super();this.type=\"EllipseCurve\";this.aX=e;this.aY=t;this.xRadius=n;this.yRadius=r;this.aStartAngle=i;this.aEndAngle=s;this.aClockwise=a;this.aRotation=o}getPoint(e,t){const n=t||new Vector2;const r=2*Math.PI;let i=this.aEndAngle-this.aStartAngle;const s=Math.abs(i)<Number.EPSILON;while(i<0)i+=r;while(i>r)i-=r;i<Number.EPSILON&&(i=s?0:r);true!==this.aClockwise||s||(i===r?i=-r:i-=r);const a=this.aStartAngle+e*i;let o=this.aX+this.xRadius*Math.cos(a);let l=this.aY+this.yRadius*Math.sin(a);if(0!==this.aRotation){const e=Math.cos(this.aRotation);const t=Math.sin(this.aRotation);const n=o-this.aX;const r=l-this.aY;o=n*e-r*t+this.aX;l=n*t+r*e+this.aY}return n.set(o,l)}copy(e){super.copy(e);this.aX=e.aX;this.aY=e.aY;this.xRadius=e.xRadius;this.yRadius=e.yRadius;this.aStartAngle=e.aStartAngle;this.aEndAngle=e.aEndAngle;this.aClockwise=e.aClockwise;this.aRotation=e.aRotation;return this}toJSON(){const e=super.toJSON();e.aX=this.aX;e.aY=this.aY;e.xRadius=this.xRadius;e.yRadius=this.yRadius;e.aStartAngle=this.aStartAngle;e.aEndAngle=this.aEndAngle;e.aClockwise=this.aClockwise;e.aRotation=this.aRotation;return e}fromJSON(e){super.fromJSON(e);this.aX=e.aX;this.aY=e.aY;this.xRadius=e.xRadius;this.yRadius=e.yRadius;this.aStartAngle=e.aStartAngle;this.aEndAngle=e.aEndAngle;this.aClockwise=e.aClockwise;this.aRotation=e.aRotation;return this}}EllipseCurve.prototype.isEllipseCurve=true;class ArcCurve extends EllipseCurve{constructor(e,t,n,r,i,s){super(e,t,n,n,r,i,s);this.type=\"ArcCurve\"}}ArcCurve.prototype.isArcCurve=true;function CubicPoly(){let e=0,t=0,n=0,r=0;function init(i,s,a,o){e=i;t=a;n=-3*i+3*s-2*a-o;r=2*i-2*s+a+o}return{initCatmullRom:function(e,t,n,r,i){init(t,n,i*(n-e),i*(r-t))},initNonuniformCatmullRom:function(e,t,n,r,i,s,a){let o=(t-e)/i-(n-e)/(i+s)+(n-t)/s;let l=(n-t)/s-(r-t)/(s+a)+(r-n)/a;o*=s;l*=s;init(t,n,o,l)},calc:function(i){const s=i*i;const a=s*i;return e+t*i+n*s+r*a}}}const Sl=new Vector3;const Tl=new CubicPoly,El=new CubicPoly,Al=new CubicPoly;class CatmullRomCurve3 extends Curve{constructor(e=[],t=false,n=\"centripetal\",r=.5){super();this.type=\"CatmullRomCurve3\";this.points=e;this.closed=t;this.curveType=n;this.tension=r}getPoint(e,t=new Vector3){const n=t;const r=this.points;const i=r.length;const s=(i-(this.closed?0:1))*e;let a=Math.floor(s);let o=s-a;if(this.closed)a+=a>0?0:(Math.floor(Math.abs(a)/i)+1)*i;else if(0===o&&a===i-1){a=i-2;o=1}let l,c;if(this.closed||a>0)l=r[(a-1)%i];else{Sl.subVectors(r[0],r[1]).add(r[0]);l=Sl}const u=r[a%i];const h=r[(a+1)%i];if(this.closed||a+2<i)c=r[(a+2)%i];else{Sl.subVectors(r[i-1],r[i-2]).add(r[i-1]);c=Sl}if(\"centripetal\"===this.curveType||\"chordal\"===this.curveType){const e=\"chordal\"===this.curveType?.5:.25;let t=Math.pow(l.distanceToSquared(u),e);let n=Math.pow(u.distanceToSquared(h),e);let r=Math.pow(h.distanceToSquared(c),e);n<1e-4&&(n=1);t<1e-4&&(t=n);r<1e-4&&(r=n);Tl.initNonuniformCatmullRom(l.x,u.x,h.x,c.x,t,n,r);El.initNonuniformCatmullRom(l.y,u.y,h.y,c.y,t,n,r);Al.initNonuniformCatmullRom(l.z,u.z,h.z,c.z,t,n,r)}else if(\"catmullrom\"===this.curveType){Tl.initCatmullRom(l.x,u.x,h.x,c.x,this.tension);El.initCatmullRom(l.y,u.y,h.y,c.y,this.tension);Al.initCatmullRom(l.z,u.z,h.z,c.z,this.tension)}n.set(Tl.calc(o),El.calc(o),Al.calc(o));return n}copy(e){super.copy(e);this.points=[];for(let t=0,n=e.points.length;t<n;t++){const n=e.points[t];this.points.push(n.clone())}this.closed=e.closed;this.curveType=e.curveType;this.tension=e.tension;return this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){const n=this.points[t];e.points.push(n.toArray())}e.closed=this.closed;e.curveType=this.curveType;e.tension=this.tension;return e}fromJSON(e){super.fromJSON(e);this.points=[];for(let t=0,n=e.points.length;t<n;t++){const n=e.points[t];this.points.push((new Vector3).fromArray(n))}this.closed=e.closed;this.curveType=e.curveType;this.tension=e.tension;return this}}CatmullRomCurve3.prototype.isCatmullRomCurve3=true;function CatmullRom(e,t,n,r,i){const s=.5*(r-t);const a=.5*(i-n);const o=e*e;const l=e*o;return(2*n-2*r+s+a)*l+(-3*n+3*r-2*s-a)*o+s*e+n}function QuadraticBezierP0(e,t){const n=1-e;return n*n*t}function QuadraticBezierP1(e,t){return 2*(1-e)*e*t}function QuadraticBezierP2(e,t){return e*e*t}function QuadraticBezier(e,t,n,r){return QuadraticBezierP0(e,t)+QuadraticBezierP1(e,n)+QuadraticBezierP2(e,r)}function CubicBezierP0(e,t){const n=1-e;return n*n*n*t}function CubicBezierP1(e,t){const n=1-e;return 3*n*n*e*t}function CubicBezierP2(e,t){return 3*(1-e)*e*e*t}function CubicBezierP3(e,t){return e*e*e*t}function CubicBezier(e,t,n,r,i){return CubicBezierP0(e,t)+CubicBezierP1(e,n)+CubicBezierP2(e,r)+CubicBezierP3(e,i)}class CubicBezierCurve extends Curve{constructor(e=new Vector2,t=new Vector2,n=new Vector2,r=new Vector2){super();this.type=\"CubicBezierCurve\";this.v0=e;this.v1=t;this.v2=n;this.v3=r}getPoint(e,t=new Vector2){const n=t;const r=this.v0,i=this.v1,s=this.v2,a=this.v3;n.set(CubicBezier(e,r.x,i.x,s.x,a.x),CubicBezier(e,r.y,i.y,s.y,a.y));return n}copy(e){super.copy(e);this.v0.copy(e.v0);this.v1.copy(e.v1);this.v2.copy(e.v2);this.v3.copy(e.v3);return this}toJSON(){const e=super.toJSON();e.v0=this.v0.toArray();e.v1=this.v1.toArray();e.v2=this.v2.toArray();e.v3=this.v3.toArray();return e}fromJSON(e){super.fromJSON(e);this.v0.fromArray(e.v0);this.v1.fromArray(e.v1);this.v2.fromArray(e.v2);this.v3.fromArray(e.v3);return this}}CubicBezierCurve.prototype.isCubicBezierCurve=true;class CubicBezierCurve3 extends Curve{constructor(e=new Vector3,t=new Vector3,n=new Vector3,r=new Vector3){super();this.type=\"CubicBezierCurve3\";this.v0=e;this.v1=t;this.v2=n;this.v3=r}getPoint(e,t=new Vector3){const n=t;const r=this.v0,i=this.v1,s=this.v2,a=this.v3;n.set(CubicBezier(e,r.x,i.x,s.x,a.x),CubicBezier(e,r.y,i.y,s.y,a.y),CubicBezier(e,r.z,i.z,s.z,a.z));return n}copy(e){super.copy(e);this.v0.copy(e.v0);this.v1.copy(e.v1);this.v2.copy(e.v2);this.v3.copy(e.v3);return this}toJSON(){const e=super.toJSON();e.v0=this.v0.toArray();e.v1=this.v1.toArray();e.v2=this.v2.toArray();e.v3=this.v3.toArray();return e}fromJSON(e){super.fromJSON(e);this.v0.fromArray(e.v0);this.v1.fromArray(e.v1);this.v2.fromArray(e.v2);this.v3.fromArray(e.v3);return this}}CubicBezierCurve3.prototype.isCubicBezierCurve3=true;class LineCurve extends Curve{constructor(e=new Vector2,t=new Vector2){super();this.type=\"LineCurve\";this.v1=e;this.v2=t}getPoint(e,t=new Vector2){const n=t;if(1===e)n.copy(this.v2);else{n.copy(this.v2).sub(this.v1);n.multiplyScalar(e).add(this.v1)}return n}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t){const n=t||new Vector2;n.copy(this.v2).sub(this.v1).normalize();return n}copy(e){super.copy(e);this.v1.copy(e.v1);this.v2.copy(e.v2);return this}toJSON(){const e=super.toJSON();e.v1=this.v1.toArray();e.v2=this.v2.toArray();return e}fromJSON(e){super.fromJSON(e);this.v1.fromArray(e.v1);this.v2.fromArray(e.v2);return this}}LineCurve.prototype.isLineCurve=true;class LineCurve3 extends Curve{constructor(e=new Vector3,t=new Vector3){super();this.type=\"LineCurve3\";this.isLineCurve3=true;this.v1=e;this.v2=t}getPoint(e,t=new Vector3){const n=t;if(1===e)n.copy(this.v2);else{n.copy(this.v2).sub(this.v1);n.multiplyScalar(e).add(this.v1)}return n}getPointAt(e,t){return this.getPoint(e,t)}copy(e){super.copy(e);this.v1.copy(e.v1);this.v2.copy(e.v2);return this}toJSON(){const e=super.toJSON();e.v1=this.v1.toArray();e.v2=this.v2.toArray();return e}fromJSON(e){super.fromJSON(e);this.v1.fromArray(e.v1);this.v2.fromArray(e.v2);return this}}class QuadraticBezierCurve extends Curve{constructor(e=new Vector2,t=new Vector2,n=new Vector2){super();this.type=\"QuadraticBezierCurve\";this.v0=e;this.v1=t;this.v2=n}getPoint(e,t=new Vector2){const n=t;const r=this.v0,i=this.v1,s=this.v2;n.set(QuadraticBezier(e,r.x,i.x,s.x),QuadraticBezier(e,r.y,i.y,s.y));return n}copy(e){super.copy(e);this.v0.copy(e.v0);this.v1.copy(e.v1);this.v2.copy(e.v2);return this}toJSON(){const e=super.toJSON();e.v0=this.v0.toArray();e.v1=this.v1.toArray();e.v2=this.v2.toArray();return e}fromJSON(e){super.fromJSON(e);this.v0.fromArray(e.v0);this.v1.fromArray(e.v1);this.v2.fromArray(e.v2);return this}}QuadraticBezierCurve.prototype.isQuadraticBezierCurve=true;class QuadraticBezierCurve3 extends Curve{constructor(e=new Vector3,t=new Vector3,n=new Vector3){super();this.type=\"QuadraticBezierCurve3\";this.v0=e;this.v1=t;this.v2=n}getPoint(e,t=new Vector3){const n=t;const r=this.v0,i=this.v1,s=this.v2;n.set(QuadraticBezier(e,r.x,i.x,s.x),QuadraticBezier(e,r.y,i.y,s.y),QuadraticBezier(e,r.z,i.z,s.z));return n}copy(e){super.copy(e);this.v0.copy(e.v0);this.v1.copy(e.v1);this.v2.copy(e.v2);return this}toJSON(){const e=super.toJSON();e.v0=this.v0.toArray();e.v1=this.v1.toArray();e.v2=this.v2.toArray();return e}fromJSON(e){super.fromJSON(e);this.v0.fromArray(e.v0);this.v1.fromArray(e.v1);this.v2.fromArray(e.v2);return this}}QuadraticBezierCurve3.prototype.isQuadraticBezierCurve3=true;class SplineCurve extends Curve{constructor(e=[]){super();this.type=\"SplineCurve\";this.points=e}getPoint(e,t=new Vector2){const n=t;const r=this.points;const i=(r.length-1)*e;const s=Math.floor(i);const a=i-s;const o=r[0===s?s:s-1];const l=r[s];const c=r[s>r.length-2?r.length-1:s+1];const u=r[s>r.length-3?r.length-1:s+2];n.set(CatmullRom(a,o.x,l.x,c.x,u.x),CatmullRom(a,o.y,l.y,c.y,u.y));return n}copy(e){super.copy(e);this.points=[];for(let t=0,n=e.points.length;t<n;t++){const n=e.points[t];this.points.push(n.clone())}return this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){const n=this.points[t];e.points.push(n.toArray())}return e}fromJSON(e){super.fromJSON(e);this.points=[];for(let t=0,n=e.points.length;t<n;t++){const n=e.points[t];this.points.push((new Vector2).fromArray(n))}return this}}SplineCurve.prototype.isSplineCurve=true;var Ll=Object.freeze({__proto__:null,ArcCurve:ArcCurve,CatmullRomCurve3:CatmullRomCurve3,CubicBezierCurve:CubicBezierCurve,CubicBezierCurve3:CubicBezierCurve3,EllipseCurve:EllipseCurve,LineCurve:LineCurve,LineCurve3:LineCurve3,QuadraticBezierCurve:QuadraticBezierCurve,QuadraticBezierCurve3:QuadraticBezierCurve3,SplineCurve:SplineCurve});class CurvePath extends Curve{constructor(){super();this.type=\"CurvePath\";this.curves=[];this.autoClose=false}add(e){this.curves.push(e)}closePath(){const e=this.curves[0].getPoint(0);const t=this.curves[this.curves.length-1].getPoint(1);e.equals(t)||this.curves.push(new LineCurve(t,e))}getPoint(e,t){const n=e*this.getLength();const r=this.getCurveLengths();let i=0;while(i<r.length){if(r[i]>=n){const e=r[i]-n;const s=this.curves[i];const a=s.getLength();const o=0===a?0:1-e/a;return s.getPointAt(o,t)}i++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=true;this.cacheLengths=null;this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let n=0,r=this.curves.length;n<r;n++){t+=this.curves[n].getLength();e.push(t)}this.cacheLengths=e;return e}getSpacedPoints(e=40){const t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));this.autoClose&&t.push(t[0]);return t}getPoints(e=12){const t=[];let n;for(let r=0,i=this.curves;r<i.length;r++){const s=i[r];const a=s&&s.isEllipseCurve?2*e:s&&(s.isLineCurve||s.isLineCurve3)?1:s&&s.isSplineCurve?e*s.points.length:e;const o=s.getPoints(a);for(let e=0;e<o.length;e++){const r=o[e];if(!n||!n.equals(r)){t.push(r);n=r}}}this.autoClose&&t.length>1&&!t[t.length-1].equals(t[0])&&t.push(t[0]);return t}copy(e){super.copy(e);this.curves=[];for(let t=0,n=e.curves.length;t<n;t++){const n=e.curves[t];this.curves.push(n.clone())}this.autoClose=e.autoClose;return this}toJSON(){const e=super.toJSON();e.autoClose=this.autoClose;e.curves=[];for(let t=0,n=this.curves.length;t<n;t++){const n=this.curves[t];e.curves.push(n.toJSON())}return e}fromJSON(e){super.fromJSON(e);this.autoClose=e.autoClose;this.curves=[];for(let t=0,n=e.curves.length;t<n;t++){const n=e.curves[t];this.curves.push((new Ll[n.type]).fromJSON(n))}return this}}class Path extends CurvePath{constructor(e){super();this.type=\"Path\";this.currentPoint=new Vector2;e&&this.setFromPoints(e)}setFromPoints(e){this.moveTo(e[0].x,e[0].y);for(let t=1,n=e.length;t<n;t++)this.lineTo(e[t].x,e[t].y);return this}moveTo(e,t){this.currentPoint.set(e,t);return this}lineTo(e,t){const n=new LineCurve(this.currentPoint.clone(),new Vector2(e,t));this.curves.push(n);this.currentPoint.set(e,t);return this}quadraticCurveTo(e,t,n,r){const i=new QuadraticBezierCurve(this.currentPoint.clone(),new Vector2(e,t),new Vector2(n,r));this.curves.push(i);this.currentPoint.set(n,r);return this}bezierCurveTo(e,t,n,r,i,s){const a=new CubicBezierCurve(this.currentPoint.clone(),new Vector2(e,t),new Vector2(n,r),new Vector2(i,s));this.curves.push(a);this.currentPoint.set(i,s);return this}splineThru(e){const t=[this.currentPoint.clone()].concat(e);const n=new SplineCurve(t);this.curves.push(n);this.currentPoint.copy(e[e.length-1]);return this}arc(e,t,n,r,i,s){const a=this.currentPoint.x;const o=this.currentPoint.y;this.absarc(e+a,t+o,n,r,i,s);return this}absarc(e,t,n,r,i,s){this.absellipse(e,t,n,n,r,i,s);return this}ellipse(e,t,n,r,i,s,a,o){const l=this.currentPoint.x;const c=this.currentPoint.y;this.absellipse(e+l,t+c,n,r,i,s,a,o);return this}absellipse(e,t,n,r,i,s,a,o){const l=new EllipseCurve(e,t,n,r,i,s,a,o);if(this.curves.length>0){const e=l.getPoint(0);e.equals(this.currentPoint)||this.lineTo(e.x,e.y)}this.curves.push(l);const c=l.getPoint(1);this.currentPoint.copy(c);return this}copy(e){super.copy(e);this.currentPoint.copy(e.currentPoint);return this}toJSON(){const e=super.toJSON();e.currentPoint=this.currentPoint.toArray();return e}fromJSON(e){super.fromJSON(e);this.currentPoint.fromArray(e.currentPoint);return this}}class Shape extends Path{constructor(e){super(e);this.uuid=generateUUID();this.type=\"Shape\";this.holes=[]}getPointsHoles(e){const t=[];for(let n=0,r=this.holes.length;n<r;n++)t[n]=this.holes[n].getPoints(e);return t}extractPoints(e){return{shape:this.getPoints(e),holes:this.getPointsHoles(e)}}copy(e){super.copy(e);this.holes=[];for(let t=0,n=e.holes.length;t<n;t++){const n=e.holes[t];this.holes.push(n.clone())}return this}toJSON(){const e=super.toJSON();e.uuid=this.uuid;e.holes=[];for(let t=0,n=this.holes.length;t<n;t++){const n=this.holes[t];e.holes.push(n.toJSON())}return e}fromJSON(e){super.fromJSON(e);this.uuid=e.uuid;this.holes=[];for(let t=0,n=e.holes.length;t<n;t++){const n=e.holes[t];this.holes.push((new Path).fromJSON(n))}return this}}const Cl={triangulate:function(e,t,n=2){const r=t&&t.length;const i=r?t[0]*n:e.length;let s=linkedList(e,0,i,n,true);const a=[];if(!s||s.next===s.prev)return a;let o,l,c,u,h,d,p;r&&(s=eliminateHoles(e,t,s,n));if(e.length>80*n){o=c=e[0];l=u=e[1];for(let t=n;t<i;t+=n){h=e[t];d=e[t+1];h<o&&(o=h);d<l&&(l=d);h>c&&(c=h);d>u&&(u=d)}p=Math.max(c-o,u-l);p=0!==p?1/p:0}earcutLinked(s,a,n,o,l,p);return a}};function linkedList(e,t,n,r,i){let s,a;if(i===signedArea(e,t,n,r)>0)for(s=t;s<n;s+=r)a=insertNode(s,e[s],e[s+1],a);else for(s=n-r;s>=t;s-=r)a=insertNode(s,e[s],e[s+1],a);if(a&&equals(a,a.next)){removeNode(a);a=a.next}return a}function filterPoints(e,t){if(!e)return e;t||(t=e);let n,r=e;do{n=false;if(r.steiner||!equals(r,r.next)&&0!==area(r.prev,r,r.next))r=r.next;else{removeNode(r);r=t=r.prev;if(r===r.next)break;n=true}}while(n||r!==t);return t}function earcutLinked(e,t,n,r,i,s,a){if(!e)return;!a&&s&&indexCurve(e,r,i,s);let o,l,c=e;while(e.prev!==e.next){o=e.prev;l=e.next;if(s?isEarHashed(e,r,i,s):isEar(e)){t.push(o.i/n);t.push(e.i/n);t.push(l.i/n);removeNode(e);e=l.next;c=l.next}else{e=l;if(e===c){if(a)if(1===a){e=cureLocalIntersections(filterPoints(e),t,n);earcutLinked(e,t,n,r,i,s,2)}else 2===a&&splitEarcut(e,t,n,r,i,s);else earcutLinked(filterPoints(e),t,n,r,i,s,1);break}}}}function isEar(e){const t=e.prev,n=e,r=e.next;if(area(t,n,r)>=0)return false;let i=e.next.next;while(i!==e.prev){if(pointInTriangle(t.x,t.y,n.x,n.y,r.x,r.y,i.x,i.y)&&area(i.prev,i,i.next)>=0)return false;i=i.next}return true}function isEarHashed(e,t,n,r){const i=e.prev,s=e,a=e.next;if(area(i,s,a)>=0)return false;const o=i.x<s.x?i.x<a.x?i.x:a.x:s.x<a.x?s.x:a.x,l=i.y<s.y?i.y<a.y?i.y:a.y:s.y<a.y?s.y:a.y,c=i.x>s.x?i.x>a.x?i.x:a.x:s.x>a.x?s.x:a.x,u=i.y>s.y?i.y>a.y?i.y:a.y:s.y>a.y?s.y:a.y;const h=zOrder(o,l,t,n,r),d=zOrder(c,u,t,n,r);let p=e.prevZ,f=e.nextZ;while(p&&p.z>=h&&f&&f.z<=d){if(p!==e.prev&&p!==e.next&&pointInTriangle(i.x,i.y,s.x,s.y,a.x,a.y,p.x,p.y)&&area(p.prev,p,p.next)>=0)return false;p=p.prevZ;if(f!==e.prev&&f!==e.next&&pointInTriangle(i.x,i.y,s.x,s.y,a.x,a.y,f.x,f.y)&&area(f.prev,f,f.next)>=0)return false;f=f.nextZ}while(p&&p.z>=h){if(p!==e.prev&&p!==e.next&&pointInTriangle(i.x,i.y,s.x,s.y,a.x,a.y,p.x,p.y)&&area(p.prev,p,p.next)>=0)return false;p=p.prevZ}while(f&&f.z<=d){if(f!==e.prev&&f!==e.next&&pointInTriangle(i.x,i.y,s.x,s.y,a.x,a.y,f.x,f.y)&&area(f.prev,f,f.next)>=0)return false;f=f.nextZ}return true}function cureLocalIntersections(e,t,n){let r=e;do{const i=r.prev,s=r.next.next;if(!equals(i,s)&&intersects(i,r,r.next,s)&&locallyInside(i,s)&&locallyInside(s,i)){t.push(i.i/n);t.push(r.i/n);t.push(s.i/n);removeNode(r);removeNode(r.next);r=e=s}r=r.next}while(r!==e);return filterPoints(r)}function splitEarcut(e,t,n,r,i,s){let a=e;do{let e=a.next.next;while(e!==a.prev){if(a.i!==e.i&&isValidDiagonal(a,e)){let o=splitPolygon(a,e);a=filterPoints(a,a.next);o=filterPoints(o,o.next);earcutLinked(a,t,n,r,i,s);earcutLinked(o,t,n,r,i,s);return}e=e.next}a=a.next}while(a!==e)}function eliminateHoles(e,t,n,r){const i=[];let s,a,o,l,c;for(s=0,a=t.length;s<a;s++){o=t[s]*r;l=s<a-1?t[s+1]*r:e.length;c=linkedList(e,o,l,r,false);c===c.next&&(c.steiner=true);i.push(getLeftmost(c))}i.sort(compareX);for(s=0;s<i.length;s++){eliminateHole(i[s],n);n=filterPoints(n,n.next)}return n}function compareX(e,t){return e.x-t.x}function eliminateHole(e,t){t=findHoleBridge(e,t);if(t){const n=splitPolygon(t,e);filterPoints(t,t.next);filterPoints(n,n.next)}}function findHoleBridge(e,t){let n=t;const r=e.x;const i=e.y;let s,a=-Infinity;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){const e=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(e<=r&&e>a){a=e;if(e===r){if(i===n.y)return n;if(i===n.next.y)return n.next}s=n.x<n.next.x?n:n.next}}n=n.next}while(n!==t);if(!s)return null;if(r===a)return s;const o=s,l=s.x,c=s.y;let u,h=Infinity;n=s;do{if(r>=n.x&&n.x>=l&&r!==n.x&&pointInTriangle(i<c?r:a,i,l,c,i<c?a:r,i,n.x,n.y)){u=Math.abs(i-n.y)/(r-n.x);if(locallyInside(n,e)&&(u<h||u===h&&(n.x>s.x||n.x===s.x&&sectorContainsSector(s,n)))){s=n;h=u}}n=n.next}while(n!==o);return s}function sectorContainsSector(e,t){return area(e.prev,e,t.prev)<0&&area(t.next,e,e.next)<0}function indexCurve(e,t,n,r){let i=e;do{null===i.z&&(i.z=zOrder(i.x,i.y,t,n,r));i.prevZ=i.prev;i.nextZ=i.next;i=i.next}while(i!==e);i.prevZ.nextZ=null;i.prevZ=null;sortLinked(i)}function sortLinked(e){let t,n,r,i,s,a,o,l,c=1;do{n=e;e=null;s=null;a=0;while(n){a++;r=n;o=0;for(t=0;t<c;t++){o++;r=r.nextZ;if(!r)break}l=c;while(o>0||l>0&&r){if(0!==o&&(0===l||!r||n.z<=r.z)){i=n;n=n.nextZ;o--}else{i=r;r=r.nextZ;l--}s?s.nextZ=i:e=i;i.prevZ=s;s=i}n=r}s.nextZ=null;c*=2}while(a>1);return e}function zOrder(e,t,n,r,i){e=32767*(e-n)*i;t=32767*(t-r)*i;e=16711935&(e|e<<8);e=252645135&(e|e<<4);e=858993459&(e|e<<2);e=1431655765&(e|e<<1);t=16711935&(t|t<<8);t=252645135&(t|t<<4);t=858993459&(t|t<<2);t=1431655765&(t|t<<1);return e|t<<1}function getLeftmost(e){let t=e,n=e;do{(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t);t=t.next}while(t!==e);return n}function pointInTriangle(e,t,n,r,i,s,a,o){return(i-a)*(t-o)-(e-a)*(s-o)>=0&&(e-a)*(r-o)-(n-a)*(t-o)>=0&&(n-a)*(s-o)-(i-a)*(r-o)>=0}function isValidDiagonal(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!intersectsPolygon(e,t)&&(locallyInside(e,t)&&locallyInside(t,e)&&middleInside(e,t)&&(area(e.prev,e,t.prev)||area(e,t.prev,t))||equals(e,t)&&area(e.prev,e,e.next)>0&&area(t.prev,t,t.next)>0)}function area(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function equals(e,t){return e.x===t.x&&e.y===t.y}function intersects(e,t,n,r){const i=sign(area(e,t,n));const s=sign(area(e,t,r));const a=sign(area(n,r,e));const o=sign(area(n,r,t));return i!==s&&a!==o||(!(0!==i||!onSegment(e,n,t))||(!(0!==s||!onSegment(e,r,t))||(!(0!==a||!onSegment(n,e,r))||!(0!==o||!onSegment(n,t,r)))))}function onSegment(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function sign(e){return e>0?1:e<0?-1:0}function intersectsPolygon(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&intersects(n,n.next,e,t))return true;n=n.next}while(n!==e);return false}function locallyInside(e,t){return area(e.prev,e,e.next)<0?area(e,t,e.next)>=0&&area(e,e.prev,t)>=0:area(e,t,e.prev)<0||area(e,e.next,t)<0}function middleInside(e,t){let n=e,r=false;const i=(e.x+t.x)/2,s=(e.y+t.y)/2;do{n.y>s!==n.next.y>s&&n.next.y!==n.y&&i<(n.next.x-n.x)*(s-n.y)/(n.next.y-n.y)+n.x&&(r=!r);n=n.next}while(n!==e);return r}function splitPolygon(e,t){const n=new Node(e.i,e.x,e.y),r=new Node(t.i,t.x,t.y),i=e.next,s=t.prev;e.next=t;t.prev=e;n.next=i;i.prev=n;r.next=n;n.prev=r;s.next=r;r.prev=s;return r}function insertNode(e,t,n,r){const i=new Node(e,t,n);if(r){i.next=r.next;i.prev=r;r.next.prev=i;r.next=i}else{i.prev=i;i.next=i}return i}function removeNode(e){e.next.prev=e.prev;e.prev.next=e.next;e.prevZ&&(e.prevZ.nextZ=e.nextZ);e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Node(e,t,n){this.i=e;this.x=t;this.y=n;this.prev=null;this.next=null;this.z=null;this.prevZ=null;this.nextZ=null;this.steiner=false}function signedArea(e,t,n,r){let i=0;for(let s=t,a=n-r;s<n;s+=r){i+=(e[a]-e[s])*(e[s+1]+e[a+1]);a=s}return i}class ShapeUtils{static area(e){const t=e.length;let n=0;for(let r=t-1,i=0;i<t;r=i++)n+=e[r].x*e[i].y-e[i].x*e[r].y;return.5*n}static isClockWise(e){return ShapeUtils.area(e)<0}static triangulateShape(e,t){const n=[];const r=[];const i=[];removeDupEndPts(e);addContour(n,e);let s=e.length;t.forEach(removeDupEndPts);for(let e=0;e<t.length;e++){r.push(s);s+=t[e].length;addContour(n,t[e])}const a=Cl.triangulate(n,r);for(let e=0;e<a.length;e+=3)i.push(a.slice(e,e+3));return i}}function removeDupEndPts(e){const t=e.length;t>2&&e[t-1].equals(e[0])&&e.pop()}function addContour(e,t){for(let n=0;n<t.length;n++){e.push(t[n].x);e.push(t[n].y)}}class ExtrudeGeometry extends BufferGeometry{constructor(e=new Shape([new Vector2(.5,.5),new Vector2(-.5,.5),new Vector2(-.5,-.5),new Vector2(.5,-.5)]),t={}){super();this.type=\"ExtrudeGeometry\";this.parameters={shapes:e,options:t};e=Array.isArray(e)?e:[e];const n=this;const r=[];const i=[];for(let t=0,n=e.length;t<n;t++){const n=e[t];addShape(n)}this.setAttribute(\"position\",new Float32BufferAttribute(r,3));this.setAttribute(\"uv\",new Float32BufferAttribute(i,2));this.computeVertexNormals();function addShape(e){const s=[];const a=void 0!==t.curveSegments?t.curveSegments:12;const o=void 0!==t.steps?t.steps:1;let l=void 0!==t.depth?t.depth:1;let c=void 0===t.bevelEnabled||t.bevelEnabled;let u=void 0!==t.bevelThickness?t.bevelThickness:.2;let h=void 0!==t.bevelSize?t.bevelSize:u-.1;let d=void 0!==t.bevelOffset?t.bevelOffset:0;let p=void 0!==t.bevelSegments?t.bevelSegments:3;const f=t.extrudePath;const m=void 0!==t.UVGenerator?t.UVGenerator:Rl;if(void 0!==t.amount){console.warn(\"THREE.ExtrudeBufferGeometry: amount has been renamed to depth.\");l=t.amount}let g,y=false;let x,b,_,M;if(f){g=f.getSpacedPoints(o);y=true;c=false;x=f.computeFrenetFrames(o,false);b=new Vector3;_=new Vector3;M=new Vector3}if(!c){p=0;u=0;h=0;d=0}const w=e.extractPoints(a);let S=w.shape;const T=w.holes;const E=!ShapeUtils.isClockWise(S);if(E){S=S.reverse();for(let e=0,t=T.length;e<t;e++){const t=T[e];ShapeUtils.isClockWise(t)&&(T[e]=t.reverse())}}const A=ShapeUtils.triangulateShape(S,T);const L=S;for(let e=0,t=T.length;e<t;e++){const t=T[e];S=S.concat(t)}function scalePt2(e,t,n){t||console.error(\"THREE.ExtrudeGeometry: vec does not exist\");return t.clone().multiplyScalar(n).add(e)}const C=S.length,R=A.length;function getBevelVec(e,t,n){let r,i,s;const a=e.x-t.x,o=e.y-t.y;const l=n.x-e.x,c=n.y-e.y;const u=a*a+o*o;const h=a*c-o*l;if(Math.abs(h)>Number.EPSILON){const h=Math.sqrt(u);const d=Math.sqrt(l*l+c*c);const p=t.x-o/h;const f=t.y+a/h;const m=n.x-c/d;const g=n.y+l/d;const y=((m-p)*c-(g-f)*l)/(a*c-o*l);r=p+a*y-e.x;i=f+o*y-e.y;const x=r*r+i*i;if(x<=2)return new Vector2(r,i);s=Math.sqrt(x/2)}else{let e=false;a>Number.EPSILON?l>Number.EPSILON&&(e=true):a<-Number.EPSILON?l<-Number.EPSILON&&(e=true):Math.sign(o)===Math.sign(c)&&(e=true);if(e){r=-o;i=a;s=Math.sqrt(u)}else{r=a;i=o;s=Math.sqrt(u/2)}}return new Vector2(r/s,i/s)}const P=[];for(let e=0,t=L.length,n=t-1,r=e+1;e<t;e++,n++,r++){n===t&&(n=0);r===t&&(r=0);P[e]=getBevelVec(L[e],L[n],L[r])}const I=[];let D,B=P.concat();for(let e=0,t=T.length;e<t;e++){const t=T[e];D=[];for(let e=0,n=t.length,r=n-1,i=e+1;e<n;e++,r++,i++){r===n&&(r=0);i===n&&(i=0);D[e]=getBevelVec(t[e],t[r],t[i])}I.push(D);B=B.concat(D)}for(let e=0;e<p;e++){const t=e/p;const n=u*Math.cos(t*Math.PI/2);const r=h*Math.sin(t*Math.PI/2)+d;for(let e=0,t=L.length;e<t;e++){const t=scalePt2(L[e],P[e],r);v(t.x,t.y,-n)}for(let e=0,t=T.length;e<t;e++){const t=T[e];D=I[e];for(let e=0,i=t.length;e<i;e++){const i=scalePt2(t[e],D[e],r);v(i.x,i.y,-n)}}}const V=h+d;for(let e=0;e<C;e++){const t=c?scalePt2(S[e],B[e],V):S[e];if(y){_.copy(x.normals[0]).multiplyScalar(t.x);b.copy(x.binormals[0]).multiplyScalar(t.y);M.copy(g[0]).add(_).add(b);v(M.x,M.y,M.z)}else v(t.x,t.y,0)}for(let e=1;e<=o;e++)for(let t=0;t<C;t++){const n=c?scalePt2(S[t],B[t],V):S[t];if(y){_.copy(x.normals[e]).multiplyScalar(n.x);b.copy(x.binormals[e]).multiplyScalar(n.y);M.copy(g[e]).add(_).add(b);v(M.x,M.y,M.z)}else v(n.x,n.y,l/o*e)}for(let e=p-1;e>=0;e--){const t=e/p;const n=u*Math.cos(t*Math.PI/2);const r=h*Math.sin(t*Math.PI/2)+d;for(let e=0,t=L.length;e<t;e++){const t=scalePt2(L[e],P[e],r);v(t.x,t.y,l+n)}for(let e=0,t=T.length;e<t;e++){const t=T[e];D=I[e];for(let e=0,i=t.length;e<i;e++){const i=scalePt2(t[e],D[e],r);y?v(i.x,i.y+g[o-1].y,g[o-1].x+n):v(i.x,i.y,l+n)}}}buildLidFaces();buildSideFaces();function buildLidFaces(){const e=r.length/3;if(c){let e=0;let t=C*e;for(let e=0;e<R;e++){const n=A[e];f3(n[2]+t,n[1]+t,n[0]+t)}e=o+2*p;t=C*e;for(let e=0;e<R;e++){const n=A[e];f3(n[0]+t,n[1]+t,n[2]+t)}}else{for(let e=0;e<R;e++){const t=A[e];f3(t[2],t[1],t[0])}for(let e=0;e<R;e++){const t=A[e];f3(t[0]+C*o,t[1]+C*o,t[2]+C*o)}}n.addGroup(e,r.length/3-e,0)}function buildSideFaces(){const e=r.length/3;let t=0;sidewalls(L,t);t+=L.length;for(let e=0,n=T.length;e<n;e++){const n=T[e];sidewalls(n,t);t+=n.length}n.addGroup(e,r.length/3-e,1)}function sidewalls(e,t){let n=e.length;while(--n>=0){const r=n;let i=n-1;i<0&&(i=e.length-1);for(let e=0,n=o+2*p;e<n;e++){const n=C*e;const s=C*(e+1);const a=t+r+n,o=t+i+n,l=t+i+s,c=t+r+s;f4(a,o,l,c)}}}function v(e,t,n){s.push(e);s.push(t);s.push(n)}function f3(e,t,i){addVertex(e);addVertex(t);addVertex(i);const s=r.length/3;const a=m.generateTopUV(n,r,s-3,s-2,s-1);addUV(a[0]);addUV(a[1]);addUV(a[2])}function f4(e,t,i,s){addVertex(e);addVertex(t);addVertex(s);addVertex(t);addVertex(i);addVertex(s);const a=r.length/3;const o=m.generateSideWallUV(n,r,a-6,a-3,a-2,a-1);addUV(o[0]);addUV(o[1]);addUV(o[3]);addUV(o[1]);addUV(o[2]);addUV(o[3])}function addVertex(e){r.push(s[3*e+0]);r.push(s[3*e+1]);r.push(s[3*e+2])}function addUV(e){i.push(e.x);i.push(e.y)}}}toJSON(){const e=super.toJSON();const t=this.parameters.shapes;const n=this.parameters.options;return toJSON$1(t,n,e)}static fromJSON(e,t){const n=[];for(let r=0,i=e.shapes.length;r<i;r++){const i=t[e.shapes[r]];n.push(i)}const r=e.options.extrudePath;void 0!==r&&(e.options.extrudePath=(new Ll[r.type]).fromJSON(r));return new ExtrudeGeometry(n,e.options)}}const Rl={generateTopUV:function(e,t,n,r,i){const s=t[3*n];const a=t[3*n+1];const o=t[3*r];const l=t[3*r+1];const c=t[3*i];const u=t[3*i+1];return[new Vector2(s,a),new Vector2(o,l),new Vector2(c,u)]},generateSideWallUV:function(e,t,n,r,i,s){const a=t[3*n];const o=t[3*n+1];const l=t[3*n+2];const c=t[3*r];const u=t[3*r+1];const h=t[3*r+2];const d=t[3*i];const p=t[3*i+1];const f=t[3*i+2];const m=t[3*s];const g=t[3*s+1];const y=t[3*s+2];return Math.abs(o-u)<Math.abs(a-c)?[new Vector2(a,1-l),new Vector2(c,1-h),new Vector2(d,1-f),new Vector2(m,1-y)]:[new Vector2(o,1-l),new Vector2(u,1-h),new Vector2(p,1-f),new Vector2(g,1-y)]}};function toJSON$1(e,t,n){n.shapes=[];if(Array.isArray(e))for(let t=0,r=e.length;t<r;t++){const r=e[t];n.shapes.push(r.uuid)}else n.shapes.push(e.uuid);void 0!==t.extrudePath&&(n.options.extrudePath=t.extrudePath.toJSON());return n}class IcosahedronGeometry extends PolyhedronGeometry{constructor(e=1,t=0){const n=(1+Math.sqrt(5))/2;const r=[-1,n,0,1,n,0,-1,-n,0,1,-n,0,0,-1,n,0,1,n,0,-1,-n,0,1,-n,n,0,-1,n,0,1,-n,0,-1,-n,0,1];const i=[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1];super(r,i,e,t);this.type=\"IcosahedronGeometry\";this.parameters={radius:e,detail:t}}static fromJSON(e){return new IcosahedronGeometry(e.radius,e.detail)}}class LatheGeometry extends BufferGeometry{constructor(e=[new Vector2(0,.5),new Vector2(.5,0),new Vector2(0,-.5)],t=12,n=0,r=2*Math.PI){super();this.type=\"LatheGeometry\";this.parameters={points:e,segments:t,phiStart:n,phiLength:r};t=Math.floor(t);r=clamp(r,0,2*Math.PI);const i=[];const s=[];const a=[];const o=[];const l=[];const c=1/t;const u=new Vector3;const h=new Vector2;const d=new Vector3;const p=new Vector3;const f=new Vector3;let m=0;let g=0;for(let t=0;t<=e.length-1;t++)switch(t){case 0:m=e[t+1].x-e[t].x;g=e[t+1].y-e[t].y;d.x=1*g;d.y=-m;d.z=0*g;f.copy(d);d.normalize();o.push(d.x,d.y,d.z);break;case e.length-1:o.push(f.x,f.y,f.z);break;default:m=e[t+1].x-e[t].x;g=e[t+1].y-e[t].y;d.x=1*g;d.y=-m;d.z=0*g;p.copy(d);d.x+=f.x;d.y+=f.y;d.z+=f.z;d.normalize();o.push(d.x,d.y,d.z);f.copy(p)}for(let i=0;i<=t;i++){const d=n+i*c*r;const p=Math.sin(d);const f=Math.cos(d);for(let n=0;n<=e.length-1;n++){u.x=e[n].x*p;u.y=e[n].y;u.z=e[n].x*f;s.push(u.x,u.y,u.z);h.x=i/t;h.y=n/(e.length-1);a.push(h.x,h.y);const r=o[3*n+0]*p;const c=o[3*n+1];const d=o[3*n+0]*f;l.push(r,c,d)}}for(let n=0;n<t;n++)for(let t=0;t<e.length-1;t++){const r=t+n*e.length;const s=r;const a=r+e.length;const o=r+e.length+1;const l=r+1;i.push(s,a,l);i.push(a,o,l)}this.setIndex(i);this.setAttribute(\"position\",new Float32BufferAttribute(s,3));this.setAttribute(\"uv\",new Float32BufferAttribute(a,2));this.setAttribute(\"normal\",new Float32BufferAttribute(l,3))}static fromJSON(e){return new LatheGeometry(e.points,e.segments,e.phiStart,e.phiLength)}}class OctahedronGeometry extends PolyhedronGeometry{constructor(e=1,t=0){const n=[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1];const r=[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2];super(n,r,e,t);this.type=\"OctahedronGeometry\";this.parameters={radius:e,detail:t}}static fromJSON(e){return new OctahedronGeometry(e.radius,e.detail)}}class RingGeometry extends BufferGeometry{constructor(e=.5,t=1,n=8,r=1,i=0,s=2*Math.PI){super();this.type=\"RingGeometry\";this.parameters={innerRadius:e,outerRadius:t,thetaSegments:n,phiSegments:r,thetaStart:i,thetaLength:s};n=Math.max(3,n);r=Math.max(1,r);const a=[];const o=[];const l=[];const c=[];let u=e;const h=(t-e)/r;const d=new Vector3;const p=new Vector2;for(let e=0;e<=r;e++){for(let e=0;e<=n;e++){const r=i+e/n*s;d.x=u*Math.cos(r);d.y=u*Math.sin(r);o.push(d.x,d.y,d.z);l.push(0,0,1);p.x=(d.x/t+1)/2;p.y=(d.y/t+1)/2;c.push(p.x,p.y)}u+=h}for(let e=0;e<r;e++){const t=e*(n+1);for(let e=0;e<n;e++){const r=e+t;const i=r;const s=r+n+1;const o=r+n+2;const l=r+1;a.push(i,s,l);a.push(s,o,l)}}this.setIndex(a);this.setAttribute(\"position\",new Float32BufferAttribute(o,3));this.setAttribute(\"normal\",new Float32BufferAttribute(l,3));this.setAttribute(\"uv\",new Float32BufferAttribute(c,2))}static fromJSON(e){return new RingGeometry(e.innerRadius,e.outerRadius,e.thetaSegments,e.phiSegments,e.thetaStart,e.thetaLength)}}class ShapeGeometry extends BufferGeometry{constructor(e=new Shape([new Vector2(0,.5),new Vector2(-.5,-.5),new Vector2(.5,-.5)]),t=12){super();this.type=\"ShapeGeometry\";this.parameters={shapes:e,curveSegments:t};const n=[];const r=[];const i=[];const s=[];let a=0;let o=0;if(false===Array.isArray(e))addShape(e);else for(let t=0;t<e.length;t++){addShape(e[t]);this.addGroup(a,o,t);a+=o;o=0}this.setIndex(n);this.setAttribute(\"position\",new Float32BufferAttribute(r,3));this.setAttribute(\"normal\",new Float32BufferAttribute(i,3));this.setAttribute(\"uv\",new Float32BufferAttribute(s,2));function addShape(e){const a=r.length/3;const l=e.extractPoints(t);let c=l.shape;const u=l.holes;false===ShapeUtils.isClockWise(c)&&(c=c.reverse());for(let e=0,t=u.length;e<t;e++){const t=u[e];true===ShapeUtils.isClockWise(t)&&(u[e]=t.reverse())}const h=ShapeUtils.triangulateShape(c,u);for(let e=0,t=u.length;e<t;e++){const t=u[e];c=c.concat(t)}for(let e=0,t=c.length;e<t;e++){const t=c[e];r.push(t.x,t.y,0);i.push(0,0,1);s.push(t.x,t.y)}for(let e=0,t=h.length;e<t;e++){const t=h[e];const r=t[0]+a;const i=t[1]+a;const s=t[2]+a;n.push(r,i,s);o+=3}}}toJSON(){const e=super.toJSON();const t=this.parameters.shapes;return toJSON(t,e)}static fromJSON(e,t){const n=[];for(let r=0,i=e.shapes.length;r<i;r++){const i=t[e.shapes[r]];n.push(i)}return new ShapeGeometry(n,e.curveSegments)}}function toJSON(e,t){t.shapes=[];if(Array.isArray(e))for(let n=0,r=e.length;n<r;n++){const r=e[n];t.shapes.push(r.uuid)}else t.shapes.push(e.uuid);return t}class SphereGeometry extends BufferGeometry{constructor(e=1,t=32,n=16,r=0,i=2*Math.PI,s=0,a=Math.PI){super();this.type=\"SphereGeometry\";this.parameters={radius:e,widthSegments:t,heightSegments:n,phiStart:r,phiLength:i,thetaStart:s,thetaLength:a};t=Math.max(3,Math.floor(t));n=Math.max(2,Math.floor(n));const o=Math.min(s+a,Math.PI);let l=0;const c=[];const u=new Vector3;const h=new Vector3;const d=[];const p=[];const f=[];const m=[];for(let d=0;d<=n;d++){const g=[];const y=d/n;let x=0;0==d&&0==s?x=.5/t:d==n&&o==Math.PI&&(x=-.5/t);for(let n=0;n<=t;n++){const o=n/t;u.x=-e*Math.cos(r+o*i)*Math.sin(s+y*a);u.y=e*Math.cos(s+y*a);u.z=e*Math.sin(r+o*i)*Math.sin(s+y*a);p.push(u.x,u.y,u.z);h.copy(u).normalize();f.push(h.x,h.y,h.z);m.push(o+x,1-y);g.push(l++)}c.push(g)}for(let e=0;e<n;e++)for(let r=0;r<t;r++){const t=c[e][r+1];const i=c[e][r];const a=c[e+1][r];const l=c[e+1][r+1];(0!==e||s>0)&&d.push(t,i,l);(e!==n-1||o<Math.PI)&&d.push(i,a,l)}this.setIndex(d);this.setAttribute(\"position\",new Float32BufferAttribute(p,3));this.setAttribute(\"normal\",new Float32BufferAttribute(f,3));this.setAttribute(\"uv\",new Float32BufferAttribute(m,2))}static fromJSON(e){return new SphereGeometry(e.radius,e.widthSegments,e.heightSegments,e.phiStart,e.phiLength,e.thetaStart,e.thetaLength)}}class TetrahedronGeometry extends PolyhedronGeometry{constructor(e=1,t=0){const n=[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1];const r=[2,1,0,0,3,2,1,3,0,2,3,1];super(n,r,e,t);this.type=\"TetrahedronGeometry\";this.parameters={radius:e,detail:t}}static fromJSON(e){return new TetrahedronGeometry(e.radius,e.detail)}}class TorusGeometry extends BufferGeometry{constructor(e=1,t=.4,n=8,r=6,i=2*Math.PI){super();this.type=\"TorusGeometry\";this.parameters={radius:e,tube:t,radialSegments:n,tubularSegments:r,arc:i};n=Math.floor(n);r=Math.floor(r);const s=[];const a=[];const o=[];const l=[];const c=new Vector3;const u=new Vector3;const h=new Vector3;for(let s=0;s<=n;s++)for(let d=0;d<=r;d++){const p=d/r*i;const f=s/n*Math.PI*2;u.x=(e+t*Math.cos(f))*Math.cos(p);u.y=(e+t*Math.cos(f))*Math.sin(p);u.z=t*Math.sin(f);a.push(u.x,u.y,u.z);c.x=e*Math.cos(p);c.y=e*Math.sin(p);h.subVectors(u,c).normalize();o.push(h.x,h.y,h.z);l.push(d/r);l.push(s/n)}for(let e=1;e<=n;e++)for(let t=1;t<=r;t++){const n=(r+1)*e+t-1;const i=(r+1)*(e-1)+t-1;const a=(r+1)*(e-1)+t;const o=(r+1)*e+t;s.push(n,i,o);s.push(i,a,o)}this.setIndex(s);this.setAttribute(\"position\",new Float32BufferAttribute(a,3));this.setAttribute(\"normal\",new Float32BufferAttribute(o,3));this.setAttribute(\"uv\",new Float32BufferAttribute(l,2))}static fromJSON(e){return new TorusGeometry(e.radius,e.tube,e.radialSegments,e.tubularSegments,e.arc)}}class TorusKnotGeometry extends BufferGeometry{constructor(e=1,t=.4,n=64,r=8,i=2,s=3){super();this.type=\"TorusKnotGeometry\";this.parameters={radius:e,tube:t,tubularSegments:n,radialSegments:r,p:i,q:s};n=Math.floor(n);r=Math.floor(r);const a=[];const o=[];const l=[];const c=[];const u=new Vector3;const h=new Vector3;const d=new Vector3;const p=new Vector3;const f=new Vector3;const m=new Vector3;const g=new Vector3;for(let a=0;a<=n;++a){const y=a/n*i*Math.PI*2;calculatePositionOnCurve(y,i,s,e,d);calculatePositionOnCurve(y+.01,i,s,e,p);m.subVectors(p,d);g.addVectors(p,d);f.crossVectors(m,g);g.crossVectors(f,m);f.normalize();g.normalize();for(let e=0;e<=r;++e){const i=e/r*Math.PI*2;const s=-t*Math.cos(i);const p=t*Math.sin(i);u.x=d.x+(s*g.x+p*f.x);u.y=d.y+(s*g.y+p*f.y);u.z=d.z+(s*g.z+p*f.z);o.push(u.x,u.y,u.z);h.subVectors(u,d).normalize();l.push(h.x,h.y,h.z);c.push(a/n);c.push(e/r)}}for(let e=1;e<=n;e++)for(let t=1;t<=r;t++){const n=(r+1)*(e-1)+(t-1);const i=(r+1)*e+(t-1);const s=(r+1)*e+t;const o=(r+1)*(e-1)+t;a.push(n,i,o);a.push(i,s,o)}this.setIndex(a);this.setAttribute(\"position\",new Float32BufferAttribute(o,3));this.setAttribute(\"normal\",new Float32BufferAttribute(l,3));this.setAttribute(\"uv\",new Float32BufferAttribute(c,2));function calculatePositionOnCurve(e,t,n,r,i){const s=Math.cos(e);const a=Math.sin(e);const o=n/t*e;const l=Math.cos(o);i.x=r*(2+l)*.5*s;i.y=r*(2+l)*a*.5;i.z=r*Math.sin(o)*.5}}static fromJSON(e){return new TorusKnotGeometry(e.radius,e.tube,e.tubularSegments,e.radialSegments,e.p,e.q)}}class TubeGeometry extends BufferGeometry{constructor(e=new QuadraticBezierCurve3(new Vector3(-1,-1,0),new Vector3(-1,1,0),new Vector3(1,1,0)),t=64,n=1,r=8,i=false){super();this.type=\"TubeGeometry\";this.parameters={path:e,tubularSegments:t,radius:n,radialSegments:r,closed:i};const s=e.computeFrenetFrames(t,i);this.tangents=s.tangents;this.normals=s.normals;this.binormals=s.binormals;const a=new Vector3;const o=new Vector3;const l=new Vector2;let c=new Vector3;const u=[];const h=[];const d=[];const p=[];generateBufferData();this.setIndex(p);this.setAttribute(\"position\",new Float32BufferAttribute(u,3));this.setAttribute(\"normal\",new Float32BufferAttribute(h,3));this.setAttribute(\"uv\",new Float32BufferAttribute(d,2));function generateBufferData(){for(let e=0;e<t;e++)generateSegment(e);generateSegment(false===i?t:0);generateUVs();generateIndices()}function generateSegment(i){c=e.getPointAt(i/t,c);const l=s.normals[i];const d=s.binormals[i];for(let e=0;e<=r;e++){const t=e/r*Math.PI*2;const i=Math.sin(t);const s=-Math.cos(t);o.x=s*l.x+i*d.x;o.y=s*l.y+i*d.y;o.z=s*l.z+i*d.z;o.normalize();h.push(o.x,o.y,o.z);a.x=c.x+n*o.x;a.y=c.y+n*o.y;a.z=c.z+n*o.z;u.push(a.x,a.y,a.z)}}function generateIndices(){for(let e=1;e<=t;e++)for(let t=1;t<=r;t++){const n=(r+1)*(e-1)+(t-1);const i=(r+1)*e+(t-1);const s=(r+1)*e+t;const a=(r+1)*(e-1)+t;p.push(n,i,a);p.push(i,s,a)}}function generateUVs(){for(let e=0;e<=t;e++)for(let n=0;n<=r;n++){l.x=e/t;l.y=n/r;d.push(l.x,l.y)}}}toJSON(){const e=super.toJSON();e.path=this.parameters.path.toJSON();return e}static fromJSON(e){return new TubeGeometry((new Ll[e.path.type]).fromJSON(e.path),e.tubularSegments,e.radius,e.radialSegments,e.closed)}}class WireframeGeometry extends BufferGeometry{constructor(e=null){super();this.type=\"WireframeGeometry\";this.parameters={geometry:e};if(null!==e){const t=[];const n=new Set;const r=new Vector3;const i=new Vector3;if(null!==e.index){const s=e.attributes.position;const a=e.index;let o=e.groups;0===o.length&&(o=[{start:0,count:a.count,materialIndex:0}]);for(let e=0,l=o.length;e<l;++e){const l=o[e];const c=l.start;const u=l.count;for(let e=c,o=c+u;e<o;e+=3)for(let o=0;o<3;o++){const l=a.getX(e+o);const c=a.getX(e+(o+1)%3);r.fromBufferAttribute(s,l);i.fromBufferAttribute(s,c);if(true===isUniqueEdge(r,i,n)){t.push(r.x,r.y,r.z);t.push(i.x,i.y,i.z)}}}}else{const s=e.attributes.position;for(let e=0,a=s.count/3;e<a;e++)for(let a=0;a<3;a++){const o=3*e+a;const l=3*e+(a+1)%3;r.fromBufferAttribute(s,o);i.fromBufferAttribute(s,l);if(true===isUniqueEdge(r,i,n)){t.push(r.x,r.y,r.z);t.push(i.x,i.y,i.z)}}}this.setAttribute(\"position\",new Float32BufferAttribute(t,3))}}}function isUniqueEdge(e,t,n){const r=`${e.x},${e.y},${e.z}-${t.x},${t.y},${t.z}`;const i=`${t.x},${t.y},${t.z}-${e.x},${e.y},${e.z}`;if(true===n.has(r)||true===n.has(i))return false;n.add(r,i);return true}var Pl=Object.freeze({__proto__:null,BoxGeometry:BoxGeometry,BoxBufferGeometry:BoxGeometry,CircleGeometry:CircleGeometry,CircleBufferGeometry:CircleGeometry,ConeGeometry:ConeGeometry,ConeBufferGeometry:ConeGeometry,CylinderGeometry:CylinderGeometry,CylinderBufferGeometry:CylinderGeometry,DodecahedronGeometry:DodecahedronGeometry,DodecahedronBufferGeometry:DodecahedronGeometry,EdgesGeometry:EdgesGeometry,ExtrudeGeometry:ExtrudeGeometry,ExtrudeBufferGeometry:ExtrudeGeometry,IcosahedronGeometry:IcosahedronGeometry,IcosahedronBufferGeometry:IcosahedronGeometry,LatheGeometry:LatheGeometry,LatheBufferGeometry:LatheGeometry,OctahedronGeometry:OctahedronGeometry,OctahedronBufferGeometry:OctahedronGeometry,PlaneGeometry:PlaneGeometry,PlaneBufferGeometry:PlaneGeometry,PolyhedronGeometry:PolyhedronGeometry,PolyhedronBufferGeometry:PolyhedronGeometry,RingGeometry:RingGeometry,RingBufferGeometry:RingGeometry,ShapeGeometry:ShapeGeometry,ShapeBufferGeometry:ShapeGeometry,SphereGeometry:SphereGeometry,SphereBufferGeometry:SphereGeometry,TetrahedronGeometry:TetrahedronGeometry,TetrahedronBufferGeometry:TetrahedronGeometry,TorusGeometry:TorusGeometry,TorusBufferGeometry:TorusGeometry,TorusKnotGeometry:TorusKnotGeometry,TorusKnotBufferGeometry:TorusKnotGeometry,TubeGeometry:TubeGeometry,TubeBufferGeometry:TubeGeometry,WireframeGeometry:WireframeGeometry});class ShadowMaterial extends Material{constructor(e){super();this.type=\"ShadowMaterial\";this.color=new Color(0);this.transparent=true;this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);return this}}ShadowMaterial.prototype.isShadowMaterial=true;class MeshStandardMaterial extends Material{constructor(e){super();this.defines={STANDARD:\"\"};this.type=\"MeshStandardMaterial\";this.color=new Color(16777215);this.roughness=1;this.metalness=0;this.map=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new Color(0);this.emissiveIntensity=1;this.emissiveMap=null;this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=Qt;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.roughnessMap=null;this.metalnessMap=null;this.alphaMap=null;this.envMap=null;this.envMapIntensity=1;this.refractionRatio=.98;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.flatShading=false;this.setValues(e)}copy(e){super.copy(e);this.defines={STANDARD:\"\"};this.color.copy(e.color);this.roughness=e.roughness;this.metalness=e.metalness;this.map=e.map;this.lightMap=e.lightMap;this.lightMapIntensity=e.lightMapIntensity;this.aoMap=e.aoMap;this.aoMapIntensity=e.aoMapIntensity;this.emissive.copy(e.emissive);this.emissiveMap=e.emissiveMap;this.emissiveIntensity=e.emissiveIntensity;this.bumpMap=e.bumpMap;this.bumpScale=e.bumpScale;this.normalMap=e.normalMap;this.normalMapType=e.normalMapType;this.normalScale.copy(e.normalScale);this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;this.roughnessMap=e.roughnessMap;this.metalnessMap=e.metalnessMap;this.alphaMap=e.alphaMap;this.envMap=e.envMap;this.envMapIntensity=e.envMapIntensity;this.refractionRatio=e.refractionRatio;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.wireframeLinecap=e.wireframeLinecap;this.wireframeLinejoin=e.wireframeLinejoin;this.flatShading=e.flatShading;return this}}MeshStandardMaterial.prototype.isMeshStandardMaterial=true;class MeshPhysicalMaterial extends MeshStandardMaterial{constructor(e){super();this.defines={STANDARD:\"\",PHYSICAL:\"\"};this.type=\"MeshPhysicalMaterial\";this.clearcoatMap=null;this.clearcoatRoughness=0;this.clearcoatRoughnessMap=null;this.clearcoatNormalScale=new Vector2(1,1);this.clearcoatNormalMap=null;this.ior=1.5;Object.defineProperty(this,\"reflectivity\",{get:function(){return clamp(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(e){this.ior=(1+.4*e)/(1-.4*e)}});this.sheenColor=new Color(0);this.sheenColorMap=null;this.sheenRoughness=1;this.sheenRoughnessMap=null;this.transmissionMap=null;this.thickness=0;this.thicknessMap=null;this.attenuationDistance=0;this.attenuationColor=new Color(1,1,1);this.specularIntensity=1;this.specularIntensityMap=null;this.specularColor=new Color(1,1,1);this.specularColorMap=null;this._sheen=0;this._clearcoat=0;this._transmission=0;this.setValues(e)}get sheen(){return this._sheen}set sheen(e){this._sheen>0!==e>0&&this.version++;this._sheen=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!==e>0&&this.version++;this._clearcoat=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!==e>0&&this.version++;this._transmission=e}copy(e){super.copy(e);this.defines={STANDARD:\"\",PHYSICAL:\"\"};this.clearcoat=e.clearcoat;this.clearcoatMap=e.clearcoatMap;this.clearcoatRoughness=e.clearcoatRoughness;this.clearcoatRoughnessMap=e.clearcoatRoughnessMap;this.clearcoatNormalMap=e.clearcoatNormalMap;this.clearcoatNormalScale.copy(e.clearcoatNormalScale);this.ior=e.ior;this.sheen=e.sheen;this.sheenColor.copy(e.sheenColor);this.sheenColorMap=e.sheenColorMap;this.sheenRoughness=e.sheenRoughness;this.sheenRoughnessMap=e.sheenRoughnessMap;this.transmission=e.transmission;this.transmissionMap=e.transmissionMap;this.thickness=e.thickness;this.thicknessMap=e.thicknessMap;this.attenuationDistance=e.attenuationDistance;this.attenuationColor.copy(e.attenuationColor);this.specularIntensity=e.specularIntensity;this.specularIntensityMap=e.specularIntensityMap;this.specularColor.copy(e.specularColor);this.specularColorMap=e.specularColorMap;return this}}MeshPhysicalMaterial.prototype.isMeshPhysicalMaterial=true;class MeshPhongMaterial extends Material{constructor(e){super();this.type=\"MeshPhongMaterial\";this.color=new Color(16777215);this.specular=new Color(1118481);this.shininess=30;this.map=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new Color(0);this.emissiveIntensity=1;this.emissiveMap=null;this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=Qt;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.specularMap=null;this.alphaMap=null;this.envMap=null;this.combine=X;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.flatShading=false;this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.specular.copy(e.specular);this.shininess=e.shininess;this.map=e.map;this.lightMap=e.lightMap;this.lightMapIntensity=e.lightMapIntensity;this.aoMap=e.aoMap;this.aoMapIntensity=e.aoMapIntensity;this.emissive.copy(e.emissive);this.emissiveMap=e.emissiveMap;this.emissiveIntensity=e.emissiveIntensity;this.bumpMap=e.bumpMap;this.bumpScale=e.bumpScale;this.normalMap=e.normalMap;this.normalMapType=e.normalMapType;this.normalScale.copy(e.normalScale);this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;this.specularMap=e.specularMap;this.alphaMap=e.alphaMap;this.envMap=e.envMap;this.combine=e.combine;this.reflectivity=e.reflectivity;this.refractionRatio=e.refractionRatio;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.wireframeLinecap=e.wireframeLinecap;this.wireframeLinejoin=e.wireframeLinejoin;this.flatShading=e.flatShading;return this}}MeshPhongMaterial.prototype.isMeshPhongMaterial=true;class MeshToonMaterial extends Material{constructor(e){super();this.defines={TOON:\"\"};this.type=\"MeshToonMaterial\";this.color=new Color(16777215);this.map=null;this.gradientMap=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new Color(0);this.emissiveIntensity=1;this.emissiveMap=null;this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=Qt;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.alphaMap=null;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.map=e.map;this.gradientMap=e.gradientMap;this.lightMap=e.lightMap;this.lightMapIntensity=e.lightMapIntensity;this.aoMap=e.aoMap;this.aoMapIntensity=e.aoMapIntensity;this.emissive.copy(e.emissive);this.emissiveMap=e.emissiveMap;this.emissiveIntensity=e.emissiveIntensity;this.bumpMap=e.bumpMap;this.bumpScale=e.bumpScale;this.normalMap=e.normalMap;this.normalMapType=e.normalMapType;this.normalScale.copy(e.normalScale);this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;this.alphaMap=e.alphaMap;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.wireframeLinecap=e.wireframeLinecap;this.wireframeLinejoin=e.wireframeLinejoin;return this}}MeshToonMaterial.prototype.isMeshToonMaterial=true;class MeshNormalMaterial extends Material{constructor(e){super();this.type=\"MeshNormalMaterial\";this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=Qt;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.wireframe=false;this.wireframeLinewidth=1;this.fog=false;this.flatShading=false;this.setValues(e)}copy(e){super.copy(e);this.bumpMap=e.bumpMap;this.bumpScale=e.bumpScale;this.normalMap=e.normalMap;this.normalMapType=e.normalMapType;this.normalScale.copy(e.normalScale);this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.flatShading=e.flatShading;return this}}MeshNormalMaterial.prototype.isMeshNormalMaterial=true;class MeshLambertMaterial extends Material{constructor(e){super();this.type=\"MeshLambertMaterial\";this.color=new Color(16777215);this.map=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new Color(0);this.emissiveIntensity=1;this.emissiveMap=null;this.specularMap=null;this.alphaMap=null;this.envMap=null;this.combine=X;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.map=e.map;this.lightMap=e.lightMap;this.lightMapIntensity=e.lightMapIntensity;this.aoMap=e.aoMap;this.aoMapIntensity=e.aoMapIntensity;this.emissive.copy(e.emissive);this.emissiveMap=e.emissiveMap;this.emissiveIntensity=e.emissiveIntensity;this.specularMap=e.specularMap;this.alphaMap=e.alphaMap;this.envMap=e.envMap;this.combine=e.combine;this.reflectivity=e.reflectivity;this.refractionRatio=e.refractionRatio;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.wireframeLinecap=e.wireframeLinecap;this.wireframeLinejoin=e.wireframeLinejoin;return this}}MeshLambertMaterial.prototype.isMeshLambertMaterial=true;class MeshMatcapMaterial extends Material{constructor(e){super();this.defines={MATCAP:\"\"};this.type=\"MeshMatcapMaterial\";this.color=new Color(16777215);this.matcap=null;this.map=null;this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=Qt;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.alphaMap=null;this.flatShading=false;this.setValues(e)}copy(e){super.copy(e);this.defines={MATCAP:\"\"};this.color.copy(e.color);this.matcap=e.matcap;this.map=e.map;this.bumpMap=e.bumpMap;this.bumpScale=e.bumpScale;this.normalMap=e.normalMap;this.normalMapType=e.normalMapType;this.normalScale.copy(e.normalScale);this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;this.alphaMap=e.alphaMap;this.flatShading=e.flatShading;return this}}MeshMatcapMaterial.prototype.isMeshMatcapMaterial=true;class LineDashedMaterial extends LineBasicMaterial{constructor(e){super();this.type=\"LineDashedMaterial\";this.scale=1;this.dashSize=3;this.gapSize=1;this.setValues(e)}copy(e){super.copy(e);this.scale=e.scale;this.dashSize=e.dashSize;this.gapSize=e.gapSize;return this}}LineDashedMaterial.prototype.isLineDashedMaterial=true;var Il=Object.freeze({__proto__:null,ShadowMaterial:ShadowMaterial,SpriteMaterial:SpriteMaterial,RawShaderMaterial:RawShaderMaterial,ShaderMaterial:ShaderMaterial,PointsMaterial:PointsMaterial,MeshPhysicalMaterial:MeshPhysicalMaterial,MeshStandardMaterial:MeshStandardMaterial,MeshPhongMaterial:MeshPhongMaterial,MeshToonMaterial:MeshToonMaterial,MeshNormalMaterial:MeshNormalMaterial,MeshLambertMaterial:MeshLambertMaterial,MeshDepthMaterial:MeshDepthMaterial,MeshDistanceMaterial:MeshDistanceMaterial,MeshBasicMaterial:MeshBasicMaterial,MeshMatcapMaterial:MeshMatcapMaterial,LineDashedMaterial:LineDashedMaterial,LineBasicMaterial:LineBasicMaterial,Material:Material});const Dl={arraySlice:function(e,t,n){return Dl.isTypedArray(e)?new e.constructor(e.subarray(t,void 0!==n?n:e.length)):e.slice(t,n)},convertArray:function(e,t,n){return!e||!n&&e.constructor===t?e:\"number\"===typeof t.BYTES_PER_ELEMENT?new t(e):Array.prototype.slice.call(e)},isTypedArray:function(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)},getKeyframeOrder:function(e){function compareTime(t,n){return e[t]-e[n]}const t=e.length;const n=new Array(t);for(let e=0;e!==t;++e)n[e]=e;n.sort(compareTime);return n},sortedArray:function(e,t,n){const r=e.length;const i=new e.constructor(r);for(let s=0,a=0;a!==r;++s){const r=n[s]*t;for(let n=0;n!==t;++n)i[a++]=e[r+n]}return i},flattenJSON:function(e,t,n,r){let i=1,s=e[0];while(void 0!==s&&void 0===s[r])s=e[i++];if(void 0===s)return;let a=s[r];if(void 0!==a)if(Array.isArray(a))do{a=s[r];if(void 0!==a){t.push(s.time);n.push.apply(n,a)}s=e[i++]}while(void 0!==s);else if(void 0!==a.toArray)do{a=s[r];if(void 0!==a){t.push(s.time);a.toArray(n,n.length)}s=e[i++]}while(void 0!==s);else do{a=s[r];if(void 0!==a){t.push(s.time);n.push(a)}s=e[i++]}while(void 0!==s)},subclip:function(e,t,n,r,i=30){const s=e.clone();s.name=t;const a=[];for(let e=0;e<s.tracks.length;++e){const t=s.tracks[e];const o=t.getValueSize();const l=[];const c=[];for(let e=0;e<t.times.length;++e){const s=t.times[e]*i;if(!(s<n||s>=r)){l.push(t.times[e]);for(let n=0;n<o;++n)c.push(t.values[e*o+n])}}if(0!==l.length){t.times=Dl.convertArray(l,t.times.constructor);t.values=Dl.convertArray(c,t.values.constructor);a.push(t)}}s.tracks=a;let o=Infinity;for(let e=0;e<s.tracks.length;++e)o>s.tracks[e].times[0]&&(o=s.tracks[e].times[0]);for(let e=0;e<s.tracks.length;++e)s.tracks[e].shift(-1*o);s.resetDuration();return s},makeClipAdditive:function(e,t=0,n=e,r=30){r<=0&&(r=30);const i=n.tracks.length;const s=t/r;for(let t=0;t<i;++t){const r=n.tracks[t];const i=r.ValueTypeName;if(\"bool\"===i||\"string\"===i)continue;const a=e.tracks.find((function(e){return e.name===r.name&&e.ValueTypeName===i}));if(void 0===a)continue;let o=0;const l=r.getValueSize();r.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(o=l/3);let c=0;const u=a.getValueSize();a.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(c=u/3);const h=r.times.length-1;let d;if(s<=r.times[0]){const e=o;const t=l-o;d=Dl.arraySlice(r.values,e,t)}else if(s>=r.times[h]){const e=h*l+o;const t=e+l-o;d=Dl.arraySlice(r.values,e,t)}else{const e=r.createInterpolant();const t=o;const n=l-o;e.evaluate(s);d=Dl.arraySlice(e.resultBuffer,t,n)}if(\"quaternion\"===i){const e=(new Quaternion).fromArray(d).normalize().conjugate();e.toArray(d)}const p=a.times.length;for(let e=0;e<p;++e){const t=e*u+c;if(\"quaternion\"===i)Quaternion.multiplyQuaternionsFlat(a.values,t,d,0,a.values,t);else{const e=u-2*c;for(let n=0;n<e;++n)a.values[t+n]-=d[n]}}}e.blendMode=kt;return e}};class Interpolant{constructor(e,t,n,r){this.parameterPositions=e;this._cachedIndex=0;this.resultBuffer=void 0!==r?r:new t.constructor(n);this.sampleValues=t;this.valueSize=n;this.settings=null;this.DefaultSettings_={}}evaluate(e){const t=this.parameterPositions;let n=this._cachedIndex,r=t[n],i=t[n-1];e:{t:{let s;n:{r:if(!(e<r)){for(let s=n+2;;){if(void 0===r){if(e<i)break r;n=t.length;this._cachedIndex=n;return this.afterEnd_(n-1,e,i)}if(n===s)break;i=r;r=t[++n];if(e<r)break t}s=t.length;break n}if(e>=i)break e;{const a=t[1];if(e<a){n=2;i=a}for(let s=n-2;;){if(void 0===i){this._cachedIndex=0;return this.beforeStart_(0,e,r)}if(n===s)break;r=i;i=t[--n-1];if(e>=i)break t}s=n;n=0}}while(n<s){const r=n+s>>>1;e<t[r]?s=r:n=r+1}r=t[n];i=t[n-1];if(void 0===i){this._cachedIndex=0;return this.beforeStart_(0,e,r)}if(void 0===r){n=t.length;this._cachedIndex=n;return this.afterEnd_(n-1,i,e)}}this._cachedIndex=n;this.intervalChanged_(n,i,r)}return this.interpolate_(n,i,e,r)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(e){const t=this.resultBuffer,n=this.sampleValues,r=this.valueSize,i=e*r;for(let e=0;e!==r;++e)t[e]=n[i+e];return t}interpolate_(){throw new Error(\"call to abstract method\")}intervalChanged_(){}}Interpolant.prototype.beforeStart_=Interpolant.prototype.copySampleValue_;Interpolant.prototype.afterEnd_=Interpolant.prototype.copySampleValue_;class CubicInterpolant extends Interpolant{constructor(e,t,n,r){super(e,t,n,r);this._weightPrev=-0;this._offsetPrev=-0;this._weightNext=-0;this._offsetNext=-0;this.DefaultSettings_={endingStart:Gt,endingEnd:Gt}}intervalChanged_(e,t,n){const r=this.parameterPositions;let i=e-2,s=e+1,a=r[i],o=r[s];if(void 0===a)switch(this.getSettings_().endingStart){case Ft:i=e;a=2*t-n;break;case Ot:i=r.length-2;a=t+r[i]-r[i+1];break;default:i=e;a=n}if(void 0===o)switch(this.getSettings_().endingEnd){case Ft:s=e;o=2*n-t;break;case Ot:s=1;o=n+r[1]-r[0];break;default:s=e-1;o=t}const l=.5*(n-t),c=this.valueSize;this._weightPrev=l/(t-a);this._weightNext=l/(o-n);this._offsetPrev=i*c;this._offsetNext=s*c}interpolate_(e,t,n,r){const i=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=e*a,l=o-a,c=this._offsetPrev,u=this._offsetNext,h=this._weightPrev,d=this._weightNext,p=(n-t)/(r-t),f=p*p,m=f*p;const g=-h*m+2*h*f-h*p;const y=(1+h)*m+(-1.5-2*h)*f+(-.5+h)*p+1;const x=(-1-d)*m+(1.5+d)*f+.5*p;const b=d*m-d*f;for(let e=0;e!==a;++e)i[e]=g*s[c+e]+y*s[l+e]+x*s[o+e]+b*s[u+e];return i}}class LinearInterpolant extends Interpolant{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){const i=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=e*a,l=o-a,c=(n-t)/(r-t),u=1-c;for(let e=0;e!==a;++e)i[e]=s[l+e]*u+s[o+e]*c;return i}}class DiscreteInterpolant extends Interpolant{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e){return this.copySampleValue_(e-1)}}class KeyframeTrack{constructor(e,t,n,r){if(void 0===e)throw new Error(\"THREE.KeyframeTrack: track name is undefined\");if(void 0===t||0===t.length)throw new Error(\"THREE.KeyframeTrack: no keyframes in track named \"+e);this.name=e;this.times=Dl.convertArray(t,this.TimeBufferType);this.values=Dl.convertArray(n,this.ValueBufferType);this.setInterpolation(r||this.DefaultInterpolation)}static toJSON(e){const t=e.constructor;let n;if(t.toJSON!==this.toJSON)n=t.toJSON(e);else{n={name:e.name,times:Dl.convertArray(e.times,Array),values:Dl.convertArray(e.values,Array)};const t=e.getInterpolation();t!==e.DefaultInterpolation&&(n.interpolation=t)}n.type=e.ValueTypeName;return n}InterpolantFactoryMethodDiscrete(e){return new DiscreteInterpolant(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodLinear(e){return new LinearInterpolant(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodSmooth(e){return new CubicInterpolant(this.times,this.values,this.getValueSize(),e)}setInterpolation(e){let t;switch(e){case Nt:t=this.InterpolantFactoryMethodDiscrete;break;case Ut:t=this.InterpolantFactoryMethodLinear;break;case zt:t=this.InterpolantFactoryMethodSmooth;break}if(void 0===t){const t=\"unsupported interpolation for \"+this.ValueTypeName+\" keyframe track named \"+this.name;if(void 0===this.createInterpolant){if(e===this.DefaultInterpolation)throw new Error(t);this.setInterpolation(this.DefaultInterpolation)}console.warn(\"THREE.KeyframeTrack:\",t);return this}this.createInterpolant=t;return this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return Nt;case this.InterpolantFactoryMethodLinear:return Ut;case this.InterpolantFactoryMethodSmooth:return zt}}getValueSize(){return this.values.length/this.times.length}shift(e){if(0!==e){const t=this.times;for(let n=0,r=t.length;n!==r;++n)t[n]+=e}return this}scale(e){if(1!==e){const t=this.times;for(let n=0,r=t.length;n!==r;++n)t[n]*=e}return this}trim(e,t){const n=this.times,r=n.length;let i=0,s=r-1;while(i!==r&&n[i]<e)++i;while(-1!==s&&n[s]>t)--s;++s;if(0!==i||s!==r){if(i>=s){s=Math.max(s,1);i=s-1}const e=this.getValueSize();this.times=Dl.arraySlice(n,i,s);this.values=Dl.arraySlice(this.values,i*e,s*e)}return this}validate(){let e=true;const t=this.getValueSize();if(t-Math.floor(t)!==0){console.error(\"THREE.KeyframeTrack: Invalid value size in track.\",this);e=false}const n=this.times,r=this.values,i=n.length;if(0===i){console.error(\"THREE.KeyframeTrack: Track is empty.\",this);e=false}let s=null;for(let t=0;t!==i;t++){const r=n[t];if(\"number\"===typeof r&&isNaN(r)){console.error(\"THREE.KeyframeTrack: Time is not a valid number.\",this,t,r);e=false;break}if(null!==s&&s>r){console.error(\"THREE.KeyframeTrack: Out of order keys.\",this,t,r,s);e=false;break}s=r}if(void 0!==r&&Dl.isTypedArray(r))for(let t=0,n=r.length;t!==n;++t){const n=r[t];if(isNaN(n)){console.error(\"THREE.KeyframeTrack: Value is not a valid number.\",this,t,n);e=false;break}}return e}optimize(){const e=Dl.arraySlice(this.times),t=Dl.arraySlice(this.values),n=this.getValueSize(),r=this.getInterpolation()===zt,i=e.length-1;let s=1;for(let a=1;a<i;++a){let i=false;const o=e[a];const l=e[a+1];if(o!==l&&(1!==a||o!==e[0]))if(r)i=true;else{const e=a*n,r=e-n,s=e+n;for(let a=0;a!==n;++a){const n=t[e+a];if(n!==t[r+a]||n!==t[s+a]){i=true;break}}}if(i){if(a!==s){e[s]=e[a];const r=a*n,i=s*n;for(let e=0;e!==n;++e)t[i+e]=t[r+e]}++s}}if(i>0){e[s]=e[i];for(let e=i*n,r=s*n,a=0;a!==n;++a)t[r+a]=t[e+a];++s}if(s!==e.length){this.times=Dl.arraySlice(e,0,s);this.values=Dl.arraySlice(t,0,s*n)}else{this.times=e;this.values=t}return this}clone(){const e=Dl.arraySlice(this.times,0);const t=Dl.arraySlice(this.values,0);const n=this.constructor;const r=new n(this.name,e,t);r.createInterpolant=this.createInterpolant;return r}}KeyframeTrack.prototype.TimeBufferType=Float32Array;KeyframeTrack.prototype.ValueBufferType=Float32Array;KeyframeTrack.prototype.DefaultInterpolation=Ut;class BooleanKeyframeTrack extends KeyframeTrack{}BooleanKeyframeTrack.prototype.ValueTypeName=\"bool\";BooleanKeyframeTrack.prototype.ValueBufferType=Array;BooleanKeyframeTrack.prototype.DefaultInterpolation=Nt;BooleanKeyframeTrack.prototype.InterpolantFactoryMethodLinear=void 0;BooleanKeyframeTrack.prototype.InterpolantFactoryMethodSmooth=void 0;class ColorKeyframeTrack extends KeyframeTrack{}ColorKeyframeTrack.prototype.ValueTypeName=\"color\";class NumberKeyframeTrack extends KeyframeTrack{}NumberKeyframeTrack.prototype.ValueTypeName=\"number\";class QuaternionLinearInterpolant extends Interpolant{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){const i=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=(n-t)/(r-t);let l=e*a;for(let e=l+a;l!==e;l+=4)Quaternion.slerpFlat(i,0,s,l-a,s,l,o);return i}}class QuaternionKeyframeTrack extends KeyframeTrack{InterpolantFactoryMethodLinear(e){return new QuaternionLinearInterpolant(this.times,this.values,this.getValueSize(),e)}}QuaternionKeyframeTrack.prototype.ValueTypeName=\"quaternion\";QuaternionKeyframeTrack.prototype.DefaultInterpolation=Ut;QuaternionKeyframeTrack.prototype.InterpolantFactoryMethodSmooth=void 0;class StringKeyframeTrack extends KeyframeTrack{}StringKeyframeTrack.prototype.ValueTypeName=\"string\";StringKeyframeTrack.prototype.ValueBufferType=Array;StringKeyframeTrack.prototype.DefaultInterpolation=Nt;StringKeyframeTrack.prototype.InterpolantFactoryMethodLinear=void 0;StringKeyframeTrack.prototype.InterpolantFactoryMethodSmooth=void 0;class VectorKeyframeTrack extends KeyframeTrack{}VectorKeyframeTrack.prototype.ValueTypeName=\"vector\";class AnimationClip{constructor(e,t=-1,n,r=Ht){this.name=e;this.tracks=n;this.duration=t;this.blendMode=r;this.uuid=generateUUID();this.duration<0&&this.resetDuration()}static parse(e){const t=[],n=e.tracks,r=1/(e.fps||1);for(let e=0,i=n.length;e!==i;++e)t.push(parseKeyframeTrack(n[e]).scale(r));const i=new this(e.name,e.duration,t,e.blendMode);i.uuid=e.uuid;return i}static toJSON(e){const t=[],n=e.tracks;const r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let e=0,r=n.length;e!==r;++e)t.push(KeyframeTrack.toJSON(n[e]));return r}static CreateFromMorphTargetSequence(e,t,n,r){const i=t.length;const s=[];for(let e=0;e<i;e++){let a=[];let o=[];a.push((e+i-1)%i,e,(e+1)%i);o.push(0,1,0);const l=Dl.getKeyframeOrder(a);a=Dl.sortedArray(a,1,l);o=Dl.sortedArray(o,1,l);if(!r&&0===a[0]){a.push(i);o.push(o[0])}s.push(new NumberKeyframeTrack(\".morphTargetInfluences[\"+t[e].name+\"]\",a,o).scale(1/n))}return new this(e,-1,s)}static findByName(e,t){let n=e;if(!Array.isArray(e)){const t=e;n=t.geometry&&t.geometry.animations||t.animations}for(let e=0;e<n.length;e++)if(n[e].name===t)return n[e];return null}static CreateClipsFromMorphTargetSequences(e,t,n){const r={};const i=/^([\\w-]*?)([\\d]+)$/;for(let t=0,n=e.length;t<n;t++){const n=e[t];const s=n.name.match(i);if(s&&s.length>1){const e=s[1];let t=r[e];t||(r[e]=t=[]);t.push(n)}}const s=[];for(const e in r)s.push(this.CreateFromMorphTargetSequence(e,r[e],t,n));return s}static parseAnimation(e,t){if(!e){console.error(\"THREE.AnimationClip: No animation in JSONLoader data.\");return null}const addNonemptyTrack=function(e,t,n,r,i){if(0!==n.length){const s=[];const a=[];Dl.flattenJSON(n,s,a,r);0!==s.length&&i.push(new e(t,s,a))}};const n=[];const r=e.name||\"default\";const i=e.fps||30;const s=e.blendMode;let a=e.length||-1;const o=e.hierarchy||[];for(let e=0;e<o.length;e++){const r=o[e].keys;if(r&&0!==r.length)if(r[0].morphTargets){const e={};let t;for(t=0;t<r.length;t++)if(r[t].morphTargets)for(let n=0;n<r[t].morphTargets.length;n++)e[r[t].morphTargets[n]]=-1;for(const i in e){const e=[];const s=[];for(let n=0;n!==r[t].morphTargets.length;++n){const n=r[t];e.push(n.time);s.push(n.morphTarget===i?1:0)}n.push(new NumberKeyframeTrack(\".morphTargetInfluence[\"+i+\"]\",e,s))}a=e.length*(i||1)}else{const i=\".bones[\"+t[e].name+\"]\";addNonemptyTrack(VectorKeyframeTrack,i+\".position\",r,\"pos\",n);addNonemptyTrack(QuaternionKeyframeTrack,i+\".quaternion\",r,\"rot\",n);addNonemptyTrack(VectorKeyframeTrack,i+\".scale\",r,\"scl\",n)}}if(0===n.length)return null;const l=new this(r,a,n,s);return l}resetDuration(){const e=this.tracks;let t=0;for(let n=0,r=e.length;n!==r;++n){const e=this.tracks[n];t=Math.max(t,e.times[e.times.length-1])}this.duration=t;return this}trim(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].trim(0,this.duration);return this}validate(){let e=true;for(let t=0;t<this.tracks.length;t++)e=e&&this.tracks[t].validate();return e}optimize(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].optimize();return this}clone(){const e=[];for(let t=0;t<this.tracks.length;t++)e.push(this.tracks[t].clone());return new this.constructor(this.name,this.duration,e,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}}function getTrackTypeForValueTypeName(e){switch(e.toLowerCase()){case\"scalar\":case\"double\":case\"float\":case\"number\":case\"integer\":return NumberKeyframeTrack;case\"vector\":case\"vector2\":case\"vector3\":case\"vector4\":return VectorKeyframeTrack;case\"color\":return ColorKeyframeTrack;case\"quaternion\":return QuaternionKeyframeTrack;case\"bool\":case\"boolean\":return BooleanKeyframeTrack;case\"string\":return StringKeyframeTrack}throw new Error(\"THREE.KeyframeTrack: Unsupported typeName: \"+e)}function parseKeyframeTrack(e){if(void 0===e.type)throw new Error(\"THREE.KeyframeTrack: track type undefined, can not parse\");const t=getTrackTypeForValueTypeName(e.type);if(void 0===e.times){const t=[],n=[];Dl.flattenJSON(e.keys,t,n,\"value\");e.times=t;e.values=n}return void 0!==t.parse?t.parse(e):new t(e.name,e.times,e.values,e.interpolation)}const Bl={enabled:false,files:{},add:function(e,t){false!==this.enabled&&(this.files[e]=t)},get:function(e){if(false!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}};class LoadingManager{constructor(e,t,n){const r=this;let i=false;let s=0;let a=0;let o;const l=[];this.onStart=void 0;this.onLoad=e;this.onProgress=t;this.onError=n;this.itemStart=function(e){a++;false===i&&void 0!==r.onStart&&r.onStart(e,s,a);i=true};this.itemEnd=function(e){s++;void 0!==r.onProgress&&r.onProgress(e,s,a);if(s===a){i=false;void 0!==r.onLoad&&r.onLoad()}};this.itemError=function(e){void 0!==r.onError&&r.onError(e)};this.resolveURL=function(e){return o?o(e):e};this.setURLModifier=function(e){o=e;return this};this.addHandler=function(e,t){l.push(e,t);return this};this.removeHandler=function(e){const t=l.indexOf(e);-1!==t&&l.splice(t,2);return this};this.getHandler=function(e){for(let t=0,n=l.length;t<n;t+=2){const n=l[t];const r=l[t+1];n.global&&(n.lastIndex=0);if(n.test(e))return r}return null}}}const Vl=new LoadingManager;class Loader{constructor(e){this.manager=void 0!==e?e:Vl;this.crossOrigin=\"anonymous\";this.withCredentials=false;this.path=\"\";this.resourcePath=\"\";this.requestHeader={}}load(){}loadAsync(e,t){const n=this;return new Promise((function(r,i){n.load(e,r,t,i)}))}parse(){}setCrossOrigin(e){this.crossOrigin=e;return this}setWithCredentials(e){this.withCredentials=e;return this}setPath(e){this.path=e;return this}setResourcePath(e){this.resourcePath=e;return this}setRequestHeader(e){this.requestHeader=e;return this}}const Nl={};class FileLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){void 0===e&&(e=\"\");void 0!==this.path&&(e=this.path+e);e=this.manager.resolveURL(e);const i=Bl.get(e);if(void 0!==i){this.manager.itemStart(e);setTimeout((()=>{t&&t(i);this.manager.itemEnd(e)}),0);return i}if(void 0!==Nl[e]){Nl[e].push({onLoad:t,onProgress:n,onError:r});return}Nl[e]=[];Nl[e].push({onLoad:t,onProgress:n,onError:r});const s=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?\"include\":\"same-origin\"});fetch(s).then((t=>{if(200===t.status||0===t.status){0===t.status&&console.warn(\"THREE.FileLoader: HTTP Status 0 received.\");if(\"undefined\"===typeof ReadableStream||void 0===t.body.getReader)return t;const n=Nl[e];const r=t.body.getReader();const i=t.headers.get(\"Content-Length\");const s=i?parseInt(i):0;const a=0!==s;let o=0;const l=new ReadableStream({start(e){readData();function readData(){r.read().then((({done:t,value:r})=>{if(t)e.close();else{o+=r.byteLength;const t=new ProgressEvent(\"progress\",{lengthComputable:a,loaded:o,total:s});for(let e=0,r=n.length;e<r;e++){const r=n[e];r.onProgress&&r.onProgress(t)}e.enqueue(r);readData()}}))}}});return new Response(l)}throw Error(`fetch for \"${t.url}\" responded with ${t.status}: ${t.statusText}`)})).then((e=>{switch(this.responseType){case\"arraybuffer\":return e.arrayBuffer();case\"blob\":return e.blob();case\"document\":return e.text().then((e=>{const t=new DOMParser;return t.parseFromString(e,this.mimeType)}));case\"json\":return e.json();default:return e.text()}})).then((t=>{Bl.add(e,t);const n=Nl[e];delete Nl[e];for(let e=0,r=n.length;e<r;e++){const r=n[e];r.onLoad&&r.onLoad(t)}})).catch((t=>{const n=Nl[e];if(void 0===n){this.manager.itemError(e);throw t}delete Nl[e];for(let e=0,r=n.length;e<r;e++){const r=n[e];r.onError&&r.onError(t)}this.manager.itemError(e)})).finally((()=>{this.manager.itemEnd(e)}));this.manager.itemStart(e)}setResponseType(e){this.responseType=e;return this}setMimeType(e){this.mimeType=e;return this}}class AnimationLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=this;const s=new FileLoader(this.manager);s.setPath(this.path);s.setRequestHeader(this.requestHeader);s.setWithCredentials(this.withCredentials);s.load(e,(function(n){try{t(i.parse(JSON.parse(n)))}catch(t){r?r(t):console.error(t);i.manager.itemError(e)}}),n,r)}parse(e){const t=[];for(let n=0;n<e.length;n++){const r=AnimationClip.parse(e[n]);t.push(r)}return t}}class CompressedTextureLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=this;const s=[];const a=new CompressedTexture;const o=new FileLoader(this.manager);o.setPath(this.path);o.setResponseType(\"arraybuffer\");o.setRequestHeader(this.requestHeader);o.setWithCredentials(i.withCredentials);let l=0;function loadTexture(c){o.load(e[c],(function(e){const n=i.parse(e,true);s[c]={width:n.width,height:n.height,format:n.format,mipmaps:n.mipmaps};l+=1;if(6===l){1===n.mipmapCount&&(a.minFilter=ye);a.image=s;a.format=n.format;a.needsUpdate=true;t&&t(a)}}),n,r)}if(Array.isArray(e))for(let t=0,n=e.length;t<n;++t)loadTexture(t);else o.load(e,(function(e){const n=i.parse(e,true);if(n.isCubemap){const e=n.mipmaps.length/n.mipmapCount;for(let t=0;t<e;t++){s[t]={mipmaps:[]};for(let e=0;e<n.mipmapCount;e++){s[t].mipmaps.push(n.mipmaps[t*n.mipmapCount+e]);s[t].format=n.format;s[t].width=n.width;s[t].height=n.height}}a.image=s}else{a.image.width=n.width;a.image.height=n.height;a.mipmaps=n.mipmaps}1===n.mipmapCount&&(a.minFilter=ye);a.format=n.format;a.needsUpdate=true;t&&t(a)}),n,r);return a}}class ImageLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){void 0!==this.path&&(e=this.path+e);e=this.manager.resolveURL(e);const i=this;const s=Bl.get(e);if(void 0!==s){i.manager.itemStart(e);setTimeout((function(){t&&t(s);i.manager.itemEnd(e)}),0);return s}const a=createElementNS(\"img\");function onImageLoad(){removeEventListeners();Bl.add(e,this);t&&t(this);i.manager.itemEnd(e)}function onImageError(t){removeEventListeners();r&&r(t);i.manager.itemError(e);i.manager.itemEnd(e)}function removeEventListeners(){a.removeEventListener(\"load\",onImageLoad,false);a.removeEventListener(\"error\",onImageError,false)}a.addEventListener(\"load\",onImageLoad,false);a.addEventListener(\"error\",onImageError,false);\"data:\"!==e.substr(0,5)&&void 0!==this.crossOrigin&&(a.crossOrigin=this.crossOrigin);i.manager.itemStart(e);a.src=e;return a}}class CubeTextureLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=new CubeTexture;const s=new ImageLoader(this.manager);s.setCrossOrigin(this.crossOrigin);s.setPath(this.path);let a=0;function loadTexture(n){s.load(e[n],(function(e){i.images[n]=e;a++;if(6===a){i.needsUpdate=true;t&&t(i)}}),void 0,r)}for(let t=0;t<e.length;++t)loadTexture(t);return i}}class DataTextureLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=this;const s=new DataTexture;const a=new FileLoader(this.manager);a.setResponseType(\"arraybuffer\");a.setRequestHeader(this.requestHeader);a.setPath(this.path);a.setWithCredentials(i.withCredentials);a.load(e,(function(e){const n=i.parse(e);if(n){if(void 0!==n.image)s.image=n.image;else if(void 0!==n.data){s.image.width=n.width;s.image.height=n.height;s.image.data=n.data}s.wrapS=void 0!==n.wrapS?n.wrapS:ue;s.wrapT=void 0!==n.wrapT?n.wrapT:ue;s.magFilter=void 0!==n.magFilter?n.magFilter:ye;s.minFilter=void 0!==n.minFilter?n.minFilter:ye;s.anisotropy=void 0!==n.anisotropy?n.anisotropy:1;void 0!==n.encoding&&(s.encoding=n.encoding);void 0!==n.flipY&&(s.flipY=n.flipY);void 0!==n.format&&(s.format=n.format);void 0!==n.type&&(s.type=n.type);if(void 0!==n.mipmaps){s.mipmaps=n.mipmaps;s.minFilter=be}1===n.mipmapCount&&(s.minFilter=ye);void 0!==n.generateMipmaps&&(s.generateMipmaps=n.generateMipmaps);s.needsUpdate=true;t&&t(s,n)}}),n,r);return s}}class TextureLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=new Texture;const s=new ImageLoader(this.manager);s.setCrossOrigin(this.crossOrigin);s.setPath(this.path);s.load(e,(function(e){i.image=e;i.needsUpdate=true;void 0!==t&&t(i)}),n,r);return i}}class Light extends Object3D{constructor(e,t=1){super();this.type=\"Light\";this.color=new Color(e);this.intensity=t}dispose(){}copy(e){super.copy(e);this.color.copy(e.color);this.intensity=e.intensity;return this}toJSON(e){const t=super.toJSON(e);t.object.color=this.color.getHex();t.object.intensity=this.intensity;void 0!==this.groundColor&&(t.object.groundColor=this.groundColor.getHex());void 0!==this.distance&&(t.object.distance=this.distance);void 0!==this.angle&&(t.object.angle=this.angle);void 0!==this.decay&&(t.object.decay=this.decay);void 0!==this.penumbra&&(t.object.penumbra=this.penumbra);void 0!==this.shadow&&(t.object.shadow=this.shadow.toJSON());return t}}Light.prototype.isLight=true;class HemisphereLight extends Light{constructor(e,t,n){super(e,n);this.type=\"HemisphereLight\";this.position.copy(Object3D.DefaultUp);this.updateMatrix();this.groundColor=new Color(t)}copy(e){Light.prototype.copy.call(this,e);this.groundColor.copy(e.groundColor);return this}}HemisphereLight.prototype.isHemisphereLight=true;const Ul=new Matrix4;const zl=new Vector3;const Gl=new Vector3;class LightShadow{constructor(e){this.camera=e;this.bias=0;this.normalBias=0;this.radius=1;this.blurSamples=8;this.mapSize=new Vector2(512,512);this.map=null;this.mapPass=null;this.matrix=new Matrix4;this.autoUpdate=true;this.needsUpdate=false;this._frustum=new Frustum;this._frameExtents=new Vector2(1,1);this._viewportCount=1;this._viewports=[new Vector4(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){const t=this.camera;const n=this.matrix;zl.setFromMatrixPosition(e.matrixWorld);t.position.copy(zl);Gl.setFromMatrixPosition(e.target.matrixWorld);t.lookAt(Gl);t.updateMatrixWorld();Ul.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse);this._frustum.setFromProjectionMatrix(Ul);n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);n.multiply(t.projectionMatrix);n.multiply(t.matrixWorldInverse)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose();this.mapPass&&this.mapPass.dispose()}copy(e){this.camera=e.camera.clone();this.bias=e.bias;this.radius=e.radius;this.mapSize.copy(e.mapSize);return this}clone(){return(new this.constructor).copy(this)}toJSON(){const e={};0!==this.bias&&(e.bias=this.bias);0!==this.normalBias&&(e.normalBias=this.normalBias);1!==this.radius&&(e.radius=this.radius);512===this.mapSize.x&&512===this.mapSize.y||(e.mapSize=this.mapSize.toArray());e.camera=this.camera.toJSON(false).object;delete e.camera.matrix;return e}}class SpotLightShadow extends LightShadow{constructor(){super(new PerspectiveCamera(50,1,.5,500));this.focus=1}updateMatrices(e){const t=this.camera;const n=2*Rn*e.angle*this.focus;const r=this.mapSize.width/this.mapSize.height;const i=e.distance||t.far;if(n!==t.fov||r!==t.aspect||i!==t.far){t.fov=n;t.aspect=r;t.far=i;t.updateProjectionMatrix()}super.updateMatrices(e)}copy(e){super.copy(e);this.focus=e.focus;return this}}SpotLightShadow.prototype.isSpotLightShadow=true;class SpotLight extends Light{constructor(e,t,n=0,r=Math.PI/3,i=0,s=1){super(e,t);this.type=\"SpotLight\";this.position.copy(Object3D.DefaultUp);this.updateMatrix();this.target=new Object3D;this.distance=n;this.angle=r;this.penumbra=i;this.decay=s;this.shadow=new SpotLightShadow}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e){super.copy(e);this.distance=e.distance;this.angle=e.angle;this.penumbra=e.penumbra;this.decay=e.decay;this.target=e.target.clone();this.shadow=e.shadow.clone();return this}}SpotLight.prototype.isSpotLight=true;const Fl=new Matrix4;const Ol=new Vector3;const Hl=new Vector3;class PointLightShadow extends LightShadow{constructor(){super(new PerspectiveCamera(90,1,.5,500));this._frameExtents=new Vector2(4,2);this._viewportCount=6;this._viewports=[new Vector4(2,1,1,1),new Vector4(0,1,1,1),new Vector4(3,1,1,1),new Vector4(1,1,1,1),new Vector4(3,0,1,1),new Vector4(1,0,1,1)];this._cubeDirections=[new Vector3(1,0,0),new Vector3(-1,0,0),new Vector3(0,0,1),new Vector3(0,0,-1),new Vector3(0,1,0),new Vector3(0,-1,0)];this._cubeUps=[new Vector3(0,1,0),new Vector3(0,1,0),new Vector3(0,1,0),new Vector3(0,1,0),new Vector3(0,0,1),new Vector3(0,0,-1)]}updateMatrices(e,t=0){const n=this.camera;const r=this.matrix;const i=e.distance||n.far;if(i!==n.far){n.far=i;n.updateProjectionMatrix()}Ol.setFromMatrixPosition(e.matrixWorld);n.position.copy(Ol);Hl.copy(n.position);Hl.add(this._cubeDirections[t]);n.up.copy(this._cubeUps[t]);n.lookAt(Hl);n.updateMatrixWorld();r.makeTranslation(-Ol.x,-Ol.y,-Ol.z);Fl.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse);this._frustum.setFromProjectionMatrix(Fl)}}PointLightShadow.prototype.isPointLightShadow=true;class PointLight extends Light{constructor(e,t,n=0,r=1){super(e,t);this.type=\"PointLight\";this.distance=n;this.decay=r;this.shadow=new PointLightShadow}get power(){return 4*this.intensity*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e){super.copy(e);this.distance=e.distance;this.decay=e.decay;this.shadow=e.shadow.clone();return this}}PointLight.prototype.isPointLight=true;class DirectionalLightShadow extends LightShadow{constructor(){super(new OrthographicCamera(-5,5,5,-5,.5,500))}}DirectionalLightShadow.prototype.isDirectionalLightShadow=true;class DirectionalLight extends Light{constructor(e,t){super(e,t);this.type=\"DirectionalLight\";this.position.copy(Object3D.DefaultUp);this.updateMatrix();this.target=new Object3D;this.shadow=new DirectionalLightShadow}dispose(){this.shadow.dispose()}copy(e){super.copy(e);this.target=e.target.clone();this.shadow=e.shadow.clone();return this}}DirectionalLight.prototype.isDirectionalLight=true;class AmbientLight extends Light{constructor(e,t){super(e,t);this.type=\"AmbientLight\"}}AmbientLight.prototype.isAmbientLight=true;class RectAreaLight extends Light{constructor(e,t,n=10,r=10){super(e,t);this.type=\"RectAreaLight\";this.width=n;this.height=r}get power(){return this.intensity*this.width*this.height*Math.PI}set power(e){this.intensity=e/(this.width*this.height*Math.PI)}copy(e){super.copy(e);this.width=e.width;this.height=e.height;return this}toJSON(e){const t=super.toJSON(e);t.object.width=this.width;t.object.height=this.height;return t}}RectAreaLight.prototype.isRectAreaLight=true;class SphericalHarmonics3{constructor(){this.coefficients=[];for(let e=0;e<9;e++)this.coefficients.push(new Vector3)}set(e){for(let t=0;t<9;t++)this.coefficients[t].copy(e[t]);return this}zero(){for(let e=0;e<9;e++)this.coefficients[e].set(0,0,0);return this}getAt(e,t){const n=e.x,r=e.y,i=e.z;const s=this.coefficients;t.copy(s[0]).multiplyScalar(.282095);t.addScaledVector(s[1],.488603*r);t.addScaledVector(s[2],.488603*i);t.addScaledVector(s[3],.488603*n);t.addScaledVector(s[4],n*r*1.092548);t.addScaledVector(s[5],r*i*1.092548);t.addScaledVector(s[6],.315392*(3*i*i-1));t.addScaledVector(s[7],n*i*1.092548);t.addScaledVector(s[8],.546274*(n*n-r*r));return t}getIrradianceAt(e,t){const n=e.x,r=e.y,i=e.z;const s=this.coefficients;t.copy(s[0]).multiplyScalar(.886227);t.addScaledVector(s[1],1.023328*r);t.addScaledVector(s[2],1.023328*i);t.addScaledVector(s[3],1.023328*n);t.addScaledVector(s[4],.858086*n*r);t.addScaledVector(s[5],.858086*r*i);t.addScaledVector(s[6],.743125*i*i-.247708);t.addScaledVector(s[7],.858086*n*i);t.addScaledVector(s[8],.429043*(n*n-r*r));return t}add(e){for(let t=0;t<9;t++)this.coefficients[t].add(e.coefficients[t]);return this}addScaledSH(e,t){for(let n=0;n<9;n++)this.coefficients[n].addScaledVector(e.coefficients[n],t);return this}scale(e){for(let t=0;t<9;t++)this.coefficients[t].multiplyScalar(e);return this}lerp(e,t){for(let n=0;n<9;n++)this.coefficients[n].lerp(e.coefficients[n],t);return this}equals(e){for(let t=0;t<9;t++)if(!this.coefficients[t].equals(e.coefficients[t]))return false;return true}copy(e){return this.set(e.coefficients)}clone(){return(new this.constructor).copy(this)}fromArray(e,t=0){const n=this.coefficients;for(let r=0;r<9;r++)n[r].fromArray(e,t+3*r);return this}toArray(e=[],t=0){const n=this.coefficients;for(let r=0;r<9;r++)n[r].toArray(e,t+3*r);return e}static getBasisAt(e,t){const n=e.x,r=e.y,i=e.z;t[0]=.282095;t[1]=.488603*r;t[2]=.488603*i;t[3]=.488603*n;t[4]=1.092548*n*r;t[5]=1.092548*r*i;t[6]=.315392*(3*i*i-1);t[7]=1.092548*n*i;t[8]=.546274*(n*n-r*r)}}SphericalHarmonics3.prototype.isSphericalHarmonics3=true;class LightProbe extends Light{constructor(e=new SphericalHarmonics3,t=1){super(void 0,t);this.sh=e}copy(e){super.copy(e);this.sh.copy(e.sh);return this}fromJSON(e){this.intensity=e.intensity;this.sh.fromArray(e.sh);return this}toJSON(e){const t=super.toJSON(e);t.object.sh=this.sh.toArray();return t}}LightProbe.prototype.isLightProbe=true;class MaterialLoader extends Loader{constructor(e){super(e);this.textures={}}load(e,t,n,r){const i=this;const s=new FileLoader(i.manager);s.setPath(i.path);s.setRequestHeader(i.requestHeader);s.setWithCredentials(i.withCredentials);s.load(e,(function(n){try{t(i.parse(JSON.parse(n)))}catch(t){r?r(t):console.error(t);i.manager.itemError(e)}}),n,r)}parse(e){const t=this.textures;function getTexture(e){void 0===t[e]&&console.warn(\"THREE.MaterialLoader: Undefined texture\",e);return t[e]}const n=new Il[e.type];void 0!==e.uuid&&(n.uuid=e.uuid);void 0!==e.name&&(n.name=e.name);void 0!==e.color&&void 0!==n.color&&n.color.setHex(e.color);void 0!==e.roughness&&(n.roughness=e.roughness);void 0!==e.metalness&&(n.metalness=e.metalness);void 0!==e.sheen&&(n.sheen=e.sheen);void 0!==e.sheenColor&&(n.sheenColor=(new Color).setHex(e.sheenColor));void 0!==e.sheenRoughness&&(n.sheenRoughness=e.sheenRoughness);void 0!==e.emissive&&void 0!==n.emissive&&n.emissive.setHex(e.emissive);void 0!==e.specular&&void 0!==n.specular&&n.specular.setHex(e.specular);void 0!==e.specularIntensity&&(n.specularIntensity=e.specularIntensity);void 0!==e.specularColor&&void 0!==n.specularColor&&n.specularColor.setHex(e.specularColor);void 0!==e.shininess&&(n.shininess=e.shininess);void 0!==e.clearcoat&&(n.clearcoat=e.clearcoat);void 0!==e.clearcoatRoughness&&(n.clearcoatRoughness=e.clearcoatRoughness);void 0!==e.transmission&&(n.transmission=e.transmission);void 0!==e.thickness&&(n.thickness=e.thickness);void 0!==e.attenuationDistance&&(n.attenuationDistance=e.attenuationDistance);void 0!==e.attenuationColor&&void 0!==n.attenuationColor&&n.attenuationColor.setHex(e.attenuationColor);void 0!==e.fog&&(n.fog=e.fog);void 0!==e.flatShading&&(n.flatShading=e.flatShading);void 0!==e.blending&&(n.blending=e.blending);void 0!==e.combine&&(n.combine=e.combine);void 0!==e.side&&(n.side=e.side);void 0!==e.shadowSide&&(n.shadowSide=e.shadowSide);void 0!==e.opacity&&(n.opacity=e.opacity);void 0!==e.format&&(n.format=e.format);void 0!==e.transparent&&(n.transparent=e.transparent);void 0!==e.alphaTest&&(n.alphaTest=e.alphaTest);void 0!==e.depthTest&&(n.depthTest=e.depthTest);void 0!==e.depthWrite&&(n.depthWrite=e.depthWrite);void 0!==e.colorWrite&&(n.colorWrite=e.colorWrite);void 0!==e.stencilWrite&&(n.stencilWrite=e.stencilWrite);void 0!==e.stencilWriteMask&&(n.stencilWriteMask=e.stencilWriteMask);void 0!==e.stencilFunc&&(n.stencilFunc=e.stencilFunc);void 0!==e.stencilRef&&(n.stencilRef=e.stencilRef);void 0!==e.stencilFuncMask&&(n.stencilFuncMask=e.stencilFuncMask);void 0!==e.stencilFail&&(n.stencilFail=e.stencilFail);void 0!==e.stencilZFail&&(n.stencilZFail=e.stencilZFail);void 0!==e.stencilZPass&&(n.stencilZPass=e.stencilZPass);void 0!==e.wireframe&&(n.wireframe=e.wireframe);void 0!==e.wireframeLinewidth&&(n.wireframeLinewidth=e.wireframeLinewidth);void 0!==e.wireframeLinecap&&(n.wireframeLinecap=e.wireframeLinecap);void 0!==e.wireframeLinejoin&&(n.wireframeLinejoin=e.wireframeLinejoin);void 0!==e.rotation&&(n.rotation=e.rotation);1!==e.linewidth&&(n.linewidth=e.linewidth);void 0!==e.dashSize&&(n.dashSize=e.dashSize);void 0!==e.gapSize&&(n.gapSize=e.gapSize);void 0!==e.scale&&(n.scale=e.scale);void 0!==e.polygonOffset&&(n.polygonOffset=e.polygonOffset);void 0!==e.polygonOffsetFactor&&(n.polygonOffsetFactor=e.polygonOffsetFactor);void 0!==e.polygonOffsetUnits&&(n.polygonOffsetUnits=e.polygonOffsetUnits);void 0!==e.dithering&&(n.dithering=e.dithering);void 0!==e.alphaToCoverage&&(n.alphaToCoverage=e.alphaToCoverage);void 0!==e.premultipliedAlpha&&(n.premultipliedAlpha=e.premultipliedAlpha);void 0!==e.visible&&(n.visible=e.visible);void 0!==e.toneMapped&&(n.toneMapped=e.toneMapped);void 0!==e.userData&&(n.userData=e.userData);void 0!==e.vertexColors&&(\"number\"===typeof e.vertexColors?n.vertexColors=e.vertexColors>0:n.vertexColors=e.vertexColors);if(void 0!==e.uniforms)for(const t in e.uniforms){const r=e.uniforms[t];n.uniforms[t]={};switch(r.type){case\"t\":n.uniforms[t].value=getTexture(r.value);break;case\"c\":n.uniforms[t].value=(new Color).setHex(r.value);break;case\"v2\":n.uniforms[t].value=(new Vector2).fromArray(r.value);break;case\"v3\":n.uniforms[t].value=(new Vector3).fromArray(r.value);break;case\"v4\":n.uniforms[t].value=(new Vector4).fromArray(r.value);break;case\"m3\":n.uniforms[t].value=(new Matrix3).fromArray(r.value);break;case\"m4\":n.uniforms[t].value=(new Matrix4).fromArray(r.value);break;default:n.uniforms[t].value=r.value}}void 0!==e.defines&&(n.defines=e.defines);void 0!==e.vertexShader&&(n.vertexShader=e.vertexShader);void 0!==e.fragmentShader&&(n.fragmentShader=e.fragmentShader);if(void 0!==e.extensions)for(const t in e.extensions)n.extensions[t]=e.extensions[t];void 0!==e.shading&&(n.flatShading=1===e.shading);void 0!==e.size&&(n.size=e.size);void 0!==e.sizeAttenuation&&(n.sizeAttenuation=e.sizeAttenuation);void 0!==e.map&&(n.map=getTexture(e.map));void 0!==e.matcap&&(n.matcap=getTexture(e.matcap));void 0!==e.alphaMap&&(n.alphaMap=getTexture(e.alphaMap));void 0!==e.bumpMap&&(n.bumpMap=getTexture(e.bumpMap));void 0!==e.bumpScale&&(n.bumpScale=e.bumpScale);void 0!==e.normalMap&&(n.normalMap=getTexture(e.normalMap));void 0!==e.normalMapType&&(n.normalMapType=e.normalMapType);if(void 0!==e.normalScale){let t=e.normalScale;false===Array.isArray(t)&&(t=[t,t]);n.normalScale=(new Vector2).fromArray(t)}void 0!==e.displacementMap&&(n.displacementMap=getTexture(e.displacementMap));void 0!==e.displacementScale&&(n.displacementScale=e.displacementScale);void 0!==e.displacementBias&&(n.displacementBias=e.displacementBias);void 0!==e.roughnessMap&&(n.roughnessMap=getTexture(e.roughnessMap));void 0!==e.metalnessMap&&(n.metalnessMap=getTexture(e.metalnessMap));void 0!==e.emissiveMap&&(n.emissiveMap=getTexture(e.emissiveMap));void 0!==e.emissiveIntensity&&(n.emissiveIntensity=e.emissiveIntensity);void 0!==e.specularMap&&(n.specularMap=getTexture(e.specularMap));void 0!==e.specularIntensityMap&&(n.specularIntensityMap=getTexture(e.specularIntensityMap));void 0!==e.specularColorMap&&(n.specularColorMap=getTexture(e.specularColorMap));void 0!==e.envMap&&(n.envMap=getTexture(e.envMap));void 0!==e.envMapIntensity&&(n.envMapIntensity=e.envMapIntensity);void 0!==e.reflectivity&&(n.reflectivity=e.reflectivity);void 0!==e.refractionRatio&&(n.refractionRatio=e.refractionRatio);void 0!==e.lightMap&&(n.lightMap=getTexture(e.lightMap));void 0!==e.lightMapIntensity&&(n.lightMapIntensity=e.lightMapIntensity);void 0!==e.aoMap&&(n.aoMap=getTexture(e.aoMap));void 0!==e.aoMapIntensity&&(n.aoMapIntensity=e.aoMapIntensity);void 0!==e.gradientMap&&(n.gradientMap=getTexture(e.gradientMap));void 0!==e.clearcoatMap&&(n.clearcoatMap=getTexture(e.clearcoatMap));void 0!==e.clearcoatRoughnessMap&&(n.clearcoatRoughnessMap=getTexture(e.clearcoatRoughnessMap));void 0!==e.clearcoatNormalMap&&(n.clearcoatNormalMap=getTexture(e.clearcoatNormalMap));void 0!==e.clearcoatNormalScale&&(n.clearcoatNormalScale=(new Vector2).fromArray(e.clearcoatNormalScale));void 0!==e.transmissionMap&&(n.transmissionMap=getTexture(e.transmissionMap));void 0!==e.thicknessMap&&(n.thicknessMap=getTexture(e.thicknessMap));void 0!==e.sheenColorMap&&(n.sheenColorMap=getTexture(e.sheenColorMap));void 0!==e.sheenRoughnessMap&&(n.sheenRoughnessMap=getTexture(e.sheenRoughnessMap));return n}setTextures(e){this.textures=e;return this}}class LoaderUtils{static decodeText(e){if(\"undefined\"!==typeof TextDecoder)return(new TextDecoder).decode(e);let t=\"\";for(let n=0,r=e.length;n<r;n++)t+=String.fromCharCode(e[n]);try{return decodeURIComponent(escape(t))}catch(e){return t}}static extractUrlBase(e){const t=e.lastIndexOf(\"/\");return-1===t?\"./\":e.substr(0,t+1)}static resolveURL(e,t){if(\"string\"!==typeof e||\"\"===e)return\"\";/^https?:\\/\\//i.test(t)&&/^\\//.test(e)&&(t=t.replace(/(^https?:\\/\\/[^\\/]+).*/i,\"$1\"));return/^(https?:)?\\/\\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e}}class InstancedBufferGeometry extends BufferGeometry{constructor(){super();this.type=\"InstancedBufferGeometry\";this.instanceCount=Infinity}copy(e){super.copy(e);this.instanceCount=e.instanceCount;return this}clone(){return(new this.constructor).copy(this)}toJSON(){const e=super.toJSON(this);e.instanceCount=this.instanceCount;e.isInstancedBufferGeometry=true;return e}}InstancedBufferGeometry.prototype.isInstancedBufferGeometry=true;class BufferGeometryLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=this;const s=new FileLoader(i.manager);s.setPath(i.path);s.setRequestHeader(i.requestHeader);s.setWithCredentials(i.withCredentials);s.load(e,(function(n){try{t(i.parse(JSON.parse(n)))}catch(t){r?r(t):console.error(t);i.manager.itemError(e)}}),n,r)}parse(e){const t={};const n={};function getInterleavedBuffer(e,n){if(void 0!==t[n])return t[n];const r=e.interleavedBuffers;const i=r[n];const s=getArrayBuffer(e,i.buffer);const a=getTypedArray(i.type,s);const o=new InterleavedBuffer(a,i.stride);o.uuid=i.uuid;t[n]=o;return o}function getArrayBuffer(e,t){if(void 0!==n[t])return n[t];const r=e.arrayBuffers;const i=r[t];const s=new Uint32Array(i).buffer;n[t]=s;return s}const r=e.isInstancedBufferGeometry?new InstancedBufferGeometry:new BufferGeometry;const i=e.data.index;if(void 0!==i){const e=getTypedArray(i.type,i.array);r.setIndex(new BufferAttribute(e,1))}const s=e.data.attributes;for(const t in s){const n=s[t];let i;if(n.isInterleavedBufferAttribute){const t=getInterleavedBuffer(e.data,n.data);i=new InterleavedBufferAttribute(t,n.itemSize,n.offset,n.normalized)}else{const e=getTypedArray(n.type,n.array);const t=n.isInstancedBufferAttribute?InstancedBufferAttribute:BufferAttribute;i=new t(e,n.itemSize,n.normalized)}void 0!==n.name&&(i.name=n.name);void 0!==n.usage&&i.setUsage(n.usage);if(void 0!==n.updateRange){i.updateRange.offset=n.updateRange.offset;i.updateRange.count=n.updateRange.count}r.setAttribute(t,i)}const a=e.data.morphAttributes;if(a)for(const t in a){const n=a[t];const i=[];for(let t=0,r=n.length;t<r;t++){const r=n[t];let s;if(r.isInterleavedBufferAttribute){const t=getInterleavedBuffer(e.data,r.data);s=new InterleavedBufferAttribute(t,r.itemSize,r.offset,r.normalized)}else{const e=getTypedArray(r.type,r.array);s=new BufferAttribute(e,r.itemSize,r.normalized)}void 0!==r.name&&(s.name=r.name);i.push(s)}r.morphAttributes[t]=i}const o=e.data.morphTargetsRelative;o&&(r.morphTargetsRelative=true);const l=e.data.groups||e.data.drawcalls||e.data.offsets;if(void 0!==l)for(let e=0,t=l.length;e!==t;++e){const t=l[e];r.addGroup(t.start,t.count,t.materialIndex)}const c=e.data.boundingSphere;if(void 0!==c){const e=new Vector3;void 0!==c.center&&e.fromArray(c.center);r.boundingSphere=new Sphere(e,c.radius)}e.name&&(r.name=e.name);e.userData&&(r.userData=e.userData);return r}}class ObjectLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=this;const s=\"\"===this.path?LoaderUtils.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||s;const a=new FileLoader(this.manager);a.setPath(this.path);a.setRequestHeader(this.requestHeader);a.setWithCredentials(this.withCredentials);a.load(e,(function(n){let s=null;try{s=JSON.parse(n)}catch(t){void 0!==r&&r(t);console.error(\"THREE:ObjectLoader: Can't parse \"+e+\".\",t.message);return}const a=s.metadata;void 0!==a&&void 0!==a.type&&\"geometry\"!==a.type.toLowerCase()?i.parse(s,t):console.error(\"THREE.ObjectLoader: Can't load \"+e)}),n,r)}async loadAsync(e,t){const n=this;const r=\"\"===this.path?LoaderUtils.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||r;const i=new FileLoader(this.manager);i.setPath(this.path);i.setRequestHeader(this.requestHeader);i.setWithCredentials(this.withCredentials);const s=await i.loadAsync(e,t);const a=JSON.parse(s);const o=a.metadata;if(void 0===o||void 0===o.type||\"geometry\"===o.type.toLowerCase())throw new Error(\"THREE.ObjectLoader: Can't load \"+e);return await n.parseAsync(a)}parse(e,t){const n=this.parseAnimations(e.animations);const r=this.parseShapes(e.shapes);const i=this.parseGeometries(e.geometries,r);const s=this.parseImages(e.images,(function(){void 0!==t&&t(l)}));const a=this.parseTextures(e.textures,s);const o=this.parseMaterials(e.materials,a);const l=this.parseObject(e.object,i,o,a,n);const c=this.parseSkeletons(e.skeletons,l);this.bindSkeletons(l,c);if(void 0!==t){let e=false;for(const t in s)if(s[t]instanceof HTMLImageElement){e=true;break}false===e&&t(l)}return l}async parseAsync(e){const t=this.parseAnimations(e.animations);const n=this.parseShapes(e.shapes);const r=this.parseGeometries(e.geometries,n);const i=await this.parseImagesAsync(e.images);const s=this.parseTextures(e.textures,i);const a=this.parseMaterials(e.materials,s);const o=this.parseObject(e.object,r,a,s,t);const l=this.parseSkeletons(e.skeletons,o);this.bindSkeletons(o,l);return o}parseShapes(e){const t={};if(void 0!==e)for(let n=0,r=e.length;n<r;n++){const r=(new Shape).fromJSON(e[n]);t[r.uuid]=r}return t}parseSkeletons(e,t){const n={};const r={};t.traverse((function(e){e.isBone&&(r[e.uuid]=e)}));if(void 0!==e)for(let t=0,i=e.length;t<i;t++){const i=(new Skeleton).fromJSON(e[t],r);n[i.uuid]=i}return n}parseGeometries(e,t){const n={};if(void 0!==e){const r=new BufferGeometryLoader;for(let i=0,s=e.length;i<s;i++){let s;const a=e[i];switch(a.type){case\"BufferGeometry\":case\"InstancedBufferGeometry\":s=r.parse(a);break;case\"Geometry\":console.error(\"THREE.ObjectLoader: The legacy Geometry type is no longer supported.\");break;default:a.type in Pl?s=Pl[a.type].fromJSON(a,t):console.warn(`THREE.ObjectLoader: Unsupported geometry type \"${a.type}\"`)}s.uuid=a.uuid;void 0!==a.name&&(s.name=a.name);true===s.isBufferGeometry&&void 0!==a.userData&&(s.userData=a.userData);n[a.uuid]=s}}return n}parseMaterials(e,t){const n={};const r={};if(void 0!==e){const i=new MaterialLoader;i.setTextures(t);for(let t=0,s=e.length;t<s;t++){const s=e[t];if(\"MultiMaterial\"===s.type){const e=[];for(let t=0;t<s.materials.length;t++){const r=s.materials[t];void 0===n[r.uuid]&&(n[r.uuid]=i.parse(r));e.push(n[r.uuid])}r[s.uuid]=e}else{void 0===n[s.uuid]&&(n[s.uuid]=i.parse(s));r[s.uuid]=n[s.uuid]}}}return r}parseAnimations(e){const t={};if(void 0!==e)for(let n=0;n<e.length;n++){const r=e[n];const i=AnimationClip.parse(r);t[i.uuid]=i}return t}parseImages(e,t){const n=this;const r={};let i;function loadImage(e){n.manager.itemStart(e);return i.load(e,(function(){n.manager.itemEnd(e)}),void 0,(function(){n.manager.itemError(e);n.manager.itemEnd(e)}))}function deserializeImage(e){if(\"string\"===typeof e){const t=e;const r=/^(\\/\\/)|([a-z]+:(\\/\\/)?)/i.test(t)?t:n.resourcePath+t;return loadImage(r)}return e.data?{data:getTypedArray(e.type,e.data),width:e.width,height:e.height}:null}if(void 0!==e&&e.length>0){const n=new LoadingManager(t);i=new ImageLoader(n);i.setCrossOrigin(this.crossOrigin);for(let t=0,n=e.length;t<n;t++){const n=e[t];const i=n.url;if(Array.isArray(i)){r[n.uuid]=[];for(let e=0,t=i.length;e<t;e++){const t=i[e];const s=deserializeImage(t);null!==s&&(s instanceof HTMLImageElement?r[n.uuid].push(s):r[n.uuid].push(new DataTexture(s.data,s.width,s.height)))}}else{const e=deserializeImage(n.url);null!==e&&(r[n.uuid]=e)}}}return r}async parseImagesAsync(e){const t=this;const n={};let r;async function deserializeImage(e){if(\"string\"===typeof e){const n=e;const i=/^(\\/\\/)|([a-z]+:(\\/\\/)?)/i.test(n)?n:t.resourcePath+n;return await r.loadAsync(i)}return e.data?{data:getTypedArray(e.type,e.data),width:e.width,height:e.height}:null}if(void 0!==e&&e.length>0){r=new ImageLoader(this.manager);r.setCrossOrigin(this.crossOrigin);for(let t=0,r=e.length;t<r;t++){const r=e[t];const i=r.url;if(Array.isArray(i)){n[r.uuid]=[];for(let e=0,t=i.length;e<t;e++){const t=i[e];const s=await deserializeImage(t);null!==s&&(s instanceof HTMLImageElement?n[r.uuid].push(s):n[r.uuid].push(new DataTexture(s.data,s.width,s.height)))}}else{const e=await deserializeImage(r.url);null!==e&&(n[r.uuid]=e)}}}return n}parseTextures(e,t){function parseConstant(e,t){if(\"number\"===typeof e)return e;console.warn(\"THREE.ObjectLoader.parseTexture: Constant should be in numeric form.\",e);return t[e]}const n={};if(void 0!==e)for(let r=0,i=e.length;r<i;r++){const i=e[r];void 0===i.image&&console.warn('THREE.ObjectLoader: No \"image\" specified for',i.uuid);void 0===t[i.image]&&console.warn(\"THREE.ObjectLoader: Undefined image\",i.image);let s;const a=t[i.image];if(Array.isArray(a)){s=new CubeTexture(a);6===a.length&&(s.needsUpdate=true)}else{s=a&&a.data?new DataTexture(a.data,a.width,a.height):new Texture(a);a&&(s.needsUpdate=true)}s.uuid=i.uuid;void 0!==i.name&&(s.name=i.name);void 0!==i.mapping&&(s.mapping=parseConstant(i.mapping,kl));void 0!==i.offset&&s.offset.fromArray(i.offset);void 0!==i.repeat&&s.repeat.fromArray(i.repeat);void 0!==i.center&&s.center.fromArray(i.center);void 0!==i.rotation&&(s.rotation=i.rotation);if(void 0!==i.wrap){s.wrapS=parseConstant(i.wrap[0],Wl);s.wrapT=parseConstant(i.wrap[1],Wl)}void 0!==i.format&&(s.format=i.format);void 0!==i.type&&(s.type=i.type);void 0!==i.encoding&&(s.encoding=i.encoding);void 0!==i.minFilter&&(s.minFilter=parseConstant(i.minFilter,jl));void 0!==i.magFilter&&(s.magFilter=parseConstant(i.magFilter,jl));void 0!==i.anisotropy&&(s.anisotropy=i.anisotropy);void 0!==i.flipY&&(s.flipY=i.flipY);void 0!==i.premultiplyAlpha&&(s.premultiplyAlpha=i.premultiplyAlpha);void 0!==i.unpackAlignment&&(s.unpackAlignment=i.unpackAlignment);void 0!==i.userData&&(s.userData=i.userData);n[i.uuid]=s}return n}parseObject(e,t,n,r,i){let s;function getGeometry(e){void 0===t[e]&&console.warn(\"THREE.ObjectLoader: Undefined geometry\",e);return t[e]}function getMaterial(e){if(void 0!==e){if(Array.isArray(e)){const t=[];for(let r=0,i=e.length;r<i;r++){const i=e[r];void 0===n[i]&&console.warn(\"THREE.ObjectLoader: Undefined material\",i);t.push(n[i])}return t}void 0===n[e]&&console.warn(\"THREE.ObjectLoader: Undefined material\",e);return n[e]}}function getTexture(e){void 0===r[e]&&console.warn(\"THREE.ObjectLoader: Undefined texture\",e);return r[e]}let a,o;switch(e.type){case\"Scene\":s=new Scene;void 0!==e.background&&(Number.isInteger(e.background)?s.background=new Color(e.background):s.background=getTexture(e.background));void 0!==e.environment&&(s.environment=getTexture(e.environment));void 0!==e.fog&&(\"Fog\"===e.fog.type?s.fog=new Fog(e.fog.color,e.fog.near,e.fog.far):\"FogExp2\"===e.fog.type&&(s.fog=new FogExp2(e.fog.color,e.fog.density)));break;case\"PerspectiveCamera\":s=new PerspectiveCamera(e.fov,e.aspect,e.near,e.far);void 0!==e.focus&&(s.focus=e.focus);void 0!==e.zoom&&(s.zoom=e.zoom);void 0!==e.filmGauge&&(s.filmGauge=e.filmGauge);void 0!==e.filmOffset&&(s.filmOffset=e.filmOffset);void 0!==e.view&&(s.view=Object.assign({},e.view));break;case\"OrthographicCamera\":s=new OrthographicCamera(e.left,e.right,e.top,e.bottom,e.near,e.far);void 0!==e.zoom&&(s.zoom=e.zoom);void 0!==e.view&&(s.view=Object.assign({},e.view));break;case\"AmbientLight\":s=new AmbientLight(e.color,e.intensity);break;case\"DirectionalLight\":s=new DirectionalLight(e.color,e.intensity);break;case\"PointLight\":s=new PointLight(e.color,e.intensity,e.distance,e.decay);break;case\"RectAreaLight\":s=new RectAreaLight(e.color,e.intensity,e.width,e.height);break;case\"SpotLight\":s=new SpotLight(e.color,e.intensity,e.distance,e.angle,e.penumbra,e.decay);break;case\"HemisphereLight\":s=new HemisphereLight(e.color,e.groundColor,e.intensity);break;case\"LightProbe\":s=(new LightProbe).fromJSON(e);break;case\"SkinnedMesh\":a=getGeometry(e.geometry);o=getMaterial(e.material);s=new SkinnedMesh(a,o);void 0!==e.bindMode&&(s.bindMode=e.bindMode);void 0!==e.bindMatrix&&s.bindMatrix.fromArray(e.bindMatrix);void 0!==e.skeleton&&(s.skeleton=e.skeleton);break;case\"Mesh\":a=getGeometry(e.geometry);o=getMaterial(e.material);s=new Mesh(a,o);break;case\"InstancedMesh\":a=getGeometry(e.geometry);o=getMaterial(e.material);const t=e.count;const n=e.instanceMatrix;const r=e.instanceColor;s=new InstancedMesh(a,o,t);s.instanceMatrix=new InstancedBufferAttribute(new Float32Array(n.array),16);void 0!==r&&(s.instanceColor=new InstancedBufferAttribute(new Float32Array(r.array),r.itemSize));break;case\"LOD\":s=new LOD;break;case\"Line\":s=new Line(getGeometry(e.geometry),getMaterial(e.material));break;case\"LineLoop\":s=new LineLoop(getGeometry(e.geometry),getMaterial(e.material));break;case\"LineSegments\":s=new LineSegments(getGeometry(e.geometry),getMaterial(e.material));break;case\"PointCloud\":case\"Points\":s=new Points(getGeometry(e.geometry),getMaterial(e.material));break;case\"Sprite\":s=new Sprite(getMaterial(e.material));break;case\"Group\":s=new Group;break;case\"Bone\":s=new Bone;break;default:s=new Object3D}s.uuid=e.uuid;void 0!==e.name&&(s.name=e.name);if(void 0!==e.matrix){s.matrix.fromArray(e.matrix);void 0!==e.matrixAutoUpdate&&(s.matrixAutoUpdate=e.matrixAutoUpdate);s.matrixAutoUpdate&&s.matrix.decompose(s.position,s.quaternion,s.scale)}else{void 0!==e.position&&s.position.fromArray(e.position);void 0!==e.rotation&&s.rotation.fromArray(e.rotation);void 0!==e.quaternion&&s.quaternion.fromArray(e.quaternion);void 0!==e.scale&&s.scale.fromArray(e.scale)}void 0!==e.castShadow&&(s.castShadow=e.castShadow);void 0!==e.receiveShadow&&(s.receiveShadow=e.receiveShadow);if(e.shadow){void 0!==e.shadow.bias&&(s.shadow.bias=e.shadow.bias);void 0!==e.shadow.normalBias&&(s.shadow.normalBias=e.shadow.normalBias);void 0!==e.shadow.radius&&(s.shadow.radius=e.shadow.radius);void 0!==e.shadow.mapSize&&s.shadow.mapSize.fromArray(e.shadow.mapSize);void 0!==e.shadow.camera&&(s.shadow.camera=this.parseObject(e.shadow.camera))}void 0!==e.visible&&(s.visible=e.visible);void 0!==e.frustumCulled&&(s.frustumCulled=e.frustumCulled);void 0!==e.renderOrder&&(s.renderOrder=e.renderOrder);void 0!==e.userData&&(s.userData=e.userData);void 0!==e.layers&&(s.layers.mask=e.layers);if(void 0!==e.children){const a=e.children;for(let e=0;e<a.length;e++)s.add(this.parseObject(a[e],t,n,r,i))}if(void 0!==e.animations){const t=e.animations;for(let e=0;e<t.length;e++){const n=t[e];s.animations.push(i[n])}}if(\"LOD\"===e.type){void 0!==e.autoUpdate&&(s.autoUpdate=e.autoUpdate);const t=e.levels;for(let e=0;e<t.length;e++){const n=t[e];const r=s.getObjectByProperty(\"uuid\",n.object);void 0!==r&&s.addLevel(r,n.distance)}}return s}bindSkeletons(e,t){0!==Object.keys(t).length&&e.traverse((function(e){if(true===e.isSkinnedMesh&&void 0!==e.skeleton){const n=t[e.skeleton];void 0===n?console.warn(\"THREE.ObjectLoader: No skeleton found with UUID:\",e.skeleton):e.bind(n,e.bindMatrix)}}))}setTexturePath(e){console.warn(\"THREE.ObjectLoader: .setTexturePath() has been renamed to .setResourcePath().\");return this.setResourcePath(e)}}const kl={UVMapping:ne,CubeReflectionMapping:re,CubeRefractionMapping:ie,EquirectangularReflectionMapping:se,EquirectangularRefractionMapping:ae,CubeUVReflectionMapping:oe,CubeUVRefractionMapping:le};const Wl={RepeatWrapping:ce,ClampToEdgeWrapping:ue,MirroredRepeatWrapping:he};const jl={NearestFilter:de,NearestMipmapNearestFilter:pe,NearestMipmapLinearFilter:me,LinearFilter:ye,LinearMipmapNearestFilter:ve,LinearMipmapLinearFilter:be};class ImageBitmapLoader extends Loader{constructor(e){super(e);\"undefined\"===typeof createImageBitmap&&console.warn(\"THREE.ImageBitmapLoader: createImageBitmap() not supported.\");\"undefined\"===typeof fetch&&console.warn(\"THREE.ImageBitmapLoader: fetch() not supported.\");this.options={premultiplyAlpha:\"none\"}}setOptions(e){this.options=e;return this}load(e,t,n,r){void 0===e&&(e=\"\");void 0!==this.path&&(e=this.path+e);e=this.manager.resolveURL(e);const i=this;const s=Bl.get(e);if(void 0!==s){i.manager.itemStart(e);setTimeout((function(){t&&t(s);i.manager.itemEnd(e)}),0);return s}const a={};a.credentials=\"anonymous\"===this.crossOrigin?\"same-origin\":\"include\";a.headers=this.requestHeader;fetch(e,a).then((function(e){return e.blob()})).then((function(e){return createImageBitmap(e,Object.assign(i.options,{colorSpaceConversion:\"none\"}))})).then((function(n){Bl.add(e,n);t&&t(n);i.manager.itemEnd(e)})).catch((function(t){r&&r(t);i.manager.itemError(e);i.manager.itemEnd(e)}));i.manager.itemStart(e)}}ImageBitmapLoader.prototype.isImageBitmapLoader=true;let ql;const Xl={getContext:function(){void 0===ql&&(ql=new(window.AudioContext||window.webkitAudioContext));return ql},setContext:function(e){ql=e}};class AudioLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=this;const s=new FileLoader(this.manager);s.setResponseType(\"arraybuffer\");s.setPath(this.path);s.setRequestHeader(this.requestHeader);s.setWithCredentials(this.withCredentials);s.load(e,(function(n){try{const e=n.slice(0);const r=Xl.getContext();r.decodeAudioData(e,(function(e){t(e)}))}catch(t){r?r(t):console.error(t);i.manager.itemError(e)}}),n,r)}}class HemisphereLightProbe extends LightProbe{constructor(e,t,n=1){super(void 0,n);const r=(new Color).set(e);const i=(new Color).set(t);const s=new Vector3(r.r,r.g,r.b);const a=new Vector3(i.r,i.g,i.b);const o=Math.sqrt(Math.PI);const l=o*Math.sqrt(.75);this.sh.coefficients[0].copy(s).add(a).multiplyScalar(o);this.sh.coefficients[1].copy(s).sub(a).multiplyScalar(l)}}HemisphereLightProbe.prototype.isHemisphereLightProbe=true;class AmbientLightProbe extends LightProbe{constructor(e,t=1){super(void 0,t);const n=(new Color).set(e);this.sh.coefficients[0].set(n.r,n.g,n.b).multiplyScalar(2*Math.sqrt(Math.PI))}}AmbientLightProbe.prototype.isAmbientLightProbe=true;const Jl=new Matrix4;const Yl=new Matrix4;const Zl=new Matrix4;class StereoCamera{constructor(){this.type=\"StereoCamera\";this.aspect=1;this.eyeSep=.064;this.cameraL=new PerspectiveCamera;this.cameraL.layers.enable(1);this.cameraL.matrixAutoUpdate=false;this.cameraR=new PerspectiveCamera;this.cameraR.layers.enable(2);this.cameraR.matrixAutoUpdate=false;this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const t=this._cache;const n=t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep;if(n){t.focus=e.focus;t.fov=e.fov;t.aspect=e.aspect*this.aspect;t.near=e.near;t.far=e.far;t.zoom=e.zoom;t.eyeSep=this.eyeSep;Zl.copy(e.projectionMatrix);const n=t.eyeSep/2;const r=n*t.near/t.focus;const i=t.near*Math.tan(Cn*t.fov*.5)/t.zoom;let s,a;Yl.elements[12]=-n;Jl.elements[12]=n;s=-i*t.aspect+r;a=i*t.aspect+r;Zl.elements[0]=2*t.near/(a-s);Zl.elements[8]=(a+s)/(a-s);this.cameraL.projectionMatrix.copy(Zl);s=-i*t.aspect-r;a=i*t.aspect-r;Zl.elements[0]=2*t.near/(a-s);Zl.elements[8]=(a+s)/(a-s);this.cameraR.projectionMatrix.copy(Zl)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(Yl);this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Jl)}}class Clock{constructor(e=true){this.autoStart=e;this.startTime=0;this.oldTime=0;this.elapsedTime=0;this.running=false}start(){this.startTime=now();this.oldTime=this.startTime;this.elapsedTime=0;this.running=true}stop(){this.getElapsedTime();this.running=false;this.autoStart=false}getElapsedTime(){this.getDelta();return this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running){this.start();return 0}if(this.running){const t=now();e=(t-this.oldTime)/1e3;this.oldTime=t;this.elapsedTime+=e}return e}}function now(){return(\"undefined\"===typeof performance?Date:performance).now()}const Ql=new Vector3;const Kl=new Quaternion;const $l=new Vector3;const ec=new Vector3;class AudioListener extends Object3D{constructor(){super();this.type=\"AudioListener\";this.context=Xl.getContext();this.gain=this.context.createGain();this.gain.connect(this.context.destination);this.filter=null;this.timeDelta=0;this._clock=new Clock}getInput(){return this.gain}removeFilter(){if(null!==this.filter){this.gain.disconnect(this.filter);this.filter.disconnect(this.context.destination);this.gain.connect(this.context.destination);this.filter=null}return this}getFilter(){return this.filter}setFilter(e){if(null!==this.filter){this.gain.disconnect(this.filter);this.filter.disconnect(this.context.destination)}else this.gain.disconnect(this.context.destination);this.filter=e;this.gain.connect(this.filter);this.filter.connect(this.context.destination);return this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01);return this}updateMatrixWorld(e){super.updateMatrixWorld(e);const t=this.context.listener;const n=this.up;this.timeDelta=this._clock.getDelta();this.matrixWorld.decompose(Ql,Kl,$l);ec.set(0,0,-1).applyQuaternion(Kl);if(t.positionX){const e=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Ql.x,e);t.positionY.linearRampToValueAtTime(Ql.y,e);t.positionZ.linearRampToValueAtTime(Ql.z,e);t.forwardX.linearRampToValueAtTime(ec.x,e);t.forwardY.linearRampToValueAtTime(ec.y,e);t.forwardZ.linearRampToValueAtTime(ec.z,e);t.upX.linearRampToValueAtTime(n.x,e);t.upY.linearRampToValueAtTime(n.y,e);t.upZ.linearRampToValueAtTime(n.z,e)}else{t.setPosition(Ql.x,Ql.y,Ql.z);t.setOrientation(ec.x,ec.y,ec.z,n.x,n.y,n.z)}}}class Audio extends Object3D{constructor(e){super();this.type=\"Audio\";this.listener=e;this.context=e.context;this.gain=this.context.createGain();this.gain.connect(e.getInput());this.autoplay=false;this.buffer=null;this.detune=0;this.loop=false;this.loopStart=0;this.loopEnd=0;this.offset=0;this.duration=void 0;this.playbackRate=1;this.isPlaying=false;this.hasPlaybackControl=true;this.source=null;this.sourceType=\"empty\";this._startedAt=0;this._progress=0;this._connected=false;this.filters=[]}getOutput(){return this.gain}setNodeSource(e){this.hasPlaybackControl=false;this.sourceType=\"audioNode\";this.source=e;this.connect();return this}setMediaElementSource(e){this.hasPlaybackControl=false;this.sourceType=\"mediaNode\";this.source=this.context.createMediaElementSource(e);this.connect();return this}setMediaStreamSource(e){this.hasPlaybackControl=false;this.sourceType=\"mediaStreamNode\";this.source=this.context.createMediaStreamSource(e);this.connect();return this}setBuffer(e){this.buffer=e;this.sourceType=\"buffer\";this.autoplay&&this.play();return this}play(e=0){if(true===this.isPlaying){console.warn(\"THREE.Audio: Audio is already playing.\");return}if(false===this.hasPlaybackControl){console.warn(\"THREE.Audio: this Audio has no playback control.\");return}this._startedAt=this.context.currentTime+e;const t=this.context.createBufferSource();t.buffer=this.buffer;t.loop=this.loop;t.loopStart=this.loopStart;t.loopEnd=this.loopEnd;t.onended=this.onEnded.bind(this);t.start(this._startedAt,this._progress+this.offset,this.duration);this.isPlaying=true;this.source=t;this.setDetune(this.detune);this.setPlaybackRate(this.playbackRate);return this.connect()}pause(){if(false!==this.hasPlaybackControl){if(true===this.isPlaying){this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate;true===this.loop&&(this._progress=this._progress%(this.duration||this.buffer.duration));this.source.stop();this.source.onended=null;this.isPlaying=false}return this}console.warn(\"THREE.Audio: this Audio has no playback control.\")}stop(){if(false!==this.hasPlaybackControl){this._progress=0;this.source.stop();this.source.onended=null;this.isPlaying=false;return this}console.warn(\"THREE.Audio: this Audio has no playback control.\")}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e<t;e++)this.filters[e-1].connect(this.filters[e]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());this._connected=true;return this}disconnect(){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e<t;e++)this.filters[e-1].disconnect(this.filters[e]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());this._connected=false;return this}getFilters(){return this.filters}setFilters(e){e||(e=[]);if(true===this._connected){this.disconnect();this.filters=e.slice();this.connect()}else this.filters=e.slice();return this}setDetune(e){this.detune=e;if(void 0!==this.source.detune){true===this.isPlaying&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01);return this}}getDetune(){return this.detune}getFilter(){return this.getFilters()[0]}setFilter(e){return this.setFilters(e?[e]:[])}setPlaybackRate(e){if(false!==this.hasPlaybackControl){this.playbackRate=e;true===this.isPlaying&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01);return this}console.warn(\"THREE.Audio: this Audio has no playback control.\")}getPlaybackRate(){return this.playbackRate}onEnded(){this.isPlaying=false}getLoop(){if(false===this.hasPlaybackControl){console.warn(\"THREE.Audio: this Audio has no playback control.\");return false}return this.loop}setLoop(e){if(false!==this.hasPlaybackControl){this.loop=e;true===this.isPlaying&&(this.source.loop=this.loop);return this}console.warn(\"THREE.Audio: this Audio has no playback control.\")}setLoopStart(e){this.loopStart=e;return this}setLoopEnd(e){this.loopEnd=e;return this}getVolume(){return this.gain.gain.value}setVolume(e){this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01);return this}}const tc=new Vector3;const nc=new Quaternion;const rc=new Vector3;const ic=new Vector3;class PositionalAudio extends Audio{constructor(e){super(e);this.panner=this.context.createPanner();this.panner.panningModel=\"HRTF\";this.panner.connect(this.gain)}getOutput(){return this.panner}getRefDistance(){return this.panner.refDistance}setRefDistance(e){this.panner.refDistance=e;return this}getRolloffFactor(){return this.panner.rolloffFactor}setRolloffFactor(e){this.panner.rolloffFactor=e;return this}getDistanceModel(){return this.panner.distanceModel}setDistanceModel(e){this.panner.distanceModel=e;return this}getMaxDistance(){return this.panner.maxDistance}setMaxDistance(e){this.panner.maxDistance=e;return this}setDirectionalCone(e,t,n){this.panner.coneInnerAngle=e;this.panner.coneOuterAngle=t;this.panner.coneOuterGain=n;return this}updateMatrixWorld(e){super.updateMatrixWorld(e);if(true===this.hasPlaybackControl&&false===this.isPlaying)return;this.matrixWorld.decompose(tc,nc,rc);ic.set(0,0,1).applyQuaternion(nc);const t=this.panner;if(t.positionX){const e=this.context.currentTime+this.listener.timeDelta;t.positionX.linearRampToValueAtTime(tc.x,e);t.positionY.linearRampToValueAtTime(tc.y,e);t.positionZ.linearRampToValueAtTime(tc.z,e);t.orientationX.linearRampToValueAtTime(ic.x,e);t.orientationY.linearRampToValueAtTime(ic.y,e);t.orientationZ.linearRampToValueAtTime(ic.z,e)}else{t.setPosition(tc.x,tc.y,tc.z);t.setOrientation(ic.x,ic.y,ic.z)}}}class AudioAnalyser{constructor(e,t=2048){this.analyser=e.context.createAnalyser();this.analyser.fftSize=t;this.data=new Uint8Array(this.analyser.frequencyBinCount);e.getOutput().connect(this.analyser)}getFrequencyData(){this.analyser.getByteFrequencyData(this.data);return this.data}getAverageFrequency(){let e=0;const t=this.getFrequencyData();for(let n=0;n<t.length;n++)e+=t[n];return e/t.length}}class PropertyMixer{constructor(e,t,n){this.binding=e;this.valueSize=n;let r,i,s;switch(t){case\"quaternion\":r=this._slerp;i=this._slerpAdditive;s=this._setAdditiveIdentityQuaternion;this.buffer=new Float64Array(6*n);this._workIndex=5;break;case\"string\":case\"bool\":r=this._select;i=this._select;s=this._setAdditiveIdentityOther;this.buffer=new Array(5*n);break;default:r=this._lerp;i=this._lerpAdditive;s=this._setAdditiveIdentityNumeric;this.buffer=new Float64Array(5*n)}this._mixBufferRegion=r;this._mixBufferRegionAdditive=i;this._setIdentity=s;this._origIndex=3;this._addIndex=4;this.cumulativeWeight=0;this.cumulativeWeightAdditive=0;this.useCount=0;this.referenceCount=0}accumulate(e,t){const n=this.buffer,r=this.valueSize,i=e*r+r;let s=this.cumulativeWeight;if(0===s){for(let e=0;e!==r;++e)n[i+e]=n[e];s=t}else{s+=t;const e=t/s;this._mixBufferRegion(n,i,0,e,r)}this.cumulativeWeight=s}accumulateAdditive(e){const t=this.buffer,n=this.valueSize,r=n*this._addIndex;0===this.cumulativeWeightAdditive&&this._setIdentity();this._mixBufferRegionAdditive(t,r,0,e,n);this.cumulativeWeightAdditive+=e}apply(e){const t=this.valueSize,n=this.buffer,r=e*t+t,i=this.cumulativeWeight,s=this.cumulativeWeightAdditive,a=this.binding;this.cumulativeWeight=0;this.cumulativeWeightAdditive=0;if(i<1){const e=t*this._origIndex;this._mixBufferRegion(n,r,e,1-i,t)}s>0&&this._mixBufferRegionAdditive(n,r,this._addIndex*t,1,t);for(let e=t,i=t+t;e!==i;++e)if(n[e]!==n[e+t]){a.setValue(n,r);break}}saveOriginalState(){const e=this.binding;const t=this.buffer,n=this.valueSize,r=n*this._origIndex;e.getValue(t,r);for(let e=n,i=r;e!==i;++e)t[e]=t[r+e%n];this._setIdentity();this.cumulativeWeight=0;this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=3*this.valueSize;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize;const t=e+this.valueSize;for(let n=e;n<t;n++)this.buffer[n]=0}_setAdditiveIdentityQuaternion(){this._setAdditiveIdentityNumeric();this.buffer[this._addIndex*this.valueSize+3]=1}_setAdditiveIdentityOther(){const e=this._origIndex*this.valueSize;const t=this._addIndex*this.valueSize;for(let n=0;n<this.valueSize;n++)this.buffer[t+n]=this.buffer[e+n]}_select(e,t,n,r,i){if(r>=.5)for(let r=0;r!==i;++r)e[t+r]=e[n+r]}_slerp(e,t,n,r){Quaternion.slerpFlat(e,t,e,t,e,n,r)}_slerpAdditive(e,t,n,r,i){const s=this._workIndex*i;Quaternion.multiplyQuaternionsFlat(e,s,e,t,e,n);Quaternion.slerpFlat(e,t,e,t,e,s,r)}_lerp(e,t,n,r,i){const s=1-r;for(let a=0;a!==i;++a){const i=t+a;e[i]=e[i]*s+e[n+a]*r}}_lerpAdditive(e,t,n,r,i){for(let s=0;s!==i;++s){const i=t+s;e[i]=e[i]+e[n+s]*r}}}const sc=\"\\\\[\\\\]\\\\.:\\\\/\";const ac=new RegExp(\"[\"+sc+\"]\",\"g\");const oc=\"[^\"+sc+\"]\";const lc=\"[^\"+sc.replace(\"\\\\.\",\"\")+\"]\";const cc=/((?:WC+[\\/:])*)/.source.replace(\"WC\",oc);const uc=/(WCOD+)?/.source.replace(\"WCOD\",lc);const hc=/(?:\\.(WC+)(?:\\[(.+)\\])?)?/.source.replace(\"WC\",oc);const dc=/\\.(WC+)(?:\\[(.+)\\])?/.source.replace(\"WC\",oc);const pc=new RegExp(\"^\"+cc+uc+hc+dc+\"$\");const fc=[\"material\",\"materials\",\"bones\"];class Composite{constructor(e,t,n){const r=n||PropertyBinding.parseTrackName(t);this._targetGroup=e;this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();const n=this._targetGroup.nCachedObjects_,r=this._bindings[n];void 0!==r&&r.getValue(e,t)}setValue(e,t){const n=this._bindings;for(let r=this._targetGroup.nCachedObjects_,i=n.length;r!==i;++r)n[r].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}}class PropertyBinding{constructor(e,t,n){this.path=t;this.parsedPath=n||PropertyBinding.parseTrackName(t);this.node=PropertyBinding.findNode(e,this.parsedPath.nodeName)||e;this.rootNode=e;this.getValue=this._getValue_unbound;this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new PropertyBinding.Composite(e,t,n):new PropertyBinding(e,t,n)}\n/**\n\t * Replaces spaces with underscores and removes unsupported characters from\n\t * node names, to ensure compatibility with parseTrackName().\n\t *\n\t * @param {string} name Node name to be sanitized.\n\t * @return {string}\n\t */static sanitizeNodeName(e){return e.replace(/\\s/g,\"_\").replace(ac,\"\")}static parseTrackName(e){const t=pc.exec(e);if(!t)throw new Error(\"PropertyBinding: Cannot parse trackName: \"+e);const n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]};const r=n.nodeName&&n.nodeName.lastIndexOf(\".\");if(void 0!==r&&-1!==r){const e=n.nodeName.substring(r+1);if(-1!==fc.indexOf(e)){n.nodeName=n.nodeName.substring(0,r);n.objectName=e}}if(null===n.propertyName||0===n.propertyName.length)throw new Error(\"PropertyBinding: can not parse propertyName from trackName: \"+e);return n}static findNode(e,t){if(!t||\"\"===t||\".\"===t||-1===t||t===e.name||t===e.uuid)return e;if(e.skeleton){const n=e.skeleton.getBoneByName(t);if(void 0!==n)return n}if(e.children){const searchNodeSubtree=function(e){for(let n=0;n<e.length;n++){const r=e[n];if(r.name===t||r.uuid===t)return r;const i=searchNodeSubtree(r.children);if(i)return i}return null};const n=searchNodeSubtree(e.children);if(n)return n}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(e,t){e[t]=this.targetObject[this.propertyName]}_getValue_array(e,t){const n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)e[t++]=n[r]}_getValue_arrayElement(e,t){e[t]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(e,t){this.resolvedProperty.toArray(e,t)}_setValue_direct(e,t){this.targetObject[this.propertyName]=e[t]}_setValue_direct_setNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t];this.targetObject.needsUpdate=true}_setValue_direct_setMatrixWorldNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t];this.targetObject.matrixWorldNeedsUpdate=true}_setValue_array(e,t){const n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++]}_setValue_array_setNeedsUpdate(e,t){const n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++];this.targetObject.needsUpdate=true}_setValue_array_setMatrixWorldNeedsUpdate(e,t){const n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++];this.targetObject.matrixWorldNeedsUpdate=true}_setValue_arrayElement(e,t){this.resolvedProperty[this.propertyIndex]=e[t]}_setValue_arrayElement_setNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t];this.targetObject.needsUpdate=true}_setValue_arrayElement_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t];this.targetObject.matrixWorldNeedsUpdate=true}_setValue_fromArray(e,t){this.resolvedProperty.fromArray(e,t)}_setValue_fromArray_setNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t);this.targetObject.needsUpdate=true}_setValue_fromArray_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t);this.targetObject.matrixWorldNeedsUpdate=true}_getValue_unbound(e,t){this.bind();this.getValue(e,t)}_setValue_unbound(e,t){this.bind();this.setValue(e,t)}bind(){let e=this.node;const t=this.parsedPath;const n=t.objectName;const r=t.propertyName;let i=t.propertyIndex;if(!e){e=PropertyBinding.findNode(this.rootNode,t.nodeName)||this.rootNode;this.node=e}this.getValue=this._getValue_unavailable;this.setValue=this._setValue_unavailable;if(!e){console.error(\"THREE.PropertyBinding: Trying to update node for track: \"+this.path+\" but it wasn't found.\");return}if(n){let r=t.objectIndex;switch(n){case\"materials\":if(!e.material){console.error(\"THREE.PropertyBinding: Can not bind to material as node does not have a material.\",this);return}if(!e.material.materials){console.error(\"THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.\",this);return}e=e.material.materials;break;case\"bones\":if(!e.skeleton){console.error(\"THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.\",this);return}e=e.skeleton.bones;for(let t=0;t<e.length;t++)if(e[t].name===r){r=t;break}break;default:if(void 0===e[n]){console.error(\"THREE.PropertyBinding: Can not bind to objectName of node undefined.\",this);return}e=e[n]}if(void 0!==r){if(void 0===e[r]){console.error(\"THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.\",this,e);return}e=e[r]}}const s=e[r];if(void 0===s){const n=t.nodeName;console.error(\"THREE.PropertyBinding: Trying to update property for track: \"+n+\".\"+r+\" but it wasn't found.\",e);return}let a=this.Versioning.None;this.targetObject=e;void 0!==e.needsUpdate?a=this.Versioning.NeedsUpdate:void 0!==e.matrixWorldNeedsUpdate&&(a=this.Versioning.MatrixWorldNeedsUpdate);let o=this.BindingType.Direct;if(void 0!==i){if(\"morphTargetInfluences\"===r){if(!e.geometry){console.error(\"THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.\",this);return}if(!e.geometry.isBufferGeometry){console.error(\"THREE.PropertyBinding: Can not bind to morphTargetInfluences on THREE.Geometry. Use THREE.BufferGeometry instead.\",this);return}if(!e.geometry.morphAttributes){console.error(\"THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.\",this);return}void 0!==e.morphTargetDictionary[i]&&(i=e.morphTargetDictionary[i])}o=this.BindingType.ArrayElement;this.resolvedProperty=s;this.propertyIndex=i}else if(void 0!==s.fromArray&&void 0!==s.toArray){o=this.BindingType.HasFromToArray;this.resolvedProperty=s}else if(Array.isArray(s)){o=this.BindingType.EntireArray;this.resolvedProperty=s}else this.propertyName=r;this.getValue=this.GetterByBindingType[o];this.setValue=this.SetterByBindingTypeAndVersioning[o][a]}unbind(){this.node=null;this.getValue=this._getValue_unbound;this.setValue=this._setValue_unbound}}PropertyBinding.Composite=Composite;PropertyBinding.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};PropertyBinding.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};PropertyBinding.prototype.GetterByBindingType=[PropertyBinding.prototype._getValue_direct,PropertyBinding.prototype._getValue_array,PropertyBinding.prototype._getValue_arrayElement,PropertyBinding.prototype._getValue_toArray];PropertyBinding.prototype.SetterByBindingTypeAndVersioning=[[PropertyBinding.prototype._setValue_direct,PropertyBinding.prototype._setValue_direct_setNeedsUpdate,PropertyBinding.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[PropertyBinding.prototype._setValue_array,PropertyBinding.prototype._setValue_array_setNeedsUpdate,PropertyBinding.prototype._setValue_array_setMatrixWorldNeedsUpdate],[PropertyBinding.prototype._setValue_arrayElement,PropertyBinding.prototype._setValue_arrayElement_setNeedsUpdate,PropertyBinding.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[PropertyBinding.prototype._setValue_fromArray,PropertyBinding.prototype._setValue_fromArray_setNeedsUpdate,PropertyBinding.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];class AnimationObjectGroup{constructor(){this.uuid=generateUUID();this._objects=Array.prototype.slice.call(arguments);this.nCachedObjects_=0;const e={};this._indicesByUUID=e;for(let t=0,n=arguments.length;t!==n;++t)e[arguments[t].uuid]=t;this._paths=[];this._parsedPaths=[];this._bindings=[];this._bindingsIndicesByPath={};const t=this;this.stats={objects:{get total(){return t._objects.length},get inUse(){return this.total-t.nCachedObjects_}},get bindingsPerObject(){return t._bindings.length}}}add(){const e=this._objects,t=this._indicesByUUID,n=this._paths,r=this._parsedPaths,i=this._bindings,s=i.length;let a,o=e.length,l=this.nCachedObjects_;for(let c=0,u=arguments.length;c!==u;++c){const u=arguments[c],h=u.uuid;let d=t[h];if(void 0===d){d=o++;t[h]=d;e.push(u);for(let e=0,t=s;e!==t;++e)i[e].push(new PropertyBinding(u,n[e],r[e]))}else if(d<l){a=e[d];const o=--l,c=e[o];t[c.uuid]=d;e[d]=c;t[h]=o;e[o]=u;for(let e=0,t=s;e!==t;++e){const t=i[e],s=t[o];let a=t[d];t[d]=s;void 0===a&&(a=new PropertyBinding(u,n[e],r[e]));t[o]=a}}else e[d]!==a&&console.error(\"THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.\")}this.nCachedObjects_=l}remove(){const e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length;let i=this.nCachedObjects_;for(let s=0,a=arguments.length;s!==a;++s){const a=arguments[s],o=a.uuid,l=t[o];if(void 0!==l&&l>=i){const s=i++,c=e[s];t[c.uuid]=l;e[l]=c;t[o]=s;e[s]=a;for(let e=0,t=r;e!==t;++e){const t=n[e],r=t[s],i=t[l];t[l]=r;t[s]=i}}}this.nCachedObjects_=i}uncache(){const e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length;let i=this.nCachedObjects_,s=e.length;for(let a=0,o=arguments.length;a!==o;++a){const o=arguments[a],l=o.uuid,c=t[l];if(void 0!==c){delete t[l];if(c<i){const a=--i,o=e[a],l=--s,u=e[l];t[o.uuid]=c;e[c]=o;t[u.uuid]=a;e[a]=u;e.pop();for(let e=0,t=r;e!==t;++e){const t=n[e],r=t[a],i=t[l];t[c]=r;t[a]=i;t.pop()}}else{const i=--s,a=e[i];i>0&&(t[a.uuid]=c);e[c]=a;e.pop();for(let e=0,t=r;e!==t;++e){const t=n[e];t[c]=t[i];t.pop()}}}}this.nCachedObjects_=i}subscribe_(e,t){const n=this._bindingsIndicesByPath;let r=n[e];const i=this._bindings;if(void 0!==r)return i[r];const s=this._paths,a=this._parsedPaths,o=this._objects,l=o.length,c=this.nCachedObjects_,u=new Array(l);r=i.length;n[e]=r;s.push(e);a.push(t);i.push(u);for(let n=c,r=o.length;n!==r;++n){const r=o[n];u[n]=new PropertyBinding(r,e,t)}return u}unsubscribe_(e){const t=this._bindingsIndicesByPath,n=t[e];if(void 0!==n){const r=this._paths,i=this._parsedPaths,s=this._bindings,a=s.length-1,o=s[a],l=e[a];t[l]=n;s[n]=o;s.pop();i[n]=i[a];i.pop();r[n]=r[a];r.pop()}}}AnimationObjectGroup.prototype.isAnimationObjectGroup=true;class AnimationAction{constructor(e,t,n=null,r=t.blendMode){this._mixer=e;this._clip=t;this._localRoot=n;this.blendMode=r;const i=t.tracks,s=i.length,a=new Array(s);const o={endingStart:Gt,endingEnd:Gt};for(let e=0;e!==s;++e){const t=i[e].createInterpolant(null);a[e]=t;t.settings=o}this._interpolantSettings=o;this._interpolants=a;this._propertyBindings=new Array(s);this._cacheIndex=null;this._byClipCacheIndex=null;this._timeScaleInterpolant=null;this._weightInterpolant=null;this.loop=Bt;this._loopCount=-1;this._startTime=null;this.time=0;this.timeScale=1;this._effectiveTimeScale=1;this.weight=1;this._effectiveWeight=1;this.repetitions=Infinity;this.paused=false;this.enabled=true;this.clampWhenFinished=false;this.zeroSlopeAtStart=true;this.zeroSlopeAtEnd=true}play(){this._mixer._activateAction(this);return this}stop(){this._mixer._deactivateAction(this);return this.reset()}reset(){this.paused=false;this.enabled=true;this.time=0;this._loopCount=-1;this._startTime=null;return this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){this._startTime=e;return this}setLoop(e,t){this.loop=e;this.repetitions=t;return this}setEffectiveWeight(e){this.weight=e;this._effectiveWeight=this.enabled?e:0;return this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,n){e.fadeOut(t);this.fadeIn(t);if(n){const n=this._clip.duration,r=e._clip.duration,i=r/n,s=n/r;e.warp(1,i,t);this.warp(s,1,t)}return this}crossFadeTo(e,t,n){return e.crossFadeFrom(this,t,n)}stopFading(){const e=this._weightInterpolant;if(null!==e){this._weightInterpolant=null;this._mixer._takeBackControlInterpolant(e)}return this}setEffectiveTimeScale(e){this.timeScale=e;this._effectiveTimeScale=this.paused?0:e;return this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){this.timeScale=this._clip.duration/e;return this.stopWarping()}syncWith(e){this.time=e.time;this.timeScale=e.timeScale;return this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,n){const r=this._mixer,i=r.time,s=this.timeScale;let a=this._timeScaleInterpolant;if(null===a){a=r._lendControlInterpolant();this._timeScaleInterpolant=a}const o=a.parameterPositions,l=a.sampleValues;o[0]=i;o[1]=i+n;l[0]=e/s;l[1]=t/s;return this}stopWarping(){const e=this._timeScaleInterpolant;if(null!==e){this._timeScaleInterpolant=null;this._mixer._takeBackControlInterpolant(e)}return this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,n,r){if(!this.enabled){this._updateWeight(e);return}const i=this._startTime;if(null!==i){const r=(e-i)*n;if(r<0||0===n)return;this._startTime=null;t=n*r}t*=this._updateTimeScale(e);const s=this._updateTime(t);const a=this._updateWeight(e);if(a>0){const e=this._interpolants;const t=this._propertyBindings;switch(this.blendMode){case kt:for(let n=0,r=e.length;n!==r;++n){e[n].evaluate(s);t[n].accumulateAdditive(a)}break;case Ht:default:for(let n=0,i=e.length;n!==i;++n){e[n].evaluate(s);t[n].accumulate(r,a)}}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const n=this._weightInterpolant;if(null!==n){const r=n.evaluate(e)[0];t*=r;if(e>n.parameterPositions[1]){this.stopFading();0===r&&(this.enabled=false)}}}this._effectiveWeight=t;return t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const n=this._timeScaleInterpolant;if(null!==n){const r=n.evaluate(e)[0];t*=r;if(e>n.parameterPositions[1]){this.stopWarping();0===t?this.paused=true:this.timeScale=t}}}this._effectiveTimeScale=t;return t}_updateTime(e){const t=this._clip.duration;const n=this.loop;let r=this.time+e;let i=this._loopCount;const s=n===Vt;if(0===e)return-1===i?r:s&&1===(1&i)?t-r:r;if(n===Dt){if(-1===i){this._loopCount=0;this._setEndings(true,true,false)}e:{if(r>=t)r=t;else{if(!(r<0)){this.time=r;break e}r=0}this.clampWhenFinished?this.paused=true:this.enabled=false;this.time=r;this._mixer.dispatchEvent({type:\"finished\",action:this,direction:e<0?-1:1})}}else{if(-1===i)if(e>=0){i=0;this._setEndings(true,0===this.repetitions,s)}else this._setEndings(0===this.repetitions,true,s);if(r>=t||r<0){const n=Math.floor(r/t);r-=t*n;i+=Math.abs(n);const a=this.repetitions-i;if(a<=0){this.clampWhenFinished?this.paused=true:this.enabled=false;r=e>0?t:0;this.time=r;this._mixer.dispatchEvent({type:\"finished\",action:this,direction:e>0?1:-1})}else{if(1===a){const t=e<0;this._setEndings(t,!t,s)}else this._setEndings(false,false,s);this._loopCount=i;this.time=r;this._mixer.dispatchEvent({type:\"loop\",action:this,loopDelta:n})}}else this.time=r;if(s&&1===(1&i))return t-r}return r}_setEndings(e,t,n){const r=this._interpolantSettings;if(n){r.endingStart=Ft;r.endingEnd=Ft}else{r.endingStart=e?this.zeroSlopeAtStart?Ft:Gt:Ot;r.endingEnd=t?this.zeroSlopeAtEnd?Ft:Gt:Ot}}_scheduleFading(e,t,n){const r=this._mixer,i=r.time;let s=this._weightInterpolant;if(null===s){s=r._lendControlInterpolant();this._weightInterpolant=s}const a=s.parameterPositions,o=s.sampleValues;a[0]=i;o[0]=t;a[1]=i+e;o[1]=n;return this}}class AnimationMixer extends EventDispatcher{constructor(e){super();this._root=e;this._initMemoryManager();this._accuIndex=0;this.time=0;this.timeScale=1}_bindAction(e,t){const n=e._localRoot||this._root,r=e._clip.tracks,i=r.length,s=e._propertyBindings,a=e._interpolants,o=n.uuid,l=this._bindingsByRootAndName;let c=l[o];if(void 0===c){c={};l[o]=c}for(let e=0;e!==i;++e){const i=r[e],l=i.name;let u=c[l];if(void 0!==u)s[e]=u;else{u=s[e];if(void 0!==u){if(null===u._cacheIndex){++u.referenceCount;this._addInactiveBinding(u,o,l)}continue}const r=t&&t._propertyBindings[e].binding.parsedPath;u=new PropertyMixer(PropertyBinding.create(n,l,r),i.ValueTypeName,i.getValueSize());++u.referenceCount;this._addInactiveBinding(u,o,l);s[e]=u}a[e].resultBuffer=u.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(null===e._cacheIndex){const t=(e._localRoot||this._root).uuid,n=e._clip.uuid,r=this._actionsByClip[n];this._bindAction(e,r&&r.knownActions[0]);this._addInactiveAction(e,n,t)}const t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){const n=t[e];if(0===n.useCount++){this._lendBinding(n);n.saveOriginalState()}}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){const n=t[e];if(0===--n.useCount){n.restoreOriginalState();this._takeBackBinding(n)}}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[];this._nActiveActions=0;this._actionsByClip={};this._bindings=[];this._nActiveBindings=0;this._bindingsByRootAndName={};this._controlInterpolants=[];this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const t=e._cacheIndex;return null!==t&&t<this._nActiveActions}_addInactiveAction(e,t,n){const r=this._actions,i=this._actionsByClip;let s=i[t];if(void 0===s){s={knownActions:[e],actionByRoot:{}};e._byClipCacheIndex=0;i[t]=s}else{const t=s.knownActions;e._byClipCacheIndex=t.length;t.push(e)}e._cacheIndex=r.length;r.push(e);s.actionByRoot[n]=e}_removeInactiveAction(e){const t=this._actions,n=t[t.length-1],r=e._cacheIndex;n._cacheIndex=r;t[r]=n;t.pop();e._cacheIndex=null;const i=e._clip.uuid,s=this._actionsByClip,a=s[i],o=a.knownActions,l=o[o.length-1],c=e._byClipCacheIndex;l._byClipCacheIndex=c;o[c]=l;o.pop();e._byClipCacheIndex=null;const u=a.actionByRoot,h=(e._localRoot||this._root).uuid;delete u[h];0===o.length&&delete s[i];this._removeInactiveBindingsForAction(e)}_removeInactiveBindingsForAction(e){const t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){const n=t[e];0===--n.referenceCount&&this._removeInactiveBinding(n)}}_lendAction(e){const t=this._actions,n=e._cacheIndex,r=this._nActiveActions++,i=t[r];e._cacheIndex=r;t[r]=e;i._cacheIndex=n;t[n]=i}_takeBackAction(e){const t=this._actions,n=e._cacheIndex,r=--this._nActiveActions,i=t[r];e._cacheIndex=r;t[r]=e;i._cacheIndex=n;t[n]=i}_addInactiveBinding(e,t,n){const r=this._bindingsByRootAndName,i=this._bindings;let s=r[t];if(void 0===s){s={};r[t]=s}s[n]=e;e._cacheIndex=i.length;i.push(e)}_removeInactiveBinding(e){const t=this._bindings,n=e.binding,r=n.rootNode.uuid,i=n.path,s=this._bindingsByRootAndName,a=s[r],o=t[t.length-1],l=e._cacheIndex;o._cacheIndex=l;t[l]=o;t.pop();delete a[i];0===Object.keys(a).length&&delete s[r]}_lendBinding(e){const t=this._bindings,n=e._cacheIndex,r=this._nActiveBindings++,i=t[r];e._cacheIndex=r;t[r]=e;i._cacheIndex=n;t[n]=i}_takeBackBinding(e){const t=this._bindings,n=e._cacheIndex,r=--this._nActiveBindings,i=t[r];e._cacheIndex=r;t[r]=e;i._cacheIndex=n;t[n]=i}_lendControlInterpolant(){const e=this._controlInterpolants,t=this._nActiveControlInterpolants++;let n=e[t];if(void 0===n){n=new LinearInterpolant(new Float32Array(2),new Float32Array(2),1,this._controlInterpolantsResultBuffer);n.__cacheIndex=t;e[t]=n}return n}_takeBackControlInterpolant(e){const t=this._controlInterpolants,n=e.__cacheIndex,r=--this._nActiveControlInterpolants,i=t[r];e.__cacheIndex=r;t[r]=e;i.__cacheIndex=n;t[n]=i}clipAction(e,t,n){const r=t||this._root,i=r.uuid;let s=\"string\"===typeof e?AnimationClip.findByName(r,e):e;const a=null!==s?s.uuid:e;const o=this._actionsByClip[a];let l=null;void 0===n&&(n=null!==s?s.blendMode:Ht);if(void 0!==o){const e=o.actionByRoot[i];if(void 0!==e&&e.blendMode===n)return e;l=o.knownActions[0];null===s&&(s=l._clip)}if(null===s)return null;const c=new AnimationAction(this,s,t,n);this._bindAction(c,l);this._addInactiveAction(c,a,i);return c}existingAction(e,t){const n=t||this._root,r=n.uuid,i=\"string\"===typeof e?AnimationClip.findByName(n,e):e,s=i?i.uuid:e,a=this._actionsByClip[s];return void 0!==a&&a.actionByRoot[r]||null}stopAllAction(){const e=this._actions,t=this._nActiveActions;for(let n=t-1;n>=0;--n)e[n].stop();return this}update(e){e*=this.timeScale;const t=this._actions,n=this._nActiveActions,r=this.time+=e,i=Math.sign(e),s=this._accuIndex^=1;for(let a=0;a!==n;++a){const n=t[a];n._update(r,e,i,s)}const a=this._bindings,o=this._nActiveBindings;for(let e=0;e!==o;++e)a[e].apply(s);return this}setTime(e){this.time=0;for(let e=0;e<this._actions.length;e++)this._actions[e].time=0;return this.update(e)}getRoot(){return this._root}uncacheClip(e){const t=this._actions,n=e.uuid,r=this._actionsByClip,i=r[n];if(void 0!==i){const e=i.knownActions;for(let n=0,r=e.length;n!==r;++n){const r=e[n];this._deactivateAction(r);const i=r._cacheIndex,s=t[t.length-1];r._cacheIndex=null;r._byClipCacheIndex=null;s._cacheIndex=i;t[i]=s;t.pop();this._removeInactiveBindingsForAction(r)}delete r[n]}}uncacheRoot(e){const t=e.uuid,n=this._actionsByClip;for(const e in n){const r=n[e].actionByRoot,i=r[t];if(void 0!==i){this._deactivateAction(i);this._removeInactiveAction(i)}}const r=this._bindingsByRootAndName,i=r[t];if(void 0!==i)for(const e in i){const t=i[e];t.restoreOriginalState();this._removeInactiveBinding(t)}}uncacheAction(e,t){const n=this.existingAction(e,t);if(null!==n){this._deactivateAction(n);this._removeInactiveAction(n)}}}AnimationMixer.prototype._controlInterpolantsResultBuffer=new Float32Array(1);class Uniform{constructor(e){if(\"string\"===typeof e){console.warn(\"THREE.Uniform: Type parameter is no longer needed.\");e=arguments[1]}this.value=e}clone(){return new Uniform(void 0===this.value.clone?this.value:this.value.clone())}}class InstancedInterleavedBuffer extends InterleavedBuffer{constructor(e,t,n=1){super(e,t);this.meshPerAttribute=n}copy(e){super.copy(e);this.meshPerAttribute=e.meshPerAttribute;return this}clone(e){const t=super.clone(e);t.meshPerAttribute=this.meshPerAttribute;return t}toJSON(e){const t=super.toJSON(e);t.isInstancedInterleavedBuffer=true;t.meshPerAttribute=this.meshPerAttribute;return t}}InstancedInterleavedBuffer.prototype.isInstancedInterleavedBuffer=true;class GLBufferAttribute{constructor(e,t,n,r,i){this.buffer=e;this.type=t;this.itemSize=n;this.elementSize=r;this.count=i;this.version=0}set needsUpdate(e){true===e&&this.version++}setBuffer(e){this.buffer=e;return this}setType(e,t){this.type=e;this.elementSize=t;return this}setItemSize(e){this.itemSize=e;return this}setCount(e){this.count=e;return this}}GLBufferAttribute.prototype.isGLBufferAttribute=true;class Raycaster{constructor(e,t,n=0,r=Infinity){this.ray=new Ray(e,t);this.near=n;this.far=r;this.camera=null;this.layers=new Layers;this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(e,t){this.ray.set(e,t)}setFromCamera(e,t){if(t&&t.isPerspectiveCamera){this.ray.origin.setFromMatrixPosition(t.matrixWorld);this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize();this.camera=t}else if(t&&t.isOrthographicCamera){this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t);this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld);this.camera=t}else console.error(\"THREE.Raycaster: Unsupported camera type: \"+t.type)}intersectObject(e,t=true,n=[]){intersectObject(e,this,n,t);n.sort(ascSort);return n}intersectObjects(e,t=true,n=[]){for(let r=0,i=e.length;r<i;r++)intersectObject(e[r],this,n,t);n.sort(ascSort);return n}}function ascSort(e,t){return e.distance-t.distance}function intersectObject(e,t,n,r){e.layers.test(t.layers)&&e.raycast(t,n);if(true===r){const r=e.children;for(let e=0,i=r.length;e<i;e++)intersectObject(r[e],t,n,true)}}class Spherical{constructor(e=1,t=0,n=0){this.radius=e;this.phi=t;this.theta=n;return this}set(e,t,n){this.radius=e;this.phi=t;this.theta=n;return this}copy(e){this.radius=e.radius;this.phi=e.phi;this.theta=e.theta;return this}makeSafe(){const e=1e-6;this.phi=Math.max(e,Math.min(Math.PI-e,this.phi));return this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,n){this.radius=Math.sqrt(e*e+t*t+n*n);if(0===this.radius){this.theta=0;this.phi=0}else{this.theta=Math.atan2(e,n);this.phi=Math.acos(clamp(t/this.radius,-1,1))}return this}clone(){return(new this.constructor).copy(this)}}class Cylindrical{constructor(e=1,t=0,n=0){this.radius=e;this.theta=t;this.y=n;return this}set(e,t,n){this.radius=e;this.theta=t;this.y=n;return this}copy(e){this.radius=e.radius;this.theta=e.theta;this.y=e.y;return this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,n){this.radius=Math.sqrt(e*e+n*n);this.theta=Math.atan2(e,n);this.y=t;return this}clone(){return(new this.constructor).copy(this)}}const mc=new Vector2;class Box2{constructor(e=new Vector2(Infinity,Infinity),t=new Vector2(-Infinity,-Infinity)){this.min=e;this.max=t}set(e,t){this.min.copy(e);this.max.copy(t);return this}setFromPoints(e){this.makeEmpty();for(let t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){const n=mc.copy(t).multiplyScalar(.5);this.min.copy(e).sub(n);this.max.copy(e).add(n);return this}clone(){return(new this.constructor).copy(this)}copy(e){this.min.copy(e.min);this.max.copy(e.max);return this}makeEmpty(){this.min.x=this.min.y=Infinity;this.max.x=this.max.y=-Infinity;return this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y}getCenter(e){return this.isEmpty()?e.set(0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0):e.subVectors(this.max,this.min)}expandByPoint(e){this.min.min(e);this.max.max(e);return this}expandByVector(e){this.min.sub(e);this.max.add(e);return this}expandByScalar(e){this.min.addScalar(-e);this.max.addScalar(e);return this}containsPoint(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y)}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){const t=mc.copy(e).clamp(this.min,this.max);return t.sub(e).length()}intersect(e){this.min.max(e.min);this.max.min(e.max);return this}union(e){this.min.min(e.min);this.max.max(e.max);return this}translate(e){this.min.add(e);this.max.add(e);return this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}Box2.prototype.isBox2=true;const gc=new Vector3;const yc=new Vector3;class Line3{constructor(e=new Vector3,t=new Vector3){this.start=e;this.end=t}set(e,t){this.start.copy(e);this.end.copy(t);return this}copy(e){this.start.copy(e.start);this.end.copy(e.end);return this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){gc.subVectors(e,this.start);yc.subVectors(this.end,this.start);const n=yc.dot(yc);const r=yc.dot(gc);let i=r/n;t&&(i=clamp(i,0,1));return i}closestPointToPoint(e,t,n){const r=this.closestPointToPointParameter(e,t);return this.delta(n).multiplyScalar(r).add(this.start)}applyMatrix4(e){this.start.applyMatrix4(e);this.end.applyMatrix4(e);return this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}}const vc=new Vector3;class SpotLightHelper extends Object3D{constructor(e,t){super();this.light=e;this.light.updateMatrixWorld();this.matrix=e.matrixWorld;this.matrixAutoUpdate=false;this.color=t;const n=new BufferGeometry;const r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let e=0,t=1,n=32;e<n;e++,t++){const i=e/n*Math.PI*2;const s=t/n*Math.PI*2;r.push(Math.cos(i),Math.sin(i),1,Math.cos(s),Math.sin(s),1)}n.setAttribute(\"position\",new Float32BufferAttribute(r,3));const i=new LineBasicMaterial({fog:false,toneMapped:false});this.cone=new LineSegments(n,i);this.add(this.cone);this.update()}dispose(){this.cone.geometry.dispose();this.cone.material.dispose()}update(){this.light.updateMatrixWorld();const e=this.light.distance?this.light.distance:1e3;const t=e*Math.tan(this.light.angle);this.cone.scale.set(t,t,e);vc.setFromMatrixPosition(this.light.target.matrixWorld);this.cone.lookAt(vc);void 0!==this.color?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}}const xc=new Vector3;const bc=new Matrix4;const _c=new Matrix4;class SkeletonHelper extends LineSegments{constructor(e){const t=getBoneList(e);const n=new BufferGeometry;const r=[];const i=[];const s=new Color(0,0,1);const a=new Color(0,1,0);for(let e=0;e<t.length;e++){const n=t[e];if(n.parent&&n.parent.isBone){r.push(0,0,0);r.push(0,0,0);i.push(s.r,s.g,s.b);i.push(a.r,a.g,a.b)}}n.setAttribute(\"position\",new Float32BufferAttribute(r,3));n.setAttribute(\"color\",new Float32BufferAttribute(i,3));const o=new LineBasicMaterial({vertexColors:true,depthTest:false,depthWrite:false,toneMapped:false,transparent:true});super(n,o);this.type=\"SkeletonHelper\";this.isSkeletonHelper=true;this.root=e;this.bones=t;this.matrix=e.matrixWorld;this.matrixAutoUpdate=false}updateMatrixWorld(e){const t=this.bones;const n=this.geometry;const r=n.getAttribute(\"position\");_c.copy(this.root.matrixWorld).invert();for(let e=0,n=0;e<t.length;e++){const i=t[e];if(i.parent&&i.parent.isBone){bc.multiplyMatrices(_c,i.matrixWorld);xc.setFromMatrixPosition(bc);r.setXYZ(n,xc.x,xc.y,xc.z);bc.multiplyMatrices(_c,i.parent.matrixWorld);xc.setFromMatrixPosition(bc);r.setXYZ(n+1,xc.x,xc.y,xc.z);n+=2}}n.getAttribute(\"position\").needsUpdate=true;super.updateMatrixWorld(e)}}function getBoneList(e){const t=[];e&&e.isBone&&t.push(e);for(let n=0;n<e.children.length;n++)t.push.apply(t,getBoneList(e.children[n]));return t}class PointLightHelper extends Mesh{constructor(e,t,n){const r=new SphereGeometry(t,4,2);const i=new MeshBasicMaterial({wireframe:true,fog:false,toneMapped:false});super(r,i);this.light=e;this.light.updateMatrixWorld();this.color=n;this.type=\"PointLightHelper\";this.matrix=this.light.matrixWorld;this.matrixAutoUpdate=false;this.update()}dispose(){this.geometry.dispose();this.material.dispose()}update(){void 0!==this.color?this.material.color.set(this.color):this.material.color.copy(this.light.color)}}const Mc=new Vector3;const wc=new Color;const Sc=new Color;class HemisphereLightHelper extends Object3D{constructor(e,t,n){super();this.light=e;this.light.updateMatrixWorld();this.matrix=e.matrixWorld;this.matrixAutoUpdate=false;this.color=n;const r=new OctahedronGeometry(t);r.rotateY(.5*Math.PI);this.material=new MeshBasicMaterial({wireframe:true,fog:false,toneMapped:false});void 0===this.color&&(this.material.vertexColors=true);const i=r.getAttribute(\"position\");const s=new Float32Array(3*i.count);r.setAttribute(\"color\",new BufferAttribute(s,3));this.add(new Mesh(r,this.material));this.update()}dispose(){this.children[0].geometry.dispose();this.children[0].material.dispose()}update(){const e=this.children[0];if(void 0!==this.color)this.material.color.set(this.color);else{const t=e.geometry.getAttribute(\"color\");wc.copy(this.light.color);Sc.copy(this.light.groundColor);for(let e=0,n=t.count;e<n;e++){const r=e<n/2?wc:Sc;t.setXYZ(e,r.r,r.g,r.b)}t.needsUpdate=true}e.lookAt(Mc.setFromMatrixPosition(this.light.matrixWorld).negate())}}class GridHelper extends LineSegments{constructor(e=10,t=10,n=4473924,r=8947848){n=new Color(n);r=new Color(r);const i=t/2;const s=e/t;const a=e/2;const o=[],l=[];for(let e=0,c=0,u=-a;e<=t;e++,u+=s){o.push(-a,0,u,a,0,u);o.push(u,0,-a,u,0,a);const t=e===i?n:r;t.toArray(l,c);c+=3;t.toArray(l,c);c+=3;t.toArray(l,c);c+=3;t.toArray(l,c);c+=3}const c=new BufferGeometry;c.setAttribute(\"position\",new Float32BufferAttribute(o,3));c.setAttribute(\"color\",new Float32BufferAttribute(l,3));const u=new LineBasicMaterial({vertexColors:true,toneMapped:false});super(c,u);this.type=\"GridHelper\"}}class PolarGridHelper extends LineSegments{constructor(e=10,t=16,n=8,r=64,i=4473924,s=8947848){i=new Color(i);s=new Color(s);const a=[];const o=[];for(let n=0;n<=t;n++){const r=n/t*(2*Math.PI);const l=Math.sin(r)*e;const c=Math.cos(r)*e;a.push(0,0,0);a.push(l,0,c);const u=1&n?i:s;o.push(u.r,u.g,u.b);o.push(u.r,u.g,u.b)}for(let t=0;t<=n;t++){const l=1&t?i:s;const c=e-e/n*t;for(let e=0;e<r;e++){let t=e/r*(2*Math.PI);let n=Math.sin(t)*c;let i=Math.cos(t)*c;a.push(n,0,i);o.push(l.r,l.g,l.b);t=(e+1)/r*(2*Math.PI);n=Math.sin(t)*c;i=Math.cos(t)*c;a.push(n,0,i);o.push(l.r,l.g,l.b)}}const l=new BufferGeometry;l.setAttribute(\"position\",new Float32BufferAttribute(a,3));l.setAttribute(\"color\",new Float32BufferAttribute(o,3));const c=new LineBasicMaterial({vertexColors:true,toneMapped:false});super(l,c);this.type=\"PolarGridHelper\"}}const Tc=new Vector3;const Ec=new Vector3;const Ac=new Vector3;class DirectionalLightHelper extends Object3D{constructor(e,t,n){super();this.light=e;this.light.updateMatrixWorld();this.matrix=e.matrixWorld;this.matrixAutoUpdate=false;this.color=n;void 0===t&&(t=1);let r=new BufferGeometry;r.setAttribute(\"position\",new Float32BufferAttribute([-t,t,0,t,t,0,t,-t,0,-t,-t,0,-t,t,0],3));const i=new LineBasicMaterial({fog:false,toneMapped:false});this.lightPlane=new Line(r,i);this.add(this.lightPlane);r=new BufferGeometry;r.setAttribute(\"position\",new Float32BufferAttribute([0,0,0,0,0,1],3));this.targetLine=new Line(r,i);this.add(this.targetLine);this.update()}dispose(){this.lightPlane.geometry.dispose();this.lightPlane.material.dispose();this.targetLine.geometry.dispose();this.targetLine.material.dispose()}update(){Tc.setFromMatrixPosition(this.light.matrixWorld);Ec.setFromMatrixPosition(this.light.target.matrixWorld);Ac.subVectors(Ec,Tc);this.lightPlane.lookAt(Ec);if(void 0!==this.color){this.lightPlane.material.color.set(this.color);this.targetLine.material.color.set(this.color)}else{this.lightPlane.material.color.copy(this.light.color);this.targetLine.material.color.copy(this.light.color)}this.targetLine.lookAt(Ec);this.targetLine.scale.z=Ac.length()}}const Lc=new Vector3;const Cc=new Camera;class CameraHelper extends LineSegments{constructor(e){const t=new BufferGeometry;const n=new LineBasicMaterial({color:16777215,vertexColors:true,toneMapped:false});const r=[];const i=[];const s={};const a=new Color(16755200);const o=new Color(16711680);const l=new Color(43775);const c=new Color(16777215);const u=new Color(3355443);addLine(\"n1\",\"n2\",a);addLine(\"n2\",\"n4\",a);addLine(\"n4\",\"n3\",a);addLine(\"n3\",\"n1\",a);addLine(\"f1\",\"f2\",a);addLine(\"f2\",\"f4\",a);addLine(\"f4\",\"f3\",a);addLine(\"f3\",\"f1\",a);addLine(\"n1\",\"f1\",a);addLine(\"n2\",\"f2\",a);addLine(\"n3\",\"f3\",a);addLine(\"n4\",\"f4\",a);addLine(\"p\",\"n1\",o);addLine(\"p\",\"n2\",o);addLine(\"p\",\"n3\",o);addLine(\"p\",\"n4\",o);addLine(\"u1\",\"u2\",l);addLine(\"u2\",\"u3\",l);addLine(\"u3\",\"u1\",l);addLine(\"c\",\"t\",c);addLine(\"p\",\"c\",u);addLine(\"cn1\",\"cn2\",u);addLine(\"cn3\",\"cn4\",u);addLine(\"cf1\",\"cf2\",u);addLine(\"cf3\",\"cf4\",u);function addLine(e,t,n){addPoint(e,n);addPoint(t,n)}function addPoint(e,t){r.push(0,0,0);i.push(t.r,t.g,t.b);void 0===s[e]&&(s[e]=[]);s[e].push(r.length/3-1)}t.setAttribute(\"position\",new Float32BufferAttribute(r,3));t.setAttribute(\"color\",new Float32BufferAttribute(i,3));super(t,n);this.type=\"CameraHelper\";this.camera=e;this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix();this.matrix=e.matrixWorld;this.matrixAutoUpdate=false;this.pointMap=s;this.update()}update(){const e=this.geometry;const t=this.pointMap;const n=1,r=1;Cc.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse);setPoint(\"c\",t,e,Cc,0,0,-1);setPoint(\"t\",t,e,Cc,0,0,1);setPoint(\"n1\",t,e,Cc,-n,-r,-1);setPoint(\"n2\",t,e,Cc,n,-r,-1);setPoint(\"n3\",t,e,Cc,-n,r,-1);setPoint(\"n4\",t,e,Cc,n,r,-1);setPoint(\"f1\",t,e,Cc,-n,-r,1);setPoint(\"f2\",t,e,Cc,n,-r,1);setPoint(\"f3\",t,e,Cc,-n,r,1);setPoint(\"f4\",t,e,Cc,n,r,1);setPoint(\"u1\",t,e,Cc,.7*n,1.1*r,-1);setPoint(\"u2\",t,e,Cc,.7*-n,1.1*r,-1);setPoint(\"u3\",t,e,Cc,0,2*r,-1);setPoint(\"cf1\",t,e,Cc,-n,0,1);setPoint(\"cf2\",t,e,Cc,n,0,1);setPoint(\"cf3\",t,e,Cc,0,-r,1);setPoint(\"cf4\",t,e,Cc,0,r,1);setPoint(\"cn1\",t,e,Cc,-n,0,-1);setPoint(\"cn2\",t,e,Cc,n,0,-1);setPoint(\"cn3\",t,e,Cc,0,-r,-1);setPoint(\"cn4\",t,e,Cc,0,r,-1);e.getAttribute(\"position\").needsUpdate=true}dispose(){this.geometry.dispose();this.material.dispose()}}function setPoint(e,t,n,r,i,s,a){Lc.set(i,s,a).unproject(r);const o=t[e];if(void 0!==o){const e=n.getAttribute(\"position\");for(let t=0,n=o.length;t<n;t++)e.setXYZ(o[t],Lc.x,Lc.y,Lc.z)}}const Rc=new Box3;class BoxHelper extends LineSegments{constructor(e,t=16776960){const n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]);const r=new Float32Array(24);const i=new BufferGeometry;i.setIndex(new BufferAttribute(n,1));i.setAttribute(\"position\",new BufferAttribute(r,3));super(i,new LineBasicMaterial({color:t,toneMapped:false}));this.object=e;this.type=\"BoxHelper\";this.matrixAutoUpdate=false;this.update()}update(e){void 0!==e&&console.warn(\"THREE.BoxHelper: .update() has no longer arguments.\");void 0!==this.object&&Rc.setFromObject(this.object);if(Rc.isEmpty())return;const t=Rc.min;const n=Rc.max;const r=this.geometry.attributes.position;const i=r.array;i[0]=n.x;i[1]=n.y;i[2]=n.z;i[3]=t.x;i[4]=n.y;i[5]=n.z;i[6]=t.x;i[7]=t.y;i[8]=n.z;i[9]=n.x;i[10]=t.y;i[11]=n.z;i[12]=n.x;i[13]=n.y;i[14]=t.z;i[15]=t.x;i[16]=n.y;i[17]=t.z;i[18]=t.x;i[19]=t.y;i[20]=t.z;i[21]=n.x;i[22]=t.y;i[23]=t.z;r.needsUpdate=true;this.geometry.computeBoundingSphere()}setFromObject(e){this.object=e;this.update();return this}copy(e){LineSegments.prototype.copy.call(this,e);this.object=e.object;return this}}class Box3Helper extends LineSegments{constructor(e,t=16776960){const n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]);const r=[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1];const i=new BufferGeometry;i.setIndex(new BufferAttribute(n,1));i.setAttribute(\"position\",new Float32BufferAttribute(r,3));super(i,new LineBasicMaterial({color:t,toneMapped:false}));this.box=e;this.type=\"Box3Helper\";this.geometry.computeBoundingSphere()}updateMatrixWorld(e){const t=this.box;if(!t.isEmpty()){t.getCenter(this.position);t.getSize(this.scale);this.scale.multiplyScalar(.5);super.updateMatrixWorld(e)}}}class PlaneHelper extends Line{constructor(e,t=1,n=16776960){const r=n;const i=[1,-1,1,-1,1,1,-1,-1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,0,0,1,0,0,0];const s=new BufferGeometry;s.setAttribute(\"position\",new Float32BufferAttribute(i,3));s.computeBoundingSphere();super(s,new LineBasicMaterial({color:r,toneMapped:false}));this.type=\"PlaneHelper\";this.plane=e;this.size=t;const a=[1,1,1,-1,1,1,-1,-1,1,1,1,1,-1,-1,1,1,-1,1];const o=new BufferGeometry;o.setAttribute(\"position\",new Float32BufferAttribute(a,3));o.computeBoundingSphere();this.add(new Mesh(o,new MeshBasicMaterial({color:r,opacity:.2,transparent:true,depthWrite:false,toneMapped:false})))}updateMatrixWorld(e){let t=-this.plane.constant;Math.abs(t)<1e-8&&(t=1e-8);this.scale.set(.5*this.size,.5*this.size,t);this.children[0].material.side=t<0?d:h;this.lookAt(this.plane.normal);super.updateMatrixWorld(e)}}const Pc=new Vector3;let Ic,Dc;class ArrowHelper extends Object3D{constructor(e=new Vector3(0,0,1),t=new Vector3(0,0,0),n=1,r=16776960,i=.2*n,s=.2*i){super();this.type=\"ArrowHelper\";if(void 0===Ic){Ic=new BufferGeometry;Ic.setAttribute(\"position\",new Float32BufferAttribute([0,0,0,0,1,0],3));Dc=new CylinderGeometry(0,.5,1,5,1);Dc.translate(0,-.5,0)}this.position.copy(t);this.line=new Line(Ic,new LineBasicMaterial({color:r,toneMapped:false}));this.line.matrixAutoUpdate=false;this.add(this.line);this.cone=new Mesh(Dc,new MeshBasicMaterial({color:r,toneMapped:false}));this.cone.matrixAutoUpdate=false;this.add(this.cone);this.setDirection(e);this.setLength(n,i,s)}setDirection(e){if(e.y>.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{Pc.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(Pc,t)}}setLength(e,t=.2*e,n=.2*t){this.line.scale.set(1,Math.max(1e-4,e-t),1);this.line.updateMatrix();this.cone.scale.set(n,t,n);this.cone.position.y=e;this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e);this.cone.material.color.set(e)}copy(e){super.copy(e,false);this.line.copy(e.line);this.cone.copy(e.cone);return this}}class AxesHelper extends LineSegments{constructor(e=1){const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e];const n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1];const r=new BufferGeometry;r.setAttribute(\"position\",new Float32BufferAttribute(t,3));r.setAttribute(\"color\",new Float32BufferAttribute(n,3));const i=new LineBasicMaterial({vertexColors:true,toneMapped:false});super(r,i);this.type=\"AxesHelper\"}setColors(e,t,n){const r=new Color;const i=this.geometry.attributes.color.array;r.set(e);r.toArray(i,0);r.toArray(i,3);r.set(t);r.toArray(i,6);r.toArray(i,9);r.set(n);r.toArray(i,12);r.toArray(i,15);this.geometry.attributes.color.needsUpdate=true;return this}dispose(){this.geometry.dispose();this.material.dispose()}}class ShapePath{constructor(){this.type=\"ShapePath\";this.color=new Color;this.subPaths=[];this.currentPath=null}moveTo(e,t){this.currentPath=new Path;this.subPaths.push(this.currentPath);this.currentPath.moveTo(e,t);return this}lineTo(e,t){this.currentPath.lineTo(e,t);return this}quadraticCurveTo(e,t,n,r){this.currentPath.quadraticCurveTo(e,t,n,r);return this}bezierCurveTo(e,t,n,r,i,s){this.currentPath.bezierCurveTo(e,t,n,r,i,s);return this}splineThru(e){this.currentPath.splineThru(e);return this}toShapes(e,t){function toShapesNoHoles(e){const t=[];for(let n=0,r=e.length;n<r;n++){const r=e[n];const i=new Shape;i.curves=r.curves;t.push(i)}return t}function isPointInsidePolygon(e,t){const n=t.length;let r=false;for(let i=n-1,s=0;s<n;i=s++){let n=t[i];let a=t[s];let o=a.x-n.x;let l=a.y-n.y;if(Math.abs(l)>Number.EPSILON){if(l<0){n=t[s];o=-o;a=t[i];l=-l}if(e.y<n.y||e.y>a.y)continue;if(e.y===n.y){if(e.x===n.x)return true}else{const t=l*(e.x-n.x)-o*(e.y-n.y);if(0===t)return true;if(t<0)continue;r=!r}}else{if(e.y!==n.y)continue;if(a.x<=e.x&&e.x<=n.x||n.x<=e.x&&e.x<=a.x)return true}}return r}const n=ShapeUtils.isClockWise;const r=this.subPaths;if(0===r.length)return[];if(true===t)return toShapesNoHoles(r);let i,s,a;const o=[];if(1===r.length){s=r[0];a=new Shape;a.curves=s.curves;o.push(a);return o}let l=!n(r[0].getPoints());l=e?!l:l;const c=[];const u=[];let h=[];let d=0;let p;u[d]=void 0;h[d]=[];for(let t=0,a=r.length;t<a;t++){s=r[t];p=s.getPoints();i=n(p);i=e?!i:i;if(i){!l&&u[d]&&d++;u[d]={s:new Shape,p:p};u[d].s.curves=s.curves;l&&d++;h[d]=[]}else h[d].push({h:s,p:p[0]})}if(!u[0])return toShapesNoHoles(r);if(u.length>1){let e=false;const t=[];for(let e=0,t=u.length;e<t;e++)c[e]=[];for(let n=0,r=u.length;n<r;n++){const r=h[n];for(let i=0;i<r.length;i++){const s=r[i];let a=true;for(let r=0;r<u.length;r++)if(isPointInsidePolygon(s.p,u[r].p)){n!==r&&t.push({froms:n,tos:r,hole:i});if(a){a=false;c[r].push(s)}else e=true}a&&c[n].push(s)}}t.length>0&&(e||(h=c))}let f;for(let e=0,t=u.length;e<t;e++){a=u[e].s;o.push(a);f=h[e];for(let e=0,t=f.length;e<t;e++)a.holes.push(f[e].h)}return o}}const Bc=new Float32Array(1);const Vc=new Int32Array(Bc.buffer);class DataUtils{static toHalfFloat(e){if(e>65504){console.warn(\"THREE.DataUtils.toHalfFloat(): value exceeds 65504.\");e=65504}Bc[0]=e;const t=Vc[0];let n=t>>16&32768;let r=t>>12&2047;const i=t>>23&255;if(i<103)return n;if(i>142){n|=31744;n|=(255==i?0:1)&&8388607&t;return n}if(i<113){r|=2048;n|=(r>>114-i)+(r>>113-i&1);return n}n|=i-112<<10|r>>1;n+=1&r;return n}}const Nc=0;const Uc=1;const zc=0;const Gc=1;const Fc=2;function MeshFaceMaterial(e){console.warn(\"THREE.MeshFaceMaterial has been removed. Use an Array instead.\");return e}function MultiMaterial(e=[]){console.warn(\"THREE.MultiMaterial has been removed. Use an Array instead.\");e.isMultiMaterial=true;e.materials=e;e.clone=function(){return e.slice()};return e}function PointCloud(e,t){console.warn(\"THREE.PointCloud has been renamed to THREE.Points.\");return new Points(e,t)}function Particle(e){console.warn(\"THREE.Particle has been renamed to THREE.Sprite.\");return new Sprite(e)}function ParticleSystem(e,t){console.warn(\"THREE.ParticleSystem has been renamed to THREE.Points.\");return new Points(e,t)}function PointCloudMaterial(e){console.warn(\"THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial.\");return new PointsMaterial(e)}function ParticleBasicMaterial(e){console.warn(\"THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial.\");return new PointsMaterial(e)}function ParticleSystemMaterial(e){console.warn(\"THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial.\");return new PointsMaterial(e)}function Vertex(e,t,n){console.warn(\"THREE.Vertex has been removed. Use THREE.Vector3 instead.\");return new Vector3(e,t,n)}function DynamicBufferAttribute(e,t){console.warn(\"THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead.\");return new BufferAttribute(e,t).setUsage(yn)}function Int8Attribute(e,t){console.warn(\"THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead.\");return new Int8BufferAttribute(e,t)}function Uint8Attribute(e,t){console.warn(\"THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead.\");return new Uint8BufferAttribute(e,t)}function Uint8ClampedAttribute(e,t){console.warn(\"THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead.\");return new Uint8ClampedBufferAttribute(e,t)}function Int16Attribute(e,t){console.warn(\"THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead.\");return new Int16BufferAttribute(e,t)}function Uint16Attribute(e,t){console.warn(\"THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead.\");return new Uint16BufferAttribute(e,t)}function Int32Attribute(e,t){console.warn(\"THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead.\");return new Int32BufferAttribute(e,t)}function Uint32Attribute(e,t){console.warn(\"THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead.\");return new Uint32BufferAttribute(e,t)}function Float32Attribute(e,t){console.warn(\"THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead.\");return new Float32BufferAttribute(e,t)}function Float64Attribute(e,t){console.warn(\"THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead.\");return new Float64BufferAttribute(e,t)}Curve.create=function(e,t){console.log(\"THREE.Curve.create() has been deprecated\");e.prototype=Object.create(Curve.prototype);e.prototype.constructor=e;e.prototype.getPoint=t;return e};Path.prototype.fromPoints=function(e){console.warn(\"THREE.Path: .fromPoints() has been renamed to .setFromPoints().\");return this.setFromPoints(e)};function AxisHelper(e){console.warn(\"THREE.AxisHelper has been renamed to THREE.AxesHelper.\");return new AxesHelper(e)}function BoundingBoxHelper(e,t){console.warn(\"THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead.\");return new BoxHelper(e,t)}function EdgesHelper(e,t){console.warn(\"THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead.\");return new LineSegments(new EdgesGeometry(e.geometry),new LineBasicMaterial({color:void 0!==t?t:16777215}))}GridHelper.prototype.setColors=function(){console.error(\"THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.\")};SkeletonHelper.prototype.update=function(){console.error(\"THREE.SkeletonHelper: update() no longer needs to be called.\")};function WireframeHelper(e,t){console.warn(\"THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead.\");return new LineSegments(new WireframeGeometry(e.geometry),new LineBasicMaterial({color:void 0!==t?t:16777215}))}Loader.prototype.extractUrlBase=function(e){console.warn(\"THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead.\");return LoaderUtils.extractUrlBase(e)};Loader.Handlers={add:function(){console.error(\"THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.\")},get:function(){console.error(\"THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.\")}};function XHRLoader(e){console.warn(\"THREE.XHRLoader has been renamed to THREE.FileLoader.\");return new FileLoader(e)}function BinaryTextureLoader(e){console.warn(\"THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader.\");return new DataTextureLoader(e)}Box2.prototype.center=function(e){console.warn(\"THREE.Box2: .center() has been renamed to .getCenter().\");return this.getCenter(e)};Box2.prototype.empty=function(){console.warn(\"THREE.Box2: .empty() has been renamed to .isEmpty().\");return this.isEmpty()};Box2.prototype.isIntersectionBox=function(e){console.warn(\"THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox().\");return this.intersectsBox(e)};Box2.prototype.size=function(e){console.warn(\"THREE.Box2: .size() has been renamed to .getSize().\");return this.getSize(e)};Box3.prototype.center=function(e){console.warn(\"THREE.Box3: .center() has been renamed to .getCenter().\");return this.getCenter(e)};Box3.prototype.empty=function(){console.warn(\"THREE.Box3: .empty() has been renamed to .isEmpty().\");return this.isEmpty()};Box3.prototype.isIntersectionBox=function(e){console.warn(\"THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox().\");return this.intersectsBox(e)};Box3.prototype.isIntersectionSphere=function(e){console.warn(\"THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().\");return this.intersectsSphere(e)};Box3.prototype.size=function(e){console.warn(\"THREE.Box3: .size() has been renamed to .getSize().\");return this.getSize(e)};Sphere.prototype.empty=function(){console.warn(\"THREE.Sphere: .empty() has been renamed to .isEmpty().\");return this.isEmpty()};Frustum.prototype.setFromMatrix=function(e){console.warn(\"THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix().\");return this.setFromProjectionMatrix(e)};Line3.prototype.center=function(e){console.warn(\"THREE.Line3: .center() has been renamed to .getCenter().\");return this.getCenter(e)};Matrix3.prototype.flattenToArrayOffset=function(e,t){console.warn(\"THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.\");return this.toArray(e,t)};Matrix3.prototype.multiplyVector3=function(e){console.warn(\"THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.\");return e.applyMatrix3(this)};Matrix3.prototype.multiplyVector3Array=function(){console.error(\"THREE.Matrix3: .multiplyVector3Array() has been removed.\")};Matrix3.prototype.applyToBufferAttribute=function(e){console.warn(\"THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead.\");return e.applyMatrix3(this)};Matrix3.prototype.applyToVector3Array=function(){console.error(\"THREE.Matrix3: .applyToVector3Array() has been removed.\")};Matrix3.prototype.getInverse=function(e){console.warn(\"THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead.\");return this.copy(e).invert()};Matrix4.prototype.extractPosition=function(e){console.warn(\"THREE.Matrix4: .extractPosition() has been renamed to .copyPosition().\");return this.copyPosition(e)};Matrix4.prototype.flattenToArrayOffset=function(e,t){console.warn(\"THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.\");return this.toArray(e,t)};Matrix4.prototype.getPosition=function(){console.warn(\"THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead.\");return(new Vector3).setFromMatrixColumn(this,3)};Matrix4.prototype.setRotationFromQuaternion=function(e){console.warn(\"THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion().\");return this.makeRotationFromQuaternion(e)};Matrix4.prototype.multiplyToArray=function(){console.warn(\"THREE.Matrix4: .multiplyToArray() has been removed.\")};Matrix4.prototype.multiplyVector3=function(e){console.warn(\"THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead.\");return e.applyMatrix4(this)};Matrix4.prototype.multiplyVector4=function(e){console.warn(\"THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead.\");return e.applyMatrix4(this)};Matrix4.prototype.multiplyVector3Array=function(){console.error(\"THREE.Matrix4: .multiplyVector3Array() has been removed.\")};Matrix4.prototype.rotateAxis=function(e){console.warn(\"THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead.\");e.transformDirection(this)};Matrix4.prototype.crossVector=function(e){console.warn(\"THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead.\");return e.applyMatrix4(this)};Matrix4.prototype.translate=function(){console.error(\"THREE.Matrix4: .translate() has been removed.\")};Matrix4.prototype.rotateX=function(){console.error(\"THREE.Matrix4: .rotateX() has been removed.\")};Matrix4.prototype.rotateY=function(){console.error(\"THREE.Matrix4: .rotateY() has been removed.\")};Matrix4.prototype.rotateZ=function(){console.error(\"THREE.Matrix4: .rotateZ() has been removed.\")};Matrix4.prototype.rotateByAxis=function(){console.error(\"THREE.Matrix4: .rotateByAxis() has been removed.\")};Matrix4.prototype.applyToBufferAttribute=function(e){console.warn(\"THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead.\");return e.applyMatrix4(this)};Matrix4.prototype.applyToVector3Array=function(){console.error(\"THREE.Matrix4: .applyToVector3Array() has been removed.\")};Matrix4.prototype.makeFrustum=function(e,t,n,r,i,s){console.warn(\"THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead.\");return this.makePerspective(e,t,r,n,i,s)};Matrix4.prototype.getInverse=function(e){console.warn(\"THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead.\");return this.copy(e).invert()};Plane.prototype.isIntersectionLine=function(e){console.warn(\"THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine().\");return this.intersectsLine(e)};Quaternion.prototype.multiplyVector3=function(e){console.warn(\"THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.\");return e.applyQuaternion(this)};Quaternion.prototype.inverse=function(){console.warn(\"THREE.Quaternion: .inverse() has been renamed to invert().\");return this.invert()};Ray.prototype.isIntersectionBox=function(e){console.warn(\"THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox().\");return this.intersectsBox(e)};Ray.prototype.isIntersectionPlane=function(e){console.warn(\"THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane().\");return this.intersectsPlane(e)};Ray.prototype.isIntersectionSphere=function(e){console.warn(\"THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere().\");return this.intersectsSphere(e)};Triangle.prototype.area=function(){console.warn(\"THREE.Triangle: .area() has been renamed to .getArea().\");return this.getArea()};Triangle.prototype.barycoordFromPoint=function(e,t){console.warn(\"THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().\");return this.getBarycoord(e,t)};Triangle.prototype.midpoint=function(e){console.warn(\"THREE.Triangle: .midpoint() has been renamed to .getMidpoint().\");return this.getMidpoint(e)};Triangle.prototypenormal=function(e){console.warn(\"THREE.Triangle: .normal() has been renamed to .getNormal().\");return this.getNormal(e)};Triangle.prototype.plane=function(e){console.warn(\"THREE.Triangle: .plane() has been renamed to .getPlane().\");return this.getPlane(e)};Triangle.barycoordFromPoint=function(e,t,n,r,i){console.warn(\"THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().\");return Triangle.getBarycoord(e,t,n,r,i)};Triangle.normal=function(e,t,n,r){console.warn(\"THREE.Triangle: .normal() has been renamed to .getNormal().\");return Triangle.getNormal(e,t,n,r)};Shape.prototype.extractAllPoints=function(e){console.warn(\"THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead.\");return this.extractPoints(e)};Shape.prototype.extrude=function(e){console.warn(\"THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead.\");return new ExtrudeGeometry(this,e)};Shape.prototype.makeGeometry=function(e){console.warn(\"THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead.\");return new ShapeGeometry(this,e)};Vector2.prototype.fromAttribute=function(e,t,n){console.warn(\"THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute().\");return this.fromBufferAttribute(e,t,n)};Vector2.prototype.distanceToManhattan=function(e){console.warn(\"THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo().\");return this.manhattanDistanceTo(e)};Vector2.prototype.lengthManhattan=function(){console.warn(\"THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength().\");return this.manhattanLength()};Vector3.prototype.setEulerFromRotationMatrix=function(){console.error(\"THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.\")};Vector3.prototype.setEulerFromQuaternion=function(){console.error(\"THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.\")};Vector3.prototype.getPositionFromMatrix=function(e){console.warn(\"THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition().\");return this.setFromMatrixPosition(e)};Vector3.prototype.getScaleFromMatrix=function(e){console.warn(\"THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale().\");return this.setFromMatrixScale(e)};Vector3.prototype.getColumnFromMatrix=function(e,t){console.warn(\"THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn().\");return this.setFromMatrixColumn(t,e)};Vector3.prototype.applyProjection=function(e){console.warn(\"THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead.\");return this.applyMatrix4(e)};Vector3.prototype.fromAttribute=function(e,t,n){console.warn(\"THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute().\");return this.fromBufferAttribute(e,t,n)};Vector3.prototype.distanceToManhattan=function(e){console.warn(\"THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo().\");return this.manhattanDistanceTo(e)};Vector3.prototype.lengthManhattan=function(){console.warn(\"THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength().\");return this.manhattanLength()};Vector4.prototype.fromAttribute=function(e,t,n){console.warn(\"THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute().\");return this.fromBufferAttribute(e,t,n)};Vector4.prototype.lengthManhattan=function(){console.warn(\"THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength().\");return this.manhattanLength()};Object3D.prototype.getChildByName=function(e){console.warn(\"THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().\");return this.getObjectByName(e)};Object3D.prototype.renderDepth=function(){console.warn(\"THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.\")};Object3D.prototype.translate=function(e,t){console.warn(\"THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.\");return this.translateOnAxis(t,e)};Object3D.prototype.getWorldRotation=function(){console.error(\"THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.\")};Object3D.prototype.applyMatrix=function(e){console.warn(\"THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4().\");return this.applyMatrix4(e)};Object.defineProperties(Object3D.prototype,{eulerOrder:{get:function(){console.warn(\"THREE.Object3D: .eulerOrder is now .rotation.order.\");return this.rotation.order},set:function(e){console.warn(\"THREE.Object3D: .eulerOrder is now .rotation.order.\");this.rotation.order=e}},useQuaternion:{get:function(){console.warn(\"THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.\")},set:function(){console.warn(\"THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.\")}}});Mesh.prototype.setDrawMode=function(){console.error(\"THREE.Mesh: .setDrawMode() has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.\")};Object.defineProperties(Mesh.prototype,{drawMode:{get:function(){console.error(\"THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode.\");return Wt},set:function(){console.error(\"THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.\")}}});SkinnedMesh.prototype.initBones=function(){console.error(\"THREE.SkinnedMesh: initBones() has been removed.\")};PerspectiveCamera.prototype.setLens=function(e,t){console.warn(\"THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup.\");void 0!==t&&(this.filmGauge=t);this.setFocalLength(e)};Object.defineProperties(Light.prototype,{onlyShadow:{set:function(){console.warn(\"THREE.Light: .onlyShadow has been removed.\")}},shadowCameraFov:{set:function(e){console.warn(\"THREE.Light: .shadowCameraFov is now .shadow.camera.fov.\");this.shadow.camera.fov=e}},shadowCameraLeft:{set:function(e){console.warn(\"THREE.Light: .shadowCameraLeft is now .shadow.camera.left.\");this.shadow.camera.left=e}},shadowCameraRight:{set:function(e){console.warn(\"THREE.Light: .shadowCameraRight is now .shadow.camera.right.\");this.shadow.camera.right=e}},shadowCameraTop:{set:function(e){console.warn(\"THREE.Light: .shadowCameraTop is now .shadow.camera.top.\");this.shadow.camera.top=e}},shadowCameraBottom:{set:function(e){console.warn(\"THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom.\");this.shadow.camera.bottom=e}},shadowCameraNear:{set:function(e){console.warn(\"THREE.Light: .shadowCameraNear is now .shadow.camera.near.\");this.shadow.camera.near=e}},shadowCameraFar:{set:function(e){console.warn(\"THREE.Light: .shadowCameraFar is now .shadow.camera.far.\");this.shadow.camera.far=e}},shadowCameraVisible:{set:function(){console.warn(\"THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.\")}},shadowBias:{set:function(e){console.warn(\"THREE.Light: .shadowBias is now .shadow.bias.\");this.shadow.bias=e}},shadowDarkness:{set:function(){console.warn(\"THREE.Light: .shadowDarkness has been removed.\")}},shadowMapWidth:{set:function(e){console.warn(\"THREE.Light: .shadowMapWidth is now .shadow.mapSize.width.\");this.shadow.mapSize.width=e}},shadowMapHeight:{set:function(e){console.warn(\"THREE.Light: .shadowMapHeight is now .shadow.mapSize.height.\");this.shadow.mapSize.height=e}}});Object.defineProperties(BufferAttribute.prototype,{length:{get:function(){console.warn(\"THREE.BufferAttribute: .length has been deprecated. Use .count instead.\");return this.array.length}},dynamic:{get:function(){console.warn(\"THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead.\");return this.usage===yn},set:function(){console.warn(\"THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead.\");this.setUsage(yn)}}});BufferAttribute.prototype.setDynamic=function(e){console.warn(\"THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead.\");this.setUsage(true===e?yn:gn);return this};BufferAttribute.prototype.copyIndicesArray=function(){console.error(\"THREE.BufferAttribute: .copyIndicesArray() has been removed.\")},BufferAttribute.prototype.setArray=function(){console.error(\"THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers\")};BufferGeometry.prototype.addIndex=function(e){console.warn(\"THREE.BufferGeometry: .addIndex() has been renamed to .setIndex().\");this.setIndex(e)};BufferGeometry.prototype.addAttribute=function(e,t){console.warn(\"THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute().\");if(!(t&&t.isBufferAttribute)&&!(t&&t.isInterleavedBufferAttribute)){console.warn(\"THREE.BufferGeometry: .addAttribute() now expects ( name, attribute ).\");return this.setAttribute(e,new BufferAttribute(arguments[1],arguments[2]))}if(\"index\"===e){console.warn(\"THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute.\");this.setIndex(t);return this}return this.setAttribute(e,t)};BufferGeometry.prototype.addDrawCall=function(e,t,n){void 0!==n&&console.warn(\"THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset.\");console.warn(\"THREE.BufferGeometry: .addDrawCall() is now .addGroup().\");this.addGroup(e,t)};BufferGeometry.prototype.clearDrawCalls=function(){console.warn(\"THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups().\");this.clearGroups()};BufferGeometry.prototype.computeOffsets=function(){console.warn(\"THREE.BufferGeometry: .computeOffsets() has been removed.\")};BufferGeometry.prototype.removeAttribute=function(e){console.warn(\"THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute().\");return this.deleteAttribute(e)};BufferGeometry.prototype.applyMatrix=function(e){console.warn(\"THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4().\");return this.applyMatrix4(e)};Object.defineProperties(BufferGeometry.prototype,{drawcalls:{get:function(){console.error(\"THREE.BufferGeometry: .drawcalls has been renamed to .groups.\");return this.groups}},offsets:{get:function(){console.warn(\"THREE.BufferGeometry: .offsets has been renamed to .groups.\");return this.groups}}});InterleavedBuffer.prototype.setDynamic=function(e){console.warn(\"THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead.\");this.setUsage(true===e?yn:gn);return this};InterleavedBuffer.prototype.setArray=function(){console.error(\"THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers\")};ExtrudeGeometry.prototype.getArrays=function(){console.error(\"THREE.ExtrudeGeometry: .getArrays() has been removed.\")};ExtrudeGeometry.prototype.addShapeList=function(){console.error(\"THREE.ExtrudeGeometry: .addShapeList() has been removed.\")};ExtrudeGeometry.prototype.addShape=function(){console.error(\"THREE.ExtrudeGeometry: .addShape() has been removed.\")};Scene.prototype.dispose=function(){console.error(\"THREE.Scene: .dispose() has been removed.\")};Uniform.prototype.onUpdate=function(){console.warn(\"THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead.\");return this};Object.defineProperties(Material.prototype,{wrapAround:{get:function(){console.warn(\"THREE.Material: .wrapAround has been removed.\")},set:function(){console.warn(\"THREE.Material: .wrapAround has been removed.\")}},overdraw:{get:function(){console.warn(\"THREE.Material: .overdraw has been removed.\")},set:function(){console.warn(\"THREE.Material: .overdraw has been removed.\")}},wrapRGB:{get:function(){console.warn(\"THREE.Material: .wrapRGB has been removed.\");return new Color}},shading:{get:function(){console.error(\"THREE.\"+this.type+\": .shading has been removed. Use the boolean .flatShading instead.\")},set:function(e){console.warn(\"THREE.\"+this.type+\": .shading has been removed. Use the boolean .flatShading instead.\");this.flatShading=e===f}},stencilMask:{get:function(){console.warn(\"THREE.\"+this.type+\": .stencilMask has been removed. Use .stencilFuncMask instead.\");return this.stencilFuncMask},set:function(e){console.warn(\"THREE.\"+this.type+\": .stencilMask has been removed. Use .stencilFuncMask instead.\");this.stencilFuncMask=e}},vertexTangents:{get:function(){console.warn(\"THREE.\"+this.type+\": .vertexTangents has been removed.\")},set:function(){console.warn(\"THREE.\"+this.type+\": .vertexTangents has been removed.\")}}});Object.defineProperties(ShaderMaterial.prototype,{derivatives:{get:function(){console.warn(\"THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives.\");return this.extensions.derivatives},set:function(e){console.warn(\"THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives.\");this.extensions.derivatives=e}}});WebGLRenderer.prototype.clearTarget=function(e,t,n,r){console.warn(\"THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead.\");this.setRenderTarget(e);this.clear(t,n,r)};WebGLRenderer.prototype.animate=function(e){console.warn(\"THREE.WebGLRenderer: .animate() is now .setAnimationLoop().\");this.setAnimationLoop(e)};WebGLRenderer.prototype.getCurrentRenderTarget=function(){console.warn(\"THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget().\");return this.getRenderTarget()};WebGLRenderer.prototype.getMaxAnisotropy=function(){console.warn(\"THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy().\");return this.capabilities.getMaxAnisotropy()};WebGLRenderer.prototype.getPrecision=function(){console.warn(\"THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision.\");return this.capabilities.precision};WebGLRenderer.prototype.resetGLState=function(){console.warn(\"THREE.WebGLRenderer: .resetGLState() is now .state.reset().\");return this.state.reset()};WebGLRenderer.prototype.supportsFloatTextures=function(){console.warn(\"THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' ).\");return this.extensions.get(\"OES_texture_float\")};WebGLRenderer.prototype.supportsHalfFloatTextures=function(){console.warn(\"THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' ).\");return this.extensions.get(\"OES_texture_half_float\")};WebGLRenderer.prototype.supportsStandardDerivatives=function(){console.warn(\"THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' ).\");return this.extensions.get(\"OES_standard_derivatives\")};WebGLRenderer.prototype.supportsCompressedTextureS3TC=function(){console.warn(\"THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' ).\");return this.extensions.get(\"WEBGL_compressed_texture_s3tc\")};WebGLRenderer.prototype.supportsCompressedTexturePVRTC=function(){console.warn(\"THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' ).\");return this.extensions.get(\"WEBGL_compressed_texture_pvrtc\")};WebGLRenderer.prototype.supportsBlendMinMax=function(){console.warn(\"THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' ).\");return this.extensions.get(\"EXT_blend_minmax\")};WebGLRenderer.prototype.supportsVertexTextures=function(){console.warn(\"THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures.\");return this.capabilities.vertexTextures};WebGLRenderer.prototype.supportsInstancedArrays=function(){console.warn(\"THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' ).\");return this.extensions.get(\"ANGLE_instanced_arrays\")};WebGLRenderer.prototype.enableScissorTest=function(e){console.warn(\"THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest().\");this.setScissorTest(e)};WebGLRenderer.prototype.initMaterial=function(){console.warn(\"THREE.WebGLRenderer: .initMaterial() has been removed.\")};WebGLRenderer.prototype.addPrePlugin=function(){console.warn(\"THREE.WebGLRenderer: .addPrePlugin() has been removed.\")};WebGLRenderer.prototype.addPostPlugin=function(){console.warn(\"THREE.WebGLRenderer: .addPostPlugin() has been removed.\")};WebGLRenderer.prototype.updateShadowMap=function(){console.warn(\"THREE.WebGLRenderer: .updateShadowMap() has been removed.\")};WebGLRenderer.prototype.setFaceCulling=function(){console.warn(\"THREE.WebGLRenderer: .setFaceCulling() has been removed.\")};WebGLRenderer.prototype.allocTextureUnit=function(){console.warn(\"THREE.WebGLRenderer: .allocTextureUnit() has been removed.\")};WebGLRenderer.prototype.setTexture=function(){console.warn(\"THREE.WebGLRenderer: .setTexture() has been removed.\")};WebGLRenderer.prototype.setTexture2D=function(){console.warn(\"THREE.WebGLRenderer: .setTexture2D() has been removed.\")};WebGLRenderer.prototype.setTextureCube=function(){console.warn(\"THREE.WebGLRenderer: .setTextureCube() has been removed.\")};WebGLRenderer.prototype.getActiveMipMapLevel=function(){console.warn(\"THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel().\");return this.getActiveMipmapLevel()};Object.defineProperties(WebGLRenderer.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(e){console.warn(\"THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled.\");this.shadowMap.enabled=e}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(e){console.warn(\"THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type.\");this.shadowMap.type=e}},shadowMapCullFace:{get:function(){console.warn(\"THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.\")},set:function(){console.warn(\"THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.\")}},context:{get:function(){console.warn(\"THREE.WebGLRenderer: .context has been removed. Use .getContext() instead.\");return this.getContext()}},vr:{get:function(){console.warn(\"THREE.WebGLRenderer: .vr has been renamed to .xr\");return this.xr}},gammaInput:{get:function(){console.warn(\"THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.\");return false},set:function(){console.warn(\"THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.\")}},gammaOutput:{get:function(){console.warn(\"THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead.\");return false},set:function(e){console.warn(\"THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead.\");this.outputEncoding=true===e?Jt:Xt}},toneMappingWhitePoint:{get:function(){console.warn(\"THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.\");return 1},set:function(){console.warn(\"THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.\")}},gammaFactor:{get:function(){console.warn(\"THREE.WebGLRenderer: .gammaFactor has been removed.\");return 2},set:function(){console.warn(\"THREE.WebGLRenderer: .gammaFactor has been removed.\")}}});Object.defineProperties(WebGLShadowMap.prototype,{cullFace:{get:function(){console.warn(\"THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.\")},set:function(){console.warn(\"THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.\")}},renderReverseSided:{get:function(){console.warn(\"THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.\")},set:function(){console.warn(\"THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.\")}},renderSingleSided:{get:function(){console.warn(\"THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.\")},set:function(){console.warn(\"THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.\")}}});function WebGLRenderTargetCube(e,t,n){console.warn(\"THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options ).\");return new WebGLCubeRenderTarget(e,n)}Object.defineProperties(WebGLRenderTarget.prototype,{wrapS:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.\");return this.texture.wrapS},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.\");this.texture.wrapS=e}},wrapT:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.\");return this.texture.wrapT},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.\");this.texture.wrapT=e}},magFilter:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.\");return this.texture.magFilter},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.\");this.texture.magFilter=e}},minFilter:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.\");return this.texture.minFilter},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.\");this.texture.minFilter=e}},anisotropy:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.\");return this.texture.anisotropy},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.\");this.texture.anisotropy=e}},offset:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .offset is now .texture.offset.\");return this.texture.offset},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .offset is now .texture.offset.\");this.texture.offset=e}},repeat:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .repeat is now .texture.repeat.\");return this.texture.repeat},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .repeat is now .texture.repeat.\");this.texture.repeat=e}},format:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .format is now .texture.format.\");return this.texture.format},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .format is now .texture.format.\");this.texture.format=e}},type:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .type is now .texture.type.\");return this.texture.type},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .type is now .texture.type.\");this.texture.type=e}},generateMipmaps:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.\");return this.texture.generateMipmaps},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.\");this.texture.generateMipmaps=e}}});Audio.prototype.load=function(e){console.warn(\"THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.\");const t=this;const n=new AudioLoader;n.load(e,(function(e){t.setBuffer(e)}));return this};AudioAnalyser.prototype.getData=function(){console.warn(\"THREE.AudioAnalyser: .getData() is now .getFrequencyData().\");return this.getFrequencyData()};CubeCamera.prototype.updateCubeMap=function(e,t){console.warn(\"THREE.CubeCamera: .updateCubeMap() is now .update().\");return this.update(e,t)};CubeCamera.prototype.clear=function(e,t,n,r){console.warn(\"THREE.CubeCamera: .clear() is now .renderTarget.clear().\");return this.renderTarget.clear(e,t,n,r)};ImageUtils.crossOrigin=void 0;ImageUtils.loadTexture=function(e,t,n,r){console.warn(\"THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.\");const i=new TextureLoader;i.setCrossOrigin(this.crossOrigin);const s=i.load(e,n,void 0,r);t&&(s.mapping=t);return s};ImageUtils.loadTextureCube=function(e,t,n,r){console.warn(\"THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.\");const i=new CubeTextureLoader;i.setCrossOrigin(this.crossOrigin);const s=i.load(e,n,void 0,r);t&&(s.mapping=t);return s};ImageUtils.loadCompressedTexture=function(){console.error(\"THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.\")};ImageUtils.loadCompressedTextureCube=function(){console.error(\"THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.\")};function CanvasRenderer(){console.error(\"THREE.CanvasRenderer has been removed\")}function JSONLoader(){console.error(\"THREE.JSONLoader has been removed.\")}const Oc={createMultiMaterialObject:function(){console.error(\"THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js\")},detach:function(){console.error(\"THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js\")},attach:function(){console.error(\"THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js\")}};function LensFlare(){console.error(\"THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js\")}function ParametricGeometry(){console.error(\"THREE.ParametricGeometry has been moved to /examples/jsm/geometries/ParametricGeometry.js\");return new BufferGeometry}function TextGeometry(){console.error(\"THREE.TextGeometry has been moved to /examples/jsm/geometries/TextGeometry.js\");return new BufferGeometry}function FontLoader(){console.error(\"THREE.FontLoader has been moved to /examples/jsm/loaders/FontLoader.js\")}function Font(){console.error(\"THREE.Font has been moved to /examples/jsm/loaders/FontLoader.js\")}function ImmediateRenderObject(){console.error(\"THREE.ImmediateRenderObject has been removed.\")}\"undefined\"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"register\",{detail:{revision:e}}));\"undefined\"!==typeof window&&(window.__THREE__?console.warn(\"WARNING: Multiple instances of Three.js being imported.\"):window.__THREE__=e);export{ee as ACESFilmicToneMapping,w as AddEquation,Y as AddOperation,kt as AdditiveAnimationBlendMode,x as AdditiveBlending,Be as AlphaFormat,F as AlwaysDepth,mn as AlwaysStencilFunc,AmbientLight,AmbientLightProbe,AnimationClip,AnimationLoader,AnimationMixer,AnimationObjectGroup,Dl as AnimationUtils,ArcCurve,ArrayCamera,ArrowHelper,Audio,AudioAnalyser,Xl as AudioContext,AudioListener,AudioLoader,AxesHelper,AxisHelper,d as BackSide,Yt as BasicDepthPacking,o as BasicShadowMap,BinaryTextureLoader,Bone,BooleanKeyframeTrack,BoundingBoxHelper,Box2,Box3,Box3Helper,BoxGeometry as BoxBufferGeometry,BoxGeometry,BoxHelper,BufferAttribute,BufferGeometry,BufferGeometryLoader,we as ByteType,Bl as Cache,Camera,CameraHelper,CanvasRenderer,CanvasTexture,CatmullRomCurve3,$ as CineonToneMapping,CircleGeometry as CircleBufferGeometry,CircleGeometry,ue as ClampToEdgeWrapping,Clock,Color,ColorKeyframeTrack,CompressedTexture,CompressedTextureLoader,ConeGeometry as ConeBufferGeometry,ConeGeometry,CubeCamera,re as CubeReflectionMapping,ie as CubeRefractionMapping,CubeTexture,CubeTextureLoader,oe as CubeUVReflectionMapping,le as CubeUVRefractionMapping,CubicBezierCurve,CubicBezierCurve3,CubicInterpolant,i as CullFaceBack,s as CullFaceFront,a as CullFaceFrontBack,r as CullFaceNone,Curve,CurvePath,M as CustomBlending,te as CustomToneMapping,CylinderGeometry as CylinderBufferGeometry,CylinderGeometry,Cylindrical,DataTexture,DataTexture2DArray,DataTexture3D,DataTextureLoader,DataUtils,rn as DecrementStencilOp,an as DecrementWrapStencilOp,Vl as DefaultLoadingManager,Ge as DepthFormat,Fe as DepthStencilFormat,DepthTexture,DirectionalLight,DirectionalLightHelper,DiscreteInterpolant,DodecahedronGeometry as DodecahedronBufferGeometry,DodecahedronGeometry,p as DoubleSide,B as DstAlphaFactor,N as DstColorFactor,DynamicBufferAttribute,wn as DynamicCopyUsage,yn as DynamicDrawUsage,bn as DynamicReadUsage,EdgesGeometry,EdgesHelper,EllipseCurve,k as EqualDepth,un as EqualStencilFunc,se as EquirectangularReflectionMapping,ae as EquirectangularRefractionMapping,Euler,EventDispatcher,ExtrudeGeometry as ExtrudeBufferGeometry,ExtrudeGeometry,Gc as FaceColors,FileLoader,f as FlatShading,Float16BufferAttribute,Float32Attribute,Float32BufferAttribute,Float64Attribute,Float64BufferAttribute,Le as FloatType,Fog,FogExp2,Font,FontLoader,FramebufferTexture,h as FrontSide,Frustum,GLBufferAttribute,Tn as GLSL1,En as GLSL3,j as GreaterDepth,W as GreaterEqualDepth,fn as GreaterEqualStencilFunc,dn as GreaterStencilFunc,GridHelper,Group,Ce as HalfFloatType,HemisphereLight,HemisphereLightHelper,HemisphereLightProbe,IcosahedronGeometry as IcosahedronBufferGeometry,IcosahedronGeometry,ImageBitmapLoader,ImageLoader,ImageUtils,ImmediateRenderObject,nn as IncrementStencilOp,sn as IncrementWrapStencilOp,InstancedBufferAttribute,InstancedBufferGeometry,InstancedInterleavedBuffer,InstancedMesh,Int16Attribute,Int16BufferAttribute,Int32Attribute,Int32BufferAttribute,Int8Attribute,Int8BufferAttribute,Ee as IntType,InterleavedBuffer,InterleavedBufferAttribute,Interpolant,Nt as InterpolateDiscrete,Ut as InterpolateLinear,zt as InterpolateSmooth,on as InvertStencilOp,JSONLoader,en as KeepStencilOp,KeyframeTrack,LOD,LatheGeometry as LatheBufferGeometry,LatheGeometry,Layers,LensFlare,O as LessDepth,H as LessEqualDepth,hn as LessEqualStencilFunc,cn as LessStencilFunc,Light,LightProbe,Line,Line3,LineBasicMaterial,LineCurve,LineCurve3,LineDashedMaterial,LineLoop,Uc as LinePieces,LineSegments,Nc as LineStrip,Xt as LinearEncoding,ye as LinearFilter,LinearInterpolant,_e as LinearMipMapLinearFilter,xe as LinearMipMapNearestFilter,be as LinearMipmapLinearFilter,ve as LinearMipmapNearestFilter,Q as LinearToneMapping,Loader,LoaderUtils,LoadingManager,Dt as LoopOnce,Vt as LoopPingPong,Bt as LoopRepeat,ze as LuminanceAlphaFormat,Ue as LuminanceFormat,t as MOUSE,Material,MaterialLoader,Pn as Math,Pn as MathUtils,Matrix3,Matrix4,A as MaxEquation,Mesh,MeshBasicMaterial,MeshDepthMaterial,MeshDistanceMaterial,MeshFaceMaterial,MeshLambertMaterial,MeshMatcapMaterial,MeshNormalMaterial,MeshPhongMaterial,MeshPhysicalMaterial,MeshStandardMaterial,MeshToonMaterial,E as MinEquation,he as MirroredRepeatWrapping,J as MixOperation,MultiMaterial,_ as MultiplyBlending,X as MultiplyOperation,de as NearestFilter,ge as NearestMipMapLinearFilter,fe as NearestMipMapNearestFilter,me as NearestMipmapLinearFilter,pe as NearestMipmapNearestFilter,G as NeverDepth,ln as NeverStencilFunc,g as NoBlending,zc as NoColors,Z as NoToneMapping,Ht as NormalAnimationBlendMode,y as NormalBlending,q as NotEqualDepth,pn as NotEqualStencilFunc,NumberKeyframeTrack,Object3D,ObjectLoader,Kt as ObjectSpaceNormalMap,OctahedronGeometry as OctahedronBufferGeometry,OctahedronGeometry,C as OneFactor,V as OneMinusDstAlphaFactor,U as OneMinusDstColorFactor,D as OneMinusSrcAlphaFactor,P as OneMinusSrcColorFactor,OrthographicCamera,l as PCFShadowMap,c as PCFSoftShadowMap,PMREMGenerator,ParametricGeometry,Particle,ParticleBasicMaterial,ParticleSystem,ParticleSystemMaterial,Path,PerspectiveCamera,Plane,PlaneGeometry as PlaneBufferGeometry,PlaneGeometry,PlaneHelper,PointCloud,PointCloudMaterial,PointLight,PointLightHelper,Points,PointsMaterial,PolarGridHelper,PolyhedronGeometry as PolyhedronBufferGeometry,PolyhedronGeometry,PositionalAudio,PropertyBinding,PropertyMixer,QuadraticBezierCurve,QuadraticBezierCurve3,Quaternion,QuaternionKeyframeTrack,QuaternionLinearInterpolant,e as REVISION,Zt as RGBADepthPacking,Ne as RGBAFormat,qe as RGBAIntegerFormat,mt as RGBA_ASTC_10x10_Format,dt as RGBA_ASTC_10x5_Format,pt as RGBA_ASTC_10x6_Format,ft as RGBA_ASTC_10x8_Format,gt as RGBA_ASTC_12x10_Format,yt as RGBA_ASTC_12x12_Format,it as RGBA_ASTC_4x4_Format,st as RGBA_ASTC_5x4_Format,at as RGBA_ASTC_5x5_Format,ot as RGBA_ASTC_6x5_Format,lt as RGBA_ASTC_6x6_Format,ct as RGBA_ASTC_8x5_Format,ut as RGBA_ASTC_8x6_Format,ht as RGBA_ASTC_8x8_Format,vt as RGBA_BPTC_Format,rt as RGBA_ETC2_EAC_Format,et as RGBA_PVRTC_2BPPV1_Format,$e as RGBA_PVRTC_4BPPV1_Format,Je as RGBA_S3TC_DXT1_Format,Ye as RGBA_S3TC_DXT3_Format,Ze as RGBA_S3TC_DXT5_Format,Ve as RGBFormat,je as RGBIntegerFormat,tt as RGB_ETC1_Format,nt as RGB_ETC2_Format,Ke as RGB_PVRTC_2BPPV1_Format,Qe as RGB_PVRTC_4BPPV1_Format,Xe as RGB_S3TC_DXT1_Format,ke as RGFormat,We as RGIntegerFormat,RawShaderMaterial,Ray,Raycaster,RectAreaLight,Oe as RedFormat,He as RedIntegerFormat,K as ReinhardToneMapping,ce as RepeatWrapping,tn as ReplaceStencilOp,T as ReverseSubtractEquation,RingGeometry as RingBufferGeometry,RingGeometry,Rt as SRGB8_ALPHA8_ASTC_10x10_Format,At as SRGB8_ALPHA8_ASTC_10x5_Format,Lt as SRGB8_ALPHA8_ASTC_10x6_Format,Ct as SRGB8_ALPHA8_ASTC_10x8_Format,Pt as SRGB8_ALPHA8_ASTC_12x10_Format,It as SRGB8_ALPHA8_ASTC_12x12_Format,xt as SRGB8_ALPHA8_ASTC_4x4_Format,bt as SRGB8_ALPHA8_ASTC_5x4_Format,_t as SRGB8_ALPHA8_ASTC_5x5_Format,Mt as SRGB8_ALPHA8_ASTC_6x5_Format,wt as SRGB8_ALPHA8_ASTC_6x6_Format,St as SRGB8_ALPHA8_ASTC_8x5_Format,Tt as SRGB8_ALPHA8_ASTC_8x6_Format,Et as SRGB8_ALPHA8_ASTC_8x8_Format,Scene,Oc as SceneUtils,Qa as ShaderChunk,$a as ShaderLib,ShaderMaterial,ShadowMaterial,Shape,ShapeGeometry as ShapeBufferGeometry,ShapeGeometry,ShapePath,ShapeUtils,Se as ShortType,Skeleton,SkeletonHelper,SkinnedMesh,m as SmoothShading,Sphere,SphereGeometry as SphereBufferGeometry,SphereGeometry,Spherical,SphericalHarmonics3,SplineCurve,SpotLight,SpotLightHelper,Sprite,SpriteMaterial,I as SrcAlphaFactor,z as SrcAlphaSaturateFactor,R as SrcColorFactor,Mn as StaticCopyUsage,gn as StaticDrawUsage,xn as StaticReadUsage,StereoCamera,Sn as StreamCopyUsage,vn as StreamDrawUsage,_n as StreamReadUsage,StringKeyframeTrack,S as SubtractEquation,b as SubtractiveBlending,n as TOUCH,Qt as TangentSpaceNormalMap,TetrahedronGeometry as TetrahedronBufferGeometry,TetrahedronGeometry,TextGeometry,Texture,TextureLoader,TorusGeometry as TorusBufferGeometry,TorusGeometry,TorusKnotGeometry as TorusKnotBufferGeometry,TorusKnotGeometry,Triangle,qt as TriangleFanDrawMode,jt as TriangleStripDrawMode,Wt as TrianglesDrawMode,TubeGeometry as TubeBufferGeometry,TubeGeometry,ne as UVMapping,Uint16Attribute,Uint16BufferAttribute,Uint32Attribute,Uint32BufferAttribute,Uint8Attribute,Uint8BufferAttribute,Uint8ClampedAttribute,Uint8ClampedBufferAttribute,Uniform,Ka as UniformsLib,mi as UniformsUtils,Me as UnsignedByteType,De as UnsignedInt248Type,Ae as UnsignedIntType,Re as UnsignedShort4444Type,Pe as UnsignedShort5551Type,Ie as UnsignedShort565Type,Te as UnsignedShortType,u as VSMShadowMap,Vector2,Vector3,Vector4,VectorKeyframeTrack,Vertex,Fc as VertexColors,VideoTexture,WebGL1Renderer,WebGLCubeRenderTarget,WebGLMultipleRenderTargets,WebGLMultisampleRenderTarget,WebGLRenderTarget,WebGLRenderTargetCube,WebGLRenderer,WebGLUtils,WireframeGeometry,WireframeHelper,Ot as WrapAroundEnding,XHRLoader,Gt as ZeroCurvatureEnding,L as ZeroFactor,Ft as ZeroSlopeEnding,$t as ZeroStencilOp,Jt as sRGBEncoding};\n\n//# sourceMappingURL=three.module.js.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import React,{useRef,useEffect,useMemo,useState}from\"react\";import*as THREE from\"three\";const RAY_Y_POSITION_1=-.4;const RAY_Y_POSITION_2=-.5;/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 400\n */export default function Rays(props){const{raysColor}=props;const containerRef=useRef(null);const rendererRef=useRef(null);const sceneRef=useRef(null);const cameraRef=useRef(null);const meshRef=useRef(null);const frameIdRef=useRef();const darkMode=useDarkMode();const[isMounted,setIsMounted]=useState(false);const animationRef=useRef(props.animation);useEffect(()=>{setIsMounted(true);return()=>setIsMounted(false);},[]);useEffect(()=>{animationRef.current=props.animation;},[props.animation]);const[randomColor1RGB,randomColor2RGB]=useMemo(()=>{if(raysColor.mode===\"random\"){const h=Math.random()*360;const s=60+Math.random()*40;return[hslToRgb(h,s,50),hslToRgb(h,s,65)];}else{return[[1,1,1],[1,1,1]];}},[raysColor]);const[color1RGB,color2RGB,raysOpacity]=useMemo(()=>{if(raysColor.mode===\"random\"){return[randomColor1RGB,randomColor2RGB,1];}else{let color1=\"\";let color2=\"\";switch(raysColor.mode){case\"single\":color1=raysColor.color;color2=raysColor.color;break;case\"multi\":color1=raysColor.color1;color2=raysColor.color2;break;}const[r1,g1,b1,a1]=colorToRGBA(getColorValue(color1,containerRef));const[r2,g2,b2,a2]=colorToRGBA(getColorValue(color2,containerRef));return[[r1,g1,b1],[r2,g2,b2],Math.max(a1,a2)];}},[raysColor,darkMode,containerRef]);useEffect(()=>{setIsMounted(true);// Setup three.js scene\nconst container=containerRef.current;if(!container)return;const scene=new THREE.Scene;const camera=new THREE.PerspectiveCamera(75,container.clientWidth/container.clientHeight,.1,1e3);camera.position.z=5;const renderer=new THREE.WebGLRenderer({preserveDrawingBuffer:true,premultipliedAlpha:true,alpha:true,antialias:true,precision:\"highp\",powerPreference:\"high-performance\"});renderer.setSize(container.clientWidth,container.clientHeight);renderer.setPixelRatio(1);container.appendChild(renderer.domElement);// Create mesh\nconst geometry=new THREE.PlaneGeometry(1024,1024);const material=new THREE.ShaderMaterial({fragmentShader:FRAGMENT_SHADER,vertexShader:VERTEX_SHADER,uniforms:{u_colors:{value:[new THREE.Vector4(color1RGB[0],color1RGB[1],color1RGB[2],1),new THREE.Vector4(color2RGB[0],color2RGB[1],color2RGB[2],1)]},u_intensity:{value:mapRange(props.intensity,0,100,0,.5)},u_rays:{value:mapRange(props.rays,0,100,0,.3)},u_reach:{value:mapRange(props.reach,0,100,0,.5)},u_time:{value:Math.random()*1e4},u_mouse:{value:[0,0]},u_resolution:{value:[container.clientWidth,container.clientHeight]},u_rayPos1:{value:[props.position/100*container.clientWidth,RAY_Y_POSITION_1*container.clientHeight]},u_rayPos2:{value:[(props.position/100+.02)*container.clientWidth,RAY_Y_POSITION_2*container.clientHeight]}},wireframe:false,wireframeLinewidth:0,dithering:false,flatShading:true,side:THREE.DoubleSide});const mesh=new THREE.Mesh(geometry,material);scene.add(mesh);// Store refs\nsceneRef.current=scene;cameraRef.current=camera;rendererRef.current=renderer;meshRef.current=mesh;// Animation loop\nlet lastTime=0;const animate=time=>{const animation=animationRef.current;if(!animation.animate){lastTime=time;}const delta=time-lastTime;lastTime=time;if(mesh.material instanceof THREE.ShaderMaterial){if(animation.animate){mesh.material.uniforms.u_time.value+=delta*animation.speed/1e3/10;}}renderer.render(scene,camera);frameIdRef.current=requestAnimationFrame(animate);};frameIdRef.current=requestAnimationFrame(animate);// Cleanup\nreturn()=>{if(frameIdRef.current){cancelAnimationFrame(frameIdRef.current);}renderer.dispose();geometry.dispose();material.dispose();container.removeChild(renderer.domElement);};},[isMounted]);// Update uniforms when props change\nuseEffect(()=>{if(meshRef.current?.material instanceof THREE.ShaderMaterial){const material=meshRef.current.material;const container=containerRef.current;if(!container)return;material.uniforms.u_colors.value=[new THREE.Vector4(color1RGB[0],color1RGB[1],color1RGB[2],1),new THREE.Vector4(color2RGB[0],color2RGB[1],color2RGB[2],1)];material.uniforms.u_intensity.value=mapRange(props.intensity,0,100,0,.5);material.uniforms.u_rays.value=mapRange(props.rays,0,100,0,.3);material.uniforms.u_reach.value=mapRange(props.reach,0,100,0,.5);material.uniforms.u_rayPos1.value=[props.position/100*container.clientWidth,RAY_Y_POSITION_1*container.clientHeight];material.uniforms.u_rayPos2.value=[(props.position/100+.02)*container.clientWidth,RAY_Y_POSITION_2*container.clientHeight];}},[props.intensity,props.rays,props.reach,props.position,color1RGB,color2RGB]);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{borderRadius:props.radius,overflow:\"hidden\",backgroundColor:props.backgroundColor,...props.style}});}Rays.displayName=\"Light Rays\";addPropertyControls(Rays,{raysColor:{type:ControlType.Object,title:\"Color\",controls:{mode:{type:ControlType.Enum,defaultValue:\"single\",options:[\"random\",\"single\",\"multi\"],optionTitles:[\"Random\",\"Single\",\"Multi\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},color:{type:ControlType.Color,defaultValue:\"#FFF\",hidden:props=>props.mode!==\"single\"},color1:{type:ControlType.Color,defaultValue:\"#FFF\",hidden:props=>props.mode!==\"multi\"},color2:{type:ControlType.Color,defaultValue:\"#FFCB47\",hidden:props=>props.mode!==\"multi\"}}},backgroundColor:{type:ControlType.Color,defaultValue:\"#000\",optional:true,title:\"Background\"},animation:{type:ControlType.Object,icon:\"effect\",controls:{animate:{type:ControlType.Boolean,defaultValue:true},speed:{type:ControlType.Number,defaultValue:10,min:1,max:100,step:1,hidden:props=>!props.animate}}},intensity:{type:ControlType.Number,defaultValue:50,min:0,max:100,step:1},rays:{type:ControlType.Number,defaultValue:30,min:0,max:100,step:1},reach:{type:ControlType.Number,defaultValue:40,min:0,max:100,step:1},position:{type:ControlType.Number,defaultValue:80,min:0,max:100,step:1,unit:\"%\"},radius:{type:ControlType.BorderRadius,defaultValue:\"0px\",description:\"More components at [Framer University](https://frameruni.link/cc).\"}});class CanvasErrorBoundary extends React.Component{static getDerivedStateFromError(error){return{hasError:true};}render(){if(this.state.hasError){return null// Render nothing if there's an error\n;}return this.props.children;}constructor(props){super(props);this.state={hasError:false};}}function getColorValue(color,elementRef){if(color.startsWith(\"var(\")){const{variableName,defaultValue}=extractCSSVariableInfo(color);const defaultReturnValue=defaultValue||\"\";if(variableName&&typeof document!==\"undefined\"){const computedStyle=getComputedStyle(elementRef?.current||document.body);if(computedStyle){const computedValue=computedStyle.getPropertyValue(variableName).trim();return computedValue||defaultReturnValue;}return defaultReturnValue;}return defaultReturnValue;}else{return color;}}function extractCSSVariableInfo(cssString){// Regular expression to match the variable name and default value\nconst regex=/var\\s*\\(\\s*(--[\\w-]+)(?:\\s*,\\s*((?:\"[^\"]*\"|'[^']*'|[^)]+)))?\\s*\\)/;// Execute the regex on the input string\nconst match=regex.exec(cssString);if(match){const variableName=match[1];let defaultValue=match[2]||null;// If defaultValue is present, clean it up\nif(defaultValue){// Remove surrounding quotes if present\ndefaultValue=defaultValue.replace(/^[\"']|[\"']$/g,\"\");// Trim any whitespace\ndefaultValue=defaultValue.trim();}return{variableName,defaultValue};}return{variableName:\"\",defaultValue:\"\"};}const colorToRGBA=color=>{let r=1;let g=1;let b=1;let a=1;if(color&&typeof color===\"string\"){if(color.startsWith(\"rgba(\")){const parts=color.slice(5,-1).split(\",\");r=parseInt(parts[0])/255;g=parseInt(parts[1])/255;b=parseInt(parts[2])/255;a=parseFloat(parts[3]);}else if(color.startsWith(\"rgb(\")){const parts=color.slice(4,-1).split(\",\");r=parseInt(parts[0])/255;g=parseInt(parts[1])/255;b=parseInt(parts[2])/255;}else if(color.startsWith(\"#\")){const hex=color.slice(1);if(hex.length===3){r=parseInt(hex[0]+hex[0],16)/255;g=parseInt(hex[1]+hex[1],16)/255;b=parseInt(hex[2]+hex[2],16)/255;}else if(hex.length===6){r=parseInt(hex.slice(0,2),16)/255;g=parseInt(hex.slice(2,4),16)/255;b=parseInt(hex.slice(4,6),16)/255;}else if(hex.length===8){r=parseInt(hex.slice(0,2),16)/255;g=parseInt(hex.slice(2,4),16)/255;b=parseInt(hex.slice(4,6),16)/255;a=parseInt(hex.slice(6,8),16)/255;}}}return[r,g,b,a];};function useDarkMode(){const[isDarkMode,setIsDarkMode]=useState(false);useEffect(()=>{const mediaQuery=window.matchMedia(\"(prefers-color-scheme: dark)\");const handleChange=e=>{// Use requestAnimationFrame to ensure CSS variables have updated\nrequestAnimationFrame(()=>{// Add a small delay to ensure CSS variables have propagated\nsetTimeout(()=>{setIsDarkMode(e.matches);},80);});};setIsDarkMode(mediaQuery.matches);mediaQuery.addListener(handleChange);return()=>mediaQuery.removeListener(handleChange);},[]);return isDarkMode;}function hslToRgb(h,s,l){s/=100;l/=100;const c=(1-Math.abs(2*l-1))*s;const x=c*(1-Math.abs(h/60%2-1));const m=l-c/2;let r=0,g=0,b=0;if(h>=0&&h<60){r=c;g=x;b=0;}else if(h>=60&&h<120){r=x;g=c;b=0;}else if(h>=120&&h<180){r=0;g=c;b=x;}else if(h>=180&&h<240){r=0;g=x;b=c;}else if(h>=240&&h<300){r=x;g=0;b=c;}else if(h>=300&&h<360){r=c;g=0;b=x;}return[r+m,g+m,b+m];}function mapRange(value,fromLow,fromHigh,toLow,toHigh){const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}const VERTEX_SHADER=`\nvoid main() {\n  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}`;const FRAGMENT_SHADER=`\n// Uniforms\n\nuniform vec2 u_resolution;\nuniform vec2 u_mouse;\nuniform float u_time;\nuniform vec4 u_colors[2];\nuniform float u_intensity;\nuniform float u_rays;\nuniform float u_reach;\nuniform vec2 u_rayPos1;\nuniform vec2 u_rayPos2;\n\n#ifndef FNC_MOD289\n#define FNC_MOD289\n\nfloat mod289(const in float x) { return x - floor(x * (1. / 289.)) * 289.; }\nvec2 mod289(const in vec2 x) { return x - floor(x * (1. / 289.)) * 289.; }\nvec3 mod289(const in vec3 x) { return x - floor(x * (1. / 289.)) * 289.; }\nvec4 mod289(const in vec4 x) { return x - floor(x * (1. / 289.)) * 289.; }\n\n#endif\n\n#ifndef FNC_PERMUTE\n#define FNC_PERMUTE\n\nfloat permute(const in float x) { return mod289(((x * 34.0) + 1.0) * x); }\nvec2 permute(const in vec2 x) { return mod289(((x * 34.0) + 1.0) * x); }\nvec3 permute(const in vec3 x) { return mod289(((x * 34.0) + 1.0) * x); }\nvec4 permute(const in vec4 x) { return mod289(((x * 34.0) + 1.0) * x); }\n\n#endif\n\n#ifndef FNC_TAYLORINVSQRT\n#define FNC_TAYLORINVSQRT\nfloat taylorInvSqrt(in float r) { return 1.79284291400159 - 0.85373472095314 * r; }\nvec2 taylorInvSqrt(in vec2 r) { return 1.79284291400159 - 0.85373472095314 * r; }\nvec3 taylorInvSqrt(in vec3 r) { return 1.79284291400159 - 0.85373472095314 * r; }\nvec4 taylorInvSqrt(in vec4 r) { return 1.79284291400159 - 0.85373472095314 * r; }\n#endif\n\n#ifndef FNC_QUINTIC\n#define FNC_QUINTIC \n\nfloat quintic(const in float v) { return v*v*v*(v*(v*6.0-15.0)+10.0); }\nvec2  quintic(const in vec2 v)  { return v*v*v*(v*(v*6.0-15.0)+10.0); }\nvec3  quintic(const in vec3 v)  { return v*v*v*(v*(v*6.0-15.0)+10.0); }\nvec4  quintic(const in vec4 v)  { return v*v*v*(v*(v*6.0-15.0)+10.0); }\n\n#endif\n\n#ifndef FNC_PNOISE\n#define FNC_PNOISE\n\nfloat pnoise(in vec2 P, in vec2 rep) {\n    vec4 Pi = floor(P.xyxy) + vec4(0.0, 0.0, 1.0, 1.0);\n    vec4 Pf = fract(P.xyxy) - vec4(0.0, 0.0, 1.0, 1.0);\n    Pi = mod(Pi, rep.xyxy); \n    Pi = mod289(Pi);        \n    vec4 ix = Pi.xzxz;\n    vec4 iy = Pi.yyww;\n    vec4 fx = Pf.xzxz;\n    vec4 fy = Pf.yyww;\n\n    vec4 i = permute(permute(ix) + iy);\n\n    vec4 gx = fract(i * (1.0 / 41.0)) * 2.0 - 1.0 ;\n    vec4 gy = abs(gx) - 0.5 ;\n    vec4 tx = floor(gx + 0.5);\n    gx = gx - tx;\n\n    vec2 g00 = vec2(gx.x,gy.x);\n    vec2 g10 = vec2(gx.y,gy.y);\n    vec2 g01 = vec2(gx.z,gy.z);\n    vec2 g11 = vec2(gx.w,gy.w);\n\n    vec4 norm = taylorInvSqrt(vec4(dot(g00, g00), dot(g01, g01), dot(g10, g10), dot(g11, g11)));\n    g00 *= norm.x;\n    g01 *= norm.y;\n    g10 *= norm.z;\n    g11 *= norm.w;\n\n    float n00 = dot(g00, vec2(fx.x, fy.x));\n    float n10 = dot(g10, vec2(fx.y, fy.y));\n    float n01 = dot(g01, vec2(fx.z, fy.z));\n    float n11 = dot(g11, vec2(fx.w, fy.w));\n\n    vec2 fade_xy = quintic(Pf.xy);\n    vec2 n_x = mix(vec2(n00, n01), vec2(n10, n11), fade_xy.x);\n    float n_xy = mix(n_x.x, n_x.y, fade_xy.y);\n    return 2.3 * n_xy;\n}\n\nfloat pnoise(in vec3 P, in vec3 rep) {\n    vec3 Pi0 = mod(floor(P), rep); \n    vec3 Pi1 = mod(Pi0 + vec3(1.0), rep); \n    Pi0 = mod289(Pi0);\n    Pi1 = mod289(Pi1);\n    vec3 Pf0 = fract(P); \n    vec3 Pf1 = Pf0 - vec3(1.0); \n    vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);\n    vec4 iy = vec4(Pi0.yy, Pi1.yy);\n    vec4 iz0 = Pi0.zzzz;\n    vec4 iz1 = Pi1.zzzz;\n\n    vec4 ixy = permute(permute(ix) + iy);\n    vec4 ixy0 = permute(ixy + iz0);\n    vec4 ixy1 = permute(ixy + iz1);\n\n    vec4 gx0 = ixy0 * (1.0 / 7.0);\n    vec4 gy0 = fract(floor(gx0) * (1.0 / 7.0)) - 0.5;\n    gx0 = fract(gx0);\n    vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);\n    vec4 sz0 = step(gz0, vec4(0.0));\n    gx0 -= sz0 * (step(0.0, gx0) - 0.5);\n    gy0 -= sz0 * (step(0.0, gy0) - 0.5);\n\n    vec4 gx1 = ixy1 * (1.0 / 7.0);\n    vec4 gy1 = fract(floor(gx1) * (1.0 / 7.0)) - 0.5;\n    gx1 = fract(gx1);\n    vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);\n    vec4 sz1 = step(gz1, vec4(0.0));\n    gx1 -= sz1 * (step(0.0, gx1) - 0.5);\n    gy1 -= sz1 * (step(0.0, gy1) - 0.5);\n\n    vec3 g000 = vec3(gx0.x,gy0.x,gz0.x);\n    vec3 g100 = vec3(gx0.y,gy0.y,gz0.y);\n    vec3 g010 = vec3(gx0.z,gy0.z,gz0.z);\n    vec3 g110 = vec3(gx0.w,gy0.w,gz0.w);\n    vec3 g001 = vec3(gx1.x,gy1.x,gz1.x);\n    vec3 g101 = vec3(gx1.y,gy1.y,gz1.y);\n    vec3 g011 = vec3(gx1.z,gy1.z,gz1.z);\n    vec3 g111 = vec3(gx1.w,gy1.w,gz1.w);\n\n    vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));\n    g000 *= norm0.x;\n    g010 *= norm0.y;\n    g100 *= norm0.z;\n    g110 *= norm0.w;\n    vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));\n    g001 *= norm1.x;\n    g011 *= norm1.y;\n    g101 *= norm1.z;\n    g111 *= norm1.w;\n\n    float n000 = dot(g000, Pf0);\n    float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));\n    float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));\n    float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));\n    float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));\n    float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));\n    float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));\n    float n111 = dot(g111, Pf1);\n\n    vec3 fade_xyz = quintic(Pf0);\n    vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);\n    vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);\n    float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x);\n    return 2.2 * n_xyz;\n}\n\nfloat pnoise(in vec4 P, in vec4 rep) {\n    vec4 Pi0 = mod(floor(P), rep); \n    vec4 Pi1 = mod(Pi0 + 1.0, rep); \n    Pi0 = mod289(Pi0);\n    Pi1 = mod289(Pi1);\n    vec4 Pf0 = fract(P); \n    vec4 Pf1 = Pf0 - 1.0; \n    vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);\n    vec4 iy = vec4(Pi0.yy, Pi1.yy);\n    vec4 iz0 = vec4(Pi0.zzzz);\n    vec4 iz1 = vec4(Pi1.zzzz);\n    vec4 iw0 = vec4(Pi0.wwww);\n    vec4 iw1 = vec4(Pi1.wwww);\n\n    vec4 ixy = permute(permute(ix) + iy);\n    vec4 ixy0 = permute(ixy + iz0);\n    vec4 ixy1 = permute(ixy + iz1);\n    vec4 ixy00 = permute(ixy0 + iw0);\n    vec4 ixy01 = permute(ixy0 + iw1);\n    vec4 ixy10 = permute(ixy1 + iw0);\n    vec4 ixy11 = permute(ixy1 + iw1);\n\n    vec4 gx00 = ixy00 * (1.0 / 7.0);\n    vec4 gy00 = floor(gx00) * (1.0 / 7.0);\n    vec4 gz00 = floor(gy00) * (1.0 / 6.0);\n    gx00 = fract(gx00) - 0.5;\n    gy00 = fract(gy00) - 0.5;\n    gz00 = fract(gz00) - 0.5;\n    vec4 gw00 = vec4(0.75) - abs(gx00) - abs(gy00) - abs(gz00);\n    vec4 sw00 = step(gw00, vec4(0.0));\n    gx00 -= sw00 * (step(0.0, gx00) - 0.5);\n    gy00 -= sw00 * (step(0.0, gy00) - 0.5);\n\n    vec4 gx01 = ixy01 * (1.0 / 7.0);\n    vec4 gy01 = floor(gx01) * (1.0 / 7.0);\n    vec4 gz01 = floor(gy01) * (1.0 / 6.0);\n    gx01 = fract(gx01) - 0.5;\n    gy01 = fract(gy01) - 0.5;\n    gz01 = fract(gz01) - 0.5;\n    vec4 gw01 = vec4(0.75) - abs(gx01) - abs(gy01) - abs(gz01);\n    vec4 sw01 = step(gw01, vec4(0.0));\n    gx01 -= sw01 * (step(0.0, gx01) - 0.5);\n    gy01 -= sw01 * (step(0.0, gy01) - 0.5);\n\n    vec4 gx10 = ixy10 * (1.0 / 7.0);\n    vec4 gy10 = floor(gx10) * (1.0 / 7.0);\n    vec4 gz10 = floor(gy10) * (1.0 / 6.0);\n    gx10 = fract(gx10) - 0.5;\n    gy10 = fract(gy10) - 0.5;\n    gz10 = fract(gz10) - 0.5;\n    vec4 gw10 = vec4(0.75) - abs(gx10) - abs(gy10) - abs(gz10);\n    vec4 sw10 = step(gw10, vec4(0.0));\n    gx10 -= sw10 * (step(0.0, gx10) - 0.5);\n    gy10 -= sw10 * (step(0.0, gy10) - 0.5);\n\n    vec4 gx11 = ixy11 * (1.0 / 7.0);\n    vec4 gy11 = floor(gx11) * (1.0 / 7.0);\n    vec4 gz11 = floor(gy11) * (1.0 / 6.0);\n    gx11 = fract(gx11) - 0.5;\n    gy11 = fract(gy11) - 0.5;\n    gz11 = fract(gz11) - 0.5;\n    vec4 gw11 = vec4(0.75) - abs(gx11) - abs(gy11) - abs(gz11);\n    vec4 sw11 = step(gw11, vec4(0.0));\n    gx11 -= sw11 * (step(0.0, gx11) - 0.5);\n    gy11 -= sw11 * (step(0.0, gy11) - 0.5);\n\n    vec4 g0000 = vec4(gx00.x,gy00.x,gz00.x,gw00.x);\n    vec4 g1000 = vec4(gx00.y,gy00.y,gz00.y,gw00.y);\n    vec4 g0100 = vec4(gx00.z,gy00.z,gz00.z,gw00.z);\n    vec4 g1100 = vec4(gx00.w,gy00.w,gz00.w,gw00.w);\n    vec4 g0010 = vec4(gx10.x,gy10.x,gz10.x,gw10.x);\n    vec4 g1010 = vec4(gx10.y,gy10.y,gz10.y,gw10.y);\n    vec4 g0110 = vec4(gx10.z,gy10.z,gz10.z,gw10.z);\n    vec4 g1110 = vec4(gx10.w,gy10.w,gz10.w,gw10.w);\n    vec4 g0001 = vec4(gx01.x,gy01.x,gz01.x,gw01.x);\n    vec4 g1001 = vec4(gx01.y,gy01.y,gz01.y,gw01.y);\n    vec4 g0101 = vec4(gx01.z,gy01.z,gz01.z,gw01.z);\n    vec4 g1101 = vec4(gx01.w,gy01.w,gz01.w,gw01.w);\n    vec4 g0011 = vec4(gx11.x,gy11.x,gz11.x,gw11.x);\n    vec4 g1011 = vec4(gx11.y,gy11.y,gz11.y,gw11.y);\n    vec4 g0111 = vec4(gx11.z,gy11.z,gz11.z,gw11.z);\n    vec4 g1111 = vec4(gx11.w,gy11.w,gz11.w,gw11.w);\n\n    vec4 norm00 = taylorInvSqrt(vec4(dot(g0000, g0000), dot(g0100, g0100), dot(g1000, g1000), dot(g1100, g1100)));\n    g0000 *= norm00.x;\n    g0100 *= norm00.y;\n    g1000 *= norm00.z;\n    g1100 *= norm00.w;\n\n    vec4 norm01 = taylorInvSqrt(vec4(dot(g0001, g0001), dot(g0101, g0101), dot(g1001, g1001), dot(g1101, g1101)));\n    g0001 *= norm01.x;\n    g0101 *= norm01.y;\n    g1001 *= norm01.z;\n    g1101 *= norm01.w;\n\n    vec4 norm10 = taylorInvSqrt(vec4(dot(g0010, g0010), dot(g0110, g0110), dot(g1010, g1010), dot(g1110, g1110)));\n    g0010 *= norm10.x;\n    g0110 *= norm10.y;\n    g1010 *= norm10.z;\n    g1110 *= norm10.w;\n\n    vec4 norm11 = taylorInvSqrt(vec4(dot(g0011, g0011), dot(g0111, g0111), dot(g1011, g1011), dot(g1111, g1111)));\n    g0011 *= norm11.x;\n    g0111 *= norm11.y;\n    g1011 *= norm11.z;\n    g1111 *= norm11.w;\n\n    float n0000 = dot(g0000, Pf0);\n    float n1000 = dot(g1000, vec4(Pf1.x, Pf0.yzw));\n    float n0100 = dot(g0100, vec4(Pf0.x, Pf1.y, Pf0.zw));\n    float n1100 = dot(g1100, vec4(Pf1.xy, Pf0.zw));\n    float n0010 = dot(g0010, vec4(Pf0.xy, Pf1.z, Pf0.w));\n    float n1010 = dot(g1010, vec4(Pf1.x, Pf0.y, Pf1.z, Pf0.w));\n    float n0110 = dot(g0110, vec4(Pf0.x, Pf1.yz, Pf0.w));\n    float n1110 = dot(g1110, vec4(Pf1.xyz, Pf0.w));\n    float n0001 = dot(g0001, vec4(Pf0.xyz, Pf1.w));\n    float n1001 = dot(g1001, vec4(Pf1.x, Pf0.yz, Pf1.w));\n    float n0101 = dot(g0101, vec4(Pf0.x, Pf1.y, Pf0.z, Pf1.w));\n    float n1101 = dot(g1101, vec4(Pf1.xy, Pf0.z, Pf1.w));\n    float n0011 = dot(g0011, vec4(Pf0.xy, Pf1.zw));\n    float n1011 = dot(g1011, vec4(Pf1.x, Pf0.y, Pf1.zw));\n    float n0111 = dot(g0111, vec4(Pf0.x, Pf1.yzw));\n    float n1111 = dot(g1111, Pf1);\n\n    vec4 fade_xyzw = quintic(Pf0);\n    vec4 n_0w = mix(vec4(n0000, n1000, n0100, n1100), vec4(n0001, n1001, n0101, n1101), fade_xyzw.w);\n    vec4 n_1w = mix(vec4(n0010, n1010, n0110, n1110), vec4(n0011, n1011, n0111, n1111), fade_xyzw.w);\n    vec4 n_zw = mix(n_0w, n_1w, fade_xyzw.z);\n    vec2 n_yzw = mix(n_zw.xy, n_zw.zw, fade_xyzw.y);\n    float n_xyzw = mix(n_yzw.x, n_yzw.y, fade_xyzw.x);\n    return 2.2 * n_xyzw;\n}\n#endif\n\n#ifndef SRGB_EPSILON \n#define SRGB_EPSILON 0.00000001\n#endif\n\n#ifndef FNC_SRGB2RGB\n#define FNC_SRGB2RGB\n\nfloat srgb2rgb(float channel) {\n    return (channel < 0.04045) ? channel * 0.0773993808 : pow((channel + 0.055) * 0.947867298578199, 2.4);\n}\n\nvec3 srgb2rgb(vec3 srgb) {\n    return vec3(srgb2rgb(srgb.r + SRGB_EPSILON), \n                srgb2rgb(srgb.g + SRGB_EPSILON),\n                srgb2rgb(srgb.b + SRGB_EPSILON));\n}\n\nvec4 srgb2rgb(vec4 srgb) {\n    return vec4(srgb2rgb(srgb.rgb), srgb.a);\n}\n\n#endif\n\n#if !defined(FNC_SATURATE) && !defined(saturate)\n#define FNC_SATURATE\n#define saturate(x) clamp(x, 0.0, 1.0)\n#endif\n\n#ifndef SRGB_EPSILON \n#define SRGB_EPSILON 0.00000001\n#endif\n\n#ifndef FNC_RGB2SRGB\n#define FNC_RGB2SRGB\n\nfloat rgb2srgb(float channel) {\n    return (channel < 0.0031308) ? channel * 12.92 : 1.055 * pow(channel, 0.4166666666666667) - 0.055;\n}\n\nvec3 rgb2srgb(vec3 rgb) {\n    return saturate(vec3(rgb2srgb(rgb.r - SRGB_EPSILON), rgb2srgb(rgb.g - SRGB_EPSILON), rgb2srgb(rgb.b - SRGB_EPSILON)));\n}\n\nvec4 rgb2srgb(vec4 rgb) {\n    return vec4(rgb2srgb(rgb.rgb), rgb.a);\n}\n\n#endif\n\n#ifndef FNC_MIXOKLAB\n#define FNC_MIXOKLAB\nvec3 mixOklab( vec3 colA, vec3 colB, float h ) {\n\n    #ifdef MIXOKLAB_COLORSPACE_SRGB\n    colA = srgb2rgb(colA);\n    colB = srgb2rgb(colB);\n    #endif\n\n    const mat3 kCONEtoLMS = mat3(                \n         0.4121656120,  0.2118591070,  0.0883097947,\n         0.5362752080,  0.6807189584,  0.2818474174,\n         0.0514575653,  0.1074065790,  0.6302613616);\n    const mat3 kLMStoCONE = mat3(\n         4.0767245293, -1.2681437731, -0.0041119885,\n        -3.3072168827,  2.6093323231, -0.7034763098,\n         0.2307590544, -0.3411344290,  1.7068625689);\n\n    vec3 lmsA = pow( kCONEtoLMS * colA, vec3(1.0/3.0) );\n    vec3 lmsB = pow( kCONEtoLMS * colB, vec3(1.0/3.0) );\n    \n    vec3 lms = mix( lmsA, lmsB, h );\n\n    vec3 rgb = kLMStoCONE*(lms*lms*lms);\n\n    #ifdef MIXOKLAB_COLORSPACE_SRGB\n    return rgb2srgb(rgb);\n    #else\n    return rgb;\n    #endif\n}\n\nvec4 mixOklab( vec4 colA, vec4 colB, float h ) {\n    return vec4( mixOklab(colA.rgb, colB.rgb, h), mix(colA.a, colB.a, h) );\n}\n#endif\n\n\nfloat rayStrength(vec2 raySource, vec2 rayRefDirection, vec2 coord, float seedA, float seedB, float speed)\n{\n    vec2 sourceToCoord = coord - raySource;\n    float cosAngle = dot(normalize(sourceToCoord), rayRefDirection);\n    \n    // Calculate the diagonal length\n    float diagonal = length(u_resolution);\n\n    return clamp(\n        (.45 + 0.15 * sin(cosAngle * seedA + u_time * speed)) +\n        (0.3 + 0.2 * cos(-cosAngle * seedB + u_time * speed)),\n        u_reach, 1.0) *\n        clamp((diagonal - length(sourceToCoord)) / diagonal, u_reach, 1.0);\n}\n\nvoid main()\n{\n    vec2 uv = gl_FragCoord.xy / u_resolution.xy;\n    uv.y = 1.0 - uv.y;\n    vec2 coord = vec2(gl_FragCoord.x, u_resolution.y - gl_FragCoord.y);\n    float speed = u_rays * 10.0;\n    \n    // Set the parameters of the sun rays\n    vec2 rayPos1 = u_rayPos1;\n    vec2 rayRefDir1 = normalize(vec2(1.0, -0.116));\n    float raySeedA1 = 36.2214*speed;\n    float raySeedB1 = 21.11349*speed;\n    float raySpeed1 = 1.5*speed;\n    \n    vec2 rayPos2 = u_rayPos2;\n    vec2 rayRefDir2 = normalize(vec2(1.0, 0.241));\n    float raySeedA2 = 22.39910*speed;\n    float raySeedB2 = 18.0234*speed;\n    float raySpeed2 = 1.1*speed;\n    \n    // Calculate ray strengths\n    float strength1 = rayStrength(rayPos1, rayRefDir1, coord, raySeedA1, raySeedB1, raySpeed1);\n    float strength2 = rayStrength(rayPos2, rayRefDir2, coord, raySeedA2, raySeedB2, raySpeed2);\n    \n    // Calculate brightness attenuation\n    float brightness = 1.0*u_reach - (coord.y / u_resolution.y);\n    float attenuation = clamp(brightness + (0.5 + u_intensity), 0.0, 1.0);\n    \n    // Calculate alpha values while preserving color\n    float alpha1 = strength1 * attenuation * u_colors[0].a;\n    float alpha2 = strength2 * attenuation * u_colors[1].a;\n    \n    // Pre-multiply the colors with their alpha values\n    vec3 premultColor1 = u_colors[0].rgb * alpha1;\n    vec3 premultColor2 = u_colors[1].rgb * alpha2;\n    \n    // Blend the pre-multiplied colors\n    vec3 blendedColor = premultColor1 + premultColor2;\n    float blendedAlpha = alpha1 + alpha2 * (1.0 - alpha1);\n    \n    // Un-premultiply the final color\n    vec3 finalRGB = blendedColor / max(blendedAlpha, 0.0001);\n    \n    gl_FragColor = vec4(finalRGB * blendedAlpha, blendedAlpha);\n}\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Rays\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"400\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicWidth\":\"400\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Rays_Prod.map","import{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}"],"mappings":"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"}