!(function (t) { function e(e) { for (var n, r, o = e[0], a = e[1], s = 0, l = []; s < o.length; s++) (r = o[s]), Object.prototype.hasOwnProperty.call(i, r) && i[r] && l.push(i[r][0]), (i[r] = 0); for (n in a) Object.prototype.hasOwnProperty.call(a, n) && (t[n] = a[n]); for (c && c(e); l.length; ) l.shift()(); } var n = {}, i = { 9: 0, }; function r(e) { if (n[e]) return n[e].exports; var i = (n[e] = { i: e, l: !1, exports: {}, }); return t[e].call(i.exports, i, i.exports, r), (i.l = !0), i.exports; } (r.e = function (t) { var e = [], n = i[t]; if (0 !== n) if (n) e.push(n[2]); else { var o = new Promise(function (e, r) { n = i[t] = [e, r]; }); e.push((n[2] = o)); var a, s = document.createElement('script'); (s.charset = 'utf-8'), (s.timeout = 120), r.nc && s.setAttribute('nonce', r.nc), (s.src = (function (t) { //return r.p + "" + ({ return ( ossPrefixDep + ({ 4: 'NotoSansCJKjp-Regular', 5: '', 6: 'NotoSansCJKtc-Regular', 7: 'PTSans-Regular', 8: '', 10: '', 11: 'openlayers', 12: '', 13: 'vendors~openlayers', }[t] || t) + { 0: '', 1: '', 2: '', 3: '', 4: 'c180b1217acb50b16596', 5: '', 6: '64b7b547b4e6a67626a7', 7: 'dbde102023883b514726', 8: '', 10: '', 11: '9e59effec83cc3693b5d', 12: '', 13: 'bda930fc91df500ed80d', 14: '4331acc2c778ecc64c4a', 15: '', 16: '', 17: '', 18: '', 19: '', 20: '', 21: '', 22: '', 23: '', 24: '', 25: '', }[t] + '.js' ); })(t)); var c = new Error(); a = function (e) { (s.onerror = s.onload = null), clearTimeout(l); var n = i[t]; if (0 !== n) { if (n) { var r = e && ('load' === e.type ? 'missing' : e.type), o = e && e.target && e.target.src; (c.message = 'Loading chunk ' + t + ' failed.\n(' + r + ': ' + o + ')'), (c.name = 'ChunkLoadError'), (c.type = r), (c.request = o), n[1](c); } i[t] = void 0; } }; var l = setTimeout(function () { a({ type: 'timeout', target: s, }); }, 12e4); (s.onerror = s.onload = a), document.head.appendChild(s); } return Promise.all(e); }), (r.m = t), (r.c = n), (r.d = function (t, e, n) { r.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: n, }); }), (r.r = function (t) { 'undefined' != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: 'Module', }), Object.defineProperty(t, '__esModule', { value: !0, }); }), (r.t = function (t, e) { if ((1 & e && (t = r(t)), 8 & e)) return t; if (4 & e && 'object' == typeof t && t && t.__esModule) return t; var n = Object.create(null); if ( (r.r(n), Object.defineProperty(n, 'default', { enumerable: !0, value: t, }), 2 & e && 'string' != typeof t) ) for (var i in t) r.d( n, i, function (e) { return t[e]; }.bind(null, i) ); return n; }), (r.n = function (t) { var e = t && t.__esModule ? function () { return t.default; } : function () { return t; }; return r.d(e, 'a', e), e; }), (r.o = function (t, e) { return Object.prototype.hasOwnProperty.call(t, e); }), (r.p = ''), (r.oe = function (t) { throw (console.error(t), t); }); var o = (window.webpackJsonpNVIV = window.webpackJsonpNVIV || []), a = o.push.bind(o); (o.push = e), (o = o.slice()); for (var s = 0; s < o.length; s++) e(o[s]); var c = a; r((r.s = 651)); })([ function (t, e, n) { 'use strict'; n.r(e), function (t) { n.d(e, 'ANALYZE_FOR_ENTRY_COMPONENTS', function () { return ol; }), n.d(e, 'APP_BOOTSTRAP_LISTENER', function () { return Gy; }), n.d(e, 'APP_ID', function () { return Ny; }), n.d(e, 'APP_INITIALIZER', function () { return Ry; }), n.d(e, 'ApplicationInitStatus', function () { return Ly; }), n.d(e, 'ApplicationModule', function () { return _w; }), n.d(e, 'ApplicationRef', function () { return Fb; }), n.d(e, 'Attribute', function () { return C; }), n.d(e, 'COMPILER_OPTIONS', function () { return cb; }), n.d(e, 'CUSTOM_ELEMENTS_SCHEMA', function () { return Li; }), n.d(e, 'ChangeDetectionStrategy', function () { return At; }), n.d(e, 'ChangeDetectorRef', function () { return Ws; }), n.d(e, 'Compiler', function () { return sb; }), n.d(e, 'CompilerFactory', function () { return lb; }), n.d(e, 'Component', function () { return by; }), n.d(e, 'ComponentFactory', function () { return Hp; }), n.d(e, 'ComponentFactoryResolver', function () { return Yp; }), n.d(e, 'ComponentRef', function () { return Gp; }), n.d(e, 'ContentChild', function () { return cl; }), n.d(e, 'ContentChildren', function () { return sl; }), n.d(e, 'DEFAULT_CURRENCY_CODE', function () { return Xy; }), n.d(e, 'DebugElement', function () { return ww; }), n.d(e, 'DebugEventListener', function () { return $b; }), n.d(e, 'DebugNode', function () { return bw; }), n.d(e, 'DefaultIterableDiffer', function () { return uh; }), n.d(e, 'Directive', function () { return yy; }), n.d(e, 'ElementRef', function () { return Qp; }), n.d(e, 'EmbeddedViewRef', function () { return Qb; }), n.d(e, 'ErrorHandler', function () { return Ri; }), n.d(e, 'EventEmitter', function () { return uv; }), n.d(e, 'Host', function () { return M; }), n.d(e, 'HostBinding', function () { return My; }), n.d(e, 'HostListener', function () { return Ey; }), n.d(e, 'INJECTOR', function () { return lt; }), n.d(e, 'Inject', function () { return b; }), n.d(e, 'InjectFlags', function () { return v; }), n.d(e, 'Injectable', function () { return dc; }), n.d(e, 'InjectionToken', function () { return ct; }), n.d(e, 'Injector', function () { return Pc; }), n.d(e, 'Input', function () { return Sy; }), n.d(e, 'IterableDiffers', function () { return yh; }), n.d(e, 'KeyValueDiffers', function () { return bh; }), n.d(e, 'LOCALE_ID', function () { return qy; }), n.d(e, 'MissingTranslationStrategy', function () { return Uy; }), n.d(e, 'ModuleWithComponentFactories', function () { return Qy; }), n.d(e, 'NO_ERRORS_SCHEMA', function () { return Ni; }), n.d(e, 'NgModule', function () { return Iy; }), n.d(e, 'NgModuleFactory', function () { return Pt; }), n.d(e, 'NgModuleFactoryLoader', function () { return zb; }), n.d(e, 'NgModuleRef', function () { return _t; }), n.d(e, 'NgProbeToken', function () { return Ib; }), n.d(e, 'NgZone', function () { return pb; }), n.d(e, 'Optional', function () { return w; }), n.d(e, 'Output', function () { return xy; }), n.d(e, 'PACKAGE_ROOT_URL', function () { return Hy; }), n.d(e, 'PLATFORM_ID', function () { return zy; }), n.d(e, 'PLATFORM_INITIALIZER', function () { return By; }), n.d(e, 'Pipe', function () { return wy; }), n.d(e, 'PlatformRef', function () { return jb; }), n.d(e, 'Query', function () { return al; }), n.d(e, 'QueryList', function () { return pv; }), n.d(e, 'ReflectiveInjector', function () { return il; }), n.d(e, 'ReflectiveKey', function () { return Gc; }), n.d(e, 'Renderer2', function () { return nh; }), n.d(e, 'RendererFactory2', function () { return eh; }), n.d(e, 'RendererStyleFlags2', function () { return Jp; }), n.d(e, 'ResolvedReflectiveFactory', function () { return Kc; }), n.d(e, 'Sanitizer', function () { return oh; }), n.d(e, 'SecurityContext', function () { return lr; }), n.d(e, 'Self', function () { return S; }), n.d(e, 'SimpleChange', function () { return Ip; }), n.d(e, 'SkipSelf', function () { return x; }), n.d(e, 'SystemJsNgModuleLoader', function () { return Kb; }), n.d(e, 'SystemJsNgModuleLoaderConfig', function () { return Xb; }), n.d(e, 'TRANSLATIONS', function () { return Yy; }), n.d(e, 'TRANSLATIONS_FORMAT', function () { return Ky; }), n.d(e, 'TemplateRef', function () { return Eh; }), n.d(e, 'Testability', function () { return wb; }), n.d(e, 'TestabilityRegistry', function () { return Sb; }), n.d(e, 'Type', function () { return Ys; }), n.d(e, 'VERSION', function () { return sh; }), n.d(e, 'Version', function () { return ah; }), n.d(e, 'ViewChild', function () { return ul; }), n.d(e, 'ViewChildren', function () { return ll; }), n.d(e, 'ViewContainerRef', function () { return Th; }), n.d(e, 'ViewEncapsulation', function () { return Ot; }), n.d(e, 'ViewRef', function () { return Jb; }), n.d(e, 'WrappedValue', function () { return xl; }), n.d(e, 'asNativeElements', function () { return nw; }), n.d(e, 'assertPlatform', function () { return Rb; }), n.d(e, 'createPlatform', function () { return kb; }), n.d(e, 'createPlatformFactory', function () { return Db; }), n.d(e, 'defineInjectable', function () { return _; }), n.d(e, 'destroyPlatform', function () { return Lb; }), n.d(e, 'enableProdMode', function () { return tr; }), n.d(e, 'forwardRef', function () { return z; }), n.d(e, 'getDebugNode', function () { return mw; }), n.d(e, 'getModuleFactory', function () { return Wb; }), n.d(e, 'getPlatform', function () { return Nb; }), n.d(e, 'inject', function () { return bt; }), n.d(e, 'isDevMode', function () { return $i; }), n.d(e, 'platformCore', function () { return Sw; }), n.d(e, 'resolveForwardRef', function () { return G; }), n.d(e, 'setTestabilityGetter', function () { return xb; }), n.d(e, 'ɵ0', function () { return y; }), n.d(e, 'ɵ1', function () { return E; }), n.d(e, 'ɵALLOW_MULTIPLE_PLATFORMS', function () { return Pb; }), n.d(e, 'ɵAPP_ID_RANDOM_PROVIDER', function () { return Vy; }), n.d(e, 'ɵChangeDetectorStatus', function () { return Tt; }), n.d(e, 'ɵCodegenComponentFactoryResolver', function () { return Kp; }), n.d(e, 'ɵCompiler_compileModuleAndAllComponentsAsync__POST_R3__', function () { return ob; }), n.d(e, 'ɵCompiler_compileModuleAndAllComponentsSync__POST_R3__', function () { return ib; }), n.d(e, 'ɵCompiler_compileModuleAsync__POST_R3__', function () { return eb; }), n.d(e, 'ɵCompiler_compileModuleSync__POST_R3__', function () { return $y; }), n.d(e, 'ɵComponentFactory', function () { return Hp; }), n.d(e, 'ɵConsole', function () { return Wy; }), n.d(e, 'ɵDEFAULT_LOCALE_ID', function () { return Um; }), n.d(e, 'ɵEMPTY_ARRAY', function () { return Ef; }), n.d(e, 'ɵEMPTY_MAP', function () { return Cf; }), n.d(e, 'ɵINJECTOR_IMPL__POST_R3__', function () { return Oc; }), n.d(e, 'ɵINJECTOR_SCOPE', function () { return fc; }), n.d(e, 'ɵLifecycleHooksFeature', function () { return wp; }), n.d(e, 'ɵLocaleDataIndex', function () { return Pm; }), n.d(e, 'ɵNG_COMP_DEF', function () { return $; }), n.d(e, 'ɵNG_DIR_DEF', function () { return tt; }), n.d(e, 'ɵNG_ELEMENT_ID', function () { return ot; }), n.d(e, 'ɵNG_INJ_DEF', function () { return L; }), n.d(e, 'ɵNG_MOD_DEF', function () { return nt; }), n.d(e, 'ɵNG_PIPE_DEF', function () { return et; }), n.d(e, 'ɵNG_PROV_DEF', function () { return R; }), n.d(e, 'ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR', function () { return vm; }), n.d(e, 'ɵNO_CHANGE', function () { return mo; }), n.d(e, 'ɵNgModuleFactory', function () { return Fg; }), n.d(e, 'ɵNoopNgZone', function () { return bb; }), n.d(e, 'ɵReflectionCapabilities', function () { return tc; }), n.d(e, 'ɵRender3ComponentFactory', function () { return Tm; }), n.d(e, 'ɵRender3ComponentRef', function () { return Om; }), n.d(e, 'ɵRender3NgModuleRef', function () { return Vg; }), n.d(e, 'ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__', function () { return qs; }), n.d(e, 'ɵSWITCH_COMPILE_COMPONENT__POST_R3__', function () { return Cy; }), n.d(e, 'ɵSWITCH_COMPILE_DIRECTIVE__POST_R3__', function () { return Ay; }), n.d(e, 'ɵSWITCH_COMPILE_INJECTABLE__POST_R3__', function () { return pc; }), n.d(e, 'ɵSWITCH_COMPILE_NGMODULE__POST_R3__', function () { return ky; }), n.d(e, 'ɵSWITCH_COMPILE_PIPE__POST_R3__', function () { return Ty; }), n.d(e, 'ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__', function () { return $p; }), n.d(e, 'ɵSWITCH_IVY_ENABLED__POST_R3__', function () { return Zy; }), n.d(e, 'ɵSWITCH_RENDERER2_FACTORY__POST_R3__', function () { return ih; }), n.d(e, 'ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__', function () { return Ch; }), n.d(e, 'ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__', function () { return Oh; }), n.d(e, 'ɵ_sanitizeHtml', function () { return Tr; }), n.d(e, 'ɵ_sanitizeStyle', function () { return Ir; }), n.d(e, 'ɵ_sanitizeUrl', function () { return rr; }), n.d(e, 'ɵallowSanitizationBypassAndThrow', function () { return Hi; }), n.d(e, 'ɵand', function () { return Pw; }), n.d(e, 'ɵangular_packages_core_core_a', function () { return H; }), n.d(e, 'ɵangular_packages_core_core_b', function () { return gt; }), n.d(e, 'ɵangular_packages_core_core_ba', function () { return an; }), n.d(e, 'ɵangular_packages_core_core_bb', function () { return ln; }), n.d(e, 'ɵangular_packages_core_core_bc', function () { return mn; }), n.d(e, 'ɵangular_packages_core_core_bd', function () { return kn; }), n.d(e, 'ɵangular_packages_core_core_bf', function () { return Jg; }), n.d(e, 'ɵangular_packages_core_core_bg', function () { return Qg; }), n.d(e, 'ɵangular_packages_core_core_bh', function () { return $g; }), n.d(e, 'ɵangular_packages_core_core_bi', function () { return tv; }), n.d(e, 'ɵangular_packages_core_core_bj', function () { return ev; }), n.d(e, 'ɵangular_packages_core_core_bk', function () { return jr; }), n.d(e, 'ɵangular_packages_core_core_bl', function () { return m; }), n.d(e, 'ɵangular_packages_core_core_bm', function () { return g; }), n.d(e, 'ɵangular_packages_core_core_bn', function () { return A; }), n.d(e, 'ɵangular_packages_core_core_bp', function () { return l; }), n.d(e, 'ɵangular_packages_core_core_bq', function () { return yo; }), n.d(e, 'ɵangular_packages_core_core_c', function () { return xt; }), n.d(e, 'ɵangular_packages_core_core_d', function () { return rl; }), n.d(e, 'ɵangular_packages_core_core_e', function () { return qc; }), n.d(e, 'ɵangular_packages_core_core_f', function () { return Qc; }), n.d(e, 'ɵangular_packages_core_core_g', function () { return jy; }), n.d(e, 'ɵangular_packages_core_core_h', function () { return Bs; }), n.d(e, 'ɵangular_packages_core_core_i', function () { return zs; }), n.d(e, 'ɵangular_packages_core_core_j', function () { return Gb; }), n.d(e, 'ɵangular_packages_core_core_k', function () { return tw; }), n.d(e, 'ɵangular_packages_core_core_l', function () { return ew; }), n.d(e, 'ɵangular_packages_core_core_m', function () { return gw; }), n.d(e, 'ɵangular_packages_core_core_n', function () { return ch; }), n.d(e, 'ɵangular_packages_core_core_o', function () { return mh; }), n.d(e, 'ɵangular_packages_core_core_p', function () { return xw; }), n.d(e, 'ɵangular_packages_core_core_q', function () { return Mw; }), n.d(e, 'ɵangular_packages_core_core_r', function () { return Ew; }), n.d(e, 'ɵangular_packages_core_core_s', function () { return Aw; }), n.d(e, 'ɵangular_packages_core_core_t', function () { return Tw; }), n.d(e, 'ɵangular_packages_core_core_u', function () { return Bm; }), n.d(e, 'ɵangular_packages_core_core_v', function () { return um; }), n.d(e, 'ɵangular_packages_core_core_w', function () { return Uh; }), n.d(e, 'ɵangular_packages_core_core_x', function () { return Am; }), n.d(e, 'ɵangular_packages_core_core_y', function () { return wi; }), n.d(e, 'ɵangular_packages_core_core_z', function () { return en; }), n.d(e, 'ɵbypassSanitizationTrustHtml', function () { return qi; }), n.d(e, 'ɵbypassSanitizationTrustResourceUrl', function () { return Zi; }), n.d(e, 'ɵbypassSanitizationTrustScript', function () { return Yi; }), n.d(e, 'ɵbypassSanitizationTrustStyle', function () { return Xi; }), n.d(e, 'ɵbypassSanitizationTrustUrl', function () { return Ki; }), n.d(e, 'ɵccf', function () { return Ff; }), n.d(e, 'ɵclearOverrides', function () { return rx; }), n.d(e, 'ɵclearResolutionOfComponentResourcesQueue', function () { return ml; }), n.d(e, 'ɵcmf', function () { return ox; }), n.d(e, 'ɵcompileComponent', function () { return ny; }), n.d(e, 'ɵcompileDirective', function () { return iy; }), n.d(e, 'ɵcompileNgModule', function () { return zv; }), n.d(e, 'ɵcompileNgModuleDefs', function () { return Gv; }), n.d(e, 'ɵcompileNgModuleFactory__POST_R3__', function () { return Ab; }), n.d(e, 'ɵcompilePipe', function () { return gy; }), n.d(e, 'ɵcreateInjector', function () { return wc; }), n.d(e, 'ɵcrt', function () { return qh; }), n.d(e, 'ɵdefaultIterableDiffers', function () { return xh; }), n.d(e, 'ɵdefaultKeyValueDiffers', function () { return Mh; }), n.d(e, 'ɵdetectChanges', function () { return Zl; }), n.d(e, 'ɵdevModeEqual', function () { return Sl; }), n.d(e, 'ɵdid', function () { return sm; }), n.d(e, 'ɵeld', function () { return Iw; }), n.d(e, 'ɵfindLocaleData', function () { return Rm; }), n.d(e, 'ɵflushModuleScopingQueueAsMuchAsPossible', function () { return Uv; }), n.d(e, 'ɵgetComponentViewDefinitionFactory', function () { return Uf; }), n.d(e, 'ɵgetDebugNodeR2', function () { return vw; }), n.d(e, 'ɵgetDebugNode__POST_R3__', function () { return fw; }), n.d(e, 'ɵgetDirectives', function () { return ap; }), n.d(e, 'ɵgetHostElement', function () { return cp; }), n.d(e, 'ɵgetInjectableDef', function () { return I; }), n.d(e, 'ɵgetLContext', function () { return qr; }), n.d(e, 'ɵgetLocaleCurrencyCode', function () { return Lm; }), n.d(e, 'ɵgetLocalePluralCase', function () { return Nm; }), n.d(e, 'ɵgetModuleFactory__POST_R3__', function () { return Hb; }), n.d(e, 'ɵgetSanitizationBypassType', function () { return Wi; }), n.d(e, 'ɵglobal', function () { return J; }), n.d(e, 'ɵinitServicesIfNeeded', function () { return yS; }), n.d(e, 'ɵinlineInterpolate', function () { return xf; }), n.d(e, 'ɵinterpolate', function () { return Sf; }), n.d(e, 'ɵisBoundToModule__POST_R3__', function () { return _b; }), n.d(e, 'ɵisDefaultChangeDetectionStrategy', function () { return ee; }), n.d(e, 'ɵisListLikeIterable', function () { return Ml; }), n.d(e, 'ɵisObservable', function () { return mu; }), n.d(e, 'ɵisPromise', function () { return fu; }), n.d(e, 'ɵivyEnabled', function () { return Jy; }), n.d(e, 'ɵlooseIdentical', function () { return wl; }), n.d(e, 'ɵmakeDecorator', function () { return h; }), n.d(e, 'ɵmarkDirty', function () { return Jl; }), n.d(e, 'ɵmod', function () { return If; }), n.d(e, 'ɵmpd', function () { return Pf; }), n.d(e, 'ɵncd', function () { return Bw; }), n.d(e, 'ɵnov', function () { return Jf; }), n.d(e, 'ɵoverrideComponentView', function () { return ix; }), n.d(e, 'ɵoverrideProvider', function () { return nx; }), n.d(e, 'ɵpad', function () { return Hw; }), n.d(e, 'ɵpatchComponentDefWithScope', function () { return Qv; }), n.d(e, 'ɵpid', function () { return cm; }), n.d(e, 'ɵpod', function () { return Ww; }), n.d(e, 'ɵppd', function () { return Gw; }), n.d(e, 'ɵprd', function () { return lm; }), n.d(e, 'ɵpublishDefaultGlobalUtils', function () { return fp; }), n.d(e, 'ɵpublishGlobalUtil', function () { return mp; }), n.d(e, 'ɵqud', function () { return Nw; }), n.d(e, 'ɵregisterLocaleData', function () { return Dm; }), n.d(e, 'ɵregisterModuleFactory', function () { return Rg; }), n.d(e, 'ɵregisterNgModuleType', function () { return Ng; }), n.d(e, 'ɵrenderComponent', function () { return gp; }), n.d(e, 'ɵresetCompiledComponents', function () { return Kv; }), n.d(e, 'ɵresetJitOptions', function () { return Nv; }), n.d(e, 'ɵresolveComponentResources', function () { return dl; }), n.d(e, 'ɵsetClassMetadata', function () { return kg; }), n.d(e, 'ɵsetCurrentInjector', function () { return ft; }), n.d(e, 'ɵsetDocument', function () { return je; }), n.d(e, 'ɵsetLocaleId', function () { return Ig; }), n.d(e, 'ɵstore', function () { return $l; }), n.d(e, 'ɵstringify', function () { return F; }), n.d(e, 'ɵted', function () { return Xw; }), n.d(e, 'ɵtransitiveScopesFor', function () { return $v; }), n.d(e, 'ɵunregisterLocaleData', function () { return Vm; }), n.d(e, 'ɵunv', function () { return Wh; }), n.d(e, 'ɵunwrapSafeValue', function () { return Gi; }), n.d(e, 'ɵvid', function () { return Zw; }), n.d(e, 'ɵwhenRendered', function () { return Sp; }), n.d(e, 'ɵɵCopyDefinitionFeature', function () { return Pp; }), n.d(e, 'ɵɵInheritDefinitionFeature', function () { return Mp; }), n.d(e, 'ɵɵNgOnChangesFeature', function () { return kp; }), n.d(e, 'ɵɵProvidersFeature', function () { return zp; }), n.d(e, 'ɵɵadvance', function () { return xo; }), n.d(e, 'ɵɵattribute', function () { return Il; }), n.d(e, 'ɵɵattributeInterpolate1', function () { return Bl; }), n.d(e, 'ɵɵattributeInterpolate2', function () { return zl; }), n.d(e, 'ɵɵattributeInterpolate3', function () { return Gl; }), n.d(e, 'ɵɵattributeInterpolate4', function () { return Hl; }), n.d(e, 'ɵɵattributeInterpolate5', function () { return Wl; }), n.d(e, 'ɵɵattributeInterpolate6', function () { return ql; }), n.d(e, 'ɵɵattributeInterpolate7', function () { return Xl; }), n.d(e, 'ɵɵattributeInterpolate8', function () { return Yl; }), n.d(e, 'ɵɵattributeInterpolateV', function () { return Kl; }), n.d(e, 'ɵɵclassMap', function () { return nd; }), n.d(e, 'ɵɵclassMapInterpolate1', function () { return Ad; }), n.d(e, 'ɵɵclassMapInterpolate2', function () { return Td; }), n.d(e, 'ɵɵclassMapInterpolate3', function () { return Od; }), n.d(e, 'ɵɵclassMapInterpolate4', function () { return _d; }), n.d(e, 'ɵɵclassMapInterpolate5', function () { return Pd; }), n.d(e, 'ɵɵclassMapInterpolate6', function () { return Id; }), n.d(e, 'ɵɵclassMapInterpolate7', function () { return kd; }), n.d(e, 'ɵɵclassMapInterpolate8', function () { return Dd; }), n.d(e, 'ɵɵclassMapInterpolateV', function () { return Rd; }), n.d(e, 'ɵɵclassProp', function () { return $u; }), n.d(e, 'ɵɵcomponentHostSyntheticListener', function () { return vu; }), n.d(e, 'ɵɵcontentQuery', function () { return Cv; }), n.d(e, 'ɵɵdefaultStyleSanitizer', function () { return Fr; }), n.d(e, 'ɵɵdefineComponent', function () { return oe; }), n.d(e, 'ɵɵdefineDirective', function () { return he; }), n.d(e, 'ɵɵdefineInjectable', function () { return O; }), n.d(e, 'ɵɵdefineInjector', function () { return P; }), n.d(e, 'ɵɵdefineNgModule', function () { return ue; }), n.d(e, 'ɵɵdefinePipe', function () { return fe; }), n.d(e, 'ɵɵdirectiveInject', function () { return eu; }), n.d(e, 'ɵɵdisableBindings', function () { return on; }), n.d(e, 'ɵɵelement', function () { return lu; }), n.d(e, 'ɵɵelementContainer', function () { return pu; }), n.d(e, 'ɵɵelementContainerEnd', function () { return du; }), n.d(e, 'ɵɵelementContainerStart', function () { return uu; }), n.d(e, 'ɵɵelementEnd', function () { return cu; }), n.d(e, 'ɵɵelementStart', function () { return su; }), n.d(e, 'ɵɵenableBindings', function () { return rn; }), n.d(e, 'ɵɵgetCurrentView', function () { return hu; }), n.d(e, 'ɵɵgetFactoryOf', function () { return _i; }), n.d(e, 'ɵɵgetInheritedFactory', function () { return Pi; }), n.d(e, 'ɵɵhostProperty', function () { return $d; }), n.d(e, 'ɵɵi18n', function () { return bg; }), n.d(e, 'ɵɵi18nApply', function () { return Eg; }), n.d(e, 'ɵɵi18nAttributes', function () { return wg; }), n.d(e, 'ɵɵi18nEnd', function () { return mg; }), n.d(e, 'ɵɵi18nExp', function () { return Mg; }), n.d(e, 'ɵɵi18nPostprocess', function () { return fg; }), n.d(e, 'ɵɵi18nStart', function () { return ug; }), n.d(e, 'ɵɵinject', function () { return vt; }), n.d(e, 'ɵɵinjectAttribute', function () { return nu; }), n.d(e, 'ɵɵinjectPipeChangeDetectorRef', function () { return Dv; }), n.d(e, 'ɵɵinvalidFactory', function () { return iu; }), n.d(e, 'ɵɵinvalidFactoryDep', function () { return yt; }), n.d(e, 'ɵɵlistener', function () { return gu; }), n.d(e, 'ɵɵloadQuery', function () { return Ov; }), n.d(e, 'ɵɵnamespaceHTML', function () { return Vn; }), n.d(e, 'ɵɵnamespaceMathML', function () { return jn; }), n.d(e, 'ɵɵnamespaceSVG', function () { return Nn; }), n.d(e, 'ɵɵnextContext', function () { return Su; }), n.d(e, 'ɵɵpipe', function () { return nv; }), n.d(e, 'ɵɵpipeBind1', function () { return iv; }), n.d(e, 'ɵɵpipeBind2', function () { return rv; }), n.d(e, 'ɵɵpipeBind3', function () { return ov; }), n.d(e, 'ɵɵpipeBind4', function () { return av; }), n.d(e, 'ɵɵpipeBindV', function () { return sv; }), n.d(e, 'ɵɵprojection', function () { return Au; }), n.d(e, 'ɵɵprojectionDef', function () { return Mu; }), n.d(e, 'ɵɵproperty', function () { return ru; }), n.d(e, 'ɵɵpropertyInterpolate', function () { return Tu; }), n.d(e, 'ɵɵpropertyInterpolate1', function () { return Ou; }), n.d(e, 'ɵɵpropertyInterpolate2', function () { return _u; }), n.d(e, 'ɵɵpropertyInterpolate3', function () { return Pu; }), n.d(e, 'ɵɵpropertyInterpolate4', function () { return Iu; }), n.d(e, 'ɵɵpropertyInterpolate5', function () { return ku; }), n.d(e, 'ɵɵpropertyInterpolate6', function () { return Du; }), n.d(e, 'ɵɵpropertyInterpolate7', function () { return Ru; }), n.d(e, 'ɵɵpropertyInterpolate8', function () { return Lu; }), n.d(e, 'ɵɵpropertyInterpolateV', function () { return Nu; }), n.d(e, 'ɵɵpureFunction0', function () { return Ug; }), n.d(e, 'ɵɵpureFunction1', function () { return Bg; }), n.d(e, 'ɵɵpureFunction2', function () { return zg; }), n.d(e, 'ɵɵpureFunction3', function () { return Gg; }), n.d(e, 'ɵɵpureFunction4', function () { return Hg; }), n.d(e, 'ɵɵpureFunction5', function () { return Wg; }), n.d(e, 'ɵɵpureFunction6', function () { return qg; }), n.d(e, 'ɵɵpureFunction7', function () { return Xg; }), n.d(e, 'ɵɵpureFunction8', function () { return Yg; }), n.d(e, 'ɵɵpureFunctionV', function () { return Kg; }), n.d(e, 'ɵɵqueryRefresh', function () { return Sv; }), n.d(e, 'ɵɵreference', function () { return tu; }), n.d(e, 'ɵɵresolveBody', function () { return ui; }), n.d(e, 'ɵɵresolveDocument', function () { return li; }), n.d(e, 'ɵɵresolveWindow', function () { return ci; }), n.d(e, 'ɵɵrestoreView', function () { return cn; }), n.d(e, 'ɵɵsanitizeHtml', function () { return kr; }), n.d(e, 'ɵɵsanitizeResourceUrl', function () { return Lr; }), n.d(e, 'ɵɵsanitizeScript', function () { return Nr; }), n.d(e, 'ɵɵsanitizeStyle', function () { return Dr; }), n.d(e, 'ɵɵsanitizeUrl', function () { return Rr; }), n.d(e, 'ɵɵsanitizeUrlOrResourceUrl', function () { return Vr; }), n.d(e, 'ɵɵselect', function () { return Mo; }), n.d(e, 'ɵɵsetComponentScope', function () { return ae; }), n.d(e, 'ɵɵsetNgModuleScope', function () { return de; }), n.d(e, 'ɵɵstaticContentQuery', function () { return Av; }), n.d(e, 'ɵɵstaticViewQuery', function () { return xv; }), n.d(e, 'ɵɵstyleMap', function () { return td; }), n.d(e, 'ɵɵstyleMapInterpolate1', function () { return Ld; }), n.d(e, 'ɵɵstyleMapInterpolate2', function () { return Nd; }), n.d(e, 'ɵɵstyleMapInterpolate3', function () { return jd; }), n.d(e, 'ɵɵstyleMapInterpolate4', function () { return Vd; }), n.d(e, 'ɵɵstyleMapInterpolate5', function () { return Fd; }), n.d(e, 'ɵɵstyleMapInterpolate6', function () { return Ud; }), n.d(e, 'ɵɵstyleMapInterpolate7', function () { return Bd; }), n.d(e, 'ɵɵstyleMapInterpolate8', function () { return zd; }), n.d(e, 'ɵɵstyleMapInterpolateV', function () { return Gd; }), n.d(e, 'ɵɵstyleProp', function () { return Qu; }), n.d(e, 'ɵɵstylePropInterpolate1', function () { return Hd; }), n.d(e, 'ɵɵstylePropInterpolate2', function () { return Wd; }), n.d(e, 'ɵɵstylePropInterpolate3', function () { return qd; }), n.d(e, 'ɵɵstylePropInterpolate4', function () { return Xd; }), n.d(e, 'ɵɵstylePropInterpolate5', function () { return Yd; }), n.d(e, 'ɵɵstylePropInterpolate6', function () { return Kd; }), n.d(e, 'ɵɵstylePropInterpolate7', function () { return Zd; }), n.d(e, 'ɵɵstylePropInterpolate8', function () { return Jd; }), n.d(e, 'ɵɵstylePropInterpolateV', function () { return Qd; }), n.d(e, 'ɵɵstyleSanitizer', function () { return Ju; }), n.d(e, 'ɵɵtemplate', function () { return Ql; }), n.d(e, 'ɵɵtemplateRefExtractor', function () { return kv; }), n.d(e, 'ɵɵtext', function () { return md; }), n.d(e, 'ɵɵtextInterpolate', function () { return gd; }), n.d(e, 'ɵɵtextInterpolate1', function () { return vd; }), n.d(e, 'ɵɵtextInterpolate2', function () { return yd; }), n.d(e, 'ɵɵtextInterpolate3', function () { return bd; }), n.d(e, 'ɵɵtextInterpolate4', function () { return wd; }), n.d(e, 'ɵɵtextInterpolate5', function () { return Sd; }), n.d(e, 'ɵɵtextInterpolate6', function () { return xd; }), n.d(e, 'ɵɵtextInterpolate7', function () { return Md; }), n.d(e, 'ɵɵtextInterpolate8', function () { return Ed; }), n.d(e, 'ɵɵtextInterpolateV', function () { return Cd; }), n.d(e, 'ɵɵupdateSyntheticHostBinding', function () { return tp; }), n.d(e, 'ɵɵviewQuery', function () { return Mv; }); var i = n(1), r = n(33), o = n(32), a = n(12), s = n(279), c = n(632); /** * @license Angular v9.1.9 * (c) 2010-2020 Google LLC. https://angular.io/ * License: MIT */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function l(t) { return { toString: t, }.toString(); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var u = '__annotations__', d = '__parameters__', p = '__prop__metadata__'; function h(t, e, n, r, o) { return l(function () { var a = f(e); function s() { for (var t, e = [], n = 0; n < arguments.length; n++) e[n] = arguments[n]; if (this instanceof s) return a.call.apply(a, Object(i.h)([this], e)), this; var c = new ((t = s).bind.apply(t, Object(i.h)([void 0], e)))(); return function (t) { return ( o && o.apply(void 0, Object(i.h)([t], e)), (t.hasOwnProperty(u) ? t[u] : Object.defineProperty(t, u, { value: [], })[u] ).push(c), r && r(t), t ); }; } return n && (s.prototype = Object.create(n.prototype)), (s.prototype.ngMetadataName = t), (s.annotationCls = s), s; }); } function f(t) { return function () { for (var e = [], n = 0; n < arguments.length; n++) e[n] = arguments[n]; if (t) { var r = t.apply(void 0, Object(i.h)(e)); for (var o in r) this[o] = r[o]; } }; } function m(t, e, n) { return l(function () { var r = f(e); function o() { for (var t, e = [], n = 0; n < arguments.length; n++) e[n] = arguments[n]; if (this instanceof o) return r.apply(this, e), this; var a = new ((t = o).bind.apply(t, Object(i.h)([void 0], e)))(); return (s.annotation = a), s; function s(t, e, n) { for ( var i = t.hasOwnProperty(d) ? t[d] : Object.defineProperty(t, d, { value: [], })[d]; i.length <= n; ) i.push(null); return (i[n] = i[n] || []).push(a), t; } } return n && (o.prototype = Object.create(n.prototype)), (o.prototype.ngMetadataName = t), (o.annotationCls = o), o; }); } function g(t, e, n, r) { return l(function () { var o = f(e); function a() { for (var t, e = [], n = 0; n < arguments.length; n++) e[n] = arguments[n]; if (this instanceof a) return o.apply(this, e), this; var s = new ((t = a).bind.apply(t, Object(i.h)([void 0], e)))(); function c(t, n) { var o = t.constructor, a = o.hasOwnProperty(p) ? o[p] : Object.defineProperty(o, p, { value: {}, })[p]; (a[n] = (a.hasOwnProperty(n) && a[n]) || []), a[n].unshift(s), r && r.apply(void 0, Object(i.h)([t, n], e)); } return c; } return n && (a.prototype = Object.create(n.prototype)), (a.prototype.ngMetadataName = t), (a.annotationCls = a), a; }); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var v, y = function (t) { return { token: t, }; }, b = m('Inject', y), w = m('Optional'), S = m('Self'), x = m('SkipSelf'), M = m('Host'), E = function (t) { return { attributeName: t, }; }, C = m('Attribute', E); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function A(t) { for (var e in t) if (t[e] === A) return e; throw Error('Could not find renamed property on target object.'); } function T(t, e) { for (var n in e) e.hasOwnProperty(n) && !t.hasOwnProperty(n) && (t[n] = e[n]); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function O(t) { return { token: t.token, providedIn: t.providedIn || null, factory: t.factory, value: void 0, }; } !(function (t) { (t[(t.Default = 0)] = 'Default'), (t[(t.Host = 1)] = 'Host'), (t[(t.Self = 2)] = 'Self'), (t[(t.SkipSelf = 4)] = 'SkipSelf'), (t[(t.Optional = 8)] = 'Optional'); })(v || (v = {})); var _ = O; function P(t) { return { factory: t.factory, providers: t.providers || [], imports: t.imports || [], }; } function I(t) { return k(t, t[R]) || k(t, t[j]); } function k(t, e) { return e && e.token === t ? e : null; } function D(t) { return t && (t.hasOwnProperty(L) || t.hasOwnProperty(V)) ? t[L] : null; } var R = A({ ɵprov: A, }), L = A({ ɵinj: A, }), N = A({ ɵprovFallback: A, }), j = A({ ngInjectableDef: A, }), V = A({ ngInjectorDef: A, }); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function F(t) { if ('string' == typeof t) return t; if (Array.isArray(t)) return '[' + t.map(F).join(', ') + ']'; if (null == t) return '' + t; if (t.overriddenName) return '' + t.overriddenName; if (t.name) return '' + t.name; var e = t.toString(); if (null == e) return '' + e; var n = e.indexOf('\n'); return -1 === n ? e : e.substring(0, n); } function U(t, e) { return null == t || '' === t ? (null === e ? '' : e) : null == e || '' === e ? t : t + ' ' + e; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var B = A({ __forward_ref__: A, }); function z(t) { return ( (t.__forward_ref__ = z), (t.toString = function () { return F(this()); }), t ); } function G(t) { return H(t) ? t() : t; } function H(t) { return 'function' == typeof t && t.hasOwnProperty(B) && t.__forward_ref__ === z; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var W, q, X, Y = 'undefined' != typeof globalThis && globalThis, K = 'undefined' != typeof window && window, Z = 'undefined' != typeof self && 'undefined' != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope && self, J = Y || (void 0 !== t && t) || K || Z; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Q() { var t = J.ng; if (!t || !t.ɵcompilerFacade) throw new Error( "Angular JIT compilation failed: '@angular/compiler' not loaded!\n - JIT compilation is discouraged for production use-cases! Consider AOT mode instead.\n - Did you bootstrap using '@angular/platform-browser-dynamic' or '@angular/platform-server'?\n - Alternatively provide the compiler with 'import \"@angular/compiler\";' before bootstrapping." ); return t.ɵcompilerFacade; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ !(function (t) { (t[(t.Token = 0)] = 'Token'), (t[(t.Attribute = 1)] = 'Attribute'), (t[(t.ChangeDetectorRef = 2)] = 'ChangeDetectorRef'), (t[(t.Invalid = 3)] = 'Invalid'); })(W || (W = {})), (function (t) { (t[(t.Directive = 0)] = 'Directive'), (t[(t.Component = 1)] = 'Component'), (t[(t.Injectable = 2)] = 'Injectable'), (t[(t.Pipe = 3)] = 'Pipe'), (t[(t.NgModule = 4)] = 'NgModule'); })(q || (q = {})), (function (t) { (t[(t.Emulated = 0)] = 'Emulated'), (t[(t.Native = 1)] = 'Native'), (t[(t.None = 2)] = 'None'), (t[(t.ShadowDom = 3)] = 'ShadowDom'); })(X || (X = {})); var $ = A({ ɵcmp: A, }), tt = A({ ɵdir: A, }), et = A({ ɵpipe: A, }), nt = A({ ɵmod: A, }), it = A({ ɵloc: A, }), rt = A({ ɵfac: A, }), ot = A({ __NG_ELEMENT_ID__: A, }); function at() { return ( !('undefined' != typeof ngDevMode && !ngDevMode) && ('object' != typeof ngDevMode && ((t = 'undefined' != typeof location ? location.toString() : ''), (e = { namedConstructors: -1 != t.indexOf('ngDevMode=namedConstructors'), firstCreatePass: 0, tNode: 0, tView: 0, rendererCreateTextNode: 0, rendererSetText: 0, rendererCreateElement: 0, rendererAddEventListener: 0, rendererSetAttribute: 0, rendererRemoveAttribute: 0, rendererSetProperty: 0, rendererSetClassName: 0, rendererAddClass: 0, rendererRemoveClass: 0, rendererSetStyle: 0, rendererRemoveStyle: 0, rendererDestroy: 0, rendererDestroyNode: 0, rendererMoveNode: 0, rendererRemoveNode: 0, rendererAppendChild: 0, rendererInsertBefore: 0, rendererCreateComment: 0, }), (n = -1 === t.indexOf('ngDevMode=false')), (J.ngDevMode = n && e)), !!ngDevMode) ); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var t, e, n; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var st, ct = (function () { function t(t, e) { (this._desc = t), (this.ngMetadataName = 'InjectionToken'), (this.ɵprov = void 0), 'number' == typeof e ? (this.__NG_ELEMENT_ID__ = e) : void 0 !== e && (this.ɵprov = O({ token: this, providedIn: e.providedIn || 'root', factory: e.factory, })); } return ( (t.prototype.toString = function () { return 'InjectionToken ' + this._desc; }), t ); })(), lt = new ct('INJECTOR', -1), ut = {}, dt = /\n/gm, pt = A({ provide: String, useValue: A, }), ht = void 0; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function ft(t) { var e = ht; return (ht = t), e; } function mt(t) { var e = st; return (st = t), e; } function gt(t, e) { if ((void 0 === e && (e = v.Default), void 0 === ht)) throw new Error('inject() must be called from an injection context'); return null === ht ? wt(t, void 0, e) : ht.get(t, e & v.Optional ? null : void 0, e); } function vt(t, e) { return void 0 === e && (e = v.Default), (st || gt)(G(t), e); } function yt(t) { var e = ngDevMode ? 'This constructor is not compatible with Angular Dependency Injection because its dependency at index ' + t + ' of the parameter list is invalid.\nThis can happen if the dependency type is a primitive like a string or if an ancestor of this class is missing an Angular decorator.\n\nPlease check that 1) the type for the parameter at index ' + t + ' is correct and 2) the correct Angular decorators are defined for this class and its ancestors.' : 'invalid'; throw new Error(e); } var bt = vt; function wt(t, e, n) { var i = I(t); if (i && 'root' == i.providedIn) return void 0 === i.value ? (i.value = i.factory()) : i.value; if (n & v.Optional) return null; if (void 0 !== e) return e; throw new Error('Injector: NOT_FOUND [' + F(t) + ']'); } function St(t) { for (var e = [], n = 0; n < t.length; n++) { var i = G(t[n]); if (Array.isArray(i)) { if (0 === i.length) throw new Error('Arguments array must have arguments.'); for (var r = void 0, o = v.Default, a = 0; a < i.length; a++) { var s = i[a]; s instanceof w || 'Optional' === s.ngMetadataName || s === w ? (o |= v.Optional) : s instanceof x || 'SkipSelf' === s.ngMetadataName || s === x ? (o |= v.SkipSelf) : s instanceof S || 'Self' === s.ngMetadataName || s === S ? (o |= v.Self) : (r = s instanceof b || s === b ? s.token : s); } e.push(vt(r, o)); } else e.push(vt(i)); } return e; } var xt = (function () { function t() {} return ( (t.prototype.get = function (t, e) { if ((void 0 === e && (e = ut), e === ut)) { var n = new Error('NullInjectorError: No provider for ' + F(t) + '!'); throw ((n.name = 'NullInjectorError'), n); } return e; }), t ); })(); function Mt(t, e, n, i) { var r = t.ngTempTokenPath; throw (e.__source && r.unshift(e.__source), (t.message = Et('\n' + t.message, r, n, i)), (t.ngTokenPath = r), (t.ngTempTokenPath = null), t); } function Et(t, e, n, i) { void 0 === i && (i = null), (t = t && '\n' === t.charAt(0) && 'ɵ' == t.charAt(1) ? t.substr(2) : t); var r = F(e); if (Array.isArray(e)) r = e.map(F).join(' -> '); else if ('object' == typeof e) { var o = []; for (var a in e) if (e.hasOwnProperty(a)) { var s = e[a]; o.push(a + ':' + ('string' == typeof s ? JSON.stringify(s) : F(s))); } r = '{' + o.join(', ') + '}'; } return n + (i ? '(' + i + ')' : '') + '[' + r + ']: ' + t.replace(dt, '\n '); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Ct = { ɵɵdefineInjectable: O, ɵɵdefineInjector: P, ɵɵinject: vt, ɵɵgetFactoryOf: function t(e) { var n = e; if (H(e)) return function () { var e = t(G(n)); return e ? e() : null; }; var i = I(n) || D(n); if (!i || void 0 === i.factory) return null; return i.factory; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */, ɵɵinvalidFactoryDep: yt, }; var At, Tt, Ot, _t = function () {}, Pt = function () {}; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function It(t, e) { 'number' != typeof t && zt(e, typeof t, 'number', '==='); } function kt(t, e, n) { It(t, 'Expected a number'), Ft(t, n, 'Expected number to be less than or equal to'), (function (t, e, n) { t >= e || zt(n, t, e, '>='); })(t, e, 'Expected number to be greater than or equal to'); } function Dt(t, e) { 'string' != typeof t && zt(e, null === t ? 'null' : typeof t, 'string', '==='); } function Rt(t, e, n) { t != e && zt(n, t, e, '=='); } function Lt(t, e, n) { t == e && zt(n, t, e, '!='); } function Nt(t, e, n) { t !== e && zt(n, t, e, '==='); } function jt(t, e, n) { t === e && zt(n, t, e, '!=='); } function Vt(t, e, n) { t < e || zt(n, t, e, '<'); } function Ft(t, e, n) { t <= e || zt(n, t, e, '<='); } function Ut(t, e, n) { t > e || zt(n, t, e, '>'); } function Bt(t, e) { null == t && zt(e, t, null, '!='); } function zt(t, e, n, i) { throw new Error('ASSERTION ERROR: ' + t + (null == i ? '' : ' [Expected=> ' + n + ' ' + i + ' ' + e + ' <=Actual]')); } function Gt(t) { Rt( ('undefined' != typeof Node && t instanceof Node) || ('object' == typeof t && null != t && 'WebWorkerRenderNode' === t.constructor.name), !0, 'The provided value must be an instance of a DOM Node but got ' + F(t) ); } function Ht(t, e) { var n = t ? t.length : 0; Vt(e, n, 'Index expected to be less than ' + n + ' but got ' + e); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Wt(t, e) { for (var n = 0; n < t.length; n++) e.push(t[n]); } function qt(t, e) { void 0 === e && (e = t); for (var n = 0; n < t.length; n++) { var i = t[n]; Array.isArray(i) ? (e === t && (e = t.slice(0, n)), qt(i, e)) : e !== t && e.push(i); } return e; } function Xt(t, e) { t.forEach(function (t) { return Array.isArray(t) ? Xt(t, e) : e(t); }); } function Yt(t, e, n) { e >= t.length ? t.push(n) : t.splice(e, 0, n); } function Kt(t, e) { return e >= t.length - 1 ? t.pop() : t.splice(e, 1)[0]; } function Zt(t, e) { for (var n = [], i = 0; i < t; i++) n.push(e); return n; } function Jt(t, e, n) { var i = $t(t, e); return ( i >= 0 ? (t[1 | i] = n) : (function (t, e, n, i) { ngDevMode && Ft(e, t.length, "Can't insert past array end."); var r = t.length; if (r == e) t.push(n, i); else if (1 === r) t.push(i, t[0]), (t[0] = n); else { for (r--, t.push(t[r - 1], t[r]); r > e; ) { var o = r - 2; (t[r] = t[o]), r--; } (t[e] = n), (t[e + 1] = i); } })(t, (i = ~i), e, n), i ); } function Qt(t, e) { var n = $t(t, e); if (n >= 0) return t[1 | n]; } function $t(t, e) { return te(t, e, 1); } function te(t, e, n) { ngDevMode && Rt(Array.isArray(t), !0, 'Expecting an array'); for (var i = 0, r = t.length >> n; r !== i; ) { var o = i + ((r - i) >> 1), a = t[o << n]; if (e === a) return o << n; a > e ? (r = o) : (i = o + 1); } return ~(r << n); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function ee(t) { return null == t || t === At.Default; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ !(function (t) { (t[(t.OnPush = 0)] = 'OnPush'), (t[(t.Default = 1)] = 'Default'); })(At || (At = {})), (function (t) { (t[(t.CheckOnce = 0)] = 'CheckOnce'), (t[(t.Checked = 1)] = 'Checked'), (t[(t.CheckAlways = 2)] = 'CheckAlways'), (t[(t.Detached = 3)] = 'Detached'), (t[(t.Errored = 4)] = 'Errored'), (t[(t.Destroyed = 5)] = 'Destroyed'); })(Tt || (Tt = {})), (function (t) { (t[(t.Emulated = 0)] = 'Emulated'), (t[(t.Native = 1)] = 'Native'), (t[(t.None = 2)] = 'None'), (t[(t.ShadowDom = 3)] = 'ShadowDom'); })(Ot || (Ot = {})); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var ne = {}, ie = []; ('undefined' == typeof ngDevMode || ngDevMode) && at() && (Object.freeze(ne), Object.freeze(ie)) /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */; var re = 0; function oe(t) { return l(function () { ('undefined' == typeof ngDevMode || ngDevMode) && at(); var e = t.type, n = e.prototype, i = {}, r = { type: e, providersResolver: null, decls: t.decls, vars: t.vars, factory: null, template: t.template || null, consts: t.consts || null, ngContentSelectors: t.ngContentSelectors, hostBindings: t.hostBindings || null, hostVars: t.hostVars || 0, hostAttrs: t.hostAttrs || null, contentQueries: t.contentQueries || null, declaredInputs: i, inputs: null, outputs: null, exportAs: t.exportAs || null, onChanges: null, onInit: n.ngOnInit || null, doCheck: n.ngDoCheck || null, afterContentInit: n.ngAfterContentInit || null, afterContentChecked: n.ngAfterContentChecked || null, afterViewInit: n.ngAfterViewInit || null, afterViewChecked: n.ngAfterViewChecked || null, onDestroy: n.ngOnDestroy || null, onPush: t.changeDetection === At.OnPush, directiveDefs: null, pipeDefs: null, selectors: t.selectors || ie, viewQuery: t.viewQuery || null, features: t.features || null, data: t.data || {}, encapsulation: t.encapsulation || Ot.Emulated, id: 'c', styles: t.styles || ie, _: null, setInput: null, schemas: t.schemas || null, tView: null, }, o = t.directives, a = t.features, s = t.pipes; return ( (r.id += re++), (r.inputs = pe(t.inputs, i)), (r.outputs = pe(t.outputs)), a && a.forEach(function (t) { return t(r); }), (r.directiveDefs = o ? function () { return ('function' == typeof o ? o() : o).map(se); } : null), (r.pipeDefs = s ? function () { return ('function' == typeof s ? s() : s).map(ce); } : null), r ); }); } function ae(t, e, n) { var i = t.ɵcmp; (i.directiveDefs = function () { return e.map(se); }), (i.pipeDefs = function () { return n.map(ce); }); } function se(t) { var e = me(t) || ge(t); if (ngDevMode && !e) throw new Error("'" + t.name + "' is neither 'ComponentType' or 'DirectiveType'."); return e; } function ce(t) { var e = ve(t); if (ngDevMode && !e) throw new Error("'" + t.name + "' is not a 'PipeType'."); return e; } var le = {}; function ue(t) { var e = { type: t.type, bootstrap: t.bootstrap || ie, declarations: t.declarations || ie, imports: t.imports || ie, exports: t.exports || ie, transitiveCompileScopes: null, schemas: t.schemas || null, id: t.id || null, }; return ( null != t.id && l(function () { le[t.id] = t.type; }), e ); } function de(t, e) { return l(function () { var n = be(t, !0); (n.declarations = e.declarations || ie), (n.imports = e.imports || ie), (n.exports = e.exports || ie); }); } function pe(t, e) { if (null == t) return ne; var n = {}; for (var i in t) if (t.hasOwnProperty(i)) { var r = t[i], o = r; Array.isArray(r) && ((o = r[1]), (r = r[0])), (n[r] = i), e && (e[r] = o); } return n; } var he = oe; function fe(t) { return { type: t.type, name: t.name, factory: null, pure: !1 !== t.pure, onDestroy: t.type.prototype.ngOnDestroy || null, }; } function me(t) { return t[$] || null; } function ge(t) { return t[tt] || null; } function ve(t) { return t[et] || null; } function ye(t, e) { var n = t.hasOwnProperty(rt); if (!n && !0 === e && ngDevMode) throw new Error('Type ' + F(t) + " does not have 'ɵfac' property."); return n ? t[rt] : null; } function be(t, e) { var n = t[nt] || null; if (!n && !0 === e) throw new Error('Type ' + F(t) + " does not have 'ɵmod' property."); return n; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function we(t) { return Array.isArray(t) && 'object' == typeof t[1]; } function Se(t) { return Array.isArray(t) && !0 === t[1]; } function xe(t) { return 0 != (8 & t.flags); } function Me(t) { return 2 == (2 & t.flags); } function Ee(t) { return 1 == (1 & t.flags); } function Ce(t) { return null !== t.template; } function Ae(t) { return 0 != (512 & t[2]); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Te(t, e) { t.hasOwnProperty('tView_') && Rt(t.tView_, e[1], 'This TNode does not belong to this LView.'); } function Oe(t, e) { void 0 === e && (e = "Type passed in is not ComponentType, it does not have 'ɵcmp' property."), me(t) || zt(e); } function _e(t) { Bt(t, 'previousOrParentTNode should exist!'), Bt(t.parent, 'previousOrParentTNode should have a parent'); } function Pe(t) { Bt(t, 'LContainer must be defined'), Rt(Se(t), !0, 'Expecting LContainer'); } function Ie(t) { t && Rt(we(t), !0, 'Expecting LView or undefined or null'); } function ke(t) { Bt(t, 'LView must be defined'), Rt(we(t), !0, 'Expecting LView'); } function De(t, e) { Rt(t.firstCreatePass, !0, e || 'Should only be called in first create pass.'); } function Re(t, e) { Rt(t.firstUpdatePass, !0, e || 'Should only be called in first update pass.'); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Le, Ne = void 0; function je(t) { Ne = t; } function Ve() { return void 0 !== Ne ? Ne : 'undefined' != typeof document ? document : void 0; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Fe(t) { return !!t.listen; } !(function (t) { (t[(t.Important = 1)] = 'Important'), (t[(t.DashCase = 2)] = 'DashCase'); })(Le || (Le = {})); var Ue = { createRenderer: function (t, e) { return Ve(); }, }; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Be(t) { for (; Array.isArray(t); ) t = t[0]; return t; } function ze(t, e) { return Be(e[t + 20]); } function Ge(t, e) { ngDevMode && Te(t, e), ngDevMode && Ht(e, t.index); var n = Be(e[t.index]); return ngDevMode && !Fe(e[11]) && Gt(n), n; } function He(t, e) { var n = t.index; if (-1 !== n) { ngDevMode && Te(t, e); var i = Be(e[n]); return ngDevMode && null !== i && !Fe(e[11]) && Gt(i), i; } return null; } function We(t, e) { return ngDevMode && Ut(e, -1, 'wrong index for TNode'), ngDevMode && Vt(e, t.data.length, 'wrong index for TNode'), t.data[e + 20]; } function qe(t, e) { return ngDevMode && Ht(t, e + 20), t[e + 20]; } function Xe(t, e) { ngDevMode && Ht(e, t); var n = e[t]; return we(n) ? n : n[0]; } function Ye(t) { return ngDevMode && Bt(t, 'Target expected'), t.__ngContext__ || null; } function Ke(t) { var e = Ye(t); return e ? (Array.isArray(e) ? e : e.lView) : null; } function Ze(t) { return 4 == (4 & t[2]); } function Je(t) { return 128 == (128 & t[2]); } function Qe(t, e) { return null === t || null == e ? null : t[e]; } function $e(t) { t[18] = 0; } function tn(t, e) { t[5] += e; for (var n = t, i = t[3]; null !== i && ((1 === e && 1 === n[5]) || (-1 === e && 0 === n[5])); ) (i[5] += e), (n = i), (i = i[3]); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var en = { lFrame: On(null), bindingsEnabled: !0, checkNoChangesMode: !1, }; function nn() { return en.bindingsEnabled; } function rn() { en.bindingsEnabled = !0; } function on() { en.bindingsEnabled = !1; } function an() { return en.lFrame.lView; } function sn() { return en.lFrame.tView; } function cn(t) { en.lFrame.contextLView = t; } function ln() { return en.lFrame.previousOrParentTNode; } function un(t, e) { (en.lFrame.previousOrParentTNode = t), (en.lFrame.isParent = e); } function dn() { return en.lFrame.isParent; } function pn() { en.lFrame.isParent = !1; } function hn() { return en.checkNoChangesMode; } function fn(t) { en.checkNoChangesMode = t; } function mn() { var t = en.lFrame, e = t.bindingRootIndex; return -1 === e && (e = t.bindingRootIndex = t.tView.bindingStartIndex), e; } function gn() { return en.lFrame.bindingIndex; } function vn(t) { return (en.lFrame.bindingIndex = t); } function yn() { return en.lFrame.bindingIndex++; } function bn(t) { var e = en.lFrame, n = e.bindingIndex; return (e.bindingIndex = e.bindingIndex + t), n; } function wn(t, e) { var n = en.lFrame; (n.bindingIndex = n.bindingRootIndex = t), Sn(e); } function Sn(t) { en.lFrame.currentDirectiveIndex = t; } function xn(t) { var e = en.lFrame.currentDirectiveIndex; return -1 === e ? null : t[e]; } function Mn() { return en.lFrame.currentQueryIndex; } function En(t) { en.lFrame.currentQueryIndex = t; } function Cn(t, e) { ngDevMode && Ie(t); var n = Tn(); (en.lFrame = n), (n.previousOrParentTNode = e), (n.lView = t); } function An(t, e) { ngDevMode && Ie(t); var n = Tn(); ngDevMode && (Rt(n.isParent, !0, 'Expected clean LFrame'), Rt(n.lView, null, 'Expected clean LFrame'), Rt(n.tView, null, 'Expected clean LFrame'), Rt(n.selectedIndex, 0, 'Expected clean LFrame'), Rt(n.elementDepthCount, 0, 'Expected clean LFrame'), Rt(n.currentDirectiveIndex, -1, 'Expected clean LFrame'), Rt(n.currentNamespace, null, 'Expected clean LFrame'), Rt(n.currentSanitizer, null, 'Expected clean LFrame'), Rt(n.bindingRootIndex, -1, 'Expected clean LFrame'), Rt(n.currentQueryIndex, 0, 'Expected clean LFrame')); var i = t[1]; (en.lFrame = n), (n.previousOrParentTNode = e), (n.lView = t), (n.tView = i), (n.contextLView = t), (n.bindingIndex = i.bindingStartIndex); } function Tn() { var t = en.lFrame, e = null === t ? null : t.child; return null === e ? On(t) : e; } function On(t) { var e = { previousOrParentTNode: null, isParent: !0, lView: null, tView: null, selectedIndex: 0, contextLView: null, elementDepthCount: 0, currentNamespace: null, currentSanitizer: null, currentDirectiveIndex: -1, bindingRootIndex: -1, bindingIndex: -1, currentQueryIndex: 0, parent: t, child: null, }; return null !== t && (t.child = e), e; } function _n() { var t = en.lFrame; return (en.lFrame = t.parent), (t.previousOrParentTNode = null), (t.lView = null), t; } var Pn = _n; function In() { var t = _n(); (t.isParent = !0), (t.tView = null), (t.selectedIndex = 0), (t.contextLView = null), (t.elementDepthCount = 0), (t.currentDirectiveIndex = -1), (t.currentNamespace = null), (t.currentSanitizer = null), (t.bindingRootIndex = -1), (t.bindingIndex = -1), (t.currentQueryIndex = 0); } function kn(t) { return (en.lFrame.contextLView = (function (t, e) { for (; t > 0; ) ngDevMode && Bt(e[15], 'Declaration view should be defined if nesting level is greater than 0.'), (e = e[15]), t--; return e; })(t, en.lFrame.contextLView))[8]; } function Dn() { return en.lFrame.selectedIndex; } function Rn(t) { en.lFrame.selectedIndex = t; } function Ln() { var t = en.lFrame; return We(t.tView, t.selectedIndex); } function Nn() { en.lFrame.currentNamespace = 'http://www.w3.org/2000/svg'; } function jn() { en.lFrame.currentNamespace = 'http://www.w3.org/1998/MathML/'; } function Vn() { en.lFrame.currentNamespace = null; } function Fn(t) { en.lFrame.currentSanitizer = t; } function Un(t, e) { ngDevMode && De(t); for (var n = e.directiveStart, i = e.directiveEnd; n < i; n++) { var r = t.data[n]; r.afterContentInit && (t.contentHooks || (t.contentHooks = [])).push(-n, r.afterContentInit), r.afterContentChecked && ((t.contentHooks || (t.contentHooks = [])).push(n, r.afterContentChecked), (t.contentCheckHooks || (t.contentCheckHooks = [])).push(n, r.afterContentChecked)), r.afterViewInit && (t.viewHooks || (t.viewHooks = [])).push(-n, r.afterViewInit), r.afterViewChecked && ((t.viewHooks || (t.viewHooks = [])).push(n, r.afterViewChecked), (t.viewCheckHooks || (t.viewCheckHooks = [])).push(n, r.afterViewChecked)), null != r.onDestroy && (t.destroyHooks || (t.destroyHooks = [])).push(n, r.onDestroy); } } function Bn(t, e, n) { Hn(t, e, 3, n); } function zn(t, e, n, i) { ngDevMode && Lt(n, 3, 'Init pre-order hooks should not be called more than once'), (3 & t[2]) === n && Hn(t, e, n, i); } function Gn(t, e) { ngDevMode && Lt(e, 3, 'Init hooks phase should not be incremented after all init hooks have been run.'); var n = t[2]; (3 & n) === e && ((n &= 2047), (n += 1), (t[2] = n)); } function Hn(t, e, n, i) { ngDevMode && Rt(hn(), !1, 'Hooks should never be run in the check no changes mode.'); for (var r = null != i ? i : -1, o = 0, a = void 0 !== i ? 65535 & t[18] : 0; a < e.length; a++) { if ('number' == typeof e[a + 1]) { if (((o = e[a]), null != i && o >= i)) break; } else e[a] < 0 && (t[18] += 65536), (o < r || -1 == r) && (Wn(t, n, e, a), (t[18] = (4294901760 & t[18]) + a + 2)), a++; } } function Wn(t, e, n, i) { var r = n[i] < 0, o = n[i + 1], a = t[r ? -n[i] : n[i]]; r ? t[2] >> 11 < t[18] >> 16 && (3 & t[2]) === e && ((t[2] += 2048), o.call(a)) : o.call(a); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var qn = function (t, e, n) { (this.factory = t), (this.resolving = !1), (this.canSeeViewProviders = e), (this.injectImpl = n); }; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Xn(t, e) { Bt(t, 'should be called with a TNode'), Rt(t.type, e, 'should be a ' + Kn(e)); } function Yn(t) { for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n]; Bt(t, 'should be called with a TNode'); var i = e.some(function (e) { return t.type === e; }); Rt(i, !0, 'Should be one of ' + e.map(Kn).join(', ') + ' but got ' + Kn(t.type)); } function Kn(t) { return 1 == t ? 'Projection' : 0 == t ? 'Container' : 5 == t ? 'IcuContainer' : 2 == t ? 'View' : 3 == t ? 'Element' : 4 == t ? 'ElementContainer' : ''; } function Zn(t, e, n) { for (var i = Fe(t), r = 0; r < n.length; ) { var o = n[r]; if ('number' == typeof o) { if (0 !== o) break; r++; var a = n[r++], s = n[r++], c = n[r++]; ngDevMode && ngDevMode.rendererSetAttribute++, i ? t.setAttribute(e, s, c, a) : e.setAttributeNS(a, s, c); } else { (s = o), (c = n[++r]); ngDevMode && ngDevMode.rendererSetAttribute++, Qn(s) ? i && t.setProperty(e, s, c) : i ? t.setAttribute(e, s, c) : e.setAttribute(s, c), r++; } } return r; } function Jn(t) { return 3 === t || 4 === t || 6 === t; } function Qn(t) { return 64 === t.charCodeAt(0); } function $n(t, e) { if (null === e || 0 === e.length); else if (null === t || 0 === t.length) t = e.slice(); else for (var n = -1, i = 0; i < e.length; i++) { var r = e[i]; 'number' == typeof r ? (n = r) : 0 === n || ti(t, n, r, null, -1 === n || 2 === n ? e[++i] : null); } return t; } function ti(t, e, n, i, r) { var o = 0, a = t.length; if (-1 === e) a = -1; else for (; o < t.length; ) { var s = t[o++]; if ('number' == typeof s) { if (s === e) { a = -1; break; } if (s > e) { a = o - 1; break; } } } for (; o < t.length; ) { var c = t[o]; if ('number' == typeof c) break; if (c === n) { if (null === i) return void (null !== r && (t[o + 1] = r)); if (i === t[o + 1]) return void (t[o + 2] = r); } o++, null !== i && o++, null !== r && o++; } -1 !== a && (t.splice(a, 0, e), (o = a + 1)), t.splice(o++, 0, n), null !== i && t.splice(o++, 0, i), null !== r && t.splice(o++, 0, r); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function ei(t) { return -1 !== t; } function ni(t) { return 32767 & t; } function ii(t) { return t >> 16; } function ri(t, e) { for (var n = ii(t), i = e; n > 0; ) (i = i[15]), n--; return i; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function oi(t) { return 'string' == typeof t ? t : null == t ? '' : '' + t; } function ai(t) { return 'function' == typeof t ? t.name || t.toString() : 'object' == typeof t && null != t && 'function' == typeof t.type ? t.type.name || t.type.toString() : oi(t); } var si = (('undefined' != typeof requestAnimationFrame && requestAnimationFrame) || setTimeout).bind(J); function ci(t) { return { name: 'window', target: t.ownerDocument.defaultView, }; } function li(t) { return { name: 'document', target: t.ownerDocument, }; } function ui(t) { return { name: 'body', target: t.ownerDocument.body, }; } function di(t) { return t instanceof Function ? t() : t; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var pi = !0; function hi(t) { var e = pi; return (pi = t), e; } var fi = 0; function mi(t, e) { var n = vi(t, e); if (-1 !== n) return n; var i = e[1]; i.firstCreatePass && ((t.injectorIndex = e.length), gi(i.data, t), gi(e, null), gi(i.blueprint, null)); var r = yi(t, e), o = t.injectorIndex; if (ei(r)) for (var a = ni(r), s = ri(r, e), c = s[1].data, l = 0; l < 8; l++) e[o + l] = s[a + l] | c[a + l]; return (e[o + 8] = r), o; } function gi(t, e) { t.push(0, 0, 0, 0, 0, 0, 0, 0, e); } function vi(t, e) { return -1 === t.injectorIndex || (t.parent && t.parent.injectorIndex === t.injectorIndex) || null == e[t.injectorIndex + 8] ? -1 : t.injectorIndex; } function yi(t, e) { if (t.parent && -1 !== t.parent.injectorIndex) return t.parent.injectorIndex; for (var n = e[6], i = 1; n && -1 === n.injectorIndex; ) (n = (e = e[15]) ? e[6] : null), i++; return n ? n.injectorIndex | (i << 16) : -1; } function bi(t, e, n) { !(function (t, e, n) { ngDevMode && Rt(e.firstCreatePass, !0, 'expected firstCreatePass to be true'); var i = 'string' != typeof n ? n[ot] : n.charCodeAt(0) || 0; null == i && (i = n[ot] = fi++); var r = 255 & i, o = 1 << r, a = 128 & r, s = 64 & r, c = 32 & r, l = e.data; a ? (s ? (c ? (l[t + 7] |= o) : (l[t + 6] |= o)) : c ? (l[t + 5] |= o) : (l[t + 4] |= o)) : s ? (c ? (l[t + 3] |= o) : (l[t + 2] |= o)) : c ? (l[t + 1] |= o) : (l[t] |= o); })(t, e, n); } function wi(t, e) { if ((ngDevMode && Yn(t, 0, 3, 4), ngDevMode && Bt(t, 'expecting tNode'), 'class' === e)) return t.classes; if ('style' === e) return t.styles; var n = t.attrs; if (n) for (var i = n.length, r = 0; r < i; ) { var o = n[r]; if (Jn(o)) break; if (0 === o) r += 2; else if ('number' == typeof o) for (r++; r < i && 'string' == typeof n[r]; ) r++; else { if (o === e) return n[r + 1]; r += 2; } } return null; } function Si(t, e, n, i, r) { if ((void 0 === i && (i = v.Default), null !== t)) { var o = (function (t) { if ((ngDevMode && Bt(t, 'token must be defined'), 'string' == typeof t)) return t.charCodeAt(0) || 0; var e = t[ot]; return 'number' == typeof e && e > 0 ? 255 & e : e; })(n); if ('function' == typeof o) { Cn(e, t); try { var a = o(); if (null != a || i & v.Optional) return a; throw new Error('No provider for ' + ai(n) + '!'); } finally { Pn(); } } else if ('number' == typeof o) { if (-1 === o) return new Oi(t, e); var s = null, c = vi(t, e), l = -1, u = i & v.Host ? e[16][6] : null; for ((-1 === c || i & v.SkipSelf) && ((l = -1 === c ? yi(t, e) : e[c + 8]), Ti(i, !1) ? ((s = e[1]), (c = ni(l)), (e = ri(l, e))) : (c = -1)); -1 !== c; ) { l = e[c + 8]; var d = e[1]; if (Ai(o, c, d.data)) { var p = Mi(c, e, n, s, i, u); if (p !== xi) return p; } Ti(i, e[1].data[c + 8] === u) && Ai(o, c, e) ? ((s = d), (c = ni(l)), (e = ri(l, e))) : (c = -1); } } } if ((i & v.Optional && void 0 === r && (r = null), 0 == (i & (v.Self | v.Host)))) { var h = e[9], f = mt(void 0); try { return h ? h.get(n, r, i & v.Optional) : wt(n, r, i & v.Optional); } finally { mt(f); } } if (i & v.Optional) return r; throw new Error('NodeInjector: NOT_FOUND [' + ai(n) + ']'); } var xi = {}; function Mi(t, e, n, i, r, o) { var a = e[1], s = a.data[t + 8], c = Ei(s, a, n, null == i ? Me(s) && pi : i != a && 3 === s.type, r & v.Host && o === s); return null !== c ? Ci(e, a, c, s) : xi; } function Ei(t, e, n, i, r) { for (var o = t.providerIndexes, a = e.data, s = 65535 & o, c = t.directiveStart, l = t.directiveEnd, u = o >> 16, d = r ? s + u : l, p = i ? s : s + u; p < d; p++) { var h = a[p]; if ((p < c && n === h) || (p >= c && h.type === n)) return p; } if (r) { var f = a[c]; if (f && Ce(f) && f.type === n) return c; } return null; } function Ci(t, e, n, i) { var r = t[n], o = e.data; if (r instanceof qn) { var a = r; if (a.resolving) throw new Error('Circular dep for ' + ai(o[n])); var s = hi(a.canSeeViewProviders); a.resolving = !0; var c = void 0; a.injectImpl && (c = mt(a.injectImpl)), Cn(t, i); try { (r = t[n] = a.factory(void 0, o, t, i)), e.firstCreatePass && n >= i.directiveStart && (ngDevMode && (function (t) { (void 0 !== t.type && null != t.selectors && void 0 !== t.inputs) || zt('Expected a DirectiveDef/ComponentDef and this object does not seem to have the expected shape.'); })(o[n]), /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ (function (t, e, n) { ngDevMode && De(n); var i = e.onChanges, r = e.onInit, o = e.doCheck; i && ((n.preOrderHooks || (n.preOrderHooks = [])).push(t, i), (n.preOrderCheckHooks || (n.preOrderCheckHooks = [])).push(t, i)), r && (n.preOrderHooks || (n.preOrderHooks = [])).push(-t, r), o && ((n.preOrderHooks || (n.preOrderHooks = [])).push(t, o), (n.preOrderCheckHooks || (n.preOrderCheckHooks = [])).push(t, o)); })(n, o[n], e)); } finally { a.injectImpl && mt(c), hi(s), (a.resolving = !1), Pn(); } } return r; } function Ai(t, e, n) { var i = 1 << t, r = 64 & t, o = 32 & t; return !!((128 & t ? (r ? (o ? n[e + 7] : n[e + 6]) : o ? n[e + 5] : n[e + 4]) : r ? (o ? n[e + 3] : n[e + 2]) : o ? n[e + 1] : n[e]) & i); } function Ti(t, e) { return !(t & v.Self || (t & v.Host && e)); } var Oi = (function () { function t(t, e) { (this._tNode = t), (this._lView = e); } return ( (t.prototype.get = function (t, e) { return Si(this._tNode, this._lView, t, void 0, e); }), t ); })(); function _i(t) { var e = t; if (H(t)) return function () { var t = _i(G(e)); return t ? t() : null; }; var n = ye(e); if (null === n) { var i = D(e); n = i && i.factory; } return n || null; } function Pi(t) { return l(function () { var e = Object.getPrototypeOf(t.prototype).constructor, n = e[rt] || _i(e); return null !== n ? n : function (t) { return new t(); }; }); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Ii(t) { return t.ngDebugContext; } function ki(t) { return t.ngOriginalError; } function Di(t) { for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n]; t.error.apply(t, Object(i.h)(e)); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Ri = (function () { function t() { this._console = console; } return ( (t.prototype.handleError = function (t) { var e = this._findOriginalError(t), n = this._findContext(t), i = (function (t) { return t.ngErrorLogger || Di; })(t); i(this._console, 'ERROR', t), e && i(this._console, 'ORIGINAL ERROR', e), n && i(this._console, 'ERROR CONTEXT', n); }), (t.prototype._findContext = function (t) { return t ? (Ii(t) ? Ii(t) : this._findContext(ki(t))) : null; }), (t.prototype._findOriginalError = function (t) { for (var e = ki(t); e && ki(e); ) e = ki(e); return e; }), t ); })(), Li = { name: 'custom-elements', }, Ni = { name: 'no-errors-schema', }, ji = (function () { function t(t) { this.changingThisBreaksApplicationSecurity = t; } return ( (t.prototype.toString = function () { return 'SafeValue must use [property]=binding: ' + this.changingThisBreaksApplicationSecurity + ' (see http://g.co/ng/security#xss)'; }), t ); })(), Vi = (function (t) { function e() { return (null !== t && t.apply(this, arguments)) || this; } return ( Object(i.c)(e, t), (e.prototype.getTypeName = function () { return 'HTML'; }), e ); })(ji), Fi = (function (t) { function e() { return (null !== t && t.apply(this, arguments)) || this; } return ( Object(i.c)(e, t), (e.prototype.getTypeName = function () { return 'Style'; }), e ); })(ji), Ui = (function (t) { function e() { return (null !== t && t.apply(this, arguments)) || this; } return ( Object(i.c)(e, t), (e.prototype.getTypeName = function () { return 'Script'; }), e ); })(ji), Bi = (function (t) { function e() { return (null !== t && t.apply(this, arguments)) || this; } return ( Object(i.c)(e, t), (e.prototype.getTypeName = function () { return 'URL'; }), e ); })(ji), zi = (function (t) { function e() { return (null !== t && t.apply(this, arguments)) || this; } return ( Object(i.c)(e, t), (e.prototype.getTypeName = function () { return 'ResourceURL'; }), e ); })(ji); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Gi(t) { return t instanceof ji ? t.changingThisBreaksApplicationSecurity : t; } function Hi(t, e) { var n = Wi(t); if (null != n && n !== e) { if ('ResourceURL' === n && 'URL' === e) return !0; throw new Error('Required a safe ' + e + ', got a ' + n + ' (see http://g.co/ng/security#xss)'); } return n === e; } function Wi(t) { return (t instanceof ji && t.getTypeName()) || null; } function qi(t) { return new Vi(t); } function Xi(t) { return new Fi(t); } function Yi(t) { return new Ui(t); } function Ki(t) { return new Bi(t); } function Zi(t) { return new zi(t); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Ji = !0, Qi = !1; function $i() { return (Qi = !0), Ji; } function tr() { if (Qi) throw new Error('Cannot enable prod mode after platform setup.'); Ji = !1; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var er = (function () { function t(t) { (this.defaultDoc = t), (this.inertDocument = this.defaultDoc.implementation.createHTMLDocument('sanitization-inert')); var e = this.inertDocument.body; if (null == e) { var n = this.inertDocument.createElement('html'); this.inertDocument.appendChild(n), (e = this.inertDocument.createElement('body')), n.appendChild(e); } (e.innerHTML = ''), !e.querySelector || e.querySelector('svg') ? ((e.innerHTML = '

'), e.querySelector && e.querySelector('svg img') && (function () { try { return !!window.DOMParser; } catch (t) { return !1; } }) /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */() ? (this.getInertBodyElement = this.getInertBodyElement_DOMParser) : (this.getInertBodyElement = this.getInertBodyElement_InertDocument)) : (this.getInertBodyElement = this.getInertBodyElement_XHR); } return ( (t.prototype.getInertBodyElement_XHR = function (t) { t = '' + t + ''; try { t = encodeURI(t); } catch (t) { return null; } var e = new XMLHttpRequest(); (e.responseType = 'document'), e.open('GET', 'data:text/html;charset=utf-8,' + t, !1), e.send(void 0); var n = e.response.body; return n.removeChild(n.firstChild), n; }), (t.prototype.getInertBodyElement_DOMParser = function (t) { t = '' + t + ''; try { var e = new window.DOMParser().parseFromString(t, 'text/html').body; return e.removeChild(e.firstChild), e; } catch (t) { return null; } }), (t.prototype.getInertBodyElement_InertDocument = function (t) { var e = this.inertDocument.createElement('template'); if ('content' in e) return (e.innerHTML = t), e; var n = this.inertDocument.createElement('body'); return (n.innerHTML = t), this.defaultDoc.documentMode && this.stripCustomNsAttrs(n), n; }), (t.prototype.stripCustomNsAttrs = function (t) { for (var e = t.attributes, n = e.length - 1; 0 < n; n--) { var i = e.item(n).name; ('xmlns:ns1' !== i && 0 !== i.indexOf('ns1:')) || t.removeAttribute(i); } for (var r = t.firstChild; r; ) r.nodeType === Node.ELEMENT_NODE && this.stripCustomNsAttrs(r), (r = r.nextSibling); }), t ); })(); var nr = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi, ir = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i; function rr(t) { return (t = String(t)).match(nr) || t.match(ir) ? t : ($i() && console.warn('WARNING: sanitizing unsafe URL value ' + t + ' (see http://g.co/ng/security#xss)'), 'unsafe:' + t); } function or(t) { return (t = String(t)) .split(',') .map(function (t) { return rr(t.trim()); }) .join(', '); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function ar(t) { var e, n, r = {}; try { for (var o = Object(i.j)(t.split(',')), a = o.next(); !a.done; a = o.next()) { r[a.value] = !0; } } catch (t) { e = { error: t, }; } finally { try { a && !a.done && (n = o.return) && n.call(o); } finally { if (e) throw e.error; } } return r; } function sr() { for (var t, e, n = [], r = 0; r < arguments.length; r++) n[r] = arguments[r]; var o = {}; try { for (var a = Object(i.j)(n), s = a.next(); !s.done; s = a.next()) { var c = s.value; for (var l in c) c.hasOwnProperty(l) && (o[l] = !0); } } catch (e) { t = { error: e, }; } finally { try { s && !s.done && (e = a.return) && e.call(a); } finally { if (t) throw t.error; } } return o; } var cr, lr, ur = ar('area,br,col,hr,img,wbr'), dr = ar('colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr'), pr = ar('rp,rt'), hr = sr(pr, dr), fr = sr( dr, ar( 'address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul' ) ), mr = sr( pr, ar( 'a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video' ) ), gr = sr(ur, fr, mr, hr), vr = ar('background,cite,href,itemtype,longdesc,poster,src,xlink:href'), yr = ar('srcset'), br = ar( 'abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width' ), wr = ar( 'aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext' ), Sr = sr(vr, yr, br, wr), xr = ar('script,style,template'), Mr = (function () { function t() { (this.sanitizedSomething = !1), (this.buf = []); } return ( (t.prototype.sanitizeChildren = function (t) { for (var e = t.firstChild, n = !0; e; ) if ((e.nodeType === Node.ELEMENT_NODE ? (n = this.startElement(e)) : e.nodeType === Node.TEXT_NODE ? this.chars(e.nodeValue) : (this.sanitizedSomething = !0), n && e.firstChild)) e = e.firstChild; else for (; e; ) { e.nodeType === Node.ELEMENT_NODE && this.endElement(e); var i = this.checkClobberedElement(e, e.nextSibling); if (i) { e = i; break; } e = this.checkClobberedElement(e, e.parentNode); } return this.buf.join(''); }), (t.prototype.startElement = function (t) { var e = t.nodeName.toLowerCase(); if (!gr.hasOwnProperty(e)) return (this.sanitizedSomething = !0), !xr.hasOwnProperty(e); this.buf.push('<'), this.buf.push(e); for (var n = t.attributes, i = 0; i < n.length; i++) { var r = n.item(i), o = r.name, a = o.toLowerCase(); if (Sr.hasOwnProperty(a)) { var s = r.value; vr[a] && (s = rr(s)), yr[a] && (s = or(s)), this.buf.push(' ', o, '="', Ar(s), '"'); } else this.sanitizedSomething = !0; } return this.buf.push('>'), !0; }), (t.prototype.endElement = function (t) { var e = t.nodeName.toLowerCase(); gr.hasOwnProperty(e) && !ur.hasOwnProperty(e) && (this.buf.push('')); }), (t.prototype.chars = function (t) { this.buf.push(Ar(t)); }), (t.prototype.checkClobberedElement = function (t, e) { if (e && (t.compareDocumentPosition(e) & Node.DOCUMENT_POSITION_CONTAINED_BY) === Node.DOCUMENT_POSITION_CONTAINED_BY) throw new Error('Failed to sanitize html because the element is clobbered: ' + t.outerHTML); return e; }), t ); })(), Er = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g, Cr = /([^\#-~ |!])/g; function Ar(t) { return t .replace(/&/g, '&') .replace(Er, function (t) { return '&#' + (1024 * (t.charCodeAt(0) - 55296) + (t.charCodeAt(1) - 56320) + 65536) + ';'; }) .replace(Cr, function (t) { return '&#' + t.charCodeAt(0) + ';'; }) .replace(//g, '>'); } function Tr(t, e) { var n = null; try { cr = cr || new er(t); var i = e ? String(e) : ''; n = cr.getInertBodyElement(i); var r = 5, o = i; do { if (0 === r) throw new Error('Failed to sanitize html because the input is unstable'); r--, (i = o), (o = n.innerHTML), (n = cr.getInertBodyElement(i)); } while (i !== o); var a = new Mr(), s = a.sanitizeChildren(Or(n) || n); return $i() && a.sanitizedSomething && console.warn('WARNING: sanitizing HTML stripped some content, see http://g.co/ng/security#xss'), s; } finally { if (n) for (var c = Or(n) || n; c.firstChild; ) c.removeChild(c.firstChild); } } function Or(t) { return 'content' in t && (function (t) { return t.nodeType === Node.ELEMENT_NODE && 'TEMPLATE' === t.nodeName; })( /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ t ) ? t.content : null; } !(function (t) { (t[(t.NONE = 0)] = 'NONE'), (t[(t.HTML = 1)] = 'HTML'), (t[(t.STYLE = 2)] = 'STYLE'), (t[(t.SCRIPT = 3)] = 'SCRIPT'), (t[(t.URL = 4)] = 'URL'), (t[(t.RESOURCE_URL = 5)] = 'RESOURCE_URL'); })(lr || (lr = {})); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var _r = new RegExp( '^([-,."\'%_!# a-zA-Z0-9]+|(?:(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|Z|3d)?|(?:rgb|hsl)a?|(?:repeating-)?(?:linear|radial)-gradient|(?:attr|calc|var))\\([-0-9.%, #a-zA-Z]+\\))$', 'g' ), Pr = /^url\(([^)]+)\)$/; function Ir(t) { if (!(t = String(t).trim())) return ''; var e = t.match(Pr); return (e && rr(e[1]) === e[1]) || (t.match(_r) && (function (t) { for (var e = !0, n = !0, i = 0; i < t.length; i++) { var r = t.charAt(i); "'" === r && n ? (e = !e) : '"' === r && e && (n = !n); } return e && n; })(t)) ? t : ($i() && console.warn('WARNING: sanitizing unsafe style value ' + t + ' (see http://g.co/ng/security#xss).'), 'unsafe'); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function kr(t) { var e = Br(); return e ? e.sanitize(lr.HTML, t) || '' : Hi(t, 'HTML') ? Gi(t) : Tr(Ve(), oi(t)); } function Dr(t) { var e = Br(); return e ? e.sanitize(lr.STYLE, t) || '' : Hi(t, 'Style') ? Gi(t) : Ir(oi(t)); } function Rr(t) { var e = Br(); return e ? e.sanitize(lr.URL, t) || '' : Hi(t, 'URL') ? Gi(t) : rr(oi(t)); } function Lr(t) { var e = Br(); if (e) return e.sanitize(lr.RESOURCE_URL, t) || ''; if (Hi(t, 'ResourceURL')) return Gi(t); throw new Error('unsafe value used in a resource URL context (see http://g.co/ng/security#xss)'); } function Nr(t) { var e = Br(); if (e) return e.sanitize(lr.SCRIPT, t) || ''; if (Hi(t, 'Script')) return Gi(t); throw new Error('unsafe value used in a script context'); } function jr(t, e) { return ('src' === e && ('embed' === t || 'frame' === t || 'iframe' === t || 'media' === t || 'script' === t)) || ('href' === e && ('base' === t || 'link' === t)) ? Lr : Rr; } function Vr(t, e, n) { return jr(e, n)(t); } var Fr = function (t, e, n) { if (void 0 === e && void 0 === n) return Dr(t); var i = !0; return 1 & (n = n || 3) && (i = Ur(t)), 2 & n ? (i ? Dr(e) : Gi(e)) : i; }; function Ur(t) { return ( 'background-image' === t || 'backgroundImage' === t || 'background' === t || 'border-image' === t || 'borderImage' === t || 'border-image-source' === t || 'borderImageSource' === t || 'filter' === t || 'list-style' === t || 'listStyle' === t || 'list-style-image' === t || 'listStyleImage' === t || 'clip-path' === t || 'clipPath' === t ); } function Br() { var t = an(); return t && t[12]; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function zr(t) { if (!ngDevMode) throw new Error("Looks like we are in 'prod mode', but we are creating a named Array type, which is wrong! Check your code"); try { return new (0, zr.constructor)('Array', 'return class ' + t + ' extends Array{}')(Array); } catch (t) { return Array; } } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Gr(t) { var e; return ( (e = t.replace(/[$@]/g, '_')), 'ng-reflect-' + (t = e.replace(Hr, function () { for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]; return '-' + t[1].toLowerCase(); })) ); } var Hr = /([A-Z])/g; function Wr(t) { try { return null != t ? t.toString().slice(0, 30) : t; } catch (t) { return '[ERROR] Exception while trying to serialize the value'; } } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function qr(t) { var e, n = Ye(t); if (n) { if (Array.isArray(n)) { var i = n, r = void 0, o = void 0, a = void 0; if ((e = t) && e.constructor && e.constructor.ɵcmp) { if (-1 == (r = Qr(i, t))) throw new Error('The provided component was not found in the application'); o = t; } else if ( (function (t) { return t && t.constructor && t.constructor.ɵdir; })(t) ) { if ( -1 == (r = (function (t, e) { var n = t[1].firstChild; for (; n; ) { for (var i = n.directiveStart, r = n.directiveEnd, o = i; o < r; o++) if (t[o] === e) return n.index; n = Jr(n); } return -1; })(i, t)) ) throw new Error('The provided directive was not found in the application'); a = $r(r, i, !1); } else if (-1 == (r = Zr(i, t))) return null; var s = Ye((f = Be(i[r]))), c = s && !Array.isArray(s) ? s : Xr(i, r, f); if ((o && void 0 === c.component && ((c.component = o), Kr(c.component, c)), a && void 0 === c.directives)) { c.directives = a; for (var l = 0; l < a.length; l++) Kr(a[l], c); } Kr(c.native, c), (n = c); } } else { var u = t; ngDevMode && Gt(u); for (var d = u; (d = d.parentNode); ) { var p = Ye(d); if (p) { i = void 0; if (!(i = Array.isArray(p) ? p : p.lView)) return null; var h = Zr(i, u); if (h >= 0) { var f; Kr((f = Be(i[h])), (c = Xr(i, h, f))), (n = c); break; } } } } return n || null; } function Xr(t, e, n) { return { lView: t, nodeIndex: e, native: n, component: void 0, directives: void 0, localRefs: void 0, }; } function Yr(t) { var e, n = Ye(t); if (Array.isArray(n)) { var i = Qr(n, t); ((r = Xr(n, i, (e = Xe(i, n))[0])).component = t), Kr(t, r), Kr(r.native, r); } else { var r; e = Xe((r = n).nodeIndex, r.lView); } return e; } function Kr(t, e) { t.__ngContext__ = e; } function Zr(t, e) { for (var n = t[1].firstChild; n; ) { if (He(n, t) === e) return n.index; n = Jr(n); } return -1; } function Jr(t) { if (t.child) return t.child; if (t.next) return t.next; for (; t.parent && !t.parent.next; ) t = t.parent; return t.parent && t.parent.next; } function Qr(t, e) { var n = t[1].components; if (n) for (var i = 0; i < n.length; i++) { var r = n[i]; if (Xe(r, t)[8] === e) return r; } else if (Xe(20, t)[8] === e) return 20; return -1; } function $r(t, e, n) { var i = e[1].data[t], r = i.directiveStart; if (0 == r) return ie; var o = i.directiveEnd; return !n && 2 & i.flags && r++, e.slice(r, o); } function to(t) { throw new Error('Multiple components match node with tagname ' + t.tagName); } function eo() { throw new Error('Cannot mix multi providers and regular providers'); } function no(t, e, n, r, o) { for (var a = Object(i.f)(r.split('�')), s = a[0], c = a[1], l = a.slice(2), u = c, d = c, p = 0; p < l.length; p++) { var h = e + p; (u += '' + t[h] + l[p]), (d += '' + (h === n ? o : t[h]) + l[p]); } return { propName: s, oldValue: u, newValue: d, }; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function io(t, e, n) { ngDevMode && Lt(e, '', 'can not look for "" string.'); for (var i = t.length; ; ) { var r = t.indexOf(e, n); if (-1 === r) return r; if (0 === r || t.charCodeAt(r - 1) <= 32) { var o = e.length; if (r + o === i || t.charCodeAt(r + o) <= 32) return r; } n = r + 1; } } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function ro(t, e, n) { ngDevMode && Rt(e, e.toLowerCase(), 'Class name expected to be lowercase.'); for (var i = 0; i < t.length; ) { var r = t[i++]; if (n && 'class' === r) { if (-1 !== io((r = t[i]).toLowerCase(), e, 0)) return !0; } else if (1 === r) { for (; i < t.length && 'string' == typeof (r = t[i++]); ) if (r.toLowerCase() === e) return !0; return !1; } } return !1; } function oo(t) { return 0 === t.type && 'ng-template' !== t.tagName; } function ao(t, e, n) { return e === (0 !== t.type || n ? t.tagName : 'ng-template'); } function so(t, e, n) { ngDevMode && Bt(e[0], 'Selector should have a tag name'); for ( var i = 4, r = t.attrs || [], o = (function (t) { for (var e = 0; e < t.length; e++) { if (Jn(t[e])) return e; } return t.length; })(r), a = !1, s = 0; s < e.length; s++ ) { var c = e[s]; if ('number' != typeof c) { if (!a) if (4 & i) { if (((i = 2 | (1 & i)), ('' !== c && !ao(t, c, n)) || ('' === c && 1 === e.length))) { if (co(i)) return !1; a = !0; } } else { var l = 8 & i ? c : e[++s]; if (8 & i && null !== t.attrs) { if (!ro(t.attrs, l, n)) { if (co(i)) return !1; a = !0; } continue; } var u = lo(8 & i ? 'class' : c, r, oo(t), n); if (-1 === u) { if (co(i)) return !1; a = !0; continue; } if ('' !== l) { var d = void 0; u > o ? (d = '') : (ngDevMode && Lt(r[u], 0, 'We do not match directives on namespaced attributes'), (d = r[u + 1].toLowerCase())); var p = 8 & i ? d : null; if ((p && -1 !== io(p, l, 0)) || (2 & i && l !== d)) { if (co(i)) return !1; a = !0; } } } } else { if (!a && !co(i) && !co(c)) return !1; if (a && co(c)) continue; (a = !1), (i = c | (1 & i)); } } return co(i) || a; } function co(t) { return 0 == (1 & t); } function lo(t, e, n, i) { if (null === e) return -1; var r = 0; if (i || !n) { for (var o = !1; r < e.length; ) { var a = e[r]; if (a === t) return r; if (3 === a || 6 === a) o = !0; else { if (1 === a || 2 === a) { for (var s = e[++r]; 'string' == typeof s; ) s = e[++r]; continue; } if (4 === a) break; if (0 === a) { r += 4; continue; } } r += o ? 1 : 2; } return -1; } return (function (t, e) { var n = t.indexOf(4); if (n > -1) for (n++; n < t.length; ) { var i = t[n]; if ('number' == typeof i) return -1; if (i === e) return n; n++; } return -1; })(e, t); } function uo(t, e, n) { void 0 === n && (n = !1); for (var i = 0; i < e.length; i++) if (so(t, e[i], n)) return !0; return !1; } function po(t, e) { t: for (var n = 0; n < e.length; n++) { var i = e[n]; if (t.length === i.length) { for (var r = 0; r < t.length; r++) if (t[r] !== i[r]) continue t; return !0; } } return !1; } function ho(t, e) { return t ? ':not(' + e.trim() + ')' : e; } function fo(t) { for (var e = t[0], n = 1, i = 2, r = '', o = !1; n < t.length; ) { var a = t[n]; if ('string' == typeof a) if (2 & i) { var s = t[++n]; r += '[' + a + (s.length > 0 ? '="' + s + '"' : '') + ']'; } else 8 & i ? (r += '.' + a) : 4 & i && (r += ' ' + a); else '' === r || co(a) || ((e += ho(o, r)), (r = '')), (i = a), (o = o || !co(i)); n++; } return '' !== r && (e += ho(o, r)), e; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var mo = 'undefined' == typeof ngDevMode || ngDevMode ? { __brand__: 'NO_CHANGE', } : {}; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function go(t) { ngDevMode && ke(t); var e = t[3]; return Se(e) ? e[3] : e; } function vo(t) { ngDevMode && Bt(t, 'component'); for (var e = we(t) ? t : Ke(t); e && !(512 & e[2]); ) e = go(e); return ngDevMode && ke(e), e; } function yo(t) { var e = vo(t); return ngDevMode && Bt(e[8], 'RootView has no context. Perhaps it is disconnected?'), e[8]; } function bo(t) { return So(t[13]); } function wo(t) { return So(t[4]); } function So(t) { for (; null !== t && !Se(t); ) t = t[4]; return t; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function xo(t) { ngDevMode && Ut(t, 0, 'Can only advance forward'), Eo(sn(), an(), Dn() + t, hn()); } function Mo(t) { Eo(sn(), an(), t, hn()); } function Eo(t, e, n, i) { if ((ngDevMode && Ut(n, -1, 'Invalid index'), ngDevMode && Ht(e, n + 20), !i)) if (3 == (3 & e[2])) { var r = t.preOrderCheckHooks; null !== r && Bn(e, r, n); } else { var o = t.preOrderHooks; null !== o && zn(e, o, 0, n); } Rn(n); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Co = { marker: 'element', }, Ao = { marker: 'comment', }; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function To(t, e) { return ngDevMode && kt(t, 0, 32767), ngDevMode && kt(e, 0, 32767), (t << 17) | (e << 2); } function Oo(t) { return ngDevMode && It(t, 'expected number'), (t >> 17) & 32767; } function _o(t) { return ngDevMode && It(t, 'expected number'), 2 == (2 & t); } function Po(t) { return ngDevMode && It(t, 'expected number'), 2 | t; } function Io(t) { return ngDevMode && It(t, 'expected number'), (131068 & t) >> 2; } function ko(t, e) { return ngDevMode && It(t, 'expected number'), ngDevMode && kt(e, 0, 32767), (-131069 & t) | (e << 2); } function Do(t) { return ngDevMode && It(t, 'expected number'), 1 == (1 & t); } function Ro(t) { return ngDevMode && It(t, 'expected number'), 1 | t; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Lo(t, e) { Object.defineProperty(t, 'debug', { value: e, enumerable: !1, }); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var No, jo, Vo, Fo = ('undefined' == typeof ngDevMode || !!ngDevMode) && at(); function Uo(t) { return (function (t, e) { switch (t) { case 0: return void 0 === Vo && (Vo = new (zr('LRootView'))()), Vo; case 1: void 0 === No && (No = new Map()); var n = No.get(e); return void 0 === n && ((n = new (zr('LComponentView' + Bo(e)))()), No.set(e, n)), n; case 2: void 0 === jo && (jo = new Map()); var i = jo.get(e); return void 0 === i && ((i = new (zr('LEmbeddedView' + Bo(e)))()), jo.set(e, i)), i; } throw new Error('unreachable code'); })(t.type, t.template && t.template.name).concat(t.blueprint); } function Bo(t) { if (null == t) return ''; var e = t.lastIndexOf('_Template'); return '_' + (-1 === e ? t : t.substr(0, e)); } var zo = (function () { function t(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g, v, y, b, w, S, x, M, E, C, A, T, O, _, P) { (this.type = t), (this.id = e), (this.blueprint = n), (this.template = i), (this.queries = r), (this.viewQuery = o), (this.node = a), (this.data = s), (this.bindingStartIndex = c), (this.expandoStartIndex = l), (this.expandoInstructions = u), (this.firstCreatePass = d), (this.firstUpdatePass = p), (this.staticViewQueries = h), (this.staticContentQueries = f), (this.preOrderHooks = m), (this.preOrderCheckHooks = g), (this.contentHooks = v), (this.contentCheckHooks = y), (this.viewHooks = b), (this.viewCheckHooks = w), (this.destroyHooks = S), (this.cleanup = x), (this.contentQueries = M), (this.components = E), (this.directiveRegistry = C), (this.pipeRegistry = A), (this.firstChild = T), (this.schemas = O), (this.consts = _), (this.incompleteFirstPass = P); } return ( Object.defineProperty(t.prototype, 'template_', { get: function () { var t = []; return Wo(this.firstChild, t), t.join(''); }, enumerable: !0, configurable: !0, }), t ); })(), Go = (function () { function t(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g, v, y, b, w, S, x, M, E, C, A, T, O, _, P) { (this.tView_ = t), (this.type = e), (this.index = n), (this.injectorIndex = i), (this.directiveStart = r), (this.directiveEnd = o), (this.directiveStylingLast = a), (this.propertyBindings = s), (this.flags = c), (this.providerIndexes = l), (this.tagName = u), (this.attrs = d), (this.mergedAttrs = p), (this.localNames = h), (this.initialInputs = f), (this.inputs = m), (this.outputs = g), (this.tViews = v), (this.next = y), (this.projectionNext = b), (this.child = w), (this.parent = S), (this.projection = x), (this.styles = M), (this.stylesWithoutHost = E), (this.residualStyles = C), (this.classes = A), (this.classesWithoutHost = T), (this.residualClasses = O), (this.classBindings = _), (this.styleBindings = P); } return ( Object.defineProperty(t.prototype, 'type_', { get: function () { switch (this.type) { case 0: return 'TNodeType.Container'; case 3: return 'TNodeType.Element'; case 4: return 'TNodeType.ElementContainer'; case 5: return 'TNodeType.IcuContainer'; case 1: return 'TNodeType.Projection'; case 2: return 'TNodeType.View'; default: return 'TNodeType.???'; } }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'flags_', { get: function () { var t = []; return ( 16 & this.flags && t.push('TNodeFlags.hasClassInput'), 8 & this.flags && t.push('TNodeFlags.hasContentQuery'), 32 & this.flags && t.push('TNodeFlags.hasStyleInput'), 128 & this.flags && t.push('TNodeFlags.hasHostBindings'), 2 & this.flags && t.push('TNodeFlags.isComponentHost'), 1 & this.flags && t.push('TNodeFlags.isDirectiveHost'), 64 & this.flags && t.push('TNodeFlags.isDetached'), 4 & this.flags && t.push('TNodeFlags.isProjected'), t.join('|') ); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'template_', { get: function () { var t = []; if ((t.push('<', this.tagName || this.type_), this.attrs)) for (var e = 0; e < this.attrs.length; ) { var n = this.attrs[e++]; if ('number' == typeof n) break; var i = this.attrs[e++]; t.push(' ', n, '="', i, '"'); } return t.push('>'), Wo(this.child, t), t.push(''), t.join(''); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'styleBindings_', { get: function () { return Ho(this, !1); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'classBindings_', { get: function () { return Ho(this, !0); }, enumerable: !0, configurable: !0, }), t ); })(); function Ho(t, e) { for (var n = t.tView_.data, i = [], r = e ? t.classBindings : t.styleBindings, o = Oo(r), a = Io(r), s = 0 !== a, c = s ? a : o; 0 !== c; ) { var l = n[c], u = n[c + 1]; i.unshift({ key: l, index: c, isTemplate: s, prevDuplicate: _o(u), nextDuplicate: Do(u), nextIndex: Io(u), prevIndex: Oo(u), }), c === o && (s = !1), (c = Oo(u)); } return i.push((e ? t.residualClasses : t.residualStyles) || null), i; } function Wo(t, e) { for (; t; ) e.push(t.template_), (t = t.next); } var qo, Xo = (Fo && zr('TViewData')) || null; var Yo = (Fo && zr('LViewBlueprint')) || null, Ko = (Fo && zr('MatchesArray')) || null, Zo = (Fo && zr('TViewComponents')) || null, Jo = (Fo && zr('TNodeLocalNames')) || null, Qo = (Fo && zr('TNodeInitialInputs')) || null, $o = (Fo && zr('TNodeInitialData'), (Fo && zr('LCleanup')) || null), ta = (Fo && zr('TCleanup')) || null; function ea(t) { if (t) { var e = t.debug; return Bt(e, 'Object does not have a debug representation.'), e; } return t; } function na(t, e) { void 0 === e && (e = !1); var n = Be(t); if (n) { var i = n.nodeType === Node.TEXT_NODE, r = (i ? n.textContent : n.outerHTML) || ''; if (e || i) return r; var o = '>' + n.innerHTML + '<'; return r.split(o)[0] + '>'; } return null; } var ia = (function () { function t(t) { this._raw_lView = t; } return ( Object.defineProperty(t.prototype, 'flags', { get: function () { var t = this._raw_lView[2]; return { __raw__flags__: t, initPhaseState: 3 & t, creationMode: !!(4 & t), firstViewPass: !!(8 & t), checkAlways: !!(16 & t), dirty: !!(64 & t), attached: !!(128 & t), destroyed: !!(256 & t), isRoot: !!(512 & t), indexWithinInitPhase: t >> 11, }; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'parent', { get: function () { return ea(this._raw_lView[3]); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'host', { get: function () { return na(this._raw_lView[0], !0); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'html', { get: function () { return (this.nodes || []) .map(function (t) { return na(t.native, !0); }) .join(''); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'context', { get: function () { return this._raw_lView[8]; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'nodes', { get: function () { var t = this._raw_lView; return ra(t[1].firstChild, t); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'tView', { get: function () { return this._raw_lView[1]; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'cleanup', { get: function () { return this._raw_lView[7]; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'injector', { get: function () { return this._raw_lView[9]; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'rendererFactory', { get: function () { return this._raw_lView[10]; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'renderer', { get: function () { return this._raw_lView[11]; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'sanitizer', { get: function () { return this._raw_lView[12]; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'childHead', { get: function () { return ea(this._raw_lView[13]); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'next', { get: function () { return ea(this._raw_lView[4]); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'childTail', { get: function () { return ea(this._raw_lView[14]); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'declarationView', { get: function () { return ea(this._raw_lView[15]); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'queries', { get: function () { return this._raw_lView[19]; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'tHost', { get: function () { return this._raw_lView[6]; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'childViews', { get: function () { for (var t = [], e = this.childHead; e; ) t.push(e), (e = e.next); return t; }, enumerable: !0, configurable: !0, }), t ); })(); function ra(t, e) { if (t) { for (var n = [], i = t; i; ) n.push(oa(i, e, i.index)), (i = i.next); return n; } return null; } function oa(t, e, n) { var i = e[n], r = Be(i), o = ea( (function (t) { for (; Array.isArray(t); ) { if (t.length >= 19) return t; t = t[0]; } return null; })(i) ); return { html: na(r), native: r, nodes: ra(t.child, e), component: o, }; } var aa = (function () { function t(t) { this._raw_lContainer = t; } return ( Object.defineProperty(t.prototype, 'hasTransplantedViews', { get: function () { return this._raw_lContainer[2]; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'views', { get: function () { return this._raw_lContainer.slice(10).map(ea); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'parent', { get: function () { return ea(this._raw_lContainer[3]); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'movedViews', { get: function () { return this._raw_lContainer[9]; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'host', { get: function () { return this._raw_lContainer[0]; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'native', { get: function () { return this._raw_lContainer[7]; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'next', { get: function () { return ea(this._raw_lContainer[4]); }, enumerable: !0, configurable: !0, }), t ); })(); var sa = (function () { function t(t, e, n, i) { (this.__raw_opCode = t), (this._lView = e), (this.nodeIndex = n), (this.type = i); } return ( Object.defineProperty(t.prototype, 'tNode', { get: function () { return We(this._lView[1], this.nodeIndex); }, enumerable: !0, configurable: !0, }), t ); })(); var ca = (function () { function t(t, e) { (this.__raw_opCodes = t), (this.__lView = e); } return ( Object.defineProperty(t.prototype, 'operations', { get: function () { for (var t = this.__lView, e = this.__raw_opCodes, n = [], i = 0; i < e.length; i++) { var r = e[i], o = void 0; if ( ('string' == typeof r && (o = { __raw_opCode: r, type: 'Create Text Node', nodeIndex: e[++i], text: r, }), 'number' == typeof r) ) switch (7 & r) { case 1: o = new sa(r, t, r >>> 17, 'AppendChild'); break; case 0: o = new sa(r, t, r >>> 3, 'Select'); break; case 5: var a = r >>> 3; o = new sa(r, t, a, 'ElementEnd'); break; case 4: ((o = new sa(r, t, (a = r >>> 3), 'Attr')).attrName = e[++i]), (o.attrValue = e[++i]); } if (!o) switch (r) { case Ao: o = { __raw_opCode: r, type: 'COMMENT_MARKER', commentValue: e[++i], nodeIndex: e[++i], }; break; case Co: o = { __raw_opCode: r, type: 'ELEMENT_MARKER', }; } o || (o = { __raw_opCode: r, type: 'Unknown Op Code', code: r, }), n.push(o); } return n; }, enumerable: !0, configurable: !0, }), t ); })(), la = (function () { function t(t, e, n) { (this.__raw_opCodes = t), (this.icus = e), (this.__lView = n); } return ( Object.defineProperty(t.prototype, 'operations', { get: function () { for (var t = this.__lView, e = this.__raw_opCodes, n = this.icus, i = [], r = 0; r < e.length; r++) { for (var o = e[r], a = e[++r], s = '', c = r + 1; c <= r + a; c++) { var l = e[c]; if ('string' == typeof l) s += l; else if ('number' == typeof l) if (l < 0) s += '�' + (-l - 1) + '�'; else { var u = l >>> 2, d = void 0, p = void 0; switch (3 & l) { case 1: var h = e[++c], f = e[++c]; i.push({ __raw_opCode: l, checkBit: o, type: 'Attr', attrValue: s, attrName: h, sanitizeFn: f, }); break; case 0: i.push({ __raw_opCode: l, checkBit: o, type: 'Text', nodeIndex: u, text: s, }); break; case 2: p = n[(d = e[++c])]; var m = new sa(l, t, u, 'IcuSwitch'); (m.tIcuIndex = d), (m.checkBit = o), (m.mainBinding = s), (m.tIcu = p), i.push(m); break; case 3: (p = n[(d = e[++c])]), ((m = new sa(l, t, u, 'IcuUpdate')).tIcuIndex = d), (m.checkBit = o), (m.tIcu = p), i.push(m); } } } r += a; } return i; }, enumerable: !0, configurable: !0, }), t ); })(), ua = Promise.resolve(null); function da(t, e) { var n = t.contentQueries; if (null !== n) for (var i = 0; i < n.length; i += 2) { var r = n[i], o = n[i + 1]; if (-1 !== o) { var a = t.data[o]; ngDevMode && Bt(a.contentQueries, 'contentQueries function should be defined'), En(r), a.contentQueries(2, e[o], o); } } } function pa(t, e, n) { return Fe(e) ? e.createElement(t, n) : null === n ? e.createElement(t) : e.createElementNS(n, t); } function ha(t, e, n, i, r, o, a, s, c, l) { var u = ngDevMode ? Uo(e) : e.blueprint.slice(); return ( (u[0] = r), (u[2] = 140 | i), $e(u), (u[3] = u[15] = t), (u[8] = n), (u[10] = a || (t && t[10])), ngDevMode && Bt(u[10], 'RendererFactory is required'), (u[11] = s || (t && t[11])), ngDevMode && Bt(u[11], 'Renderer is required'), (u[12] = c || (t && t[12]) || null), (u[9] = l || (t && t[9]) || null), (u[6] = o), ngDevMode && Rt(2 != e.type || null !== t, !0, 'Embedded views must have parentLView'), (u[16] = 2 == e.type ? t[16] : u), ngDevMode && (function (t) { Lo(t, new ia(t)); })(u), u ); } function fa(t, e, n, i, r, o) { var a = n + 20, s = t.data[a] || (function (t, e, n, i, r, o) { var a = ln(), s = dn(), c = s ? a : a && a.parent, l = c && c !== e ? c : null, u = (t.data[n] = Aa(t, l, i, n, r, o)); null === t.firstChild && (t.firstChild = u); a && (!s || null != a.child || (null === u.parent && 2 !== a.type) ? s || (a.next = u) : (a.child = u)); return u; })(t, e, a, i, r, o); return un(s, !0), s; } function ma(t, e, n) { ngDevMode && Rt(Ze(e), !0, 'Should be run in creation mode'), An(e, e[6]); try { var i = t.viewQuery; null !== i && es(1, i, n); var r = t.template; null !== r && ya(t, e, r, 1, n), t.firstCreatePass && (t.firstCreatePass = !1), t.staticContentQueries && da(t, e), t.staticViewQueries && es(2, t.viewQuery, n); var o = t.components; null !== o && (function (t, e) { for (var n = 0; n < e.length; n++) Ka(t, e[n]); })(e, o); } catch (e) { throw (t.firstCreatePass && (t.incompleteFirstPass = !0), e); } finally { (e[2] &= -5), In(); } } function ga(t, e, n, i) { ngDevMode && Rt(Ze(e), !1, 'Should be run in update mode'); var r = e[2]; if (256 != (256 & r)) { An(e, e[6]); var o = hn(); try { $e(e), vn(t.bindingStartIndex), null !== n && ya(t, e, n, 2, i); var a = 3 == (3 & r); if (!o) if (a) { var s = t.preOrderCheckHooks; null !== s && Bn(e, s, null); } else { var c = t.preOrderHooks; null !== c && zn(e, c, 0, null), Gn(e, 0); } if ( ((function (t) { for (var e = bo(t); null !== e; e = wo(e)) if (e[2]) { var n = e[9]; ngDevMode && Bt(n, 'Transplanted View flags set but missing MOVED_VIEWS'); for (var i = 0; i < n.length; i++) { var r = n[i], o = r[3]; ngDevMode && Pe(o), 0 == (1024 & r[2]) && tn(o, 1), (r[2] |= 1024); } } })(e), (function (t) { for (var e = bo(t); null !== e; e = wo(e)) for (var n = 10; n < e.length; n++) { var i = e[n], r = i[1]; ngDevMode && Bt(r, 'TView must be allocated'), Je(i) && ga(r, i, r.template, i[8]); } })(e), null !== t.contentQueries && da(t, e), !o) ) if (a) { var l = t.contentCheckHooks; null !== l && Bn(e, l); } else { var u = t.contentHooks; null !== u && zn(e, u, 1), Gn(e, 1); } !(function (t, e) { ngDevMode && Nt(t, e[1], '`LView` is not associated with the `TView`!'); try { var n = t.expandoInstructions; if (null !== n) for (var i = t.expandoStartIndex, r = -1, o = 0; o < n.length; o++) { var a = n[o]; if ('number' == typeof a) { if (a <= 0) Rn(0 - a), (r = i += 9 + n[++o]); else i += a; } else { if (null !== a) wn(i, r), a(2, e[r]); r++; } } } finally { Rn(-1); } })(t, e); var d = t.components; null !== d && (function (t, e) { for (var n = 0; n < e.length; n++) Ya(t, e[n]); })(e, d); var p = t.viewQuery; if ((null !== p && es(2, p, i), !o)) if (a) { var h = t.viewCheckHooks; null !== h && Bn(e, h); } else { var f = t.viewHooks; null !== f && zn(e, f, 2), Gn(e, 2); } !0 === t.firstUpdatePass && (t.firstUpdatePass = !1), o || (e[2] &= -73), 1024 & e[2] && ((e[2] &= -1025), tn(e[3], -1)); } finally { In(); } } } function va(t, e, n, i) { var r = e[10], o = !hn(), a = Ze(e); try { o && !a && r.begin && r.begin(), a && ma(t, e, i), ga(t, e, n, i); } finally { o && !a && r.end && r.end(); } } function ya(t, e, n, i, r) { var o = Dn(); try { Rn(-1), 2 & i && e.length > 20 && Eo(t, e, 0, hn()), n(i, r); } finally { Rn(o); } } function ba(t, e, n) { if (xe(e)) for (var i = e.directiveStart, r = e.directiveEnd, o = i; o < r; o++) { var a = t.data[o]; a.contentQueries && a.contentQueries(1, n[o], o); } } function wa(t, e, n) { nn() && ((function (t, e, n, i) { var r = n.directiveStart, o = n.directiveEnd; t.firstCreatePass || mi(n, e); Kr(i, e); for (var a = n.initialInputs, s = r; s < o; s++) { var c = t.data[s], l = Ce(c); l && (ngDevMode && Yn(n, 3), za(e, n, c)); var u = Ci(e, t, s, n); if ((Kr(u, e), null !== a && Ha(e, s - r, u, c, n, a), l)) Xe(n.index, e)[8] = u; } })(t, e, n, Ge(n, e)), 128 == (128 & n.flags) && (function (t, e, n) { var i = n.directiveStart, r = n.directiveEnd, o = t.expandoInstructions, a = t.firstCreatePass, s = n.index - 20, c = en.lFrame.currentDirectiveIndex; try { Rn(s); for (var l = i; l < r; l++) { var u = t.data[l], d = e[l]; Sn(l), null !== u.hostBindings || 0 !== u.hostVars || null !== u.hostAttrs ? Na(u, d) : a && o.push(null); } } finally { Rn(-1), Sn(c); } })(t, e, n)); } function Sa(t, e, n) { void 0 === n && (n = Ge); var i = e.localNames; if (null !== i) for (var r = e.index + 1, o = 0; o < i.length; o += 2) { var a = i[o + 1], s = -1 === a ? n(e, t) : t[a]; t[r++] = s; } } function xa(t) { var e = t.tView; return null === e || e.incompleteFirstPass ? (t.tView = Ma(1, -1, t.template, t.decls, t.vars, t.directiveDefs, t.pipeDefs, t.viewQuery, t.schemas, t.consts)) : e; } function Ma(t, e, n, i, r, o, a, s, c, l) { ngDevMode && ngDevMode.tView++; var u, d = 20 + i, p = d + r, h = (function (t, e) { for (var n = ngDevMode ? new Yo() : [], i = 0; i < e; i++) n.push(i < t ? null : mo); return n; })(d, p); return (h[1] = ngDevMode ? new zo( t, e, h, n, null, s, null, ((u = h), void 0 === qo && (qo = new Xo()), qo.concat(u)).fill(null, d), d, p, null, !0, !0, !1, !1, null, null, null, null, null, null, null, null, null, null, 'function' == typeof o ? o() : o, 'function' == typeof a ? a() : a, null, c, l, !1 ) : { type: t, id: e, blueprint: h, template: n, queries: null, viewQuery: s, node: null, data: h.slice().fill(null, d), bindingStartIndex: d, expandoStartIndex: p, expandoInstructions: null, firstCreatePass: !0, firstUpdatePass: !0, staticViewQueries: !1, staticContentQueries: !1, preOrderHooks: null, preOrderCheckHooks: null, contentHooks: null, contentCheckHooks: null, viewHooks: null, viewCheckHooks: null, destroyHooks: null, cleanup: null, contentQueries: null, components: null, directiveRegistry: 'function' == typeof o ? o() : o, pipeRegistry: 'function' == typeof a ? a() : a, firstChild: null, schemas: c, consts: l, incompleteFirstPass: !1, }); } function Ea(t, e) { return new Error('Renderer: ' + t + ' [' + ai(e) + ']'); } function Ca(t, e, n) { if (Fe(t)) { var i = n === Ot.ShadowDom; return t.selectRootElement(e, i); } var r = 'string' == typeof e ? t.querySelector(e) : e; return ( ngDevMode && (function (t, e) { if (!t) throw Ea('string' == typeof e ? 'Host node with selector not found:' : 'Host node is required:', e); })(r, e), (r.textContent = ''), r ); } function Aa(t, e, n, i, r, o) { ngDevMode && ngDevMode.tNode++; var a = e ? e.injectorIndex : -1; return ngDevMode ? new Go(t, n, i, a, -1, -1, -1, null, 0, 0, r, o, null, null, void 0, null, null, null, null, null, null, e, null, null, null, void 0, null, null, void 0, 0, 0) : { type: n, index: i, injectorIndex: a, directiveStart: -1, directiveEnd: -1, directiveStylingLast: -1, propertyBindings: null, flags: 0, providerIndexes: 0, tagName: r, attrs: o, mergedAttrs: null, localNames: null, initialInputs: void 0, inputs: null, outputs: null, tViews: null, next: null, projectionNext: null, child: null, parent: e, projection: null, styles: null, stylesWithoutHost: null, residualStyles: void 0, classes: null, classesWithoutHost: null, residualClasses: void 0, classBindings: 0, styleBindings: 0, }; } function Ta(t, e, n) { for (var i in t) if (t.hasOwnProperty(i)) { n = null === n ? {} : n; var r = t[i]; n.hasOwnProperty(i) ? n[i].push(e, r) : (n[i] = [e, r]); } return n; } function Oa(t, e, n, i, r, o, a, s) { ngDevMode && jt(r, mo, 'Incoming value should never be NO_CHANGE.'); var c, l = Ge(e, n), u = e.inputs; if (!s && null != u && (c = u[i])) cs(t, n, c, i, r), Me(e) && (function (t, e) { ngDevMode && ke(t); var n = Xe(e, t); 16 & n[2] || (n[2] |= 64); })(n, e.index), ngDevMode && Pa(n, l, e.type, c, r); else if (3 === e.type) { if ( ((i = (function (t) { return 'class' === t ? 'className' : 'for' === t ? 'htmlFor' : 'formaction' === t ? 'formAction' : 'innerHtml' === t ? 'innerHTML' : 'readonly' === t ? 'readOnly' : 'tabindex' === t ? 'tabIndex' : t; })(i)), ngDevMode) ) { if ( ((function (t) { if (t.toLowerCase().startsWith('on')) { var e = "Binding to event property '" + t + "' is disallowed for security reasons, please use (" + t.slice(2) + ")=...\nIf '" + t + "' is a directive input, make sure the directive is imported by the current module."; throw new Error(e); } })(i), !(function (t, e, n, i, r) { if (null === t.schemas) return !0; if (Ia(t, e, r.tagName) || i in n || Qn(i)) return !0; return 'undefined' == typeof Node || null === Node || !(n instanceof Node); })(t, n, l, i, e)) ) return void ka(i, e); ngDevMode.rendererSetProperty++; } (r = null != a ? a(r, e.tagName || '', i) : r), Fe(o) ? o.setProperty(l, i, r) : Qn(i) || (l.setProperty ? l.setProperty(i, r) : (l[i] = r)); } else 0 === e.type && ngDevMode && !Ia(t, n, e.tagName) && ka(i, e); } function _a(t, e, n, i, r) { var o, a = t[11]; i = Gr(i); var s = Wr(r); if (3 === n) null == r ? (Fe(a) ? a.removeAttribute(e, i) : e.removeAttribute(i)) : Fe(a) ? a.setAttribute(e, i, s) : e.setAttribute(i, s); else { var c = 'bindings=' + JSON.stringify((((o = {})[i] = s), o), null, 2); Fe(a) ? a.setValue(e, c) : (e.textContent = c); } } function Pa(t, e, n, i, r) { if (3 === n || 0 === n) for (var o = 0; o < i.length; o += 2) _a(t, e, n, i[o + 1], r); } function Ia(t, e, n) { var i = t.schemas; if (null !== i) for (var r = 0; r < i.length; r++) { var o = i[r]; if (o === Ni || (o === Li && n && n.indexOf('-') > -1)) return !0; } return !1; } function ka(t, e) { console.warn("Can't bind to '" + t + "' since it isn't a known property of '" + e.tagName + "'."); } function Da(t, e, n, i) { ngDevMode && De(t); var r = !1; if (nn()) { var o = (function (t, e, n) { ngDevMode && De(t), ngDevMode && Yn(n, 3, 4, 0); var i = t.directiveRegistry, r = null; if (i) for (var o = 0; o < i.length; o++) { var a = i[o]; uo(n, a.selectors, !1) && (r || (r = ngDevMode ? new Ko() : []), bi(mi(n, e), t, a.type), Ce(a) ? (2 & n.flags && to(n), Va(t, n), r.unshift(a)) : r.push(a)); } return r; })(t, e, n), a = null === i ? null : { '': -1, }; if (null !== o) { var s = 0; (r = !0), Ua(n, t.data.length, o.length); for (var c = 0; c < o.length; c++) { (d = o[c]).providersResolver && d.providersResolver(d); } ja(t, n, o.length); var l = !1, u = !1; for (c = 0; c < o.length; c++) { var d = o[c]; (n.mergedAttrs = $n(n.mergedAttrs, d.hostAttrs)), Ba(t, e, d), Fa(t.data.length - 1, d, a), null !== d.contentQueries && (n.flags |= 8), (null === d.hostBindings && null === d.hostAttrs && 0 === d.hostVars) || (n.flags |= 128), !l && (d.onChanges || d.onInit || d.doCheck) && ((t.preOrderHooks || (t.preOrderHooks = [])).push(n.index - 20), (l = !0)), u || (!d.onChanges && !d.doCheck) || ((t.preOrderCheckHooks || (t.preOrderCheckHooks = [])).push(n.index - 20), (u = !0)), Ra(t, d), (s += d.hostVars); } !(function (t, e) { ngDevMode && De(t); for (var n = e.directiveStart, i = e.directiveEnd, r = t.data, o = e.attrs, a = ngDevMode ? new Qo() : [], s = null, c = null, l = n; l < i; l++) { var u = r[l], d = u.inputs, p = null === o || oo(e) ? null : Wa(d, o); a.push(p), (s = Ta(d, l, s)), (c = Ta(u.outputs, l, c)); } null !== s && (s.hasOwnProperty('class') && (e.flags |= 16), s.hasOwnProperty('style') && (e.flags |= 32)), (e.initialInputs = a), (e.inputs = s), (e.outputs = c); })(t, n), La(t, e, s); } a && (function (t, e, n) { if (e) for (var i = (t.localNames = ngDevMode ? new Jo() : []), r = 0; r < e.length; r += 2) { var o = n[e[r + 1]]; if (null == o) throw new Error("Export of name '" + e[r + 1] + "' not found!"); i.push(e[r], o); } })(n, i, a); } return (n.mergedAttrs = $n(n.mergedAttrs, n.attrs)), r; } function Ra(t, e) { ngDevMode && De(t); var n = t.expandoInstructions; n.push(e.hostBindings), 0 !== e.hostVars && n.push(e.hostVars); } function La(t, e, n) { ngDevMode && De(t), ngDevMode && Nt(t, e[1], '`LView` must be associated with `TView`!'); for (var i = 0; i < n; i++) e.push(mo), t.blueprint.push(mo), t.data.push(null); } function Na(t, e) { null !== t.hostBindings && t.hostBindings(1, e); } function ja(t, e, n) { ngDevMode && Rt(t.firstCreatePass, !0, 'Expando block should only be generated on first create pass.'); var i = 20 - e.index, r = 65535 & e.providerIndexes, o = t.data.length - r; (t.expandoInstructions || (t.expandoInstructions = [])).push(i, o, n); } function Va(t, e) { ngDevMode && De(t), (e.flags |= 2), (t.components || (t.components = ngDevMode ? new Zo() : [])).push(e.index); } function Fa(t, e, n) { if (n) { if (e.exportAs) for (var i = 0; i < e.exportAs.length; i++) n[e.exportAs[i]] = t; Ce(e) && (n[''] = t); } } function Ua(t, e, n) { ngDevMode && Lt(n, t.directiveEnd - t.directiveStart, 'Reached the max number of directives'), (t.flags |= 1), (t.directiveStart = e), (t.directiveEnd = e + n), (t.providerIndexes = e); } function Ba(t, e, n) { t.data.push(n); var i = n.factory || (n.factory = ye(n.type, !0)), r = new qn(i, Ce(n), null); t.blueprint.push(r), e.push(r); } function za(t, e, n) { var i = Ge(e, t), r = xa(n), o = t[10], a = Za(t, ha(t, r, null, n.onPush ? 64 : 16, i, e, o, o.createRenderer(i, n))); t[e.index] = a; } function Ga(t, e, n, i, r, o) { ngDevMode && jt(i, mo, 'Incoming value should never be NO_CHANGE.'), ngDevMode && (function (t) { if (t.toLowerCase().startsWith('on')) { var e = "Binding to event attribute '" + t + "' is disallowed for security reasons, please use (" + t.slice(2) + ')=...'; throw new Error(e); } })(n); var a = Ge(t, e), s = e[11]; if (null == i) ngDevMode && ngDevMode.rendererRemoveAttribute++, Fe(s) ? s.removeAttribute(a, n, o) : a.removeAttribute(n); else { ngDevMode && ngDevMode.rendererSetAttribute++; var c = null == r ? oi(i) : r(i, t.tagName || '', n); Fe(s) ? s.setAttribute(a, n, c, o) : o ? a.setAttributeNS(o, n, c) : a.setAttribute(n, c); } } function Ha(t, e, n, i, r, o) { var a = o[e]; if (null !== a) for (var s = i.setInput, c = 0; c < a.length; ) { var l = a[c++], u = a[c++], d = a[c++]; if ((null !== s ? i.setInput(n, d, l, u) : (n[u] = d), ngDevMode)) _a(t, Ge(r, t), r.type, u, d); } } function Wa(t, e) { for (var n = null, i = 0; i < e.length; ) { var r = e[i]; if (0 !== r) if (5 !== r) { if ('number' == typeof r) break; t.hasOwnProperty(r) && (null === n && (n = []), n.push(r, t[r], e[i + 1])), (i += 2); } else i += 2; else i += 4; } return n; } var qa = ('undefined' == typeof ngDevMode || ngDevMode) && at() && zr('LContainer'); function Xa(t, e, n, i) { ngDevMode && ke(e), ngDevMode && !Fe(e[11]) && Gt(n); var r = new (ngDevMode ? qa : Array)(t, !0, !1, e, null, 0, i, n, null, null); return ( ngDevMode && Rt(r.length, 10, 'Should allocate correct number of slots for LContainer header.'), ngDevMode && (function (t) { Lo(t, new aa(t)); })(r), r ); } function Ya(t, e) { ngDevMode && Rt(Ze(t), !1, 'Should be run in update mode'); var n = Xe(e, t); if (Je(n)) { var i = n[1]; 80 & n[2] ? ga(i, n, i.template, n[8]) : n[5] > 0 && (function t(e) { for (var n = bo(e); null !== n; n = wo(n)) for (var i = 10; i < n.length; i++) { var r = n[i]; if (1024 & r[2]) { var o = r[1]; ngDevMode && Bt(o, 'TView must be allocated'), ga(o, r, o.template, r[8]); } else r[5] > 0 && t(r); } var a = e[1].components; if (null !== a) for (i = 0; i < a.length; i++) { var s = Xe(a[i], e); Je(s) && s[5] > 0 && t(s); } })(n); } } function Ka(t, e) { ngDevMode && Rt(Ze(t), !0, 'Should be run in creation mode'); var n = Xe(e, t), i = n[1]; !(function (t, e) { for (var n = e.length; n < t.blueprint.length; n++) e.push(t.blueprint[n]); })(i, n), ma(i, n, n[8]); } function Za(t, e) { return t[13] ? (t[14][4] = e) : (t[13] = e), (t[14] = e), e; } function Ja(t) { for (; t; ) { t[2] |= 64; var e = go(t); if (Ae(t) && !e) return t; t = e; } return null; } function Qa(t) { for (var e = 0; e < t.components.length; e++) { var n = t.components[e], i = Ke(n), r = i[1]; va(r, i, r.template, n); } } function $a(t, e, n) { var i = e[10]; i.begin && i.begin(); try { ga(t, e, t.template, n); } catch (t) { throw (ss(e, t), t); } finally { i.end && i.end(); } } function ts(t) { Qa(t[8]); } function es(t, e, n) { ngDevMode && Bt(e, 'View queries function to execute must be defined.'), En(0), e(t, n); } function ns(t, e, n, i) { for (var r = [], o = 4; o < arguments.length; o++) r[o - 4] = arguments[o]; if (null === t[i] && (null == e.inputs || !e.inputs[n])) { var a = e.propertyBindings || (e.propertyBindings = []); a.push(i); var s = n; r.length > 0 && (s += '�' + r.join('�')), (t[i] = s); } } var is = ua; function rs(t) { return t[7] || (t[7] = ngDevMode ? new $o() : []); } function os(t) { return t.cleanup || (t.cleanup = ngDevMode ? new ta() : []); } function as(t, e, n) { return ( (null === t || Ce(t)) && (n = (function (t) { for (; Array.isArray(t); ) { if ('object' == typeof t[1]) return t; t = t[0]; } return null; })(n[e.index])), n[11] ); } function ss(t, e) { var n = t[9], i = n ? n.get(Ri, null) : null; i && i.handleError(e); } function cs(t, e, n, i, r) { for (var o = 0; o < n.length; ) { var a = n[o++], s = n[o++], c = e[a]; ngDevMode && Ht(e, a); var l = t.data[a]; null !== l.setInput ? l.setInput(c, r, i, s) : (c[s] = r); } } function ls(t, e, n) { ngDevMode && jt(n, mo, 'value should not be NO_CHANGE'), ngDevMode && Ht(t, e + 20); var i = ze(e, t); ngDevMode && Bt(i, 'native element should exist'), ngDevMode && ngDevMode.rendererSetText++; var r = t[11]; Fe(r) ? r.setValue(i, n) : (i.textContent = n); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function us(t, e) { ngDevMode && ke(e); var n = e[3]; return -1 === t.index ? (Se(n) ? n : null) : (ngDevMode && Pe(n), n); } function ds(t, e) { var n = us(t, e); return n ? Cs(e[11], n[7]) : null; } function ps(t, e, n, i, r) { if (null != i) { var o = void 0, a = !1; Se(i) ? (o = i) : we(i) && ((a = !0), ngDevMode && Bt(i[0], 'HOST must be defined for a component LView'), (i = i[0])); var s = Be(i); ngDevMode && !Fe(e) && Gt(s), 0 === t && null !== n ? null == r ? Ms(e, n, s) : xs(e, n, s, r || null) : 1 === t && null !== n ? xs(e, n, s, r || null) : 2 === t ? _s(e, s, a) : 3 === t && (ngDevMode && ngDevMode.rendererDestroyNode++, e.destroyNode(s)), null != o && (function (t, e, n, i, r) { ngDevMode && Pe(n); var o = n[7], a = Be(n); o !== a && ps(e, t, i, o, r); for (var s = 10; s < n.length; s++) { var c = n[s]; Is(c[1], c, t, e, i, o); } })(e, t, o, n, r); } } function hs(t, e) { return ngDevMode && ngDevMode.rendererCreateTextNode++, ngDevMode && ngDevMode.rendererSetText++, Fe(e) ? e.createText(t) : e.createTextNode(t); } function fs(t, e, n, i) { var r = ds(t.node, e); (ngDevMode && Xn(t.node, 2), r) && Is(t, e, e[11], n ? 1 : 2, r, i); } function ms(t, e, n, i) { ngDevMode && ke(e), ngDevMode && Pe(n); var r = 10 + i, o = n.length; i > 0 && (n[r - 1][4] = e), i < o - 10 ? ((e[4] = n[r]), Yt(n, 10 + i, e)) : (n.push(e), (e[4] = null)), (e[3] = n); var a = e[17]; null !== a && n !== a && (function (t, e) { ngDevMode && Bt(e, 'LView required'), ngDevMode && Pe(t); var n = t[9], i = e[3]; ngDevMode && Pe(i); var r = i[3][16]; ngDevMode && Bt(r, 'Missing insertedComponentLView'); var o = e[16]; ngDevMode && Bt(o, 'Missing declaredComponentLView'), o !== r && (t[2] = !0); null === n ? (t[9] = [e]) : n.push(e); })(a, e); var s = e[19]; null !== s && s.insertView(t), (e[2] |= 128); } function gs(t, e) { ngDevMode && Pe(t), ngDevMode && Bt(t[9], 'A projected view should belong to a non-empty projected views collection'); var n = t[9], i = n.indexOf(e), r = e[3]; ngDevMode && Pe(r), 1024 & e[2] && tn(r, -1), n.splice(i, 1); } function vs(t, e) { if (!(t.length <= 10)) { var n = 10 + e, i = t[n]; if (i) { var r = i[17]; null !== r && r !== t && gs(r, i), e > 0 && (t[n - 1][4] = i[4]); var o = Kt(t, 10 + e); fs(i[1], i, !1, null); var a = o[19]; null !== a && a.detachView(o[1]), (i[3] = null), (i[4] = null), (i[2] &= -129); } return i; } } function ys(t, e) { if (!(256 & e[2])) { var n = e[11]; Fe(n) && n.destroyNode && Is(t, e, n, 3, null, null), (function (t) { var e = t[13]; if (!e) return ws(t[1], t); for (; e; ) { var n = null; if (we(e)) n = e[13]; else { ngDevMode && Pe(e); var i = e[10]; i && (n = i); } if (!n) { for (; e && !e[4] && e !== t; ) we(e) && ws(e[1], e), (e = bs(e, t)); null === e && (e = t), we(e) && ws(e[1], e), (n = e && e[4]); } e = n; } })(e); } } function bs(t, e) { var n; return we(t) && (n = t[6]) && 2 === n.type ? us(n, t) : t[3] === e ? null : t[3]; } function ws(t, e) { if (!(256 & e[2])) { (e[2] &= -129), (e[2] |= 256), (function (t, e) { var n; if (null != t && null != (n = t.destroyHooks)) for (var i = 0; i < n.length; i += 2) { var r = e[n[i]]; if (!(r instanceof qn)) { var o = n[i + 1]; if (Array.isArray(o)) for (var a = 0; a < o.length; a += 2) o[a + 1].call(r[o[a]]); else o.call(r); } } })(t, e), (function (t, e) { var n = t.cleanup; if (null !== n) { for (var i = e[7], r = 0; r < n.length - 1; r += 2) if ('string' == typeof n[r]) { var o = n[r + 1], a = 'function' == typeof o ? o(e) : Be(e[o]), s = i[n[r + 2]], c = n[r + 3]; 'boolean' == typeof c ? a.removeEventListener(n[r], s, c) : c >= 0 ? i[c]() : i[-c].unsubscribe(), (r += 2); } else { var l = i[n[r + 1]]; n[r].call(l); } e[7] = null; } })(t, e); var n = e[6]; n && 3 === n.type && Fe(e[11]) && (ngDevMode && ngDevMode.rendererDestroy++, e[11].destroy()); var i = e[17]; if (null !== i && Se(e[3])) { i !== e[3] && gs(i, e); var r = e[19]; null !== r && r.detachView(t); } } } function Ss(t, e, n) { for (var i = e.parent; null != i && (4 === i.type || 5 === i.type); ) i = (e = i).parent; if (null == i) { var r = n[6]; return 2 === r.type ? ds(r, n) : (ngDevMode && Yn(r, 3), n[0]); } if (e && 5 === e.type && 4 & e.flags) return Ge(e, n).parentNode; if ((ngDevMode && Xn(i, 3), 2 & i.flags)) { var o = t.data, a = o[o[i.index].directiveStart].encapsulation; if (a !== Ot.ShadowDom && a !== Ot.Native) return null; } return Ge(i, n); } function xs(t, e, n, i) { ngDevMode && ngDevMode.rendererInsertBefore++, Fe(t) ? t.insertBefore(e, n, i) : e.insertBefore(n, i, !0); } function Ms(t, e, n) { ngDevMode && ngDevMode.rendererAppendChild++, ngDevMode && Bt(e, 'parent node must be defined'), Fe(t) ? t.appendChild(e, n) : e.appendChild(n); } function Es(t, e, n, i) { null !== i ? xs(t, e, n, i) : Ms(t, e, n); } function Cs(t, e) { return Fe(t) ? t.parentNode(e) : e.parentNode; } function As(t, e) { if (2 === t.type) { var n = us(t, e); return null === n ? null : Os(n.indexOf(e, 10) - 10, n); } return 4 === t.type || 5 === t.type ? Ge(t, e) : null; } function Ts(t, e, n, i) { var r = Ss(t, i, e); if (null != r) { var o = e[11], a = As(i.parent || e[6], e); if (Array.isArray(n)) for (var s = 0; s < n.length; s++) Es(o, r, n[s], a); else Es(o, r, n, a); } } function Os(t, e) { var n = 10 + t + 1; if (n < e.length) { var i = e[n], r = i[1].firstChild; if (null !== r) return (function t(e, n) { if (null !== n) { ngDevMode && Yn(n, 3, 0, 4, 5, 1); var i = n.type; if (3 === i) return Ge(n, e); if (0 === i) return Os(-1, e[n.index]); if (4 === i || 5 === i) { var r = n.child; if (null !== r) return t(e, r); var o = e[n.index]; return Se(o) ? Os(-1, o) : Be(o); } var a = e[16], s = a[6], c = go(a), l = s.projection[n.projection]; return null != l ? t(c, l) : t(e, n.next); } return null; })(i, r); } return e[7]; } function _s(t, e, n) { var i = Cs(t, e); i && (function (t, e, n, i) { Fe(t) ? t.removeChild(e, n, i) : e.removeChild(n); })(t, i, e, n); } function Ps(t, e, n, i, r, o, a) { for (; null != n; ) { ngDevMode && Te(n, i), ngDevMode && Yn(n, 0, 3, 4, 1, 1, 5); var s = i[n.index], c = n.type; a && 0 === e && (s && Kr(Be(s), i), (n.flags |= 4)), 64 != (64 & n.flags) && (4 === c || 5 === c ? (Ps(t, e, n.child, i, r, o, !1), ps(e, t, r, s, o)) : 1 === c ? Ds(t, e, i, n, r, o) : (ngDevMode && Yn(n, 3, 0), ps(e, t, r, s, o))), (n = a ? n.projectionNext : n.next); } } function Is(t, e, n, i, r, o) { ngDevMode && Xn(t.node, 2), Ps(n, i, t.node.child, e, r, o, !1); } function ks(t, e, n) { Ds(e[11], 0, e, n, Ss(t, n, e), As(n.parent || e[6], e)); } function Ds(t, e, n, i, r, o) { var a = n[16], s = a[6]; ngDevMode && Rt(typeof i.projection, 'number', 'expecting projection index'); var c = s.projection[i.projection]; if (Array.isArray(c)) for (var l = 0; l < c.length; l++) { ps(e, t, r, c[l], o); } else Ps(t, e, c, a[3], r, o, !0); } function Rs(t, e, n) { ngDevMode && Dt(n, "'newValue' should be a string"), Fe(t) ? t.setAttribute(e, 'style', n) : (e.style.cssText = n), ngDevMode && ngDevMode.rendererSetStyle++; } function Ls(t, e, n) { ngDevMode && Dt(n, "'newValue' should be a string"), Fe(t) ? ('' === n ? t.removeAttribute(e, 'class') : t.setAttribute(e, 'class', n)) : (e.className = n), ngDevMode && ngDevMode.rendererSetClassName++; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Ns, js, Vs, Fs = (function () { function t(t, e) { (this._lView = t), (this._cdRefInjectingView = e), (this._appRef = null), (this._viewContainerRef = null); } return ( Object.defineProperty(t.prototype, 'rootNodes', { get: function () { var t = this._lView; if (null == t[0]) { var e = t[6]; return (function t(e, n, r, o, a) { void 0 === a && (a = !1); for (; null !== r; ) { ngDevMode && Yn(r, 3, 0, 1, 4, 5); var s = n[r.index]; if ((null !== s && o.push(Be(s)), Se(s))) for (var c = 10; c < s.length; c++) { var l = s[c], u = l[1].firstChild; null !== u && t(l[1], l, u, o); } var d = r.type; if (4 === d || 5 === d) t(e, n, r.child, o); else if (1 === d) { var p = n[16], h = p[6], f = r.projection; ngDevMode && Bt(h.projection, 'Components with projection nodes () must have projection slots defined.'); var m = h.projection[f]; if (Array.isArray(m)) o.push.apply(o, Object(i.h)(m)); else { var g = go(p); ngDevMode && Bt(g, "Component views should always have a parent view (component's host view)"), t(g[1], g, m, o, !0); } } r = a ? r.projectionNext : r.next; } return o; })( /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ t[1], t, e.child, [] ); } return []; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'context', { get: function () { return this._lView[8]; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'destroyed', { get: function () { return 256 == (256 & this._lView[2]); }, enumerable: !0, configurable: !0, }), (t.prototype.destroy = function () { if (this._appRef) this._appRef.detachView(this); else if (this._viewContainerRef) { var t = this._viewContainerRef.indexOf(this); t > -1 && this._viewContainerRef.detach(t), (this._viewContainerRef = null); } ys(this._lView[1], this._lView); }), (t.prototype.onDestroy = function (t) { var e, n, i; (e = this._lView[1]), (n = this._lView), (i = t), rs(n).push(i), e.firstCreatePass && os(e).push(n[7].length - 1, null); }), (t.prototype.markForCheck = function () { Ja(this._cdRefInjectingView || this._lView); }), (t.prototype.detach = function () { this._lView[2] &= -129; }), (t.prototype.reattach = function () { this._lView[2] |= 128; }), (t.prototype.detectChanges = function () { $a(this._lView[1], this._lView, this.context); }), (t.prototype.checkNoChanges = function () { !(function (t, e, n) { fn(!0); try { $a(t, e, n); } finally { fn(!1); } })(this._lView[1], this._lView, this.context); }), (t.prototype.attachToViewContainerRef = function (t) { if (this._appRef) throw new Error('This view is already attached directly to the ApplicationRef!'); this._viewContainerRef = t; }), (t.prototype.detachFromAppRef = function () { var t, e; (this._appRef = null), (t = this._lView[1]), (e = this._lView), Is(t, e, e[11], 2, null, null); }), (t.prototype.attachToAppRef = function (t) { if (this._viewContainerRef) throw new Error('This view is already attached to a ViewContainer!'); this._appRef = t; }), t ); })(), Us = (function (t) { function e(e) { var n = t.call(this, e) || this; return (n._view = e), n; } return ( Object(i.c)(e, t), (e.prototype.detectChanges = function () { ts(this._view); }), (e.prototype.checkNoChanges = function () { !(function (t) { fn(!0); try { ts(t); } finally { fn(!1); } })(this._view); }), Object.defineProperty(e.prototype, 'context', { get: function () { return null; }, enumerable: !0, configurable: !0, }), e ); })(Fs); function Bs(t, e, n) { return ( Ns || (Ns = (function (t) { function e() { return (null !== t && t.apply(this, arguments)) || this; } return Object(i.c)(e, t), e; })(t)), new Ns(Ge(e, n)) ); } function zs(t, e, n, r) { return ( js || (js = (function (t) { function e(e, n, i) { var r = t.call(this) || this; return (r._declarationView = e), (r._declarationTContainer = n), (r.elementRef = i), r; } return ( Object(i.c)(e, t), (e.prototype.createEmbeddedView = function (t) { var e = this._declarationTContainer.tViews, n = ha(this._declarationView, e, t, 16, null, e.node), i = this._declarationView[this._declarationTContainer.index]; ngDevMode && Pe(i), (n[17] = i); var r = this._declarationView[19]; return null !== r && (n[19] = r.createEmbeddedView(e)), ma(e, n, t), new Fs(n); }), e ); })(t)), 0 === n.type ? (ngDevMode && Bt(n.tViews, 'TView must be allocated'), new js(r, n, Bs(e, n, r))) : null ); } function Gs(t, e, n, r) { var o; Vs || (Vs = (function (t) { function n(e, n, i) { var r = t.call(this) || this; return (r._lContainer = e), (r._hostTNode = n), (r._hostView = i), r; } return ( Object(i.c)(n, t), Object.defineProperty(n.prototype, 'element', { get: function () { return Bs(e, this._hostTNode, this._hostView); }, enumerable: !0, configurable: !0, }), Object.defineProperty(n.prototype, 'injector', { get: function () { return new Oi(this._hostTNode, this._hostView); }, enumerable: !0, configurable: !0, }), Object.defineProperty(n.prototype, 'parentInjector', { get: function () { var t = yi(this._hostTNode, this._hostView), e = ri(t, this._hostView), n = (function (t, e, n) { if (n.parent && -1 !== n.parent.injectorIndex) { for (var i = n.parent.injectorIndex, r = n.parent; null != r.parent && i == r.parent.injectorIndex; ) r = r.parent; return r; } for (var o = ii(t), a = e, s = e[6]; o > 1; ) (s = (a = a[15])[6]), o--; return s; })(t, this._hostView, this._hostTNode); return ei(t) && null != n ? new Oi(n, e) : new Oi(null, this._hostView); }, enumerable: !0, configurable: !0, }), (n.prototype.clear = function () { for (; this.length > 0; ) this.remove(this.length - 1); }), (n.prototype.get = function (t) { return (null !== this._lContainer[8] && this._lContainer[8][t]) || null; }), Object.defineProperty(n.prototype, 'length', { get: function () { return this._lContainer.length - 10; }, enumerable: !0, configurable: !0, }), (n.prototype.createEmbeddedView = function (t, e, n) { var i = t.createEmbeddedView(e || {}); return this.insert(i, n), i; }), (n.prototype.createComponent = function (t, e, n, i, r) { var o = n || this.parentInjector; if (!r && null == t.ngModule && o) { var a = o.get(_t, null); a && (r = a); } var s = t.create(o, i, void 0, r); return this.insert(s.hostView, e), s; }), (n.prototype.insert = function (t, e) { var n = t._lView, i = n[1]; if (t.destroyed) throw new Error('Cannot insert a destroyed View in a ViewContainer!'); if ((this.allocateContainerIfNeeded(), Se(n[3]))) { var r = this.indexOf(t); if (-1 !== r) this.detach(r); else { var o = n[3]; ngDevMode && Rt(Se(o), !0, 'An attached view should have its PARENT point to a container.'); var a = new Vs(o, o[6], o[3]); a.detach(a.indexOf(t)); } } var s = this._adjustIndex(e); return ms(i, n, this._lContainer, s), fs(i, n, !0, Os(s, this._lContainer)), t.attachToViewContainerRef(this), Yt(this._lContainer[8], s, t), t; }), (n.prototype.move = function (t, e) { if (t.destroyed) throw new Error('Cannot move a destroyed View in a ViewContainer!'); return this.insert(t, e); }), (n.prototype.indexOf = function (t) { var e = this._lContainer[8]; return null !== e ? e.indexOf(t) : -1; }), (n.prototype.remove = function (t) { this.allocateContainerIfNeeded(); var e = this._adjustIndex(t, -1); !(function (t, e) { var n = vs(t, e); n && ys(n[1], n); })(this._lContainer, e), Kt(this._lContainer[8], e); }), (n.prototype.detach = function (t) { this.allocateContainerIfNeeded(); var e = this._adjustIndex(t, -1), n = vs(this._lContainer, e); return n && null != Kt(this._lContainer[8], e) ? new Fs(n) : null; }), (n.prototype._adjustIndex = function (t, e) { return void 0 === e && (e = 0), null == t ? this.length + e : (ngDevMode && (Ut(t, -1, 'ViewRef index must be positive, got ' + t), Vt(t, this.length + 1 + e, 'index')), t); }), (n.prototype.allocateContainerIfNeeded = function () { null === this._lContainer[8] && (this._lContainer[8] = []); }), n ); })(t)), ngDevMode && Yn(n, 0, 3, 4); var a = r[n.index]; if (Se(a)) o = a; else { var s = void 0; if (4 === n.type) s = Be(a); else if ((ngDevMode && ngDevMode.rendererCreateComment++, (s = r[11].createComment(ngDevMode ? 'container' : '')), Ae(r))) { var c = r[11], l = Ge(n, r); xs( c, Cs(c, l), s, (function (t, e) { return Fe(t) ? t.nextSibling(e) : e.nextSibling; })(c, l) ); } else Ts(r[1], r, s, n); (r[n.index] = o = Xa(a, r, s, n)), Za(r, o); } return new Vs(o, n, r); } function Hs(t) { return ( void 0 === t && (t = !1), (function (t, e, n) { if (!n && Me(t)) { var i = Xe(t.index, e); return new Fs(i, i); } if (3 === t.type || 0 === t.type || 4 === t.type || 5 === t.type) { var r = e[16]; return new Fs(r, e); } return null; })(ln(), an(), t) ); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Ws = (function () { function t() {} return ( (t.__NG_ELEMENT_ID__ = function () { return Xs(); }), t ); })(), qs = Hs, Xs = qs, Ys = Function; function Ks(t) { return 'function' == typeof t; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Zs = /^function\s+\S+\(\)\s*{[\s\S]+\.apply\(this,\s*arguments\)/, Js = /^class\s+[A-Za-z\d$_]*\s*extends\s+[^{]+{/, Qs = /^class\s+[A-Za-z\d$_]*\s*extends\s+[^{]+{[\s\S]*constructor\s*\(/, $s = /^class\s+[A-Za-z\d$_]*\s*extends\s+[^{]+{[\s\S]*constructor\s*\(\)\s*{\s*super\(\.\.\.arguments\)/; var tc = (function () { function t(t) { this._reflect = t || J.Reflect; } return ( (t.prototype.isReflectionEnabled = function () { return !0; }), (t.prototype.factory = function (t) { return function () { for (var e = [], n = 0; n < arguments.length; n++) e[n] = arguments[n]; return new (t.bind.apply(t, Object(i.h)([void 0], e)))(); }; }), (t.prototype._zipTypesAndAnnotations = function (t, e) { var n; n = Zt(void 0 === t ? e.length : t.length); for (var i = 0; i < n.length; i++) void 0 === t ? (n[i] = []) : t[i] && t[i] != Object ? (n[i] = [t[i]]) : (n[i] = []), e && null != e[i] && (n[i] = n[i].concat(e[i])); return n; }), (t.prototype._ownParameters = function (t, e) { if ( (function (t) { return Zs.test(t) || $s.test(t) || (Js.test(t) && !Qs.test(t)); })(t.toString()) ) return null; if (t.parameters && t.parameters !== e.parameters) return t.parameters; var n = t.ctorParameters; if (n && n !== e.ctorParameters) { var i = 'function' == typeof n ? n() : n, r = i.map(function (t) { return t && t.type; }), o = i.map(function (t) { return t && ec(t.decorators); }); return this._zipTypesAndAnnotations(r, o); } var a = t.hasOwnProperty(d) && t[d], s = this._reflect && this._reflect.getOwnMetadata && this._reflect.getOwnMetadata('design:paramtypes', t); return s || a ? this._zipTypesAndAnnotations(s, a) : Zt(t.length); }), (t.prototype.parameters = function (t) { if (!Ks(t)) return []; var e = nc(t), n = this._ownParameters(t, e); return n || e === Object || (n = this.parameters(e)), n || []; }), (t.prototype._ownAnnotations = function (t, e) { if (t.annotations && t.annotations !== e.annotations) { var n = t.annotations; return 'function' == typeof n && n.annotations && (n = n.annotations), n; } return t.decorators && t.decorators !== e.decorators ? ec(t.decorators) : t.hasOwnProperty(u) ? t[u] : null; }), (t.prototype.annotations = function (t) { if (!Ks(t)) return []; var e = nc(t), n = this._ownAnnotations(t, e) || []; return (e !== Object ? this.annotations(e) : []).concat(n); }), (t.prototype._ownPropMetadata = function (t, e) { if (t.propMetadata && t.propMetadata !== e.propMetadata) { var n = t.propMetadata; return 'function' == typeof n && n.propMetadata && (n = n.propMetadata), n; } if (t.propDecorators && t.propDecorators !== e.propDecorators) { var i = t.propDecorators, r = {}; return ( Object.keys(i).forEach(function (t) { r[t] = ec(i[t]); }), r ); } return t.hasOwnProperty(p) ? t[p] : null; }), (t.prototype.propMetadata = function (t) { if (!Ks(t)) return {}; var e = nc(t), n = {}; if (e !== Object) { var r = this.propMetadata(e); Object.keys(r).forEach(function (t) { n[t] = r[t]; }); } var o = this._ownPropMetadata(t, e); return ( o && Object.keys(o).forEach(function (t) { var e = []; n.hasOwnProperty(t) && e.push.apply(e, Object(i.h)(n[t])), e.push.apply(e, Object(i.h)(o[t])), (n[t] = e); }), n ); }), (t.prototype.ownPropMetadata = function (t) { return (Ks(t) && this._ownPropMetadata(t, nc(t))) || {}; }), (t.prototype.hasLifecycleHook = function (t, e) { return t instanceof Ys && e in t.prototype; }), (t.prototype.guards = function (t) { return {}; }), (t.prototype.getter = function (t) { return new Function('o', 'return o.' + t + ';'); }), (t.prototype.setter = function (t) { return new Function('o', 'v', 'return o.' + t + ' = v;'); }), (t.prototype.method = function (t) { return new Function('o', 'args', 'if (!o.' + t + ') throw new Error(\'"' + t + '" is undefined\');\n return o.' + t + '.apply(o, args);'); }), (t.prototype.importUri = function (t) { return 'object' == typeof t && t.filePath ? t.filePath : './' + F(t); }), (t.prototype.resourceUri = function (t) { return './' + F(t); }), (t.prototype.resolveIdentifier = function (t, e, n, i) { return i; }), (t.prototype.resolveEnum = function (t, e) { return t[e]; }), t ); })(); function ec(t) { return t ? t.map(function (t) { var e = t.type.annotationCls, n = t.args ? t.args : []; return new (e.bind.apply(e, Object(i.h)([void 0], n)))(); }) : []; } function nc(t) { var e = t.prototype ? Object.getPrototypeOf(t.prototype) : null; return (e ? e.constructor : null) || Object; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var ic = null; function rc() { return (ic = ic || new tc()); } function oc(t) { return ac(rc().parameters(t)); } function ac(t) { var e = Q(); return t.map(function (t) { return (function (t, e) { var n = { token: null, host: !1, optional: !1, resolved: t.R3ResolvedDependencyType.Token, self: !1, skipSelf: !1, }; function i(e) { (n.resolved = t.R3ResolvedDependencyType.Token), (n.token = e); } if (Array.isArray(e) && e.length > 0) for (var r = 0; r < e.length; r++) { var o = e[r]; if (void 0 !== o) { var a = Object.getPrototypeOf(o); if (o instanceof w || 'Optional' === a.ngMetadataName) n.optional = !0; else if (o instanceof x || 'SkipSelf' === a.ngMetadataName) n.skipSelf = !0; else if (o instanceof S || 'Self' === a.ngMetadataName) n.self = !0; else if (o instanceof M || 'Host' === a.ngMetadataName) n.host = !0; else if (o instanceof b) n.token = o.token; else if (o instanceof C) { if (void 0 === o.attributeName) throw new Error('Attribute name must be defined.'); (n.token = o.attributeName), (n.resolved = t.R3ResolvedDependencyType.Attribute); } else o === Ws ? ((n.token = o), (n.resolved = t.R3ResolvedDependencyType.ChangeDetectorRef)) : i(o); } } else void 0 === e || (Array.isArray(e) && 0 === e.length) ? ((n.token = void 0), (n.resolved = W.Invalid)) : i(e); return n; })( /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ e, t ); }); } var sc = A({ provide: String, useValue: A, }); function cc(t) { return void 0 !== t.useClass; } function lc(t) { return void 0 !== t.useFactory; } function uc(t, e) { var n = e || { providedIn: null, }, i = { name: t.name, type: t, typeArgumentCount: 0, providedIn: n.providedIn, userDeps: void 0, }; return ( (cc(n) || lc(n)) && void 0 !== n.deps && (i.userDeps = ac(n.deps)), cc(n) ? (i.useClass = G(n.useClass)) : !(function (t) { return sc in t; })(n) ? lc(n) ? (i.useFactory = n.useFactory) : (function (t) { return void 0 !== t.useExisting; })(n) && (i.useExisting = G(n.useExisting)) : (i.useValue = G(n.useValue)), i ); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ A({ provide: String, useValue: A, }); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var dc = h('Injectable', void 0, void 0, void 0, function (t, e) { return hc(t, e); }); var pc = function (t, e) { var n = null, i = null; t.hasOwnProperty(R) || (Object.defineProperty(t, R, { get: function () { return null === n && (n = Q().compileInjectable(Ct, 'ng:///' + t.name + '/ɵprov.js', uc(t, e))), n; }, }), t.hasOwnProperty(N) || (t[N] = function () { return t[R]; })), t.hasOwnProperty(rt) || Object.defineProperty(t, rt, { get: function () { if (null === i) { var n = uc(t, e), r = Q(); i = r.compileFactory(Ct, 'ng:///' + t.name + '/ɵfac.js', { name: n.name, type: n.type, typeArgumentCount: n.typeArgumentCount, deps: oc(t), injectFn: 'inject', target: r.R3FactoryTarget.Injectable, }); } return i; }, configurable: !0, }); }, hc = pc, fc = new ct('Set Injector scope.'), mc = {}, gc = {}, vc = [], yc = void 0; function bc() { return void 0 === yc && (yc = new xt()), yc; } function wc(t, e, n, i) { void 0 === e && (e = null), void 0 === n && (n = null); var r = Sc(t, e, n, i); return r._resolveInjectorDefTypes(), r; } function Sc(t, e, n, i) { return void 0 === e && (e = null), void 0 === n && (n = null), new xc(t, n, e || bc(), i); } var xc = (function () { function t(t, e, n, i) { var r = this; void 0 === i && (i = null), (this.parent = n), (this.records = new Map()), (this.injectorDefTypes = new Set()), (this.onDestroy = new Set()), (this._destroyed = !1); var o = []; e && Xt(e, function (n) { return r.processProvider(n, t, e); }), Xt([t], function (t) { return r.processInjectorType(t, [], o); }), this.records.set(lt, Cc(void 0, this)); var a = this.records.get(fc); (this.scope = null != a ? a.value : null), (this.source = i || ('object' == typeof t ? null : F(t))); } return ( Object.defineProperty(t.prototype, 'destroyed', { get: function () { return this._destroyed; }, enumerable: !0, configurable: !0, }), (t.prototype.destroy = function () { this.assertNotDestroyed(), (this._destroyed = !0); try { this.onDestroy.forEach(function (t) { return t.ngOnDestroy(); }); } finally { this.records.clear(), this.onDestroy.clear(), this.injectorDefTypes.clear(); } }), (t.prototype.get = function (t, e, n) { void 0 === e && (e = ut), void 0 === n && (n = v.Default), this.assertNotDestroyed(); var i, r = ft(this); try { if (!(n & v.SkipSelf)) { var o = this.records.get(t); if (void 0 === o) { var a = ('function' == typeof (i = t) || ('object' == typeof i && i instanceof ct)) && I(t); (o = a && this.injectableDefInScope(a) ? Cc(Mc(t), mc) : null), this.records.set(t, o); } if (null != o) return this.hydrate(t, o); } var s = n & v.Self ? bc() : this.parent; return (e = n & v.Optional && e === ut ? null : e), s.get(t, e); } catch (e) { if ('NullInjectorError' === e.name) { if (((e.ngTempTokenPath = e.ngTempTokenPath || []).unshift(F(t)), r)) throw e; return Mt(e, t, 'R3InjectorError', this.source); } throw e; } finally { ft(r); } }), (t.prototype._resolveInjectorDefTypes = function () { var t = this; this.injectorDefTypes.forEach(function (e) { return t.get(e); }); }), (t.prototype.toString = function () { var t = []; return ( this.records.forEach(function (e, n) { return t.push(F(n)); }), 'R3Injector[' + t.join(', ') + ']' ); }), (t.prototype.assertNotDestroyed = function () { if (this._destroyed) throw new Error('Injector has already been destroyed.'); }), (t.prototype.processInjectorType = function (t, e, n) { var i = this; if (!(t = G(t))) return !1; var r = D(t), o = (null == r && t.ngModule) || void 0, a = void 0 === o ? t : o; if (ngDevMode && -1 !== e.indexOf(a)) { var s = F(a); throw new Error( 'Circular dependency in DI detected for type ' + s + '. Dependency path: ' + e .map(function (t) { return F(t); }) .join(' > ') + ' > ' + s + '.' ); } var c = -1 !== n.indexOf(a); if ((void 0 !== o && (r = D(o)), null == r)) return !1; if (null != r.imports && !c) { var l; ngDevMode && e.push(a), n.push(a); try { Xt(r.imports, function (t) { i.processInjectorType(t, e, n) && (void 0 === l && (l = []), l.push(t)); }); } finally { ngDevMode && e.pop(); } if (void 0 !== l) for ( var u = function (t) { var e = l[t], n = e.ngModule, r = e.providers; Xt(r, function (t) { return i.processProvider(t, n, r || vc); }); }, d = 0; d < l.length; d++ ) u(d); } this.injectorDefTypes.add(a), this.records.set(a, Cc(r.factory, mc)); var p = r.providers; if (null != p && !c) { var h = t; Xt(p, function (t) { return i.processProvider(t, h, p); }); } return void 0 !== o && void 0 !== t.providers; }), (t.prototype.processProvider = function (t, e, n) { var i = Tc((t = G(t))) ? t : G(t && t.provide), r = (function (t, e, n) { return Ac(t) ? Cc(void 0, t.useValue) : Cc(Ec(t, e, n), mc); })(t, e, n); if (Tc(t) || !0 !== t.multi) { var o = this.records.get(i); o && void 0 !== o.multi && eo(); } else { var a = this.records.get(i); a ? void 0 === a.multi && eo() : (((a = Cc(void 0, mc, !0)).factory = function () { return St(a.multi); }), this.records.set(i, a)), (i = t), a.multi.push(t); } this.records.set(i, r); }), (t.prototype.hydrate = function (t, e) { var n; return ( e.value === gc ? (function (t) { throw new Error('Cannot instantiate cyclic dependency! ' + t); })(F(t)) : e.value === mc && ((e.value = gc), (e.value = e.factory())), 'object' == typeof e.value && e.value && null !== (n = e.value) && 'object' == typeof n && 'function' == typeof n.ngOnDestroy && this.onDestroy.add(e.value), e.value ); }), (t.prototype.injectableDefInScope = function (t) { return !!t.providedIn && ('string' == typeof t.providedIn ? 'any' === t.providedIn || t.providedIn === this.scope : this.injectorDefTypes.has(t.providedIn)); }), t ); })(); function Mc(t) { var e = I(t), n = null !== e ? e.factory : ye(t); if (null !== n) return n; var i = D(t); if (null !== i) return i.factory; if (t instanceof ct) throw new Error('Token ' + F(t) + ' is missing a ɵprov definition.'); if (t instanceof Function) return (function (t) { var e = t.length; if (e > 0) { var n = Zt(e, '?'); throw new Error("Can't resolve all parameters for " + F(t) + ': (' + n.join(', ') + ').'); } var i = (function (t) { var e = t && (t[R] || t[j] || (t[N] && t[N]())); if (e) { var n = (function (t) { if (t.hasOwnProperty('name')) return t.name; var e = ('' + t).match(/^function\s*([^\s(]+)/); return null === e ? '' : e[1]; })(t); return ( console.warn( 'DEPRECATED: DI is instantiating a token "' + n + '" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in v10. Please add @Injectable() to the "' + n + '" class.' ), e ); } return null; })(t); return null !== i ? function () { return i.factory(t); } : function () { return new t(); }; })(t); throw new Error('unreachable'); } function Ec(t, e, n) { var r, o = void 0; if (Tc(t)) { var a = G(t); return ye(a) || Mc(a); } if (Ac(t)) o = function () { return G(t.useValue); }; else if ((r = t) && r.useFactory) o = function () { return t.useFactory.apply(t, Object(i.h)(St(t.deps || []))); }; else if ( (function (t) { return !(!t || !t.useExisting); })(t) ) o = function () { return vt(G(t.useExisting)); }; else { var s = G(t && (t.useClass || t.provide)); if ( (s || (function (t, e, n) { var i = ''; throw ( (t && e && (i = ' - only instances of Provider and Type are allowed, got: [' + e .map(function (t) { return t == n ? '?' + n + '?' : '...'; }) .join(', ') + ']'), new Error("Invalid provider for the NgModule '" + F(t) + "'" + i)) ); })(e, n, t), !(function (t) { return !!t.deps; })(t)) ) return ye(s) || Mc(s); o = function () { return new (s.bind.apply(s, Object(i.h)([void 0], St(t.deps))))(); }; } return o; } function Cc(t, e, n) { return ( void 0 === n && (n = !1), { factory: t, value: e, multi: n ? [] : void 0, } ); } function Ac(t) { return null !== t && 'object' == typeof t && pt in t; } function Tc(t) { return 'function' == typeof t; } function Oc(t, e, n) { return wc( { name: n, }, e, t, n ); } var _c = Oc, Pc = (function () { function t() {} return ( (t.create = function (t, e) { return Array.isArray(t) ? _c(t, e, '') : _c(t.providers, t.parent, t.name || ''); }), (t.THROW_IF_NOT_FOUND = ut), (t.NULL = new xt()), (t.ɵprov = O({ token: t, providedIn: 'any', factory: function () { return vt(lt); }, })), (t.__NG_ELEMENT_ID__ = -1), t ); })(), Ic = function (t) { return t; }, kc = [], Dc = Ic, Rc = function () { return Array.prototype.slice.call(arguments); }; !(function () { function t(t, e, n) { void 0 === e && (e = Pc.NULL), void 0 === n && (n = null), (this.parent = e), (this.source = n); var i = (this._records = new Map()); i.set(Pc, { token: Pc, fn: Ic, deps: kc, value: this, useNew: !1, }), i.set(lt, { token: lt, fn: Ic, deps: kc, value: this, useNew: !1, }), (this.scope = (function t(e, n) { var i = null; if (n) if (((n = G(n)), Array.isArray(n))) for (var r = 0; r < n.length; r++) i = t(e, n[r]) || i; else { if ('function' == typeof n) throw Vc('Function/Class not supported', n); if (!n || 'object' != typeof n || !n.provide) throw Vc('Unexpected provider', n); var o = G(n.provide), a = Lc(n); if (!0 === n.multi) { var s = e.get(o); if (s) { if (s.fn !== Rc) throw Nc(o); } else e.set( o, (s = { token: n.provide, deps: [], useNew: !1, fn: Rc, value: kc, }) ); (o = n), s.deps.push({ token: o, options: 6, }); } var c = e.get(o); if (c && c.fn == Rc) throw Nc(o); o === fc && (i = a.value), e.set(o, a); } return i; })(i, t)); } (t.prototype.get = function (t, e, n) { void 0 === n && (n = v.Default); var i = this._records, r = i.get(t); if (void 0 === r) { var o = I(t); if (o) { var a = o && o.providedIn; ('any' === a || (null != a && a === this.scope)) && i.set( t, (r = Lc({ provide: t, useFactory: o.factory, deps: kc, })) ); } void 0 === r && i.set(t, null); } var s = ft(this); try { return jc(t, r, i, this.parent, e, n); } catch (e) { return Mt(e, t, 'StaticInjectorError', this.source); } finally { ft(s); } }), (t.prototype.toString = function () { var t = []; return ( this._records.forEach(function (e, n) { return t.push(F(n)); }), 'StaticInjector[' + t.join(', ') + ']' ); }); })(); function Lc(t) { var e = (function (t) { var e = kc, n = t.deps; if (n && n.length) { e = []; for (var i = 0; i < n.length; i++) { var r = 6, o = G(n[i]); if (Array.isArray(o)) for (var a = 0, s = o; a < s.length; a++) { var c = s[a]; c instanceof w || c == w ? (r |= 1) : c instanceof x || c == x ? (r &= -3) : c instanceof S || c == S ? (r &= -5) : (o = c instanceof b ? c.token : G(c)); } e.push({ token: o, options: r, }); } } else if (t.useExisting) { o = G(t.useExisting); e = [ { token: o, options: 6, }, ]; } else if (!n && !(pt in t)) throw Vc("'deps' required", t); return e; })(t), n = Ic, i = kc, r = !1, o = G(t.provide); if (pt in t) i = t.useValue; else if (t.useFactory) n = t.useFactory; else if (t.useExisting); else if (t.useClass) (r = !0), (n = G(t.useClass)); else { if ('function' != typeof o) throw Vc('StaticProvider does not have [useValue|useFactory|useExisting|useClass] or [provide] is not newable', t); (r = !0), (n = o); } return { deps: e, fn: n, useNew: r, value: i, }; } function Nc(t) { return Vc('Cannot mix multi providers and regular providers', t); } function jc(t, e, n, r, o, a) { try { return (function (t, e, n, r, o, a) { var s, c; if (!e || a & v.SkipSelf) c = a & v.Self ? (a & v.Optional ? Pc.NULL.get(t, void 0 !== o ? o : null) : Pc.NULL.get(t, o)) : r.get(t, o, v.Default); else { if ((c = e.value) == Dc) throw Error('ɵCircular dependency'); if (c === kc) { e.value = Dc; var l = e.useNew, u = e.fn, d = e.deps, p = kc; if (d.length) { p = []; for (var h = 0; h < d.length; h++) { var f = d[h], m = f.options, g = 2 & m ? n.get(f.token) : void 0; p.push(jc(f.token, g, n, g || 4 & m ? r : Pc.NULL, 1 & m ? null : Pc.THROW_IF_NOT_FOUND, v.Default)); } } e.value = c = l ? new ((s = u).bind.apply(s, Object(i.h)([void 0], p)))() : u.apply(void 0, p); } } return c; })(t, e, n, r, o, a); } catch (n) { throw (n instanceof Error || (n = new Error(n)), (n.ngTempTokenPath = n.ngTempTokenPath || []).unshift(t), e && e.value == Dc && (e.value = kc), n); } } function Vc(t, e) { return new Error(Et(t, e, 'StaticInjectorError')); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Fc(t) { return t.length > 1 ? ' (' + (function (t) { for (var e = [], n = 0; n < t.length; ++n) { if (e.indexOf(t[n]) > -1) return e.push(t[n]), e; e.push(t[n]); } return e; })(t.slice().reverse()) .map(function (t) { return F(t.token); }) .join(' -> ') + ')' : ''; } function Uc(t, e, n, i) { var r = [e], o = n(r), a = i ? (function (t, e) { var n = t + ' caused by: ' + (e instanceof Error ? e.message : e), i = Error(n); return (i.ngOriginalError = e), i; })( /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ o, i ) : Error(o); return (a.addKey = Bc), (a.keys = r), (a.injectors = [t]), (a.constructResolvingMessage = n), (a.ngOriginalError = i), a; } function Bc(t, e) { this.injectors.push(t), this.keys.push(e), (this.message = this.constructResolvingMessage(this.keys)); } function zc(t, e) { for (var n = [], i = 0, r = e.length; i < r; i++) { var o = e[i]; o && 0 != o.length ? n.push(o.map(F).join(' ')) : n.push('?'); } return Error( "Cannot resolve all parameters for '" + F(t) + "'(" + n.join(', ') + "). Make sure that all the parameters are decorated with Inject or have valid type annotations and that '" + F(t) + "' is decorated with Injectable." ); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Gc = (function () { function t(t, e) { if (((this.token = t), (this.id = e), !t)) throw new Error('Token must be defined!'); this.displayName = F(this.token); } return ( (t.get = function (t) { return Hc.get(G(t)); }), Object.defineProperty(t, 'numberOfKeys', { get: function () { return Hc.numberOfKeys; }, enumerable: !0, configurable: !0, }), t ); })(), Hc = new ((function () { function t() { this._allKeys = new Map(); } return ( (t.prototype.get = function (t) { if (t instanceof Gc) return t; if (this._allKeys.has(t)) return this._allKeys.get(t); var e = new Gc(t, Gc.numberOfKeys); return this._allKeys.set(t, e), e; }), Object.defineProperty(t.prototype, 'numberOfKeys', { get: function () { return this._allKeys.size; }, enumerable: !0, configurable: !0, }), t ); })())(), Wc = new ((function () { function t(t) { this.reflectionCapabilities = t; } return ( (t.prototype.updateCapabilities = function (t) { this.reflectionCapabilities = t; }), (t.prototype.factory = function (t) { return this.reflectionCapabilities.factory(t); }), (t.prototype.parameters = function (t) { return this.reflectionCapabilities.parameters(t); }), (t.prototype.annotations = function (t) { return this.reflectionCapabilities.annotations(t); }), (t.prototype.propMetadata = function (t) { return this.reflectionCapabilities.propMetadata(t); }), (t.prototype.hasLifecycleHook = function (t, e) { return this.reflectionCapabilities.hasLifecycleHook(t, e); }), (t.prototype.getter = function (t) { return this.reflectionCapabilities.getter(t); }), (t.prototype.setter = function (t) { return this.reflectionCapabilities.setter(t); }), (t.prototype.method = function (t) { return this.reflectionCapabilities.method(t); }), (t.prototype.importUri = function (t) { return this.reflectionCapabilities.importUri(t); }), (t.prototype.resourceUri = function (t) { return this.reflectionCapabilities.resourceUri(t); }), (t.prototype.resolveIdentifier = function (t, e, n, i) { return this.reflectionCapabilities.resolveIdentifier(t, e, n, i); }), (t.prototype.resolveEnum = function (t, e) { return this.reflectionCapabilities.resolveEnum(t, e); }), t ); })())(new tc()), qc = (function () { function t(t, e, n) { (this.key = t), (this.optional = e), (this.visibility = n); } return ( (t.fromKey = function (e) { return new t(e, !1, null); }), t ); })(), Xc = [], Yc = function (t, e, n) { (this.key = t), (this.resolvedFactories = e), (this.multiProvider = n), (this.resolvedFactory = this.resolvedFactories[0]); }, Kc = function (t, e) { (this.factory = t), (this.dependencies = e); }; function Zc(t) { var e, n; if (t.useClass) { var i = G(t.useClass); (e = Wc.factory(i)), (n = $c(i)); } else t.useExisting ? ((e = function (t) { return t; }), (n = [qc.fromKey(Gc.get(t.useExisting))])) : t.useFactory ? ((e = t.useFactory), (n = (function (t, e) { if (e) { var n = e.map(function (t) { return [t]; }); return e.map(function (e) { return tl(t, e, n); }); } return $c(t); })(t.useFactory, t.deps))) : ((e = function () { return t.useValue; }), (n = Xc)); return new Kc(e, n); } function Jc(t) { return new Yc(Gc.get(t.provide), [Zc(t)], t.multi || !1); } function Qc(t) { var e = (function (t, e) { for (var n = 0; n < t.length; n++) { var i = t[n], r = e.get(i.key.id); if (r) { if (i.multiProvider !== r.multiProvider) throw Error('Cannot mix multi providers and regular providers, got: ' + r + ' ' + i); if (i.multiProvider) for (var o = 0; o < i.resolvedFactories.length; o++) r.resolvedFactories.push(i.resolvedFactories[o]); else e.set(i.key.id, i); } else { var a = void 0; (a = i.multiProvider ? new Yc(i.key, i.resolvedFactories.slice(), i.multiProvider) : i), e.set(i.key.id, a); } } return e; })( (function t(e, n) { return ( e.forEach(function (e) { if (e instanceof Ys) n.push({ provide: e, useClass: e, }); else if (e && 'object' == typeof e && void 0 !== e.provide) n.push(e); else { if (!Array.isArray(e)) throw Error('Invalid provider - only instances of Provider and Type are allowed, got: ' + e); t(e, n); } }), n ); })(t, []).map(Jc), new Map() ); return Array.from(e.values()); } function $c(t) { var e = Wc.parameters(t); if (!e) return []; if ( e.some(function (t) { return null == t; }) ) throw zc(t, e); return e.map(function (n) { return tl(t, n, e); }); } function tl(t, e, n) { var i = null, r = !1; if (!Array.isArray(e)) return el(e instanceof b ? e.token : e, r, null); for (var o = null, a = 0; a < e.length; ++a) { var s = e[a]; s instanceof Ys ? (i = s) : s instanceof b ? (i = s.token) : s instanceof w ? (r = !0) : s instanceof S || s instanceof x ? (o = s) : s instanceof ct && (i = s); } if (null != (i = G(i))) return el(i, r, o); throw zc(t, n); } function el(t, e, n) { return new qc(Gc.get(t), e, n); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var nl = {}, il = (function () { function t() {} return ( (t.resolve = function (t) { return Qc(t); }), (t.resolveAndCreate = function (e, n) { var i = t.resolve(e); return t.fromResolvedProviders(i, n); }), (t.fromResolvedProviders = function (t, e) { return new rl(t, e); }), t ); })(), rl = (function () { function t(t, e) { (this._constructionCounter = 0), (this._providers = t), (this.parent = e || null); var n = t.length; (this.keyIds = []), (this.objs = []); for (var i = 0; i < n; i++) (this.keyIds[i] = t[i].key.id), (this.objs[i] = nl); } return ( (t.prototype.get = function (t, e) { return void 0 === e && (e = ut), this._getByKey(Gc.get(t), null, e); }), (t.prototype.resolveAndCreateChild = function (t) { var e = il.resolve(t); return this.createChildFromResolved(e); }), (t.prototype.createChildFromResolved = function (e) { var n = new t(e); return (n.parent = this), n; }), (t.prototype.resolveAndInstantiate = function (t) { return this.instantiateResolved(il.resolve([t])[0]); }), (t.prototype.instantiateResolved = function (t) { return this._instantiateProvider(t); }), (t.prototype.getProviderAtIndex = function (t) { if (t < 0 || t >= this._providers.length) throw (function (t) { return Error('Index ' + t + ' is out-of-bounds.'); })(t); return this._providers[t]; }), (t.prototype._new = function (t) { if (this._constructionCounter++ > this._getMaxNumberOfObjects()) throw ( ((e = this), (n = t.key), Uc(e, n, function (t) { return 'Cannot instantiate cyclic dependency!' + Fc(t); })) ); var e, n; return this._instantiateProvider(t); }), (t.prototype._getMaxNumberOfObjects = function () { return this.objs.length; }), (t.prototype._instantiateProvider = function (t) { if (t.multiProvider) { for (var e = [], n = 0; n < t.resolvedFactories.length; ++n) e[n] = this._instantiate(t, t.resolvedFactories[n]); return e; } return this._instantiate(t, t.resolvedFactories[0]); }), (t.prototype._instantiate = function (t, e) { var n, r, o, a, s, c = this, l = e.factory; try { n = e.dependencies.map(function (t) { return c._getByReflectiveDependency(t); }); } catch (e) { throw (e.addKey && e.addKey(this, t.key), e); } try { r = l.apply(void 0, Object(i.h)(n)); } catch (e) { throw ( ((o = this), (a = e), e.stack, (s = t.key), Uc( o, s, function (t) { var e = F(t[0].token); return a.message + ': Error during instantiation of ' + e + '!' + Fc(t) + '.'; }, a )) ); } return r; }), (t.prototype._getByReflectiveDependency = function (t) { return this._getByKey(t.key, t.visibility, t.optional ? null : ut); }), (t.prototype._getByKey = function (e, n, i) { return e === t.INJECTOR_KEY ? this : n instanceof S ? this._getByKeySelf(e, i) : this._getByKeyDefault(e, i, n); }), (t.prototype._getObjByKeyId = function (t) { for (var e = 0; e < this.keyIds.length; e++) if (this.keyIds[e] === t) return this.objs[e] === nl && (this.objs[e] = this._new(this._providers[e])), this.objs[e]; return nl; }), (t.prototype._throwOrNull = function (t, e) { if (e !== ut) return e; throw (function (t, e) { return Uc(t, e, function (t) { return 'No provider for ' + F(t[0].token) + '!' + Fc(t); }); })(this, t); }), (t.prototype._getByKeySelf = function (t, e) { var n = this._getObjByKeyId(t.id); return n !== nl ? n : this._throwOrNull(t, e); }), (t.prototype._getByKeyDefault = function (e, n, i) { var r; for (r = i instanceof x ? this.parent : this; r instanceof t; ) { var o = r, a = o._getObjByKeyId(e.id); if (a !== nl) return a; r = o.parent; } return null !== r ? r.get(e.token, n) : this._throwOrNull(e, n); }), Object.defineProperty(t.prototype, 'displayName', { get: function () { return ( 'ReflectiveInjector(providers: [' + (function (t, e) { for (var n = [], i = 0; i < t._providers.length; ++i) n[i] = e(t.getProviderAtIndex(i)); return n; })( /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ this, function (t) { return ' "' + t.key.displayName + '" '; } ).join(', ') + '])' ); }, enumerable: !0, configurable: !0, }), (t.prototype.toString = function () { return this.displayName; }), (t.INJECTOR_KEY = Gc.get(Pc)), t ); })(); var ol = new ct('AnalyzeForEntryComponents'), al = function () {}, sl = g( 'ContentChildren', function (t, e) { return ( void 0 === e && (e = {}), Object(i.a)( { selector: t, first: !1, isViewQuery: !1, descendants: !1, }, e ) ); }, al ), cl = g( 'ContentChild', function (t, e) { return ( void 0 === e && (e = {}), Object(i.a)( { selector: t, first: !0, isViewQuery: !1, descendants: !0, }, e ) ); }, al ), ll = g( 'ViewChildren', function (t, e) { return ( void 0 === e && (e = {}), Object(i.a)( { selector: t, first: !1, isViewQuery: !0, descendants: !0, }, e ) ); }, al ), ul = g( 'ViewChild', function (t, e) { return Object(i.a)( { selector: t, first: !0, isViewQuery: !0, descendants: !0, }, e ); }, al ); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function dl(t) { var e = [], n = new Map(); function i(e) { var i = n.get(e); if (!i) { var r = t(e); n.set(e, (i = r.then(gl))); } return i; } return ( pl.forEach(function (t, n) { var r = []; t.templateUrl && r.push( i(t.templateUrl).then(function (e) { t.template = e; }) ); var o = t.styleUrls, a = t.styles || (t.styles = []), s = t.styles.length; o && o.forEach(function (e, n) { a.push(''), r.push( i(e).then(function (i) { (a[s + n] = i), o.splice(o.indexOf(e), 1), 0 == o.length && (t.styleUrls = void 0); }) ); }); var c = Promise.all(r).then(function () { return (function (t) { hl.delete(t); })( /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ n ); }); e.push(c); }), ml(), Promise.all(e).then(function () {}) ); } var pl = new Map(), hl = new Set(); function fl(t) { return !!((t.templateUrl && !t.hasOwnProperty('template')) || (t.styleUrls && t.styleUrls.length)); } function ml() { var t = pl; return (pl = new Map()), t; } function gl(t) { return 'string' == typeof t ? t : t.text(); } function vl(t, e, n) { ngDevMode && De(sn(), 'Expecting to be called in first template pass only'); var i = n ? t.styles : null, r = n ? t.classes : null, o = 0; if (null !== e) for (var a = 0; a < e.length; a++) { var s = e[a]; if ('number' == typeof s) o = s; else if (1 == o) r = U(r, s); else if (2 == o) { i = U(i, s + ': ' + e[++a] + ';'); } } n ? (t.styles = i) : (t.stylesWithoutHost = i), n ? (t.classes = r) : (t.classesWithoutHost = r); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var yl = null; function bl() { if (!yl) { var t = J.Symbol; if (t && t.iterator) yl = t.iterator; else for (var e = Object.getOwnPropertyNames(Map.prototype), n = 0; n < e.length; ++n) { var i = e[n]; 'entries' !== i && 'size' !== i && Map.prototype[i] === Map.prototype.entries && (yl = i); } } return yl; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function wl(t, e) { return t === e || ('number' == typeof t && 'number' == typeof e && isNaN(t) && isNaN(e)); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Sl(t, e) { var n = Ml(t), i = Ml(e); return n && i ? (function (t, e, n) { var i = t[bl()](), r = e[bl()](); for (;;) { var o = i.next(), a = r.next(); if (o.done && a.done) return !0; if (o.done || a.done) return !1; if (!n(o.value, a.value)) return !1; } })(t, e, Sl) : !(n || !(t && ('object' == typeof t || 'function' == typeof t)) || i || !(e && ('object' == typeof e || 'function' == typeof e))) || wl(t, e); } var xl = (function () { function t(t) { this.wrapped = t; } return ( (t.wrap = function (e) { return new t(e); }), (t.unwrap = function (e) { return t.isWrapped(e) ? e.wrapped : e; }), (t.isWrapped = function (e) { return e instanceof t; }), t ); })(); function Ml(t) { return !!El(t) && (Array.isArray(t) || (!(t instanceof Map) && bl() in t)); } function El(t) { return null !== t && ('function' == typeof t || 'object' == typeof t); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Cl(t, e, n) { return (t[e] = n); } function Al(t, e) { return ngDevMode && Ht(t, e), ngDevMode && jt(t[e], mo, 'Stored value should never be NO_CHANGE.'), t[e]; } function Tl(t, e, n) { ngDevMode && jt(n, mo, 'Incoming value should never be NO_CHANGE.'), ngDevMode && Vt(e, t.length, 'Slot should have been initialized to NO_CHANGE'); var i = t[e]; if (Object.is(i, n)) return !1; if (ngDevMode && hn()) { var r = i !== mo ? i : void 0; if (!Sl(r, n)) { var o = (function (t, e, n, i) { var r = t[1].data, o = r[e]; if ('string' == typeof o) return o.indexOf('�') > -1 ? no(t, e, e, o, i) : { propName: o, oldValue: n, newValue: i, }; if (null === o) { for (var a = e - 1; 'string' != typeof r[a] && null === r[a + 1]; ) a--; var s = r[a]; if ('string' == typeof s) { var c = s.match(new RegExp('�', 'g')); if (c && c.length - 1 > e - a) return no(t, a, e, s, i); } } return { propName: void 0, oldValue: n, newValue: i, }; })(t, e, r, n); !(function (t, e, n, i) { var r = 'ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value' + (i ? " for '" + i + "'" : '') + ": '" + e + "'. Current value: '" + n + "'."; throw (t && (r += ' It seems like the view has been created after its parent and its children have been dirty checked. Has it been created in a change detection hook?'), new Error(r)); })(i === mo, o.oldValue, o.newValue, o.propName); } return !1; } return (t[e] = n), !0; } function Ol(t, e, n, i) { var r = Tl(t, e, n); return Tl(t, e + 1, i) || r; } function _l(t, e, n, i, r) { var o = Ol(t, e, n, i); return Tl(t, e + 2, r) || o; } function Pl(t, e, n, i, r, o) { var a = Ol(t, e, n, i); return Ol(t, e + 2, r, o) || a; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Il(t, e, n, i) { var r = an(), o = yn(); if (Tl(r, o, e)) { var a = sn(), s = Ln(); Ga(s, r, t, e, n, i), ngDevMode && ns(a.data, s, 'attr.' + t, o); } return Il; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function kl(t, e) { ngDevMode && Vt(2, e.length, 'should have at least 3 values'), ngDevMode && Rt(e.length % 2, 1, 'should have an odd number of values'); for (var n = !1, i = gn(), r = 1; r < e.length; r += 2) n = Tl(t, i++, e[r]) || n; if ((vn(i), !n)) return mo; var o = e[0]; for (r = 1; r < e.length; r += 2) o += oi(e[r]) + e[r + 1]; return o; } function Dl(t, e, n, i) { return Tl(t, yn(), n) ? e + oi(n) + i : mo; } function Rl(t, e, n, i, r, o) { var a = Ol(t, gn(), n, r); return bn(2), a ? e + oi(n) + i + oi(r) + o : mo; } function Ll(t, e, n, i, r, o, a, s) { var c = _l(t, gn(), n, r, a); return bn(3), c ? e + oi(n) + i + oi(r) + o + oi(a) + s : mo; } function Nl(t, e, n, i, r, o, a, s, c, l) { var u = Pl(t, gn(), n, r, a, c); return bn(4), u ? e + oi(n) + i + oi(r) + o + oi(a) + s + oi(c) + l : mo; } function jl(t, e, n, i, r, o, a, s, c, l, u, d) { var p = gn(), h = Pl(t, p, n, r, a, c); return (h = Tl(t, p + 4, u) || h), bn(5), h ? e + oi(n) + i + oi(r) + o + oi(a) + s + oi(c) + l + oi(u) + d : mo; } function Vl(t, e, n, i, r, o, a, s, c, l, u, d, p, h) { var f = gn(), m = Pl(t, f, n, r, a, c); return (m = Ol(t, f + 4, u, p) || m), bn(6), m ? e + oi(n) + i + oi(r) + o + oi(a) + s + oi(c) + l + oi(u) + d + oi(p) + h : mo; } function Fl(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m) { var g = gn(), v = Pl(t, g, n, r, a, c); return (v = _l(t, g + 4, u, p, f) || v), bn(7), v ? e + oi(n) + i + oi(r) + o + oi(a) + s + oi(c) + l + oi(u) + d + oi(p) + h + oi(f) + m : mo; } function Ul(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g, v) { var y = gn(), b = Pl(t, y, n, r, a, c); return (b = Pl(t, y + 4, u, p, f, g) || b), bn(8), b ? e + oi(n) + i + oi(r) + o + oi(a) + s + oi(c) + l + oi(u) + d + oi(p) + h + oi(f) + m + oi(g) + v : mo; } function Bl(t, e, n, i, r, o) { var a = an(), s = Dl(a, e, n, i); if (s !== mo) { var c = Ln(); Ga(c, a, t, s, r, o), ngDevMode && ns(sn().data, c, 'attr.' + t, gn() - 1, e, i); } return Bl; } function zl(t, e, n, i, r, o, a, s) { var c = an(), l = Rl(c, e, n, i, r, o); if (l !== mo) { var u = Ln(); Ga(u, c, t, l, a, s), ngDevMode && ns(sn().data, u, 'attr.' + t, gn() - 2, e, i, o); } return zl; } function Gl(t, e, n, i, r, o, a, s, c, l) { var u = an(), d = Ll(u, e, n, i, r, o, a, s); if (d !== mo) { var p = Ln(); Ga(p, u, t, d, c, l), ngDevMode && ns(sn().data, p, 'attr.' + t, gn() - 3, e, i, o, s); } return Gl; } function Hl(t, e, n, i, r, o, a, s, c, l, u, d) { var p = an(), h = Nl(p, e, n, i, r, o, a, s, c, l); if (h !== mo) { var f = Ln(); Ga(f, p, t, h, u, d), ngDevMode && ns(sn().data, f, 'attr.' + t, gn() - 4, e, i, o, s, l); } return Hl; } function Wl(t, e, n, i, r, o, a, s, c, l, u, d, p, h) { var f = an(), m = jl(f, e, n, i, r, o, a, s, c, l, u, d); if (m !== mo) { var g = Ln(); Ga(g, f, t, m, p, h), ngDevMode && ns(sn().data, g, 'attr.' + t, gn() - 5, e, i, o, s, l, d); } return Wl; } function ql(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m) { var g = an(), v = Vl(g, e, n, i, r, o, a, s, c, l, u, d, p, h); if (v !== mo) { var y = Ln(); Ga(y, g, t, v, f, m), ngDevMode && ns(sn().data, y, 'attr.' + t, gn() - 6, e, i, o, s, l, d, h); } return ql; } function Xl(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g, v) { var y = an(), b = Fl(y, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m); if (b !== mo) { var w = Ln(); Ga(w, y, t, b, g, v), ngDevMode && ns(sn().data, w, 'attr.' + t, gn() - 7, e, i, o, s, l, d, h, m); } return Xl; } function Yl(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g, v, y, b) { var w = an(), S = Ul(w, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g, v); if (S !== mo) { var x = Ln(); Ga(x, w, t, S, y, b), ngDevMode && ns(sn().data, x, 'attr.' + t, gn() - 8, e, i, o, s, l, d, h, m, v); } return Yl; } function Kl(t, e, n, r) { var o = an(), a = kl(o, e); if (a !== mo) { var s = Ln(); if ((Ga(s, o, t, a, n, r), ngDevMode)) { for (var c = [e[0]], l = 2; l < e.length; l += 2) c.push(e[l]); ns.apply(void 0, Object(i.h)([sn().data, s, 'attr.' + t, gn() - c.length + 1], c)); } } return Kl; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Zl(t) { var e = Yr(t); $a(e[1], e, t); } function Jl(t) { ngDevMode && Bt(t, 'component'); var e, n, i, r, o = Ja(Yr(t)); ngDevMode && Bt(o[8], 'rootContext should be defined'), (e = o[8]), (n = 1), (r = 0 === e.flags), (e.flags |= n), r && e.clean == ua && ((e.clean = new Promise(function (t) { return (i = t); })), e.scheduler(function () { if ((1 & e.flags && ((e.flags &= -2), Qa(e)), 2 & e.flags)) { e.flags &= -3; var t = e.playerHandler; t && t.flushPlayers(); } (e.clean = ua), i(null); })); } function Ql(t, e, n, i, r, o, a, s) { var c = an(), l = sn(), u = t + 20, d = l.firstCreatePass /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ ? (function (t, e, n, i, r, o, a, s, c) { ngDevMode && De(e), ngDevMode && ngDevMode.firstCreatePass++; var l = e.consts, u = fa(e, n[6], t, 0, a || null, Qe(l, s)); Da(e, n, u, Qe(l, c)), Un(e, u); var d = (u.tViews = Ma(2, -1, i, r, o, e.directiveRegistry, e.pipeRegistry, null, e.schemas, l)), p = Aa(e, null, 2, -1, null, null); return (p.injectorIndex = u.injectorIndex), (d.node = p), null !== e.queries && (e.queries.template(e, u), (d.queries = e.queries.embeddedTView(u))), u; })(t, l, c, e, n, i, r, o, a) : l.data[u]; un(d, !1); var p = c[11].createComment(ngDevMode ? 'container' : ''); Ts(l, c, p, d), Kr(p, c), Za(c, (c[u] = Xa(p, c, p, d))), Ee(d) && wa(l, c, d), null != a && Sa(c, d, s); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function $l(t, e, n, i) { var r = n + 20; r >= t.data.length && ((t.data[r] = null), (t.blueprint[r] = null)), (e[r] = i); } function tu(t) { return qe(en.lFrame.contextLView, t); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function eu(t, e) { void 0 === e && (e = v.Default); var n = an(); return null == n ? vt(t, e) : Si(ln(), n, G(t), e); } function nu(t) { return wi(ln(), t); } function iu() { var t = ngDevMode ? 'This constructor was not compatible with Dependency Injection.' : 'invalid'; throw new Error(t); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function ru(t, e, n) { var i = an(), r = yn(); if (Tl(i, r, e)) { var o = sn(), a = Ln(); Oa(o, a, i, t, e, i[11], n, !1), ngDevMode && ns(o.data, a, t, r); } return ru; } function ou(t, e, n, i, r) { var o = r ? 'class' : 'style'; cs(t, n, e.inputs[o], o, i); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function au(t, e, n, i, r, o, a) { ngDevMode && De(e), ngDevMode && ngDevMode.firstCreatePass++; var s = e.consts, c = Qe(s, o), l = fa(e, n[6], t, 3, r, c), u = Da(e, n, l, Qe(s, a)); return ( ngDevMode && (function (t, e, n, i, r) { if (null === t.schemas) return; var o = i.tagName; if (!r && null !== o) { if ( (('undefined' != typeof HTMLUnknownElement && HTMLUnknownElement && n instanceof HTMLUnknownElement) || ('undefined' != typeof customElements && o.indexOf('-') > -1 && !customElements.get(o))) && !Ia(t, 0, o) ) { var a = "'" + o + "' is not a known element:\n"; (a += "1. If '" + o + "' is an Angular component, then verify that it is part of this module.\n"), o && o.indexOf('-') > -1 ? (a += "2. If '" + o + "' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.") : (a += "2. To allow any element add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component."), console.warn(a); } } })( /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ e, 0, i, l, u ), null !== l.attrs && vl(l, l.attrs, !1), null !== l.mergedAttrs && vl(l, l.mergedAttrs, !0), null !== e.queries && e.queries.elementStart(e, l), l ); } function su(t, e, n, i) { var r = an(), o = sn(), a = 20 + t; ngDevMode && Rt(gn(), o.bindingStartIndex, 'elements should be created before any bindings'), ngDevMode && ngDevMode.rendererCreateElement++, ngDevMode && Ht(r, a); var s = r[11], c = (r[a] = pa(e, s, en.lFrame.currentNamespace)), l = o.firstCreatePass ? au(t, o, r, c, e, n, i) : o.data[a]; un(l, !0); var u = l.mergedAttrs; null !== u && Zn(s, c, u); var d = l.classes; null !== d && Ls(s, c, d); var p = l.styles; null !== p && Rs(s, c, p), Ts(o, r, c, l), 0 === en.lFrame.elementDepthCount && Kr(c, r), en.lFrame.elementDepthCount++, Ee(l) && (wa(o, r, l), ba(o, l, r)), null !== i && Sa(r, l); } function cu() { var t = ln(); ngDevMode && Bt(t, 'No parent node to close.'), dn() ? pn() : (ngDevMode && _e(ln()), un((t = t.parent), !1)); var e = t; ngDevMode && Xn(e, 3), en.lFrame.elementDepthCount--; var n = sn(); n.firstCreatePass && (Un(n, t), xe(t) && n.queries.elementEnd(t)), null != e.classesWithoutHost && (function (t) { return 0 != (16 & t.flags); })(e) && ou(n, e, an(), e.classesWithoutHost, !0), null != e.stylesWithoutHost && (function (t) { return 0 != (32 & t.flags); })( /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ e ) && ou(n, e, an(), e.stylesWithoutHost, !1); } function lu(t, e, n, i) { su(t, e, n, i), cu(); } function uu(t, e, n) { var i = an(), r = sn(), o = t + 20; ngDevMode && Ht(i, o), ngDevMode && Rt(gn(), r.bindingStartIndex, 'element containers should be created before any bindings'); var a = r.firstCreatePass ? (function (t, e, n, i, r) { ngDevMode && ngDevMode.firstCreatePass++; var o = e.consts, a = Qe(o, i), s = fa(e, n[6], t, 4, 'ng-container', a); return null !== a && vl(s, a, !0), Da(e, n, s, Qe(o, r)), null !== e.queries && e.queries.elementStart(e, s), s; })(t, r, i, e, n) : r.data[o]; un(a, !0), ngDevMode && ngDevMode.rendererCreateComment++; var s = (i[o] = i[11].createComment(ngDevMode ? 'ng-container' : '')); Ts(r, i, s, a), Kr(s, i), Ee(a) && (wa(r, i, a), ba(r, a, i)), null != n && Sa(i, a); } function du() { var t = ln(), e = sn(); dn() ? pn() : (ngDevMode && _e(t), un((t = t.parent), !1)), ngDevMode && Xn(t, 4), e.firstCreatePass && (Un(e, t), xe(t) && e.queries.elementEnd(t)); } function pu(t, e, n) { uu(t, e, n), du(); } function hu() { return an(); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function fu(t) { return !!t && 'function' == typeof t.then; } function mu(t) { return !!t && 'function' == typeof t.subscribe; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function gu(t, e, n, i) { void 0 === n && (n = !1); var r = an(), o = sn(), a = ln(); return yu(o, r, r[11], a, t, e, n, i), gu; } function vu(t, e, n, i) { void 0 === n && (n = !1); var r = ln(), o = an(), a = sn(); return yu(a, o, as(xn(a.data), r, o), r, t, e, n, i), vu; } function yu(t, e, n, i, r, o, a, s) { void 0 === a && (a = !1); var c = Ee(i), l = t.firstCreatePass && (t.cleanup || (t.cleanup = [])), u = rs(e); ngDevMode && Yn(i, 3, 0, 4); var d = !0; if (3 === i.type) { var p = Ge(i, e), h = s ? s(p) : ne, f = h.target || p, m = u.length, g = s ? function (t) { return s(Be(t[i.index])).target; } : i.index; if (Fe(n)) { var v = null; if ( (!s && c && (v = (function (t, e, n, i) { var r = t.cleanup; if (null != r) for (var o = 0; o < r.length - 1; o += 2) { var a = r[o]; if (a === n && r[o + 1] === i) { var s = e[7], c = r[o + 2]; return s.length > c ? s[c] : null; } 'string' == typeof a && (o += 2); } return null; })(t, e, r, i.index)), null !== v) ) { ((v.__ngLastListenerFn__ || v).__ngNextListenerFn__ = o), (v.__ngLastListenerFn__ = o), (d = !1); } else { o = wu(i, e, o, !1); var y = n.listen(h.name || f, r, o); ngDevMode && ngDevMode.rendererAddEventListener++, u.push(o, y), l && l.push(r, g, m, m + 1); } } else (o = wu(i, e, o, !0)), f.addEventListener(r, o, a), ngDevMode && ngDevMode.rendererAddEventListener++, u.push(o), l && l.push(r, g, m, a); } var b, w = i.outputs; if (d && null !== w && (b = w[r])) { var S = b.length; if (S) for (var x = 0; x < S; x += 2) { var M = b[x]; ngDevMode && Ht(e, M); var E = b[x + 1], C = e[M], A = C[E]; if (ngDevMode && !mu(A)) throw new Error('@Output ' + E + " not initialized in '" + C.constructor.name + "'."); var T = A.subscribe(o), O = u.length; u.push(o, T), l && l.push(r, i.index, O, -(O + 1)); } } } function bu(t, e, n) { try { return !1 !== e(n); } catch (e) { return ss(t, e), !1; } } function wu(t, e, n, i) { return function r(o) { if (o === Function) return n; var a = 2 & t.flags ? Xe(t.index, e) : e; 0 == (32 & e[2]) && Ja(a); for (var s = bu(e, n, o), c = r.__ngNextListenerFn__; c; ) (s = bu(e, c, o) && s), (c = c.__ngNextListenerFn__); return i && !1 === s && (o.preventDefault(), (o.returnValue = !1)), s; }; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Su(t) { return void 0 === t && (t = 1), kn(t); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function xu(t, e) { for ( var n = null, i = (function (t) { var e = t.attrs; if (null != e) { var n = e.indexOf(5); if (0 == (1 & n)) return e[n + 1]; } return null; })(t), r = 0; r < e.length; r++ ) { var o = e[r]; if ('*' !== o) { if (null === i ? uo(t, o, !0) : po(i, o)) return r; } else n = r; } return n; } function Mu(t) { var e = an()[16][6]; if (!e.projection) for (var n = t ? t.length : 1, i = (e.projection = Zt(n, null)), r = i.slice(), o = e.child; null !== o; ) { var a = t ? xu(o, t) : 0; null !== a && (r[a] ? (r[a].projectionNext = o) : (i[a] = o), (r[a] = o)), (o = o.next); } } var Eu = !1; function Cu(t) { Eu = t; } function Au(t, e, n) { void 0 === e && (e = 0); var i = an(), r = sn(), o = fa(r, i[6], t, 1, null, n || null); null === o.projection && (o.projection = e), pn(), Eu || ks(r, i, o); } function Tu(t, e, n) { return Ou(t, '', e, '', n), Tu; } function Ou(t, e, n, i, r) { var o = an(), a = Dl(o, e, n, i); if (a !== mo) { var s = sn(), c = Ln(); Oa(s, c, o, t, a, o[11], r, !1), ngDevMode && ns(s.data, c, t, gn() - 1, e, i); } return Ou; } function _u(t, e, n, i, r, o, a) { var s = an(), c = Rl(s, e, n, i, r, o); if (c !== mo) { var l = sn(), u = Ln(); Oa(l, u, s, t, c, s[11], a, !1), ngDevMode && ns(l.data, u, t, gn() - 2, e, i, o); } return _u; } function Pu(t, e, n, i, r, o, a, s, c) { var l = an(), u = Ll(l, e, n, i, r, o, a, s); if (u !== mo) { var d = sn(), p = Ln(); Oa(d, p, l, t, u, l[11], c, !1), ngDevMode && ns(d.data, p, t, gn() - 3, e, i, o, s); } return Pu; } function Iu(t, e, n, i, r, o, a, s, c, l, u) { var d = an(), p = Nl(d, e, n, i, r, o, a, s, c, l); if (p !== mo) { var h = sn(), f = Ln(); Oa(h, f, d, t, p, d[11], u, !1), ngDevMode && ns(h.data, f, t, gn() - 4, e, i, o, s, l); } return Iu; } function ku(t, e, n, i, r, o, a, s, c, l, u, d, p) { var h = an(), f = jl(h, e, n, i, r, o, a, s, c, l, u, d); if (f !== mo) { var m = sn(), g = Ln(); Oa(m, g, h, t, f, h[11], p, !1), ngDevMode && ns(m.data, g, t, gn() - 5, e, i, o, s, l, d); } return ku; } function Du(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f) { var m = an(), g = Vl(m, e, n, i, r, o, a, s, c, l, u, d, p, h); if (g !== mo) { var v = sn(), y = Ln(); Oa(v, y, m, t, g, m[11], f, !1), ngDevMode && ns(v.data, y, t, gn() - 6, e, i, o, s, l, d, h); } return Du; } function Ru(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g) { var v = an(), y = Fl(v, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m); if (y !== mo) { var b = sn(), w = Ln(); Oa(b, w, v, t, y, v[11], g, !1), ngDevMode && ns(b.data, w, t, gn() - 7, e, i, o, s, l, d, h, m); } return Ru; } function Lu(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g, v, y) { var b = an(), w = Ul(b, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g, v); if (w !== mo) { var S = sn(), x = Ln(); Oa(S, x, b, t, w, b[11], y, !1), ngDevMode && ns(S.data, x, t, gn() - 8, e, i, o, s, l, d, h, m, v); } return Lu; } function Nu(t, e, n) { var r = an(), o = kl(r, e); if (o !== mo) { var a = sn(), s = Ln(); if ((Oa(a, s, r, t, o, r[11], n, !1), ngDevMode)) { for (var c = [e[0]], l = 2; l < e.length; l += 2) c.push(e[l]); ns.apply(void 0, Object(i.h)([a.data, s, t, gn() - c.length + 1], c)); } } return Nu; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var ju = []; function Vu(t, e, n, i, r, o) { ngDevMode && Re(sn()); var a = o ? e.classBindings : e.styleBindings, s = Oo(a), c = Io(a); t[i] = n; var l, u, d, p = !1; if (Array.isArray(n)) { var h = n; (null === (l = h[1]) || $t(h, l) > 0) && (p = !0); } else l = n; if (r) if (0 !== c) { var f = Oo(t[s + 1]); (t[i + 1] = To(f, s)), 0 !== f && (t[f + 1] = ko(t[f + 1], i)), (t[s + 1] = ((u = t[s + 1]), (d = i), ngDevMode && It(u, 'expected number'), ngDevMode && kt(d, 0, 32767), (131071 & u) | (d << 17))); } else (t[i + 1] = To(s, 0)), 0 !== s && (t[s + 1] = ko(t[s + 1], i)), (s = i); else (t[i + 1] = To(c, 0)), ngDevMode && Rt(0 !== s && 0 === c, !1, 'Adding template bindings after hostBindings is not allowed.'), 0 === s ? (s = i) : (t[c + 1] = ko(t[c + 1], i)), (c = i); p && (t[i + 1] = Po(t[i + 1])), Fu(t, l, i, !0, o), Fu(t, l, i, !1, o), (function (t, e, n, i, r) { var o = r ? t.residualClasses : t.residualStyles; null != o && 'string' == typeof e && $t(o, e) >= 0 && (n[i + 1] = Ro(n[i + 1])); })(e, l, t, i, o), (a = To(s, c)), o ? (e.classBindings = a) : (e.styleBindings = a); } function Fu(t, e, n, i, r) { for (var o = t[n + 1], a = null === e, s = i ? Oo(o) : Io(o), c = !1; 0 !== s && (!1 === c || a); ) { ngDevMode && Ht(t, s); var l = t[s], u = t[s + 1]; Uu(l, e) && ((c = !0), (t[s + 1] = i ? Ro(u) : Po(u))), (s = i ? Oo(u) : Io(u)); } c && (t[n + 1] = i ? Po(o) : Ro(o)); } function Uu(t, e) { return ( ngDevMode && Lt(Array.isArray(e), !0, "Expected that 'tStylingKey' has been unwrapped"), null === t || null == e || (Array.isArray(t) ? t[1] : t) === e || (!(!Array.isArray(t) || 'string' != typeof e) && $t(t, e) >= 0) ); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ ('undefined' == typeof ngDevMode || ngDevMode) && at() && (Object.freeze({}), Object.freeze(ju)) /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */; var Bu = { textEnd: 0, key: 0, keyEnd: 0, value: 0, valueEnd: 0, }; function zu(t) { return t.substring(Bu.key, Bu.keyEnd); } function Gu(t) { return t.substring(Bu.value, Bu.valueEnd); } function Hu(t, e) { var n = Bu.textEnd; return n === e ? -1 : ((e = Bu.keyEnd = (function (t, e, n) { for (; e < n && t.charCodeAt(e) > 32; ) e++; return e; })(t, (Bu.key = e), n)), Xu(t, e, n)); } function Wu(t, e) { var n = Bu.textEnd, i = (Bu.key = Xu(t, e, n)); return n === i ? -1 : ((i = Bu.keyEnd = (function (t, e, n) { var i; for (; e < n && (45 === (i = t.charCodeAt(e)) || 95 === i || ((-33 & i) >= 65 && (-33 & i) <= 90)); ) e++; return e; })(t, i, n)), (i = Yu(t, i, n, 58)), (i = Bu.value = Xu(t, i, n)), (i = Bu.valueEnd = (function (t, e, n) { var i = -1, r = -1, o = -1, a = e, s = a; for (; a < n; ) { var c = t.charCodeAt(a++); if (59 === c) return s; 34 === c || 39 === c ? (s = a = Ku(t, c, a, n)) : e === a - 4 && 85 === o && 82 === r && 76 === i && 40 === c ? (s = a = Ku(t, 41, a, n)) : c > 32 && (s = a), (o = r), (r = i), (i = -33 & c); } return s; })(t, i, n)), Yu(t, i, n, 59)); } function qu(t) { (Bu.key = 0), (Bu.keyEnd = 0), (Bu.value = 0), (Bu.valueEnd = 0), (Bu.textEnd = t.length); } function Xu(t, e, n) { for (; e < n && t.charCodeAt(e) <= 32; ) e++; return e; } function Yu(t, e, n, i) { return (e = Xu(t, e, n)) < n && (ngDevMode && t.charCodeAt(e) !== i && Zu(t, String.fromCharCode(i), e), e++), e; } function Ku(t, e, n, i) { for (var r = -1, o = n; o < i; ) { var a = t.charCodeAt(o++); if (a == e && 92 !== r) return o; r = 92 == a && 92 === r ? 0 : a; } throw ngDevMode ? Zu(t, String.fromCharCode(e), i) : new Error(); } function Zu(t, e, n) { throw ( (ngDevMode && Rt('string' == typeof t, !0, 'String expected here'), zt('Malformed style at location ' + n + " in string '" + t.substring(0, n) + '[>>' + t.substring(n, n + 1) + '<<]' + t.substr(n + 1) + "'. Expecting '" + e + "'.")) ); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Ju(t) { Fn(t); } function Qu(t, e, n) { return rd(t, e, n, !1), Qu; } function $u(t, e) { return rd(t, e, null, !0), $u; } function td(t) { od(ud, ed, t, !1); } function ed(t, e) { for ( var n = (function (t) { return qu(t), Wu(t, Xu(t, 0, Bu.textEnd)); })(e); n >= 0; n = Wu(e, n) ) ud(t, zu(e), Gu(e)); } function nd(t) { od(Jt, id, t, !0); } function id(t, e) { for ( var n = (function (t) { return qu(t), Hu(t, Xu(t, 0, Bu.textEnd)); })(e); n >= 0; n = Hu(e, n) ) Jt(t, zu(e), !0); } function rd(t, e, n, i) { var r, o = an(), a = sn(), s = bn(2); if ((a.firstUpdatePass && sd(a, t, s, i), e !== mo && Tl(o, s, e))) { var c = void 0; null == n && (c = null === (r = en.lFrame) ? null : r.currentSanitizer) && (n = c), dd( a, a.data[Dn() + 20], o, o[11], t, (o[s + 1] = (function (t, e) { null == t || ('function' == typeof e ? (t = e(t)) : 'string' == typeof e ? (t += e) : 'object' == typeof t && (t = F(Gi(t)))); return t; })(e, n)), i, s ); } } function od(t, e, n, i) { var r = sn(), o = bn(2); r.firstUpdatePass && sd(r, null, o, i); var a = an(); if (n !== mo && Tl(a, o, n)) { var s = r.data[Dn() + 20]; if (fd(s, i) && !ad(r, o)) { if (ngDevMode) { var c = r.data[o]; Rt(Array.isArray(c) ? c[1] : c, !1, "Styling linked list shadow input should be marked as 'false'"); } var l = i ? s.classesWithoutHost : s.stylesWithoutHost; ngDevMode && !1 === i && null !== l && Rt(l.endsWith(';'), !0, "Expecting static portion to end with ';'"), null !== l && (n = U(l, n || '')), ou(r, s, a, n, i); } else !(function (t, e, n, i, r, o, a, s) { r === mo && (r = ju); var c = 0, l = 0, u = 0 < r.length ? r[0] : null, d = 0 < o.length ? o[0] : null; for (; null !== u || null !== d; ) { ngDevMode && Vt(c, 999, 'Are we stuck in infinite loop?'), ngDevMode && Vt(l, 999, 'Are we stuck in infinite loop?'); var p = c < r.length ? r[c + 1] : void 0, h = l < o.length ? o[l + 1] : void 0, f = null, m = void 0; u === d ? ((c += 2), (l += 2), p !== h && ((f = d), (m = h))) : null === d || (null !== u && u < d) ? ((c += 2), (f = u)) : (ngDevMode && Bt(d, 'Expecting to have a valid key'), (l += 2), (f = d), (m = h)), null !== f && dd(t, e, n, i, f, m, a, s), (u = c < r.length ? r[c] : null), (d = l < o.length ? o[l] : null); } })( r, s, a, a[11], a[o + 1], (a[o + 1] = (function (t, e, n) { if (null == n || '' === n) return ju; var i = [], r = Gi(n); if (Array.isArray(r)) for (var o = 0; o < r.length; o++) t(i, r[o], !0); else if ('object' == typeof r) for (var a in r) r.hasOwnProperty(a) && t(i, a, r[a]); else 'string' == typeof r ? e(i, r) : ngDevMode && zt('Unsupported styling type ' + typeof r + ': ' + r); return i; })(t, e, n)), i, o ); } } function ad(t, e) { return e >= t.expandoStartIndex; } function sd(t, e, n, i) { ngDevMode && Re(t); var r = t.data; if (null === r[n + 1]) { var o = r[Dn() + 20], a = ad(t, n); fd(o, i) && null === e && !a && (e = !1), (e = (function (t, e, n, i) { var r = xn(t), o = i ? e.residualClasses : e.residualStyles; if (null === r) { 0 === (i ? e.classBindings : e.styleBindings) && ((n = ld((n = cd(null, t, e, n, i)), e.attrs, i)), (o = null)); } else { var a = e.directiveStylingLast; if (-1 === a || t[a] !== r) if (((n = cd(r, t, e, n, i)), null === o)) { var s = (function (t, e, n) { var i = n ? e.classBindings : e.styleBindings; if (0 === Io(i)) return; return t[Oo(i)]; })(t, e, i); void 0 !== s && Array.isArray(s) && ((s = ld((s = cd(null, t, e, s[1], i)), e.attrs, i)), (function (t, e, n, i) { var r = n ? e.classBindings : e.styleBindings; ngDevMode && Lt(Io(r), 0, 'Expecting to have at least one template styling binding.'), (t[Oo(r)] = i); })(t, e, i, s)); } else o = (function (t, e, n) { var i = void 0, r = e.directiveEnd; ngDevMode && Lt(e.directiveStylingLast, -1, 'By the time this function gets called at least one hostBindings-node styling instruction must have executed.'); for (var o = 1 + e.directiveStylingLast; o < r; o++) { var a = t[o].hostAttrs; i = ld(i, a, n); } return ld(i, e.attrs, n); })(t, e, i); } void 0 !== o && (i ? (e.residualClasses = o) : (e.residualStyles = o)); return n; })(r, o, e, i)), Vu(r, o, e, n, a, i); } } function cd(t, e, n, i, r) { var o = null, a = n.directiveEnd, s = n.directiveStylingLast; for (-1 === s ? (s = n.directiveStart) : s++; s < a && ((o = e[s]), ngDevMode && Bt(o, 'expected to be defined'), (i = ld(i, o.hostAttrs, r)), o !== t); ) s++; return null !== t && (n.directiveStylingLast = s), i; } function ld(t, e, n) { var i = n ? 1 : 2, r = -1; if (null !== e) for (var o = 0; o < e.length; o++) { var a = e[o]; 'number' == typeof a ? (r = a) : r === i && (Array.isArray(t) || (t = void 0 === t ? [] : ['', t]), Jt(t, a, !!n || e[++o])); } return void 0 === t ? null : t; } function ud(t, e, n) { Ur(e) && (n = Dr(n)), Jt(t, e, n); } function dd(t, e, n, i, r, o, a, s) { if (3 === e.type) { var c = t.data, l = c[s + 1]; if (!hd(Do(l) ? pd(c, e, n, r, Io(l), a) : void 0)) hd(o) || (_o(l) && (o = pd(c, null, n, r, s, a))), (function (t, e, n, i, r) { var o = Fe(t); if (e) r ? (ngDevMode && ngDevMode.rendererAddClass++, o ? t.addClass(n, i) : (ngDevMode && Bt(n.classList, 'HTMLElement expected'), n.classList.add(i))) : (ngDevMode && ngDevMode.rendererRemoveClass++, o ? t.removeClass(n, i) : n.classList.remove(i)); else { var a = -1 == i.indexOf('-') ? void 0 : 2; null == r ? (ngDevMode && ngDevMode.rendererRemoveStyle++, o ? t.removeStyle(n, i, a) : n.style.removeProperty(i)) : (ngDevMode && ngDevMode.rendererSetStyle++, o ? t.setStyle(n, i, r, a) : (ngDevMode && Bt(n.style, 'HTMLElement expected'), n.style.setProperty(i, r))); } })(i, a, ze(Dn(), n), r, o); } } function pd(t, e, n, i, r, o) { for (var a = null === e, s = void 0; r > 0; ) { var c = t[r], l = Array.isArray(c), u = l ? c[1] : c, d = null === u, p = n[r + 1]; p === mo && (p = d ? ju : void 0); var h = d ? Qt(p, i) : u === i ? p : void 0; if ((l && !hd(h) && (h = Qt(c, i)), hd(h) && ((s = h), a))) return s; var f = t[r + 1]; r = a ? Oo(f) : Io(f); } if (null !== e) { var m = o ? e.residualClasses : e.residualStyles; null != m && (s = Qt(m, i)); } return s; } function hd(t) { return void 0 !== t; } function fd(t, e) { return 0 != (t.flags & (e ? 16 : 32)); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function md(t, e) { void 0 === e && (e = ''); var n = an(), i = sn(), r = t + 20; ngDevMode && Rt(gn(), i.bindingStartIndex, 'text nodes should be created before any bindings'), ngDevMode && Ht(n, r); var o = i.firstCreatePass ? fa(i, n[6], t, 3, null, null) : i.data[r], a = (n[r] = hs(e, n[11])); Ts(i, n, a, o), un(o, !1); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function gd(t) { return vd('', t, ''), gd; } function vd(t, e, n) { var i = an(), r = Dl(i, t, e, n); return r !== mo && ls(i, Dn(), r), vd; } function yd(t, e, n, i, r) { var o = an(), a = Rl(o, t, e, n, i, r); return a !== mo && ls(o, Dn(), a), yd; } function bd(t, e, n, i, r, o, a) { var s = an(), c = Ll(s, t, e, n, i, r, o, a); return c !== mo && ls(s, Dn(), c), bd; } function wd(t, e, n, i, r, o, a, s, c) { var l = an(), u = Nl(l, t, e, n, i, r, o, a, s, c); return u !== mo && ls(l, Dn(), u), wd; } function Sd(t, e, n, i, r, o, a, s, c, l, u) { var d = an(), p = jl(d, t, e, n, i, r, o, a, s, c, l, u); return p !== mo && ls(d, Dn(), p), Sd; } function xd(t, e, n, i, r, o, a, s, c, l, u, d, p) { var h = an(), f = Vl(h, t, e, n, i, r, o, a, s, c, l, u, d, p); return f !== mo && ls(h, Dn(), f), xd; } function Md(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f) { var m = an(), g = Fl(m, t, e, n, i, r, o, a, s, c, l, u, d, p, h, f); return g !== mo && ls(m, Dn(), g), Md; } function Ed(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g) { var v = an(), y = Ul(v, t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g); return y !== mo && ls(v, Dn(), y), Ed; } function Cd(t) { var e = an(), n = kl(e, t); return n !== mo && ls(e, Dn(), n), Cd; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Ad(t, e, n) { od(Jt, id, Dl(an(), t, e, n), !0); } function Td(t, e, n, i, r) { od(Jt, id, Rl(an(), t, e, n, i, r), !0); } function Od(t, e, n, i, r, o, a) { od(Jt, id, Ll(an(), t, e, n, i, r, o, a), !0); } function _d(t, e, n, i, r, o, a, s, c) { od(Jt, id, Nl(an(), t, e, n, i, r, o, a, s, c), !0); } function Pd(t, e, n, i, r, o, a, s, c, l, u) { od(Jt, id, jl(an(), t, e, n, i, r, o, a, s, c, l, u), !0); } function Id(t, e, n, i, r, o, a, s, c, l, u, d, p) { od(Jt, id, Vl(an(), t, e, n, i, r, o, a, s, c, l, u, d, p), !0); } function kd(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f) { od(Jt, id, Fl(an(), t, e, n, i, r, o, a, s, c, l, u, d, p, h, f), !0); } function Dd(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g) { od(Jt, id, Ul(an(), t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g), !0); } function Rd(t) { od(Jt, id, kl(an(), t), !0); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Ld(t, e, n) { td(Dl(an(), t, e, n)); } function Nd(t, e, n, i, r) { td(Rl(an(), t, e, n, i, r)); } function jd(t, e, n, i, r, o, a) { td(Ll(an(), t, e, n, i, r, o, a)); } function Vd(t, e, n, i, r, o, a, s, c) { td(Nl(an(), t, e, n, i, r, o, a, s, c)); } function Fd(t, e, n, i, r, o, a, s, c, l, u) { td(jl(an(), t, e, n, i, r, o, a, s, c, l, u)); } function Ud(t, e, n, i, r, o, a, s, c, l, u, d, p) { td(Vl(an(), t, e, n, i, r, o, a, s, c, l, u, d, p)); } function Bd(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f) { td(Fl(an(), t, e, n, i, r, o, a, s, c, l, u, d, p, h, f)); } function zd(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g) { td(Ul(an(), t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g)); } function Gd(t) { td(kl(an(), t)); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Hd(t, e, n, i, r) { return rd(t, Dl(an(), e, n, i), r, !1), Hd; } function Wd(t, e, n, i, r, o, a) { return rd(t, Rl(an(), e, n, i, r, o), a, !1), Wd; } function qd(t, e, n, i, r, o, a, s, c) { return rd(t, Ll(an(), e, n, i, r, o, a, s), c, !1), qd; } function Xd(t, e, n, i, r, o, a, s, c, l, u) { return rd(t, Nl(an(), e, n, i, r, o, a, s, c, l), u, !1), Xd; } function Yd(t, e, n, i, r, o, a, s, c, l, u, d, p) { return rd(t, jl(an(), e, n, i, r, o, a, s, c, l, u, d), p, !1), Yd; } function Kd(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f) { return rd(t, Vl(an(), e, n, i, r, o, a, s, c, l, u, d, p, h), f, !1), Kd; } function Zd(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g) { return rd(t, Fl(an(), e, n, i, r, o, a, s, c, l, u, d, p, h, f, m), g, !1), Zd; } function Jd(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g, v, y) { return rd(t, Ul(an(), e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g, v), y, !1), Jd; } function Qd(t, e, n) { return rd(t, kl(an(), e), n, !1), Qd; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function $d(t, e, n) { var i = an(), r = yn(); if (Tl(i, r, e)) { var o = sn(), a = Ln(); Oa(o, a, i, t, e, i[11], n, !0), ngDevMode && ns(o.data, a, t, r); } return $d; } function tp(t, e, n) { var i = an(), r = yn(); if (Tl(i, r, e)) { var o = sn(), a = Ln(); Oa(o, a, i, t, e, as(xn(o.data), a, i), n, !0), ngDevMode && ns(o.data, a, t, r); } return tp; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function ep(t) { dp(t); var e, n, i, r, o = sp(t, !1); return null === o ? null : (void 0 === o.component && (o.component = ((e = o.nodeIndex), (n = o.lView), (i = n[1].data[e]), (r = i.directiveStart), 2 & i.flags ? n[r] : null)), o.component); } function np(t) { dp(t); var e = sp(t, !1); return null === e ? null : e.lView[8]; } function ip(t) { var e = sp(t, !1); if (null === e) return null; var n, i = e.lView; for (ngDevMode && ke(i); null === i[0] && (n = go(i)); ) i = n; return 512 & i[2] ? null : i[8]; } function rp(t) { return Object(i.h)(yo(t).components); } function op(t) { var e = sp(t, !1); if (null === e) return Pc.NULL; var n = e.lView[1].data[e.nodeIndex]; return new Oi(n, e.lView); } function ap(t) { var e = sp(t); return void 0 === e.directives && (e.directives = $r(e.nodeIndex, e.lView, !1)), null === e.directives ? [] : Object(i.h)(e.directives); } function sp(t, e) { void 0 === e && (e = !0); var n = qr(t); if (!n && e) throw new Error(ngDevMode ? 'Unable to find context associated with ' + ai(t) : 'Invalid ng target'); return n; } function cp(t) { return qr(t).native; } function lp(t) { dp(t); var e = sp(t, !1); if (null === e) return []; var n = e.lView, i = n[1], r = n[7], o = i.cleanup, a = []; if (o && r) for (var s = 0; s < o.length; ) { var c = o[s++], l = o[s++]; if ('string' == typeof c) { var u = c, d = Be(n[l]), p = r[o[s++]], h = o[s++], f = 'boolean' == typeof h || h >= 0 ? 'dom' : 'output', m = 'boolean' == typeof h && h; t == d && a.push({ element: t, name: u, callback: p, useCapture: m, type: f, }); } } return a.sort(up), a; } function up(t, e) { return t.name == e.name ? 0 : t.name < e.name ? -1 : 1; } function dp(t) { if ('undefined' != typeof Element && !(t instanceof Element)) throw new Error('Expecting instance of DOM Element'); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function pp(t) { Jl(t), rp(t).forEach(function (t) { return Zl(t); }); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var hp = !1; function fp() { hp || ((hp = !0), mp('getComponent', ep), mp('getContext', np), mp('getListeners', lp), mp('getOwningComponent', ip), mp('getHostElement', cp), mp('getInjector', op), mp('getRootComponents', rp), mp('getDirectives', ap), mp('applyChanges', pp)); } function mp(t, e) { if ('undefined' == typeof COMPILED || !COMPILED) { var n = J; if ((ngDevMode && Bt(e, 'function not defined'), n)) { var i = n.ng; i || (i = n.ng = {}), (i[t] = e); } } } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function gp(t, e) { void 0 === e && (e = {}), ngDevMode && fp(), ngDevMode && Oe(t); var n = e.rendererFactory || Ue, i = e.sanitizer || null, r = me(t); r.type != t && (r.type = t); var o, a = r.selectors[0][0], s = Ca(n.createRenderer(null, null), e.host || a, r.encapsulation), c = r.onPush ? 576 : 528, l = bp(e.scheduler, e.playerHandler), u = n.createRenderer(s, r), d = Ma(0, -1, null, 1, 0, null, null, null, null, null), p = ha(null, d, l, c, null, null, n, u, void 0, e.injector || null); An(p, null); try { n.begin && n.begin(), (o = yp(vp(s, r, p, n, u, i), r, p, l, e.hostFeatures || null)), ma(d, p, null), ga(d, p, null, null); } finally { In(), n.end && n.end(); } return o; } function vp(t, e, n, i, r, o) { var a = n[1]; ngDevMode && Ht(n, 20), (n[20] = t); var s = fa(a, null, 0, 3, null, null), c = (s.mergedAttrs = e.hostAttrs); null !== c && (vl(s, c, !0), null !== t && (Zn(r, t, c), null !== s.classes && Ls(r, t, s.classes), null !== s.styles && Rs(r, t, s.styles))); var l = i.createRenderer(t, e), u = ha(n, xa(e), null, e.onPush ? 64 : 16, n[20], s, i, l, o); return a.firstCreatePass && (bi(mi(s, n), a, e.type), Va(a, s), Ua(s, n.length, 1)), Za(n, u), (n[20] = u); } function yp(t, e, n, i, r) { var o = n[1], a = (function (t, e, n) { var i = ln(); t.firstCreatePass && (n.providersResolver && n.providersResolver(n), ja(t, i, 1), Ba(t, e, n)); var r = Ci(e, t, e.length - 1, i); Kr(r, e); var o = Ge(i, e); return o && Kr(o, e), r; })(o, n, e); i.components.push(a), (t[8] = a), r && r.forEach(function (t) { return t(a, e); }), e.contentQueries && e.contentQueries(1, a, n.length - 1); var s = ln(); if (o.firstCreatePass && (null !== e.hostBindings || null !== e.hostAttrs)) { Rn(s.index - 20); var c = n[1]; Ra(c, e), La(c, n, e.hostVars), Na(e, a); } return a; } function bp(t, e) { return { components: [], scheduler: t || si, clean: is, playerHandler: e || null, flags: 0, }; } function wp(t, e) { var n = Ke(t)[1], i = n.data.length - 1; Un(n, { directiveStart: i, directiveEnd: i + 1, }); } function Sp(t) { return yo(t).clean; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function xp(t) { return Object.getPrototypeOf(t.prototype).constructor; } function Mp(t) { for (var e = xp(t.type), n = !0, i = [t]; e; ) { var r = void 0; if (Ce(t)) r = e.ɵcmp || e.ɵdir; else { if (e.ɵcmp) throw new Error('Directives cannot inherit Components'); r = e.ɵdir; } if (r) { if (n) { i.push(r); var o = t; (o.inputs = Ep(t.inputs)), (o.declaredInputs = Ep(t.declaredInputs)), (o.outputs = Ep(t.outputs)); var a = r.hostBindings; a && Tp(t, a); var s = r.viewQuery, c = r.contentQueries; if ((s && Cp(t, s), c && Ap(t, c), T(t.inputs, r.inputs), T(t.declaredInputs, r.declaredInputs), T(t.outputs, r.outputs), Ce(r) && r.data.animation)) { var l = t.data; l.animation = (l.animation || []).concat(r.data.animation); } (o.afterContentChecked = o.afterContentChecked || r.afterContentChecked), (o.afterContentInit = t.afterContentInit || r.afterContentInit), (o.afterViewChecked = t.afterViewChecked || r.afterViewChecked), (o.afterViewInit = t.afterViewInit || r.afterViewInit), (o.doCheck = t.doCheck || r.doCheck), (o.onDestroy = t.onDestroy || r.onDestroy), (o.onInit = t.onInit || r.onInit); } var u = r.features; if (u) for (var d = 0; d < u.length; d++) { var p = u[d]; p && p.ngInherit && p(t), p === Mp && (n = !1); } } e = Object.getPrototypeOf(e); } !(function (t) { for (var e = 0, n = null, i = t.length - 1; i >= 0; i--) { var r = t[i]; (r.hostVars = e += r.hostVars), (r.hostAttrs = $n(r.hostAttrs, (n = $n(n, r.hostAttrs)))); } })(i); } function Ep(t) { return t === ne ? {} : t === ie ? [] : t; } function Cp(t, e) { var n = t.viewQuery; t.viewQuery = n ? function (t, i) { e(t, i), n(t, i); } : e; } function Ap(t, e) { var n = t.contentQueries; t.contentQueries = n ? function (t, i, r) { e(t, i, r), n(t, i, r); } : e; } function Tp(t, e) { var n = t.hostBindings; t.hostBindings = n ? function (t, i) { e(t, i), n(t, i); } : e; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Op = ['providersResolver'], _p = ['template', 'decls', 'consts', 'vars', 'onPush', 'ngContentSelectors', 'styles', 'encapsulation', 'schemas']; function Pp(t) { var e, n, r, o, a = xp(t.type), s = void 0; s = Ce(t) ? a.ɵcmp : a.ɵdir; var c = t; try { for (var l = Object(i.j)(Op), u = l.next(); !u.done; u = l.next()) { c[(h = u.value)] = s[h]; } } catch (t) { e = { error: t, }; } finally { try { u && !u.done && (n = l.return) && n.call(l); } finally { if (e) throw e.error; } } if (Ce(s)) try { for (var d = Object(i.j)(_p), p = d.next(); !p.done; p = d.next()) { var h; c[(h = p.value)] = s[h]; } } catch (t) { r = { error: t, }; } finally { try { p && !p.done && (o = d.return) && o.call(d); } finally { if (r) throw r.error; } } } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Ip = (function () { function t(t, e, n) { (this.previousValue = t), (this.currentValue = e), (this.firstChange = n); } return ( (t.prototype.isFirstChange = function () { return this.firstChange; }), t ); })(); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function kp(t) { t.type.prototype.ngOnChanges && ((t.setInput = Dp), (t.onChanges = function () { var t = Rp(this), e = t && t.current; if (e) { var n = t.previous; if (n === ne) t.previous = e; else for (var i in e) n[i] = e[i]; (t.current = null), this.ngOnChanges(e); } })); } function Dp(t, e, n, i) { var r = Rp(t) || (function (t, e) { return (t.__ngSimpleChanges__ = e); })( /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ t, { previous: ne, current: null, } ), o = r.current || (r.current = {}), a = r.previous, s = this.declaredInputs[n], c = a[s]; (o[s] = new Ip(c && c.currentValue, e, a === ne)), (t[i] = e); } kp.ngInherit = !0; function Rp(t) { return t.__ngSimpleChanges__ || null; } function Lp(t, e, n, i, r) { if (((t = G(t)), Array.isArray(t))) for (var o = 0; o < t.length; o++) Lp(t[o], e, n, i, r); else { var a = sn(), s = an(), c = Tc(t) ? t : G(t.provide), l = Ec(t), u = ln(), d = 65535 & u.providerIndexes, p = u.directiveStart, h = u.providerIndexes >> 16; if (Tc(t) || !t.multi) { var f = new qn(l, r, eu), m = Vp(c, e, r ? d : d + h, p); -1 === m ? (bi(mi(u, s), a, c), Np(a, t, e.length), e.push(c), u.directiveStart++, u.directiveEnd++, r && (u.providerIndexes += 65536), n.push(f), s.push(f)) : ((n[m] = f), (s[m] = f)); } else { var g = Vp(c, e, d + h, p), v = Vp(c, e, d, d + h), y = g >= 0 && n[g], b = v >= 0 && n[v]; if ((r && !b) || (!r && !y)) { bi(mi(u, s), a, c); f = (function (t, e, n, i, r) { var o = new qn(t, n, eu); return (o.multi = []), (o.index = e), (o.componentProviders = 0), jp(o, r, i && !n), o; })(r ? Up : Fp, n.length, r, i, l); !r && b && (n[v].providerFactory = f), Np(a, t, e.length, 0), e.push(c), u.directiveStart++, u.directiveEnd++, r && (u.providerIndexes += 65536), n.push(f), s.push(f); } else { Np(a, t, g > -1 ? g : v, jp(n[r ? v : g], l, !r && i)); } !r && i && b && n[v].componentProviders++; } } } function Np(t, e, n, i) { var r = Tc(e); if (r || e.useClass) { var o = (e.useClass || e).prototype.ngOnDestroy; if (o) { var a = t.destroyHooks || (t.destroyHooks = []); if (!r && e.multi) { ngDevMode && Bt(i, 'indexInFactory when registering multi factory destroy hook'); var s = a.indexOf(n); -1 === s ? a.push(n, [i, o]) : a[s + 1].push(i, o); } else a.push(n, o); } } } function jp(t, e, n) { return n && t.componentProviders++, t.multi.push(e) - 1; } function Vp(t, e, n, i) { for (var r = n; r < i; r++) if (e[r] === t) return r; return -1; } function Fp(t, e, n, i) { return Bp(this.multi, []); } function Up(t, e, n, i) { var r, o = this.multi; if (this.providerFactory) { var a = this.providerFactory.componentProviders, s = Ci(n, n[1], this.providerFactory.index, i); Bp(o, (r = s.slice(0, a))); for (var c = a; c < s.length; c++) r.push(s[c]); } else Bp(o, (r = [])); return r; } function Bp(t, e) { for (var n = 0; n < t.length; n++) { var i = t[n]; e.push(i()); } return e; } function zp(t, e) { return ( void 0 === e && (e = []), function (n) { n.providersResolver = function (n, i) { return (function (t, e, n) { var i = sn(); if (i.firstCreatePass) { var r = Ce(t); Lp(n, i.data, i.blueprint, r, !0), Lp(e, i.data, i.blueprint, r, !1); } })(n, i ? i(t) : t, e); }; } ); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Gp = function () {}, Hp = function () {}; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Wp(t) { var e = Error('No component factory found for ' + F(t) + '. Did you add it to @NgModule.entryComponents?'); return (e[qp] = t), e; } var qp = 'ngComponent'; var Xp = (function () { function t() {} return ( (t.prototype.resolveComponentFactory = function (t) { throw Wp(t); }), t ); })(), Yp = (function () { function t() {} return (t.NULL = new Xp()), t; })(), Kp = (function () { function t(t, e, n) { (this._parent = e), (this._ngModule = n), (this._factories = new Map()); for (var i = 0; i < t.length; i++) { var r = t[i]; this._factories.set(r.componentType, r); } } return ( (t.prototype.resolveComponentFactory = function (t) { var e = this._factories.get(t); if ((!e && this._parent && (e = this._parent.resolveComponentFactory(t)), !e)) throw Wp(t); return new Zp(e, this._ngModule); }), t ); })(), Zp = (function (t) { function e(e, n) { var i = t.call(this) || this; return ( (i.factory = e), (i.ngModule = n), (i.selector = e.selector), (i.componentType = e.componentType), (i.ngContentSelectors = e.ngContentSelectors), (i.inputs = e.inputs), (i.outputs = e.outputs), i ); } return ( Object(i.c)(e, t), (e.prototype.create = function (t, e, n, i) { return this.factory.create(t, e, n, i || this.ngModule); }), e ); })(Hp); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Jp, Qp = (function () { function t(t) { this.nativeElement = t; } return ( (t.__NG_ELEMENT_ID__ = function () { return th(t); }), t ); })(), $p = function (t) { return Bs(t, ln(), an()); }, th = $p, eh = (new ct('Renderer2Interceptor'), function () {}); !(function (t) { (t[(t.Important = 1)] = 'Important'), (t[(t.DashCase = 2)] = 'DashCase'); })(Jp || (Jp = {})); var nh = (function () { function t() {} return ( (t.__NG_ELEMENT_ID__ = function () { return rh(); }), t ); })(), ih = function () { var t = an(), e = Xe(ln().index, t); return (function (t) { var e = t[11]; if (Fe(e)) return e; throw new Error('Cannot inject Renderer2 when the application uses Renderer3!'); })(we(e) ? e : t); }, rh = ih, oh = (function () { function t() {} return ( (t.ɵprov = O({ token: t, providedIn: 'root', factory: function () { return null; }, })), t ); })(), ah = function (t) { (this.full = t), (this.major = t.split('.')[0]), (this.minor = t.split('.')[1]), (this.patch = t.split('.').slice(2).join('.')); }, sh = new ah('9.1.9'), ch = (function () { function t() {} return ( (t.prototype.supports = function (t) { return Ml(t); }), (t.prototype.create = function (t) { return new uh(t); }), t ); })(), lh = function (t, e) { return e; }, uh = (function () { function t(t) { (this.length = 0), (this._linkedRecords = null), (this._unlinkedRecords = null), (this._previousItHead = null), (this._itHead = null), (this._itTail = null), (this._additionsHead = null), (this._additionsTail = null), (this._movesHead = null), (this._movesTail = null), (this._removalsHead = null), (this._removalsTail = null), (this._identityChangesHead = null), (this._identityChangesTail = null), (this._trackByFn = t || lh); } return ( (t.prototype.forEachItem = function (t) { var e; for (e = this._itHead; null !== e; e = e._next) t(e); }), (t.prototype.forEachOperation = function (t) { for (var e = this._itHead, n = this._removalsHead, i = 0, r = null; e || n; ) { var o = !n || (e && e.currentIndex < fh(n, i, r)) ? e : n, a = fh(o, i, r), s = o.currentIndex; if (o === n) i--, (n = n._nextRemoved); else if (((e = e._next), null == o.previousIndex)) i++; else { r || (r = []); var c = a - i, l = s - i; if (c != l) { for (var u = 0; u < c; u++) { var d = u < r.length ? r[u] : (r[u] = 0), p = d + u; l <= p && p < c && (r[u] = d + 1); } r[o.previousIndex] = l - c; } } a !== s && t(o, a, s); } }), (t.prototype.forEachPreviousItem = function (t) { var e; for (e = this._previousItHead; null !== e; e = e._nextPrevious) t(e); }), (t.prototype.forEachAddedItem = function (t) { var e; for (e = this._additionsHead; null !== e; e = e._nextAdded) t(e); }), (t.prototype.forEachMovedItem = function (t) { var e; for (e = this._movesHead; null !== e; e = e._nextMoved) t(e); }), (t.prototype.forEachRemovedItem = function (t) { var e; for (e = this._removalsHead; null !== e; e = e._nextRemoved) t(e); }), (t.prototype.forEachIdentityChange = function (t) { var e; for (e = this._identityChangesHead; null !== e; e = e._nextIdentityChange) t(e); }), (t.prototype.diff = function (t) { if ((null == t && (t = []), !Ml(t))) throw new Error("Error trying to diff '" + F(t) + "'. Only arrays and iterables are allowed"); return this.check(t) ? this : null; }), (t.prototype.onDestroy = function () {}), (t.prototype.check = function (t) { var e = this; this._reset(); var n, i, r, o = this._itHead, a = !1; if (Array.isArray(t)) { this.length = t.length; for (var s = 0; s < this.length; s++) (i = t[s]), (r = this._trackByFn(s, i)), null !== o && wl(o.trackById, r) ? (a && (o = this._verifyReinsertion(o, i, r, s)), wl(o.item, i) || this._addIdentityChange(o, i)) : ((o = this._mismatch(o, i, r, s)), (a = !0)), (o = o._next); } else (n = 0), (function (t, e) { if (Array.isArray(t)) for (var n = 0; n < t.length; n++) e(t[n]); else for (var i = t[bl()](), r = void 0; !(r = i.next()).done; ) e(r.value); })(t, function (t) { (r = e._trackByFn(n, t)), null !== o && wl(o.trackById, r) ? (a && (o = e._verifyReinsertion(o, t, r, n)), wl(o.item, t) || e._addIdentityChange(o, t)) : ((o = e._mismatch(o, t, r, n)), (a = !0)), (o = o._next), n++; }), (this.length = n); return this._truncate(o), (this.collection = t), this.isDirty; }), Object.defineProperty(t.prototype, 'isDirty', { get: function () { return null !== this._additionsHead || null !== this._movesHead || null !== this._removalsHead || null !== this._identityChangesHead; }, enumerable: !0, configurable: !0, }), (t.prototype._reset = function () { if (this.isDirty) { var t = void 0, e = void 0; for (t = this._previousItHead = this._itHead; null !== t; t = t._next) t._nextPrevious = t._next; for (t = this._additionsHead; null !== t; t = t._nextAdded) t.previousIndex = t.currentIndex; for (this._additionsHead = this._additionsTail = null, t = this._movesHead; null !== t; t = e) (t.previousIndex = t.currentIndex), (e = t._nextMoved); (this._movesHead = this._movesTail = null), (this._removalsHead = this._removalsTail = null), (this._identityChangesHead = this._identityChangesTail = null); } }), (t.prototype._mismatch = function (t, e, n, i) { var r; return ( null === t ? (r = this._itTail) : ((r = t._prev), this._remove(t)), null !== (t = null === this._linkedRecords ? null : this._linkedRecords.get(n, i)) ? (wl(t.item, e) || this._addIdentityChange(t, e), this._moveAfter(t, r, i)) : null !== (t = null === this._unlinkedRecords ? null : this._unlinkedRecords.get(n, null)) ? (wl(t.item, e) || this._addIdentityChange(t, e), this._reinsertAfter(t, r, i)) : (t = this._addAfter(new dh(e, n), r, i)), t ); }), (t.prototype._verifyReinsertion = function (t, e, n, i) { var r = null === this._unlinkedRecords ? null : this._unlinkedRecords.get(n, null); return null !== r ? (t = this._reinsertAfter(r, t._prev, i)) : t.currentIndex != i && ((t.currentIndex = i), this._addToMoves(t, i)), t; }), (t.prototype._truncate = function (t) { for (; null !== t; ) { var e = t._next; this._addToRemovals(this._unlink(t)), (t = e); } null !== this._unlinkedRecords && this._unlinkedRecords.clear(), null !== this._additionsTail && (this._additionsTail._nextAdded = null), null !== this._movesTail && (this._movesTail._nextMoved = null), null !== this._itTail && (this._itTail._next = null), null !== this._removalsTail && (this._removalsTail._nextRemoved = null), null !== this._identityChangesTail && (this._identityChangesTail._nextIdentityChange = null); }), (t.prototype._reinsertAfter = function (t, e, n) { null !== this._unlinkedRecords && this._unlinkedRecords.remove(t); var i = t._prevRemoved, r = t._nextRemoved; return ( null === i ? (this._removalsHead = r) : (i._nextRemoved = r), null === r ? (this._removalsTail = i) : (r._prevRemoved = i), this._insertAfter(t, e, n), this._addToMoves(t, n), t ); }), (t.prototype._moveAfter = function (t, e, n) { return this._unlink(t), this._insertAfter(t, e, n), this._addToMoves(t, n), t; }), (t.prototype._addAfter = function (t, e, n) { return this._insertAfter(t, e, n), null === this._additionsTail ? (this._additionsTail = this._additionsHead = t) : (this._additionsTail = this._additionsTail._nextAdded = t), t; }), (t.prototype._insertAfter = function (t, e, n) { var i = null === e ? this._itHead : e._next; return ( (t._next = i), (t._prev = e), null === i ? (this._itTail = t) : (i._prev = t), null === e ? (this._itHead = t) : (e._next = t), null === this._linkedRecords && (this._linkedRecords = new hh()), this._linkedRecords.put(t), (t.currentIndex = n), t ); }), (t.prototype._remove = function (t) { return this._addToRemovals(this._unlink(t)); }), (t.prototype._unlink = function (t) { null !== this._linkedRecords && this._linkedRecords.remove(t); var e = t._prev, n = t._next; return null === e ? (this._itHead = n) : (e._next = n), null === n ? (this._itTail = e) : (n._prev = e), t; }), (t.prototype._addToMoves = function (t, e) { return t.previousIndex === e || (null === this._movesTail ? (this._movesTail = this._movesHead = t) : (this._movesTail = this._movesTail._nextMoved = t)), t; }), (t.prototype._addToRemovals = function (t) { return ( null === this._unlinkedRecords && (this._unlinkedRecords = new hh()), this._unlinkedRecords.put(t), (t.currentIndex = null), (t._nextRemoved = null), null === this._removalsTail ? ((this._removalsTail = this._removalsHead = t), (t._prevRemoved = null)) : ((t._prevRemoved = this._removalsTail), (this._removalsTail = this._removalsTail._nextRemoved = t)), t ); }), (t.prototype._addIdentityChange = function (t, e) { return ( (t.item = e), null === this._identityChangesTail ? (this._identityChangesTail = this._identityChangesHead = t) : (this._identityChangesTail = this._identityChangesTail._nextIdentityChange = t), t ); }), t ); })(), dh = function (t, e) { (this.item = t), (this.trackById = e), (this.currentIndex = null), (this.previousIndex = null), (this._nextPrevious = null), (this._prev = null), (this._next = null), (this._prevDup = null), (this._nextDup = null), (this._prevRemoved = null), (this._nextRemoved = null), (this._nextAdded = null), (this._nextMoved = null), (this._nextIdentityChange = null); }, ph = (function () { function t() { (this._head = null), (this._tail = null); } return ( (t.prototype.add = function (t) { null === this._head ? ((this._head = this._tail = t), (t._nextDup = null), (t._prevDup = null)) : ((this._tail._nextDup = t), (t._prevDup = this._tail), (t._nextDup = null), (this._tail = t)); }), (t.prototype.get = function (t, e) { var n; for (n = this._head; null !== n; n = n._nextDup) if ((null === e || e <= n.currentIndex) && wl(n.trackById, t)) return n; return null; }), (t.prototype.remove = function (t) { var e = t._prevDup, n = t._nextDup; return null === e ? (this._head = n) : (e._nextDup = n), null === n ? (this._tail = e) : (n._prevDup = e), null === this._head; }), t ); })(), hh = (function () { function t() { this.map = new Map(); } return ( (t.prototype.put = function (t) { var e = t.trackById, n = this.map.get(e); n || ((n = new ph()), this.map.set(e, n)), n.add(t); }), (t.prototype.get = function (t, e) { var n = t, i = this.map.get(n); return i ? i.get(t, e) : null; }), (t.prototype.remove = function (t) { var e = t.trackById; return this.map.get(e).remove(t) && this.map.delete(e), t; }), Object.defineProperty(t.prototype, 'isEmpty', { get: function () { return 0 === this.map.size; }, enumerable: !0, configurable: !0, }), (t.prototype.clear = function () { this.map.clear(); }), t ); })(); function fh(t, e, n) { var i = t.previousIndex; if (null === i) return i; var r = 0; return n && i < n.length && (r = n[i]), i + e + r; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var mh = (function () { function t() {} return ( (t.prototype.supports = function (t) { return t instanceof Map || El(t); }), (t.prototype.create = function () { return new gh(); }), t ); })(), gh = (function () { function t() { (this._records = new Map()), (this._mapHead = null), (this._appendAfter = null), (this._previousMapHead = null), (this._changesHead = null), (this._changesTail = null), (this._additionsHead = null), (this._additionsTail = null), (this._removalsHead = null), (this._removalsTail = null); } return ( Object.defineProperty(t.prototype, 'isDirty', { get: function () { return null !== this._additionsHead || null !== this._changesHead || null !== this._removalsHead; }, enumerable: !0, configurable: !0, }), (t.prototype.forEachItem = function (t) { var e; for (e = this._mapHead; null !== e; e = e._next) t(e); }), (t.prototype.forEachPreviousItem = function (t) { var e; for (e = this._previousMapHead; null !== e; e = e._nextPrevious) t(e); }), (t.prototype.forEachChangedItem = function (t) { var e; for (e = this._changesHead; null !== e; e = e._nextChanged) t(e); }), (t.prototype.forEachAddedItem = function (t) { var e; for (e = this._additionsHead; null !== e; e = e._nextAdded) t(e); }), (t.prototype.forEachRemovedItem = function (t) { var e; for (e = this._removalsHead; null !== e; e = e._nextRemoved) t(e); }), (t.prototype.diff = function (t) { if (t) { if (!(t instanceof Map || El(t))) throw new Error("Error trying to diff '" + F(t) + "'. Only maps and objects are allowed"); } else t = new Map(); return this.check(t) ? this : null; }), (t.prototype.onDestroy = function () {}), (t.prototype.check = function (t) { var e = this; this._reset(); var n = this._mapHead; if ( ((this._appendAfter = null), this._forEach(t, function (t, i) { if (n && n.key === i) e._maybeAddToChanges(n, t), (e._appendAfter = n), (n = n._next); else { var r = e._getOrCreateRecordForKey(i, t); n = e._insertBeforeOrAppend(n, r); } }), n) ) { n._prev && (n._prev._next = null), (this._removalsHead = n); for (var i = n; null !== i; i = i._nextRemoved) i === this._mapHead && (this._mapHead = null), this._records.delete(i.key), (i._nextRemoved = i._next), (i.previousValue = i.currentValue), (i.currentValue = null), (i._prev = null), (i._next = null); } return this._changesTail && (this._changesTail._nextChanged = null), this._additionsTail && (this._additionsTail._nextAdded = null), this.isDirty; }), (t.prototype._insertBeforeOrAppend = function (t, e) { if (t) { var n = t._prev; return (e._next = t), (e._prev = n), (t._prev = e), n && (n._next = e), t === this._mapHead && (this._mapHead = e), (this._appendAfter = t), t; } return this._appendAfter ? ((this._appendAfter._next = e), (e._prev = this._appendAfter)) : (this._mapHead = e), (this._appendAfter = e), null; }), (t.prototype._getOrCreateRecordForKey = function (t, e) { if (this._records.has(t)) { var n = this._records.get(t); this._maybeAddToChanges(n, e); var i = n._prev, r = n._next; return i && (i._next = r), r && (r._prev = i), (n._next = null), (n._prev = null), n; } var o = new vh(t); return this._records.set(t, o), (o.currentValue = e), this._addToAdditions(o), o; }), (t.prototype._reset = function () { if (this.isDirty) { var t = void 0; for (this._previousMapHead = this._mapHead, t = this._previousMapHead; null !== t; t = t._next) t._nextPrevious = t._next; for (t = this._changesHead; null !== t; t = t._nextChanged) t.previousValue = t.currentValue; for (t = this._additionsHead; null != t; t = t._nextAdded) t.previousValue = t.currentValue; (this._changesHead = this._changesTail = null), (this._additionsHead = this._additionsTail = null), (this._removalsHead = null); } }), (t.prototype._maybeAddToChanges = function (t, e) { wl(e, t.currentValue) || ((t.previousValue = t.currentValue), (t.currentValue = e), this._addToChanges(t)); }), (t.prototype._addToAdditions = function (t) { null === this._additionsHead ? (this._additionsHead = this._additionsTail = t) : ((this._additionsTail._nextAdded = t), (this._additionsTail = t)); }), (t.prototype._addToChanges = function (t) { null === this._changesHead ? (this._changesHead = this._changesTail = t) : ((this._changesTail._nextChanged = t), (this._changesTail = t)); }), (t.prototype._forEach = function (t, e) { t instanceof Map ? t.forEach(e) : Object.keys(t).forEach(function (n) { return e(t[n], n); }); }), t ); })(), vh = function (t) { (this.key = t), (this.previousValue = null), (this.currentValue = null), (this._nextPrevious = null), (this._next = null), (this._prev = null), (this._nextAdded = null), (this._nextRemoved = null), (this._nextChanged = null); }, yh = (function () { function t(t) { this.factories = t; } return ( (t.create = function (e, n) { if (null != n) { var i = n.factories.slice(); e = e.concat(i); } return new t(e); }), (t.extend = function (e) { return { provide: t, useFactory: function (n) { if (!n) throw new Error('Cannot extend IterableDiffers without a parent injector'); return t.create(e, n); }, deps: [[t, new x(), new w()]], }; }), (t.prototype.find = function (t) { var e, n = this.factories.find(function (e) { return e.supports(t); }); if (null != n) return n; throw new Error("Cannot find a differ supporting object '" + t + "' of type '" + ((e = t).name || typeof e) + "'"); }), (t.ɵprov = O({ token: t, providedIn: 'root', factory: function () { return new t([new ch()]); }, })), t ); })(); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var bh = (function () { function t(t) { this.factories = t; } return ( (t.create = function (e, n) { if (n) { var i = n.factories.slice(); e = e.concat(i); } return new t(e); }), (t.extend = function (e) { return { provide: t, useFactory: function (n) { if (!n) throw new Error('Cannot extend KeyValueDiffers without a parent injector'); return t.create(e, n); }, deps: [[t, new x(), new w()]], }; }), (t.prototype.find = function (t) { var e = this.factories.find(function (e) { return e.supports(t); }); if (e) return e; throw new Error("Cannot find a differ supporting object '" + t + "'"); }), (t.ɵprov = O({ token: t, providedIn: 'root', factory: function () { return new t([new mh()]); }, })), t ); })(), wh = [new mh()], Sh = [new ch()], xh = new yh(Sh), Mh = new bh(wh), Eh = (function () { function t() {} return ( (t.__NG_ELEMENT_ID__ = function () { return Ah(t, Qp); }), t ); })(), Ch = function (t, e) { return zs(t, e, ln(), an()); }, Ah = Ch, Th = (function () { function t() {} return ( (t.__NG_ELEMENT_ID__ = function () { return _h(t, Qp); }), t ); })(), Oh = function (t, e) { return Gs(t, e, ln(), an()); }, _h = Oh; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Ph(t, e, n, i) { var r = "ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: '" + e + "'. Current value: '" + n + "'."; return ( i && (r += ' It seems like the view has been created after its parent and its children have been dirty checked. Has it been created in a change detection hook ?'), (function (t, e) { var n = new Error(t); return Ih(n, e), n; })(r, t) ); } function Ih(t, e) { (t.ngDebugContext = e), (t.ngErrorLogger = e.logError.bind(e)); } function kh(t) { return new Error('ViewDestroyedError: Attempt to use a destroyed view: ' + t); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Dh(t, e, n) { var i = t.state, r = 1792 & i; return r === e ? ((t.state = (-1793 & i) | n), (t.initIndex = -1), !0) : r === n; } function Rh(t, e, n) { return (1792 & t.state) === e && t.initIndex <= n && ((t.initIndex = n + 1), !0); } function Lh(t, e) { return t.nodes[e]; } function Nh(t, e) { return t.nodes[e]; } function jh(t, e) { return t.nodes[e]; } function Vh(t, e) { return t.nodes[e]; } function Fh(t, e) { return t.nodes[e]; } var Uh = function () {}, Bh = { setCurrentNode: void 0, createRootView: void 0, createEmbeddedView: void 0, createComponentView: void 0, createNgModuleRef: void 0, overrideProvider: void 0, overrideComponentView: void 0, clearOverrides: void 0, checkAndUpdateView: void 0, checkNoChangesView: void 0, destroyView: void 0, resolveDep: void 0, createDebugContext: void 0, handleEvent: void 0, updateDirectives: void 0, updateRenderer: void 0, dirtyParentQueries: void 0, }, zh = function () {}, Gh = new Map(); function Hh(t) { var e = Gh.get(t); return e || ((e = F(t) + '_' + Gh.size), Gh.set(t, e)), e; } function Wh(t, e, n, i) { if (xl.isWrapped(i)) { i = xl.unwrap(i); var r = t.def.nodes[e].bindingIndex + n, o = xl.unwrap(t.oldValues[r]); t.oldValues[r] = new xl(o); } return i; } function qh(t) { return { id: '$$undefined', styles: t.styles, encapsulation: t.encapsulation, data: t.data, }; } var Xh = 0; function Yh(t, e, n, i) { var r = t.oldValues; return !(!(2 & t.state) && wl(r[e.bindingIndex + n], i)); } function Kh(t, e, n, i) { return !!Yh(t, e, n, i) && ((t.oldValues[e.bindingIndex + n] = i), !0); } function Zh(t, e, n, i) { var r = t.oldValues[e.bindingIndex + n]; if (1 & t.state || !Sl(r, i)) { var o = e.bindings[n].name; throw Ph(Bh.createDebugContext(t, e.nodeIndex), o + ': ' + r, o + ': ' + i, 0 != (1 & t.state)); } } function Jh(t) { for (var e = t; e; ) 2 & e.def.flags && (e.state |= 8), (e = e.viewContainerParent || e.parent); } function Qh(t, e) { for (var n = t; n && n !== e; ) (n.state |= 64), (n = n.viewContainerParent || n.parent); } function $h(t, e, n, i) { try { return Jh(33554432 & t.def.nodes[e].flags ? Nh(t, e).componentView : t), Bh.handleEvent(t, e, n, i); } catch (e) { t.root.errorHandler.handleError(e); } } function tf(t) { return t.parent ? Nh(t.parent, t.parentNodeDef.nodeIndex) : null; } function ef(t) { return t.parent ? t.parentNodeDef.parent : null; } function nf(t, e) { switch (201347067 & e.flags) { case 1: return Nh(t, e.nodeIndex).renderElement; case 2: return Lh(t, e.nodeIndex).renderText; } } function rf(t, e) { return t ? t + ':' + e : e; } function of(t) { return !!t.parent && !!(32768 & t.parentNodeDef.flags); } function af(t) { return !(!t.parent || 32768 & t.parentNodeDef.flags); } function sf(t) { return 1 << t % 32; } function cf(t) { var e = {}, n = 0, r = {}; return ( t && t.forEach(function (t) { var o = Object(i.f)(t, 2), a = o[0], s = o[1]; 'number' == typeof a ? ((e[a] = s), (n |= sf(a))) : (r[a] = s); }), { matchedQueries: e, references: r, matchedQueryIds: n, } ); } function lf(t, e) { return t.map(function (t) { var n, r, o; return ( Array.isArray(t) ? ((o = (n = Object(i.f)(t, 2))[0]), (r = n[1])) : ((o = 0), (r = t)), r && ('function' == typeof r || 'object' == typeof r) && e && Object.defineProperty(r, '__source', { value: e, configurable: !0, }), { flags: o, token: r, tokenKey: Hh(r), } ); }); } function uf(t, e, n) { var i = n.renderParent; return i ? 0 == (1 & i.flags) || 0 == (33554432 & i.flags) || (i.element.componentRendererType && i.element.componentRendererType.encapsulation === Ot.Native) ? Nh(t, n.renderParent.nodeIndex).renderElement : void 0 : e; } var df = new WeakMap(); function pf(t) { var e = df.get(t); return ( e || (((e = t(function () { return zh; })).factory = t), df.set(t, e)), e ); } function hf(t, e, n, i, r) { 3 === e && (n = t.renderer.parentNode(nf(t, t.def.lastRenderRootNode))), ff(t, e, 0, t.def.nodes.length - 1, n, i, r); } function ff(t, e, n, i, r, o, a) { for (var s = n; s <= i; s++) { var c = t.def.nodes[s]; 11 & c.flags && gf(t, c, e, r, o, a), (s += c.childCount); } } function mf(t, e, n, i, r, o) { for (var a = t; a && !of(a); ) a = a.parent; for (var s = a.parent, c = ef(a), l = c.nodeIndex + 1, u = c.nodeIndex + c.childCount, d = l; d <= u; d++) { var p = s.def.nodes[d]; p.ngContentIndex === e && gf(s, p, n, i, r, o), (d += p.childCount); } if (!s.parent) { var h = t.root.projectableNodes[e]; if (h) for (d = 0; d < h.length; d++) vf(t, h[d], n, i, r, o); } } function gf(t, e, n, i, r, o) { if (8 & e.flags) mf(t, e.ngContent.index, n, i, r, o); else { var a = nf(t, e); if (3 === n && 33554432 & e.flags && 48 & e.bindingFlags) { if ((16 & e.bindingFlags && vf(t, a, n, i, r, o), 32 & e.bindingFlags)) vf(Nh(t, e.nodeIndex).componentView, a, n, i, r, o); } else vf(t, a, n, i, r, o); if (16777216 & e.flags) for (var s = Nh(t, e.nodeIndex).viewContainer._embeddedViews, c = 0; c < s.length; c++) hf(s[c], n, i, r, o); 1 & e.flags && !e.element.name && ff(t, n, e.nodeIndex + 1, e.nodeIndex + e.childCount, i, r, o); } } function vf(t, e, n, i, r, o) { var a = t.renderer; switch (n) { case 1: a.appendChild(i, e); break; case 2: a.insertBefore(i, e, r); break; case 3: a.removeChild(i, e); break; case 0: o.push(e); } } var yf = /^:([^:]+):(.+)$/; function bf(t) { if (':' === t[0]) { var e = t.match(yf); return [e[1], e[2]]; } return ['', t]; } function wf(t) { for (var e = 0, n = 0; n < t.length; n++) e |= t[n].flags; return e; } function Sf(t, e) { for (var n = '', i = 0; i < 2 * t; i += 2) n = n + e[i] + Mf(e[i + 1]); return n + e[2 * t]; } function xf(t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g, v, y, b) { switch (t) { case 1: return e + Mf(n) + i; case 2: return e + Mf(n) + i + Mf(r) + o; case 3: return e + Mf(n) + i + Mf(r) + o + Mf(a) + s; case 4: return e + Mf(n) + i + Mf(r) + o + Mf(a) + s + Mf(c) + l; case 5: return e + Mf(n) + i + Mf(r) + o + Mf(a) + s + Mf(c) + l + Mf(u) + d; case 6: return e + Mf(n) + i + Mf(r) + o + Mf(a) + s + Mf(c) + l + Mf(u) + d + Mf(p) + h; case 7: return e + Mf(n) + i + Mf(r) + o + Mf(a) + s + Mf(c) + l + Mf(u) + d + Mf(p) + h + Mf(f) + m; case 8: return e + Mf(n) + i + Mf(r) + o + Mf(a) + s + Mf(c) + l + Mf(u) + d + Mf(p) + h + Mf(f) + m + Mf(g) + v; case 9: return e + Mf(n) + i + Mf(r) + o + Mf(a) + s + Mf(c) + l + Mf(u) + d + Mf(p) + h + Mf(f) + m + Mf(g) + v + Mf(y) + b; default: throw new Error('Does not support more than 9 expressions'); } } function Mf(t) { return null != t ? t.toString() : ''; } var Ef = [], Cf = {}, Af = {}, Tf = Hh(Pc), Of = Hh(lt), _f = Hh(_t); function Pf(t, e, n, i) { return ( (n = G(n)), { index: -1, deps: lf(i, F(e)), flags: t, token: e, value: n, } ); } function If(t) { for (var e = {}, n = [], i = null, r = 0; r < t.length; r++) { var o = t[r]; o.token === fc && (i = o.value), 1073741824 & o.flags && n.push(o.token), (o.index = r), (e[Hh(o.token)] = o); } return { factory: null, providersByKey: e, providers: t, modules: n, scope: i, }; } function kf(t, e, n) { void 0 === n && (n = Pc.THROW_IF_NOT_FOUND); var i, r, o = ft(t); try { if (8 & e.flags) return e.token; if ((2 & e.flags && (n = null), 1 & e.flags)) return t._parent.get(e.token, n); var a = e.tokenKey; switch (a) { case Tf: case Of: case _f: return t; } var s = t._def.providersByKey[a], c = void 0; if (s) { var l = t._providers[s.index]; return void 0 === l && (l = t._providers[s.index] = Df(t, s)), l === Af ? void 0 : l; } if ( (c = I(e.token)) && ((i = t), null != (r = c.providedIn) && ('any' === r || r === i._def.scope || (function (t, e) { return t._def.modules.indexOf(e) > -1; })(i, r))) ) { var u = t._providers.length; return ( (t._def.providers[u] = t._def.providersByKey[e.tokenKey] = { flags: 5120, value: c.factory, deps: [], index: u, token: e.token, }), (t._providers[u] = Af), (t._providers[u] = Df(t, t._def.providersByKey[e.tokenKey])) ); } return 4 & e.flags ? n : t._parent.get(e.token, n); } finally { ft(o); } } function Df(t, e) { var n; switch (201347067 & e.flags) { case 512: n = (function (t, e, n) { var r = n.length; switch (r) { case 0: return new e(); case 1: return new e(kf(t, n[0])); case 2: return new e(kf(t, n[0]), kf(t, n[1])); case 3: return new e(kf(t, n[0]), kf(t, n[1]), kf(t, n[2])); default: for (var o = [], a = 0; a < r; a++) o[a] = kf(t, n[a]); return new (e.bind.apply(e, Object(i.h)([void 0], o)))(); } })(t, e.value, e.deps); break; case 1024: n = (function (t, e, n) { var r = n.length; switch (r) { case 0: return e(); case 1: return e(kf(t, n[0])); case 2: return e(kf(t, n[0]), kf(t, n[1])); case 3: return e(kf(t, n[0]), kf(t, n[1]), kf(t, n[2])); default: for (var o = [], a = 0; a < r; a++) o[a] = kf(t, n[a]); return e.apply(void 0, Object(i.h)(o)); } })(t, e.value, e.deps); break; case 2048: n = kf(t, e.deps[0]); break; case 256: n = e.value; } return n === Af || null === n || 'object' != typeof n || 131072 & e.flags || 'function' != typeof n.ngOnDestroy || (e.flags |= 131072), void 0 === n ? Af : n; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Rf(t, e, n, i) { var r = e.viewContainer._embeddedViews; null == n && (n = r.length), (i.viewContainerParent = t), Yt(r, n, i), (function (t, e) { var n = tf(e); if (!n || n === t || 16 & e.state) return; e.state |= 16; var i = n.template._projectedViews; i || (i = n.template._projectedViews = []); i.push(e), (function (t, e) { if (4 & e.flags) return; (t.nodeFlags |= 4), (e.flags |= 4); var n = e.parent; for (; n; ) (n.childFlags |= 4), (n = n.parent); })(e.parent.def, e.parentNodeDef); })(e, i), Bh.dirtyParentQueries(i), Nf(e, n > 0 ? r[n - 1] : null, i); } function Lf(t, e) { var n = t.viewContainer._embeddedViews; if (((null == e || e >= n.length) && (e = n.length - 1), e < 0)) return null; var i = n[e]; return (i.viewContainerParent = null), Kt(n, e), Bh.dirtyParentQueries(i), jf(i), i; } function Nf(t, e, n) { var i = e ? nf(e, e.def.lastRenderRootNode) : t.renderElement, r = n.renderer.parentNode(i), o = n.renderer.nextSibling(i); hf(n, 2, r, o, void 0); } function jf(t) { hf(t, 3, null, null, void 0); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Vf = {}; function Ff(t, e, n, i, r, o) { return new Bf(t, e, n, i, r, o); } function Uf(t) { return t.viewDefFactory; } var Bf = (function (t) { function e(e, n, i, r, o, a) { var s = t.call(this) || this; return (s.selector = e), (s.componentType = n), (s._inputs = r), (s._outputs = o), (s.ngContentSelectors = a), (s.viewDefFactory = i), s; } return ( Object(i.c)(e, t), Object.defineProperty(e.prototype, 'inputs', { get: function () { var t = [], e = this._inputs; for (var n in e) { var i = e[n]; t.push({ propName: n, templateName: i, }); } return t; }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'outputs', { get: function () { var t = []; for (var e in this._outputs) { var n = this._outputs[e]; t.push({ propName: e, templateName: n, }); } return t; }, enumerable: !0, configurable: !0, }), (e.prototype.create = function (t, e, n, i) { if (!i) throw new Error('ngModule should be provided'); var r = pf(this.viewDefFactory), o = r.nodes[0].element.componentProvider.nodeIndex, a = Bh.createRootView(t, e || [], n, r, i, Vf), s = jh(a, o).instance; return n && a.renderer.setAttribute(Nh(a, 0).renderElement, 'ng-version', sh.full), new zf(a, new qf(a), s); }), e ); })(Hp), zf = (function (t) { function e(e, n, i) { var r = t.call(this) || this; return (r._view = e), (r._viewRef = n), (r._component = i), (r._elDef = r._view.def.nodes[0]), (r.hostView = n), (r.changeDetectorRef = n), (r.instance = i), r; } return ( Object(i.c)(e, t), Object.defineProperty(e.prototype, 'location', { get: function () { return new Qp(Nh(this._view, this._elDef.nodeIndex).renderElement); }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'injector', { get: function () { return new Zf(this._view, this._elDef); }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'componentType', { get: function () { return this._component.constructor; }, enumerable: !0, configurable: !0, }), (e.prototype.destroy = function () { this._viewRef.destroy(); }), (e.prototype.onDestroy = function (t) { this._viewRef.onDestroy(t); }), e ); })(Gp); function Gf(t, e, n) { return new Hf(t, e, n); } var Hf = (function () { function t(t, e, n) { (this._view = t), (this._elDef = e), (this._data = n), (this._embeddedViews = []); } return ( Object.defineProperty(t.prototype, 'element', { get: function () { return new Qp(this._data.renderElement); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'injector', { get: function () { return new Zf(this._view, this._elDef); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'parentInjector', { get: function () { for (var t = this._view, e = this._elDef.parent; !e && t; ) (e = ef(t)), (t = t.parent); return t ? new Zf(t, e) : new Zf(this._view, null); }, enumerable: !0, configurable: !0, }), (t.prototype.clear = function () { for (var t = this._embeddedViews.length - 1; t >= 0; t--) { var e = Lf(this._data, t); Bh.destroyView(e); } }), (t.prototype.get = function (t) { var e = this._embeddedViews[t]; if (e) { var n = new qf(e); return n.attachToViewContainerRef(this), n; } return null; }), Object.defineProperty(t.prototype, 'length', { get: function () { return this._embeddedViews.length; }, enumerable: !0, configurable: !0, }), (t.prototype.createEmbeddedView = function (t, e, n) { var i = t.createEmbeddedView(e || {}); return this.insert(i, n), i; }), (t.prototype.createComponent = function (t, e, n, i, r) { var o = n || this.parentInjector; r || t instanceof Zp || (r = o.get(_t)); var a = t.create(o, i, void 0, r); return this.insert(a.hostView, e), a; }), (t.prototype.insert = function (t, e) { if (t.destroyed) throw new Error('Cannot insert a destroyed View in a ViewContainer!'); var n = t, i = n._view; return Rf(this._view, this._data, e, i), n.attachToViewContainerRef(this), t; }), (t.prototype.move = function (t, e) { if (t.destroyed) throw new Error('Cannot move a destroyed View in a ViewContainer!'); var n, i, r, o, a, s = this._embeddedViews.indexOf(t._view); return ( (n = this._data), (i = s), (r = e), (o = n.viewContainer._embeddedViews), (a = o[i]), Kt(o, i), null == r && (r = o.length), Yt(o, r, a), Bh.dirtyParentQueries(a), jf(a), Nf(n, r > 0 ? o[r - 1] : null, a), t ); }), (t.prototype.indexOf = function (t) { return this._embeddedViews.indexOf(t._view); }), (t.prototype.remove = function (t) { var e = Lf(this._data, t); e && Bh.destroyView(e); }), (t.prototype.detach = function (t) { var e = Lf(this._data, t); return e ? new qf(e) : null; }), t ); })(); function Wf(t) { return new qf(t); } var qf = (function () { function t(t) { (this._view = t), (this._viewContainerRef = null), (this._appRef = null); } return ( Object.defineProperty(t.prototype, 'rootNodes', { get: function () { return hf(this._view, 0, void 0, void 0, (t = [])), t; var t; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'context', { get: function () { return this._view.context; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'destroyed', { get: function () { return 0 != (128 & this._view.state); }, enumerable: !0, configurable: !0, }), (t.prototype.markForCheck = function () { Jh(this._view); }), (t.prototype.detach = function () { this._view.state &= -5; }), (t.prototype.detectChanges = function () { var t = this._view.root.rendererFactory; t.begin && t.begin(); try { Bh.checkAndUpdateView(this._view); } finally { t.end && t.end(); } }), (t.prototype.checkNoChanges = function () { Bh.checkNoChangesView(this._view); }), (t.prototype.reattach = function () { this._view.state |= 4; }), (t.prototype.onDestroy = function (t) { this._view.disposables || (this._view.disposables = []), this._view.disposables.push(t); }), (t.prototype.destroy = function () { this._appRef ? this._appRef.detachView(this) : this._viewContainerRef && this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)), Bh.destroyView(this._view); }), (t.prototype.detachFromAppRef = function () { (this._appRef = null), jf(this._view), Bh.dirtyParentQueries(this._view); }), (t.prototype.attachToAppRef = function (t) { if (this._viewContainerRef) throw new Error('This view is already attached to a ViewContainer!'); this._appRef = t; }), (t.prototype.attachToViewContainerRef = function (t) { if (this._appRef) throw new Error('This view is already attached directly to the ApplicationRef!'); this._viewContainerRef = t; }), t ); })(); function Xf(t, e) { return new Yf(t, e); } var Yf = (function (t) { function e(e, n) { var i = t.call(this) || this; return (i._parentView = e), (i._def = n), i; } return ( Object(i.c)(e, t), (e.prototype.createEmbeddedView = function (t) { return new qf(Bh.createEmbeddedView(this._parentView, this._def, this._def.element.template, t)); }), Object.defineProperty(e.prototype, 'elementRef', { get: function () { return new Qp(Nh(this._parentView, this._def.nodeIndex).renderElement); }, enumerable: !0, configurable: !0, }), e ); })(Eh); function Kf(t, e) { return new Zf(t, e); } var Zf = (function () { function t(t, e) { (this.view = t), (this.elDef = e); } return ( (t.prototype.get = function (t, e) { void 0 === e && (e = Pc.THROW_IF_NOT_FOUND); var n = !!this.elDef && 0 != (33554432 & this.elDef.flags); return Bh.resolveDep( this.view, this.elDef, n, { flags: 0, token: t, tokenKey: Hh(t), }, e ); }), t ); })(); function Jf(t, e) { var n = t.def.nodes[e]; if (1 & n.flags) { var i = Nh(t, n.nodeIndex); return n.element.template ? i.template : i.renderElement; } if (2 & n.flags) return Lh(t, n.nodeIndex).renderText; if (20240 & n.flags) return jh(t, n.nodeIndex).instance; throw new Error('Illegal state: read nodeValue for node index ' + e); } function Qf(t, e, n, i) { return new $f(t, e, n, i); } var $f = (function () { function t(t, e, n, i) { (this._moduleType = t), (this._parent = e), (this._bootstrapComponents = n), (this._def = i), (this._destroyListeners = []), (this._destroyed = !1), (this.injector = this), (function (t) { for (var e = t._def, n = (t._providers = Zt(e.providers.length)), i = 0; i < e.providers.length; i++) { var r = e.providers[i]; 4096 & r.flags || (void 0 === n[i] && (n[i] = Df(t, r))); } })(this); } return ( (t.prototype.get = function (t, e, n) { void 0 === e && (e = Pc.THROW_IF_NOT_FOUND), void 0 === n && (n = v.Default); var i = 0; return ( n & v.SkipSelf ? (i |= 1) : n & v.Self && (i |= 4), kf( this, { token: t, tokenKey: Hh(t), flags: i, }, e ) ); }), Object.defineProperty(t.prototype, 'instance', { get: function () { return this.get(this._moduleType); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'componentFactoryResolver', { get: function () { return this.get(Yp); }, enumerable: !0, configurable: !0, }), (t.prototype.destroy = function () { if (this._destroyed) throw new Error('The ng module ' + F(this.instance.constructor) + ' has already been destroyed.'); (this._destroyed = !0), (function (t, e) { for (var n = t._def, i = new Set(), r = 0; r < n.providers.length; r++) { if (131072 & n.providers[r].flags) { var o = t._providers[r]; if (o && o !== Af) { var a = o.ngOnDestroy; 'function' != typeof a || i.has(o) || (a.apply(o), i.add(o)); } } } })(this), this._destroyListeners.forEach(function (t) { return t(); }); }), (t.prototype.onDestroy = function (t) { this._destroyListeners.push(t); }), t ); })(), tm = Hh(nh), em = Hh(Qp), nm = Hh(Th), im = Hh(Eh), rm = Hh(Ws), om = Hh(Pc), am = Hh(lt); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function sm(t, e, n, r, o, a, s, c) { var l = []; if (s) for (var u in s) { var d = Object(i.f)(s[u], 2), p = d[0], h = d[1]; l[p] = { flags: 8, name: u, nonMinifiedName: h, ns: null, securityContext: null, suffix: null, }; } var f = []; if (c) for (var m in c) f.push({ type: 1, propName: m, target: null, eventName: c[m], }); return um(t, (e |= 16384), n, r, o, o, a, l, f); } function cm(t, e, n) { return um(-1, (t |= 16), null, 0, e, e, n); } function lm(t, e, n, i, r) { return um(-1, t, e, 0, n, i, r); } function um(t, e, n, i, r, o, a, s, c) { var l = cf(n), u = l.matchedQueries, d = l.references, p = l.matchedQueryIds; c || (c = []), s || (s = []), (o = G(o)); var h = lf(a, F(r)); return { nodeIndex: -1, parent: null, renderParent: null, bindingIndex: -1, outputIndex: -1, checkIndex: t, flags: e, childFlags: 0, directChildFlags: 0, childMatchedQueries: 0, matchedQueries: u, matchedQueryIds: p, references: d, ngContentIndex: -1, childCount: i, bindings: s, bindingFlags: wf(s), outputs: c, element: null, provider: { token: r, value: o, deps: h, }, text: null, query: null, ngContent: null, }; } function dm(t, e) { return mm(t, e); } function pm(t, e) { for (var n = t; n.parent && !of(n); ) n = n.parent; return gm(n.parent, ef(n), !0, e.provider.value, e.provider.deps); } function hm(t, e) { var n = (32768 & e.flags) > 0, i = gm(t, e.parent, n, e.provider.value, e.provider.deps); if (e.outputs.length) for (var r = 0; r < e.outputs.length; r++) { var o = e.outputs[r], a = i[o.propName]; if (!mu(a)) throw new Error('@Output ' + o.propName + " not initialized in '" + i.constructor.name + "'."); var s = a.subscribe(fm(t, e.parent.nodeIndex, o.eventName)); t.disposables[e.outputIndex + r] = s.unsubscribe.bind(s); } return i; } function fm(t, e, n) { return function (i) { return $h(t, e, n, i); }; } function mm(t, e) { var n = (8192 & e.flags) > 0, r = e.provider; switch (201347067 & e.flags) { case 512: return gm(t, e.parent, n, r.value, r.deps); case 1024: return (function (t, e, n, r, o) { var a = o.length; switch (a) { case 0: return r(); case 1: return r(ym(t, e, n, o[0])); case 2: return r(ym(t, e, n, o[0]), ym(t, e, n, o[1])); case 3: return r(ym(t, e, n, o[0]), ym(t, e, n, o[1]), ym(t, e, n, o[2])); default: for (var s = [], c = 0; c < a; c++) s.push(ym(t, e, n, o[c])); return r.apply(void 0, Object(i.h)(s)); } })(t, e.parent, n, r.value, r.deps); case 2048: return ym(t, e.parent, n, r.deps[0]); case 256: return r.value; } } function gm(t, e, n, r, o) { var a = o.length; switch (a) { case 0: return new r(); case 1: return new r(ym(t, e, n, o[0])); case 2: return new r(ym(t, e, n, o[0]), ym(t, e, n, o[1])); case 3: return new r(ym(t, e, n, o[0]), ym(t, e, n, o[1]), ym(t, e, n, o[2])); default: for (var s = [], c = 0; c < a; c++) s.push(ym(t, e, n, o[c])); return new (r.bind.apply(r, Object(i.h)([void 0], s)))(); } } var vm = {}; function ym(t, e, n, i, r) { if ((void 0 === r && (r = Pc.THROW_IF_NOT_FOUND), 8 & i.flags)) return i.token; var o = t; 2 & i.flags && (r = null); var a = i.tokenKey; a === rm && (n = !(!e || !e.element.componentView)), e && 1 & i.flags && ((n = !1), (e = e.parent)); for (var s = t; s; ) { if (e) switch (a) { case tm: return bm(s, e, n).renderer; case em: return new Qp(Nh(s, e.nodeIndex).renderElement); case nm: return Nh(s, e.nodeIndex).viewContainer; case im: if (e.element.template) return Nh(s, e.nodeIndex).template; break; case rm: return Wf(bm(s, e, n)); case om: case am: return Kf(s, e); default: var c = (n ? e.element.allProviders : e.element.publicProviders)[a]; if (c) { var l = jh(s, c.nodeIndex); return ( l || ((l = { instance: mm(s, c), }), (s.nodes[c.nodeIndex] = l)), l.instance ); } } (n = of(s)), (e = ef(s)), (s = s.parent), 4 & i.flags && (s = null); } var u = o.root.injector.get(i.token, vm); return u !== vm || r === vm ? u : o.root.ngModule.injector.get(i.token, r); } function bm(t, e, n) { var i; if (n) i = Nh(t, e.nodeIndex).componentView; else for (i = t; i.parent && !of(i); ) i = i.parent; return i; } function wm(t, e, n, i, r, o) { if (32768 & n.flags) { var a = Nh(t, n.parent.nodeIndex).componentView; 2 & a.def.flags && (a.state |= 8); } var s = n.bindings[i].name; if (((e.instance[s] = r), 524288 & n.flags)) { o = o || {}; var c = xl.unwrap(t.oldValues[n.bindingIndex + i]); o[n.bindings[i].nonMinifiedName] = new Ip(c, r, 0 != (2 & t.state)); } return (t.oldValues[n.bindingIndex + i] = r), o; } function Sm(t, e) { if (t.def.nodeFlags & e) for (var n = t.def.nodes, i = 0, r = 0; r < n.length; r++) { var o = n[r], a = o.parent; for (!a && o.flags & e && Mm(t, r, o.flags & e, i++), 0 == (o.childFlags & e) && (r += o.childCount); a && 1 & a.flags && r === a.nodeIndex + a.childCount; ) a.directChildFlags & e && (i = xm(t, a, e, i)), (a = a.parent); } } function xm(t, e, n, i) { for (var r = e.nodeIndex + 1; r <= e.nodeIndex + e.childCount; r++) { var o = t.def.nodes[r]; o.flags & n && Mm(t, r, o.flags & n, i++), (r += o.childCount); } return i; } function Mm(t, e, n, i) { var r = jh(t, e); if (r) { var o = r.instance; o && (Bh.setCurrentNode(t, e), 1048576 & n && Rh(t, 512, i) && o.ngAfterContentInit(), 2097152 & n && o.ngAfterContentChecked(), 4194304 & n && Rh(t, 768, i) && o.ngAfterViewInit(), 8388608 & n && o.ngAfterViewChecked(), 131072 & n && o.ngOnDestroy()); } } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Em = (function (t) { function e(e) { var n = t.call(this) || this; return (n.ngModule = e), n; } return ( Object(i.c)(e, t), (e.prototype.resolveComponentFactory = function (t) { ngDevMode && Oe(t); var e = me(t); return new Tm(e, this.ngModule); }), e ); })(Yp); function Cm(t) { var e = []; for (var n in t) if (t.hasOwnProperty(n)) { var i = t[n]; e.push({ propName: i, templateName: n, }); } return e; } var Am = new ct('SCHEDULER_TOKEN', { providedIn: 'root', factory: function () { return si; }, }); var Tm = (function (t) { function e(e, n) { var i = t.call(this) || this; return ( (i.componentDef = e), (i.ngModule = n), (i.componentType = e.type), (i.selector = e.selectors.map(fo).join(',')), (i.ngContentSelectors = e.ngContentSelectors ? e.ngContentSelectors : []), (i.isBoundToModule = !!n), i ); } return ( Object(i.c)(e, t), Object.defineProperty(e.prototype, 'inputs', { get: function () { return Cm(this.componentDef.inputs); }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'outputs', { get: function () { return Cm(this.componentDef.outputs); }, enumerable: !0, configurable: !0, }), (e.prototype.create = function (t, e, n, i) { var r, o, a = (i = i || this.ngModule) ? (function (t, e) { return { get: function (n, i, r) { var o = t.get(n, vm, r); return o !== vm || i === vm ? o : e.get(n, i, r); }, }; })(t, i.injector) : t, s = a.get(eh, Ue), c = a.get(oh, null), l = s.createRenderer(null, this.componentDef), u = this.componentDef.selectors[0][0] || 'div', d = n ? Ca(l, n, this.componentDef.encapsulation) : pa( u, s.createRenderer(null, this.componentDef), (function (t) { var e = t.toLowerCase(); return 'svg' === e ? 'http://www.w3.org/2000/svg' : 'math' === e ? 'http://www.w3.org/1998/MathML/' : null; })(u) ), p = this.componentDef.onPush ? 576 : 528, h = 'string' == typeof n && /^#root-ng-internal-isolated-\d+/.test(n), f = bp(), m = Ma(0, -1, null, 1, 0, null, null, null, null, null), g = ha(null, m, f, p, null, null, s, l, c, a); An(g, null); try { var v = vp(d, this.componentDef, g, s, l); if (d) if (n) Zn(l, d, ['ng-version', sh.full]); else { var y = (function (t) { for (var e = [], n = [], i = 1, r = 2; i < t.length; ) { var o = t[i]; if ('string' == typeof o) 2 === r ? '' !== o && e.push(o, t[++i]) : 8 === r && n.push(o); else { if (!co(r)) break; r = o; } i++; } return { attrs: e, classes: n, }; })(this.componentDef.selectors[0]), b = y.attrs, w = y.classes; b && Zn(l, d, b), w && w.length > 0 && Ls(l, d, w.join(' ')); } if (((o = We(m, 0)), void 0 !== e)) for (var S = (o.projection = []), x = 0; x < this.ngContentSelectors.length; x++) { var M = e[x]; S.push(null != M ? Array.from(M) : null); } (r = yp(v, this.componentDef, g, f, [wp])), ma(m, g, null); } finally { In(); } var E = new Om(this.componentType, r, Bs(Qp, o, g), g, o); return (n && !h) || (ngDevMode && Yn(m.node, 2), (m.node.child = o)), E; }), e ); })(Hp); new Em(); var Om = (function (t) { function e(e, n, i, r, o) { var a, s, c, l, u, d = t.call(this) || this; return ( (d.location = i), (d._rootLView = r), (d._tNode = o), (d.destroyCbs = []), (d.instance = n), (d.hostView = d.changeDetectorRef = new Us(r)), (a = r[1]), (s = null), (c = -1), (l = r), null == (u = a.node) && (ngDevMode && s && Yn(s, 3, 0), (a.node = u = Aa(a, s, 2, c, null, null))), (l[6] = u), (d.componentType = e), d ); } return ( Object(i.c)(e, t), Object.defineProperty(e.prototype, 'injector', { get: function () { return new Oi(this._tNode, this._rootLView); }, enumerable: !0, configurable: !0, }), (e.prototype.destroy = function () { this.destroyCbs && (this.destroyCbs.forEach(function (t) { return t(); }), (this.destroyCbs = null), !this.hostView.destroyed && this.hostView.destroy()); }), (e.prototype.onDestroy = function (t) { this.destroyCbs && this.destroyCbs.push(t); }), e ); })(Gp); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ 'undefined' == typeof ngI18nClosureMode && (J.ngI18nClosureMode = 'undefined' != typeof goog && 'function' == typeof goog.getMsg); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var _m = void 0; var Pm, Im = [ 'en', [['a', 'p'], ['AM', 'PM'], _m], [['AM', 'PM'], _m, _m], [ ['S', 'M', 'T', 'W', 'T', 'F', 'S'], ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], ], _m, [ ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], ], _m, [ ['B', 'A'], ['BC', 'AD'], ['Before Christ', 'Anno Domini'], ], 0, [6, 0], ['M/d/yy', 'MMM d, y', 'MMMM d, y', 'EEEE, MMMM d, y'], ['h:mm a', 'h:mm:ss a', 'h:mm:ss a z', 'h:mm:ss a zzzz'], ['{1}, {0}', _m, "{1} 'at' {0}", _m], ['.', ',', ';', '%', '+', '-', 'E', '×', '‰', '∞', 'NaN', ':'], ['#,##0.###', '#,##0%', '¤#,##0.00', '#E0'], 'USD', '$', 'US Dollar', {}, 'ltr', function (t) { var e = Math.floor(Math.abs(t)), n = t.toString().replace(/^[^.]*\.?/, '').length; return 1 === e && 0 === n ? 1 : 5; }, ], km = {}; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Dm(t, e, n) { 'string' != typeof e && ((n = e), (e = t[Pm.LocaleId])), (e = e.toLowerCase().replace(/_/g, '-')), (km[e] = t), n && (km[e][Pm.ExtraData] = n); } function Rm(t) { var e = (function (t) { return t.toLowerCase().replace(/_/g, '-'); })( /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ t ), n = jm(e); if (n) return n; var i = e.split('-')[0]; if ((n = jm(i))) return n; if ('en' === i) return Im; throw new Error('Missing locale data for the locale "' + t + '".'); } function Lm(t) { return Rm(t)[Pm.CurrencyCode] || null; } function Nm(t) { return Rm(t)[Pm.PluralCase]; } function jm(t) { return t in km || (km[t] = J.ng && J.ng.common && J.ng.common.locales && J.ng.common.locales[t]), km[t]; } function Vm() { km = {}; } !(function (t) { (t[(t.LocaleId = 0)] = 'LocaleId'), (t[(t.DayPeriodsFormat = 1)] = 'DayPeriodsFormat'), (t[(t.DayPeriodsStandalone = 2)] = 'DayPeriodsStandalone'), (t[(t.DaysFormat = 3)] = 'DaysFormat'), (t[(t.DaysStandalone = 4)] = 'DaysStandalone'), (t[(t.MonthsFormat = 5)] = 'MonthsFormat'), (t[(t.MonthsStandalone = 6)] = 'MonthsStandalone'), (t[(t.Eras = 7)] = 'Eras'), (t[(t.FirstDayOfWeek = 8)] = 'FirstDayOfWeek'), (t[(t.WeekendRange = 9)] = 'WeekendRange'), (t[(t.DateFormat = 10)] = 'DateFormat'), (t[(t.TimeFormat = 11)] = 'TimeFormat'), (t[(t.DateTimeFormat = 12)] = 'DateTimeFormat'), (t[(t.NumberSymbols = 13)] = 'NumberSymbols'), (t[(t.NumberFormats = 14)] = 'NumberFormats'), (t[(t.CurrencyCode = 15)] = 'CurrencyCode'), (t[(t.CurrencySymbol = 16)] = 'CurrencySymbol'), (t[(t.CurrencyName = 17)] = 'CurrencyName'), (t[(t.Currencies = 18)] = 'Currencies'), (t[(t.Directionality = 19)] = 'Directionality'), (t[(t.PluralCase = 20)] = 'PluralCase'), (t[(t.ExtraData = 21)] = 'ExtraData'); })(Pm || (Pm = {})); var Fm = ['zero', 'one', 'two', 'few', 'many']; var Um = 'en-US', Bm = 'USD', zm = /^\s*(�\d+:?\d*�)\s*,\s*(select|plural)\s*,/, Gm = /�\/?\*(\d+:\d+)�/gi, Hm = /�(\/?[#*!]\d+):?\d*�/gi, Wm = /�(\d+):?\d*�/gi, qm = /({\s*�\d+:?\d*�\s*,\s*\S{6}\s*,[\s\S]*})/gi, Xm = /\[(�.+?�?)\]/, Ym = /\[(�.+?�?)\]|(�\/?\*\d+:\d+�)/g, Km = /({\s*)(VAR_(PLURAL|SELECT)(_\d+)?)(\s*,)/g, Zm = /{([A-Z0-9_]+)}/g, Jm = /�I18N_EXP_(ICU(_\d+)?)�/g, Qm = /\/\*/, $m = /\d+\:(\d+)/; function tg(t) { if (!t) return []; var e, n = 0, i = [], r = [], o = /[{}]/g; for (o.lastIndex = 0; (e = o.exec(t)); ) { var a = e.index; if ('}' == e[0]) { if ((i.pop(), 0 == i.length)) { var s = t.substring(n, a); zm.test(s) ? r.push(eg(s)) : r.push(s), (n = a + 1); } } else { if (0 == i.length) { var c = t.substring(n, a); r.push(c), (n = a + 1); } i.push('{'); } } var l = t.substring(n); return r.push(l), r; } function eg(t) { for ( var e = [], n = [], i = 1, r = 0, o = tg( (t = t.replace(zm, function (t, e, n) { return (i = 'select' === n ? 0 : 1), (r = parseInt(e.substr(1), 10)), ''; })) ), a = 0; a < o.length; ) { var s = o[a++].trim(); 1 === i && (s = s.replace(/\s*(?:=)?(\w+)\s*/, '$1')), s.length && e.push(s); var c = tg(o[a++]); e.length > n.length && n.push(c); } return { type: i, mainBinding: r, cases: e, values: n, }; } function ng(t) { for (var e, n, i = '', r = 0, o = !1; null !== (e = Gm.exec(t)); ) o ? e[0] === '�/*' + n + '�' && ((r = e.index), (o = !1)) : ((i += t.substring(r, e.index + e[0].length)), (n = e[1]), (o = !0)); return ngDevMode && Rt(o, !1, 'Tag mismatch: unable to find the end of the sub-template in the translation "' + t + '"'), (i += t.substr(r)); } function ig(t, e, n, i) { void 0 === i && (i = null); for (var r = [null, null], o = t.split(Wm), a = 0, s = 0; s < o.length; s++) { var c = o[s]; if (1 & s) { var l = parseInt(c, 10); r.push(-1 - l), (a |= sg(l)); } else '' !== c && r.push(c); } return r.push((e << 2) | (n ? 1 : 0)), n && r.push(n, i), (r[0] = a), (r[1] = r.length - 2), r; } function rg(t, e) { var n; void 0 === e && (e = 0), (e |= sg(t.mainBinding)); for (var i = 0; i < t.values.length; i++) for (var r = t.values[i], o = 0; o < r.length; o++) { var a = r[o]; if ('string' == typeof a) for (; (n = Wm.exec(a)); ) e |= sg(parseInt(n[1], 10)); else e = rg(a, e); } return e; } var og = [], ag = -1; function sg(t) { return 1 << Math.min(t, 31); } var cg, lg = []; function ug(t, e, n) { var i = sn(); ngDevMode && Bt(i, 'tView should be defined'), (og[++ag] = t), Cu(!0), i.firstCreatePass && null === i.data[t + 20] && (function (t, e, n, i, r) { var o = e.blueprint.length - 20; cg = 0; var a = ln(), s = dn() ? a : a && a.parent, c = s && s !== t[6] ? s.index - 20 : n, l = 0; lg[l] = c; var u = []; if (n > 0 && a !== s) { var d = a.index - 20; dn() || (d = ~d), u.push((d << 3) | 0); } var p = [], h = []; if ('' === i && hg(r)) u.push(i, dg(o), (c << 17) | 1); else for ( var f = (function (t, e) { if (hg(e)) return ng(t); var n = t.indexOf(':' + e + '�') + 2 + e.toString().length, i = t.search(new RegExp('�\\/\\*\\d+:' + e + '�')); return ng(t.substring(n, i)); })(i, r), m = (function (t) { return t.replace(_g, ' '); })(f).split(Hm), g = 0; g < m.length; g++ ) { var v = m[g]; if (1 & g) if ('/' === v.charAt(0)) { if ('#' === v.charAt(1)) { var y = parseInt(v.substr(2), 10); (c = lg[--l]), u.push((y << 3) | 5); } } else { y = parseInt(v.substr(1), 10); var b = '#' === v.charAt(0); u.push(((b ? y : ~y) << 3) | 0, (c << 17) | 1), b && (lg[++l] = c = y); } else for (var w = tg(v), S = 0; S < w.length; S++) if (1 & S) { var x = w[S]; if ('object' != typeof x) throw new Error('Unable to parse ICU expression in "' + f + '" message.'); var M = dg(o); u.push(Ao, ngDevMode ? 'ICU ' + M : '', M, (c << 17) | 1); var E = rg(x); Ag(h, x, M, M); var C = h.length - 1; p.push(sg(x.mainBinding), 3, -1 - x.mainBinding, (M << 2) | 2, C, E, 2, (M << 2) | 3, C); } else if ('' !== w[S]) { var A = w[S], T = A.match(Wm), O = dg(o); u.push(T ? '' : A, O, (c << 17) | 1), T && Wt(ig(A, O), p); } } cg > 0 && (function (t, e, n) { if ((ngDevMode && Ut(n, 0, 'The number of slots to alloc should be greater than 0'), n > 0 && t.firstCreatePass)) { for (var i = 0; i < n; i++) t.blueprint.push(null), t.data.push(null), e.push(null); t.expandoInstructions ? t.expandoInstructions.push(n) : (t.expandoStartIndex += n); } })(e, t, cg); ngDevMode && (function (t, e, n, i) { Lo(t, new ca(t, i)), Lo(e, new la(e, n, i)), n && n.forEach(function (t) { t.create.forEach(function (t) { Lo(t, new ca(t, i)); }), t.update.forEach(function (t) { Lo(t, new la(t, n, i)); }); }); })(u, p, h.length ? h : null, t); var _ = { vars: cg, create: u, update: p, icus: h.length ? h : null, }; e.data[n + 20] = _; })(an(), i, t, e, n); } function dg(t) { return t + cg++; } function pg(t, e, n, i, r) { ngDevMode && ngDevMode.rendererMoveNode++; var o = e.next; i || (i = n), i === n && e !== n.child ? ((e.next = n.child), (n.child = e)) : i !== n && e !== i.next ? ((e.next = i.next), (i.next = e)) : (e.next = null), n !== r[6] && (e.parent = n); for (var a = e.next; a; ) a.next === e && (a.next = o), (a = a.next); if (1 === e.type) return ks(t, r, e), e; Ts(t, r, Ge(e, r), e); var s = r[e.index]; return 0 !== e.type && Se(s) && Ts(t, r, s[7], e), e; } function hg(t) { return void 0 === t; } function fg(t, e) { void 0 === e && (e = {}); var n = t; if (Xm.test(t)) { var r = {}, o = [0]; n = n.replace(Ym, function (t, e, n) { var a = e || n, s = r[a] || []; if ( (s.length || (a.split('|').forEach(function (t) { var e = t.match($m), n = e ? parseInt(e[1], 10) : 0, i = Qm.test(t); s.push([n, i, t]); }), (r[a] = s)), !s.length) ) throw new Error('i18n postprocess: unmatched placeholder - ' + a); for (var c = o[o.length - 1], l = 0, u = 0; u < s.length; u++) if (s[u][0] === c) { l = u; break; } var d = Object(i.f)(s[l], 3), p = d[0], h = d[1], f = d[2]; return h ? o.pop() : c !== p && o.push(p), s.splice(l, 1), f; }); } return Object.keys(e).length ? (n = (n = (n = n.replace(Km, function (t, n, i, r, o, a) { return e.hasOwnProperty(i) ? '' + n + e[i] + a : t; })).replace(Zm, function (t, n) { return e.hasOwnProperty(n) ? e[n] : t; })).replace(Jm, function (t, n) { if (e.hasOwnProperty(n)) { var i = e[n]; if (!i.length) throw new Error('i18n postprocess: unmatched ICU - ' + t + ' with key: ' + n); return i.shift(); } return t; })) : n; } function mg() { var t = an(), e = sn(); ngDevMode && Bt(e, 'tView should be defined'), (function (t, e) { ngDevMode && Rt(gn(), t.bindingStartIndex, 'i18nEnd should be called before any binding'); var n = og[ag--], i = t.data[n + 20]; ngDevMode && Bt(i, 'You should call i18nStart before i18nEnd'); var r = ln(), o = vg(n, i.create, t, e), a = n + 1; for (; a <= r.index - 20; ) { -1 === o.indexOf(a) && yg(t, e, a, !0); var s = We(t, a); !s || (0 !== s.type && 3 !== s.type && 4 !== s.type) || null === s.localNames || (a += s.localNames.length >> 1), a++; } })(e, t), Cu(!1); } function gg(t, e, n, i, r, o) { var a = ln(); ngDevMode && Ht(e, n + 20), (e[n + 20] = r); var s = fa(t, e[6], n, i, o, null); return a && a.next === s && (a.next = null), s; } function vg(t, e, n, i) { for (var r = i[11], o = null, a = null, s = [], c = 0; c < e.length; c++) { var l = e[c]; if ('string' == typeof l) { var u = hs(l, r), d = e[++c]; ngDevMode && ngDevMode.rendererCreateTextNode++, (a = o), (o = gg(n, i, d, 3, u, null)), s.push(d), pn(); } else if ('number' == typeof l) switch (7 & l) { case 1: var p = l >>> 17, h = void 0; (h = p === t ? i[6] : We(n, p)), ngDevMode && Bt(o, 'You need to create or select a node before you can insert it into the DOM'), (a = pg(n, o, h, a, i)); break; case 0: var f = l >= 0, m = (f ? l : ~l) >>> 3; s.push(m), (a = o), (o = We(n, m)) && un(o, f); break; case 5: (a = o = We(n, l >>> 3)), un(o, !1); break; case 4: var g = l >>> 3, v = e[++c], y = e[++c]; Ga(We(n, g), i, v, y, null, null); break; default: throw new Error('Unable to determine the type of mutate operation for "' + l + '"'); } else switch (l) { case Ao: var b = e[++c], w = e[++c]; ngDevMode && Rt(typeof b, 'string', 'Expected "' + b + '" to be a comment node value'); var S = r.createComment(b); ngDevMode && ngDevMode.rendererCreateComment++, (a = o), (o = gg(n, i, w, 5, S, null)), s.push(w), Kr(S, i), (o.activeCaseIndex = null), pn(); break; case Co: var x = e[++c]; g = e[++c]; ngDevMode && Rt(typeof x, 'string', 'Expected "' + x + '" to be an element node tag name'); var M = r.createElement(x); ngDevMode && ngDevMode.rendererCreateElement++, (a = o), (o = gg(n, i, g, 3, M, x)), s.push(g); break; default: throw new Error('Unable to determine the type of mutate operation for "' + l + '"'); } } return pn(), s; } function yg(t, e, n, i) { var r = We(t, n), o = ze(n, e); o && _s(e[11], o); var a = qe(e, n); if (Se(a)) { var s = a; 0 !== r.type && _s(e[11], s[7]); } i && (r.flags |= 64), ngDevMode && ngDevMode.rendererRemoveNode++; } function bg(t, e, n) { ug(t, e, n), mg(); } function wg(t, e) { var n = an(), i = sn(); ngDevMode && Bt(i, 'tView should be defined'), (function (t, e, n, i) { for (var r = ln().index - 20, o = [], a = 0; a < i.length; a += 2) for (var s = i[a], c = i[a + 1].split(qm), l = 0; l < c.length; l++) { var u = c[l]; if (1 & l) throw new Error('ICU expressions are not yet supported in attributes'); if ('' !== u) if (!!u.match(Wm)) e.firstCreatePass && null === e.data[n + 20] && Wt(ig(u, r, s), o); else { var d = We(e, r); 3 === d.type && Ga(d, t, s, u, null, null); var p = null !== d.inputs && d.inputs[s]; if (p && (cs(e, t, p, s, u), ngDevMode)) { var h = ze(r, t); Pa(t, h, d.type, p, u); } } } e.firstCreatePass && null === e.data[n + 20] && (e.data[n + 20] = o); })(n, i, t, e); } var Sg = 0, xg = 0; function Mg(t) { return Tl(an(), yn(), t) && (Sg |= 1 << xg), xg++, Mg; } function Eg(t) { if (xg) { var e = sn(); ngDevMode && Bt(e, 'tView should be defined'); var n = e.data[t + 20], i = void 0, r = null; Array.isArray(n) ? (i = n) : ((i = n.update), (r = n.icus)); var o = gn() - xg - 1, a = an(); !(function t(e, n, i, r, o, a, s) { void 0 === s && (s = !1); for (var c = !1, l = 0; l < e.length; l++) { var u = e[l], d = e[++l]; if (s || u & r) for (var p = '', h = l + 1; h <= l + d; h++) { var f = e[h]; if ('string' == typeof f) p += f; else if ('number' == typeof f) if (f < 0) p += oi(a[i - f]); else { var m = f >>> 2, g = void 0, v = void 0; switch (3 & f) { case 1: var y = e[++h], b = e[++h]; Oa(o, We(o, m), a, y, p, a[11], b, !1); break; case 0: ls(a, m, p); break; case 2: if (((g = n[e[++h]]), null !== (v = We(o, m)).activeCaseIndex)) for (var w = g.remove[v.activeCaseIndex], S = 0; S < w.length; S++) { var x = w[S]; switch (7 & x) { case 3: yg(o, a, x >>> 3, !1); break; case 6: var M = We(o, w[S + 1] >>> 3).activeCaseIndex; if (null !== M) Wt(n[x >>> 3].remove[M], w); } } var E = Cg(g, p); (v.activeCaseIndex = -1 !== E ? E : null), E > -1 && (vg(-1, g.create[E], o, a), (c = !0)); break; case 3: (g = n[e[++h]]), null !== (v = We(o, m)).activeCaseIndex && t(g.update[v.activeCaseIndex], n, i, r, o, a, c); } } } l += d; } })(i, r, o, Sg, e, a), (Sg = 0), (xg = 0); } } function Cg(t, e) { var n = t.cases.indexOf(e); if (-1 === n) switch (t.type) { case 1: var i = (function (t, e) { var n = Nm(e)(parseInt(t, 10)), i = Fm[n]; return void 0 !== i ? i : 'other'; })(e, Pg); -1 === (n = t.cases.indexOf(i)) && 'other' !== i && (n = t.cases.indexOf('other')); break; case 0: n = t.cases.indexOf('other'); } return n; } function Ag(t, e, n, r) { for (var o = [], a = [], s = [], c = [], l = [], u = 0; u < e.values.length; u++) { for (var d = e.values[u], p = [], h = 0; h < d.length; h++) { var f = d[h]; if ('string' != typeof f) { var m = p.push(f) - 1; d[h] = '\x3c!--�' + m + '�--\x3e'; } } var g = Tg(d.join(''), n, p, t, r); o.push(g.create), a.push(g.remove), s.push(g.update), c.push(g.vars), l.push(g.childIcus); } var v = { type: e.type, vars: c, childIcus: l, cases: e.cases, create: o, remove: a, update: s, }; t.push(v), (cg += Math.max.apply(Math, Object(i.h)(c))); } function Tg(t, e, n, r, o) { var a = new er(Ve()).getInertBodyElement(t); if (!a) throw new Error('Unable to generate inert body element'); var s = { vars: 0, childIcus: [], create: [], remove: [], update: [], }; return ( (function t(e, n, r, o, a, s) { if (e) { for (var c = []; e; ) { var l = e.nextSibling, u = s + ++n.vars; switch (e.nodeType) { case Node.ELEMENT_NODE: var d = e, p = d.tagName.toLowerCase(); if (gr.hasOwnProperty(p)) { n.create.push(Co, p, u, (r << 17) | 1); for (var h = d.attributes, f = 0; f < h.length; f++) { var m = h.item(f), g = m.name.toLowerCase(); !!m.value.match(Wm) ? Sr.hasOwnProperty(g) ? vr[g] ? Wt(ig(m.value, u, m.name, rr), n.update) : yr[g] ? Wt(ig(m.value, u, m.name, or), n.update) : Wt(ig(m.value, u, m.name), n.update) : ngDevMode && console.warn('WARNING: ignoring unsafe attribute value ' + g + ' on element ' + p + ' (see http://g.co/ng/security#xss)') : n.create.push((u << 3) | 4, m.name, m.value); } t(e.firstChild, n, u, o, a, s), n.remove.push((u << 3) | 3); } else n.vars--; break; case Node.TEXT_NODE: var v = e.textContent || '', y = v.match(Wm); n.create.push(y ? '' : v, u, (r << 17) | 1), n.remove.push((u << 3) | 3), y && Wt(ig(v, u), n.update); break; case Node.COMMENT_NODE: var b = Og.exec(e.textContent || ''); if (b) { var w = parseInt(b[1], 10), S = ngDevMode ? 'nested ICU ' + w : ''; n.create.push(Ao, S, u, (r << 17) | 1); var x = o[w]; c.push([x, u]); } else n.vars--; break; default: n.vars--; } e = l; } for (f = 0; f < c.length; f++) { x = c[f][0]; var M = c[f][1]; Ag(a, x, M, s + n.vars); var E = a.length - 1; (n.vars += Math.max.apply(Math, Object(i.h)(a[E].vars))), n.childIcus.push(E); var C = rg(x); n.update.push(sg(x.mainBinding), 3, -1 - x.mainBinding, (M << 2) | 2, E, C, 2, (M << 2) | 3, E), n.remove.push((E << 3) | 6, (M << 3) | 3); } } })((Or(a) || a).firstChild, s, e, n, r, o), s ); } var Og = /�(\d+)�/; var _g = /\uE500/g; var Pg = Um; function Ig(t) { Bt(t, 'Expected localeId to be defined'), 'string' == typeof t && (Pg = t.toLowerCase().replace(/_/g, '-')); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function kg(t, e, n, r) { return l(function () { var o, a = t, s = a.prototype ? Object.getPrototypeOf(a.prototype) : null, c = s && s.constructor; null !== e && (void 0 === a.decorators || (c && c.decorators === a.decorators) ? (a.decorators = e) : (o = a.decorators).push.apply(o, Object(i.h)(e))), null !== n && (a.ctorParameters = n), null !== r && (void 0 === a.propDecorators || (c && c.propDecorators === a.propDecorators) ? (a.propDecorators = r) : (a.propDecorators = Object(i.a)(Object(i.a)({}, a.propDecorators), r))); }); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Dg = new Map(); function Rg(t, e) { var n = Dg.get(t); Lg(t, n && n.moduleType, e.moduleType), Dg.set(t, e); } function Lg(t, e, n) { if (e && e !== n) throw new Error('Duplicate module registered for ' + t + ' - ' + F(e) + ' vs ' + F(e.name)); } function Ng(t) { if (null !== t.ɵmod.id) { var e = t.ɵmod.id; Lg(e, Dg.get(e), t), Dg.set(e, t); } var n = t.ɵmod.imports; n instanceof Function && (n = n()), n && n.forEach(function (t) { return Ng(t); }); } function jg(t) { return Dg.get(t) || le[t]; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Vg = (function (t) { function e(e, n) { var i = t.call(this) || this; (i._parent = n), (i._bootstrapComponents = []), (i.injector = i), (i.destroyCbs = []), (i.componentFactoryResolver = new Em(i)); var r = be(e); ngDevMode && Bt(r, "NgModule '" + F(e) + "' is not a subtype of 'NgModuleType'."); var o = e[it] || null; return ( o && Ig(o), (i._bootstrapComponents = di(r.bootstrap)), (i._r3Injector = Sc( e, n, [ { provide: _t, useValue: i, }, { provide: Yp, useValue: i.componentFactoryResolver, }, ], F(e) )), i._r3Injector._resolveInjectorDefTypes(), (i.instance = i.get(e)), i ); } return ( Object(i.c)(e, t), (e.prototype.get = function (t, e, n) { return void 0 === e && (e = Pc.THROW_IF_NOT_FOUND), void 0 === n && (n = v.Default), t === Pc || t === _t || t === lt ? this : this._r3Injector.get(t, e, n); }), (e.prototype.destroy = function () { ngDevMode && Bt(this.destroyCbs, 'NgModule already destroyed'); var t = this._r3Injector; !t.destroyed && t.destroy(), this.destroyCbs.forEach(function (t) { return t(); }), (this.destroyCbs = null); }), (e.prototype.onDestroy = function (t) { ngDevMode && Bt(this.destroyCbs, 'NgModule already destroyed'), this.destroyCbs.push(t); }), e ); })(_t), Fg = (function (t) { function e(e) { var n = t.call(this) || this; return (n.moduleType = e), null !== be(e) && Ng(e), n; } return ( Object(i.c)(e, t), (e.prototype.create = function (t) { return new Vg(this.moduleType, t); }), e ); })(Pt); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Ug(t, e, n) { var i = mn() + t, r = an(); return r[i] === mo ? Cl(r, i, n ? e.call(n) : e()) : Al(r, i); } function Bg(t, e, n, i) { return Jg(an(), mn(), t, e, n, i); } function zg(t, e, n, i, r) { return Qg(an(), mn(), t, e, n, i, r); } function Gg(t, e, n, i, r, o) { return $g(an(), mn(), t, e, n, i, r, o); } function Hg(t, e, n, i, r, o, a) { return tv(an(), mn(), t, e, n, i, r, o, a); } function Wg(t, e, n, i, r, o, a, s) { var c = mn() + t, l = an(), u = Pl(l, c, n, i, r, o); return Tl(l, c + 4, a) || u ? Cl(l, c + 5, s ? e.call(s, n, i, r, o, a) : e(n, i, r, o, a)) : Al(l, c + 5); } function qg(t, e, n, i, r, o, a, s, c) { var l = mn() + t, u = an(), d = Pl(u, l, n, i, r, o); return Ol(u, l + 4, a, s) || d ? Cl(u, l + 6, c ? e.call(c, n, i, r, o, a, s) : e(n, i, r, o, a, s)) : Al(u, l + 6); } function Xg(t, e, n, i, r, o, a, s, c, l) { var u = mn() + t, d = an(), p = Pl(d, u, n, i, r, o); return _l(d, u + 4, a, s, c) || p ? Cl(d, u + 7, l ? e.call(l, n, i, r, o, a, s, c) : e(n, i, r, o, a, s, c)) : Al(d, u + 7); } function Yg(t, e, n, i, r, o, a, s, c, l, u) { var d = mn() + t, p = an(), h = Pl(p, d, n, i, r, o); return Pl(p, d + 4, a, s, c, l) || h ? Cl(p, d + 8, u ? e.call(u, n, i, r, o, a, s, c, l) : e(n, i, r, o, a, s, c, l)) : Al(p, d + 8); } function Kg(t, e, n, i) { return ev(an(), mn(), t, e, n, i); } function Zg(t, e) { ngDevMode && Ht(t, e); var n = t[e]; return n === mo ? void 0 : n; } function Jg(t, e, n, i, r, o) { var a = e + n; return Tl(t, a, r) ? Cl(t, a + 1, o ? i.call(o, r) : i(r)) : Zg(t, a + 1); } function Qg(t, e, n, i, r, o, a) { var s = e + n; return Ol(t, s, r, o) ? Cl(t, s + 2, a ? i.call(a, r, o) : i(r, o)) : Zg(t, s + 2); } function $g(t, e, n, i, r, o, a, s) { var c = e + n; return _l(t, c, r, o, a) ? Cl(t, c + 3, s ? i.call(s, r, o, a) : i(r, o, a)) : Zg(t, c + 3); } function tv(t, e, n, i, r, o, a, s, c) { var l = e + n; return Pl(t, l, r, o, a, s) ? Cl(t, l + 4, c ? i.call(c, r, o, a, s) : i(r, o, a, s)) : Zg(t, l + 4); } function ev(t, e, n, i, r, o) { for (var a = e + n, s = !1, c = 0; c < r.length; c++) Tl(t, a++, r[c]) && (s = !0); return s ? Cl(t, a, i.apply(o, r)) : Zg(t, a); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function nv(t, e) { var n, i = sn(), r = t + 20; i.firstCreatePass ? ((n = (function (t, e) { if (e) for (var n = e.length - 1; n >= 0; n--) { var i = e[n]; if (t === i.name) return i; } throw new Error("The pipe '" + t + "' could not be found!"); })(e, i.pipeRegistry)), (i.data[r] = n), n.onDestroy && (i.destroyHooks || (i.destroyHooks = [])).push(r, n.onDestroy)) : (n = i.data[r]); var o = n.factory || (n.factory = ye(n.type, !0)), a = mt(eu), s = hi(!1), c = o(); return hi(s), mt(a), $l(i, an(), t, c), c; } function iv(t, e, n) { var i = an(), r = qe(i, t); return lv(i, cv(i, t) ? Jg(i, mn(), e, r.transform, n, r) : r.transform(n)); } function rv(t, e, n, i) { var r = an(), o = qe(r, t); return lv(r, cv(r, t) ? Qg(r, mn(), e, o.transform, n, i, o) : o.transform(n, i)); } function ov(t, e, n, i, r) { var o = an(), a = qe(o, t); return lv(o, cv(o, t) ? $g(o, mn(), e, a.transform, n, i, r, a) : a.transform(n, i, r)); } function av(t, e, n, i, r, o) { var a = an(), s = qe(a, t); return lv(a, cv(a, t) ? tv(a, mn(), e, s.transform, n, i, r, o, s) : s.transform(n, i, r, o)); } function sv(t, e, n) { var i = an(), r = qe(i, t); return lv(i, cv(i, t) ? ev(i, mn(), e, r.transform, n, r) : r.transform.apply(r, n)); } function cv(t, e) { return t[1].data[e + 20].pure; } function lv(t, e) { xl.isWrapped(e) && ((e = xl.unwrap(e)), (t[gn()] = mo)); return e; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var uv = (function (t) { function e(e) { void 0 === e && (e = !1); var n = t.call(this) || this; return (n.__isAsync = e), n; } return ( Object(i.c)(e, t), (e.prototype.emit = function (e) { t.prototype.next.call(this, e); }), (e.prototype.subscribe = function (e, n, i) { var o, a = function (t) { return null; }, s = function () { return null; }; e && 'object' == typeof e ? ((o = this.__isAsync ? function (t) { setTimeout(function () { return e.next(t); }); } : function (t) { e.next(t); }), e.error && (a = this.__isAsync ? function (t) { setTimeout(function () { return e.error(t); }); } : function (t) { e.error(t); }), e.complete && (s = this.__isAsync ? function () { setTimeout(function () { return e.complete(); }); } : function () { e.complete(); })) : ((o = this.__isAsync ? function (t) { setTimeout(function () { return e(t); }); } : function (t) { e(t); }), n && (a = this.__isAsync ? function (t) { setTimeout(function () { return n(t); }); } : function (t) { n(t); }), i && (s = this.__isAsync ? function () { setTimeout(function () { return i(); }); } : function () { i(); })); var c = t.prototype.subscribe.call(this, o, a, s); return e instanceof r.a && e.add(c), c; }), e ); })(o.a); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function dv() { return this._results[bl()](); } var pv = (function () { function t() { (this.dirty = !0), (this._results = []), (this.changes = new uv()), (this.length = 0); var e = bl(), n = t.prototype; n[e] || (n[e] = dv); } return ( (t.prototype.map = function (t) { return this._results.map(t); }), (t.prototype.filter = function (t) { return this._results.filter(t); }), (t.prototype.find = function (t) { return this._results.find(t); }), (t.prototype.reduce = function (t, e) { return this._results.reduce(t, e); }), (t.prototype.forEach = function (t) { this._results.forEach(t); }), (t.prototype.some = function (t) { return this._results.some(t); }), (t.prototype.toArray = function () { return this._results.slice(); }), (t.prototype.toString = function () { return this._results.toString(); }), (t.prototype.reset = function (t) { (this._results = qt(t)), (this.dirty = !1), (this.length = this._results.length), (this.last = this._results[this.length - 1]), (this.first = this._results[0]); }), (t.prototype.notifyOnChanges = function () { this.changes.emit(this); }), (t.prototype.setDirty = function () { this.dirty = !0; }), (t.prototype.destroy = function () { this.changes.complete(), this.changes.unsubscribe(); }), t ); })(), hv = (function () { function t(t) { (this.queryList = t), (this.matches = null); } return ( (t.prototype.clone = function () { return new t(this.queryList); }), (t.prototype.setDirty = function () { this.queryList.setDirty(); }), t ); })(), fv = (function () { function t(t) { void 0 === t && (t = []), (this.queries = t); } return ( (t.prototype.createEmbeddedView = function (e) { var n = e.queries; if (null !== n) { for (var i = null !== e.contentQueries ? e.contentQueries[0] : n.length, r = [], o = 0; o < i; o++) { var a = n.getByIndex(o), s = this.queries[a.indexInDeclarationView]; r.push(s.clone()); } return new t(r); } return null; }), (t.prototype.insertView = function (t) { this.dirtyQueriesWithMatches(t); }), (t.prototype.detachView = function (t) { this.dirtyQueriesWithMatches(t); }), (t.prototype.dirtyQueriesWithMatches = function (t) { for (var e = 0; e < this.queries.length; e++) null !== Iv(t, e).matches && this.queries[e].setDirty(); }), t ); })(), mv = function (t, e, n, i) { void 0 === i && (i = null), (this.predicate = t), (this.descendants = e), (this.isStatic = n), (this.read = i); }, gv = (function () { function t(t) { void 0 === t && (t = []), (this.queries = t); } return ( (t.prototype.elementStart = function (t, e) { ngDevMode && De(t, 'Queries should collect results on the first template pass only'); for (var n = 0; n < this.queries.length; n++) this.queries[n].elementStart(t, e); }), (t.prototype.elementEnd = function (t) { for (var e = 0; e < this.queries.length; e++) this.queries[e].elementEnd(t); }), (t.prototype.embeddedTView = function (e) { for (var n = null, i = 0; i < this.length; i++) { var r = null !== n ? n.length : 0, o = this.getByIndex(i).embeddedTView(e, r); o && ((o.indexInDeclarationView = i), null !== n ? n.push(o) : (n = [o])); } return null !== n ? new t(n) : null; }), (t.prototype.template = function (t, e) { ngDevMode && De(t, 'Queries should collect results on the first template pass only'); for (var n = 0; n < this.queries.length; n++) this.queries[n].template(t, e); }), (t.prototype.getByIndex = function (t) { return ngDevMode && Ht(this.queries, t), this.queries[t]; }), Object.defineProperty(t.prototype, 'length', { get: function () { return this.queries.length; }, enumerable: !0, configurable: !0, }), (t.prototype.track = function (t) { this.queries.push(t); }), t ); })(), vv = (function () { function t(t, e) { void 0 === e && (e = -1), (this.metadata = t), (this.matches = null), (this.indexInDeclarationView = -1), (this.crossesNgTemplate = !1), (this._appliesToNextNode = !0), (this._declarationNodeIndex = e); } return ( (t.prototype.elementStart = function (t, e) { this.isApplyingToNode(e) && this.matchTNode(t, e); }), (t.prototype.elementEnd = function (t) { this._declarationNodeIndex === t.index && (this._appliesToNextNode = !1); }), (t.prototype.template = function (t, e) { this.elementStart(t, e); }), (t.prototype.embeddedTView = function (e, n) { return this.isApplyingToNode(e) ? ((this.crossesNgTemplate = !0), this.addMatch(-e.index, n), new t(this.metadata)) : null; }), (t.prototype.isApplyingToNode = function (t) { if (this._appliesToNextNode && !1 === this.metadata.descendants) { for (var e = this._declarationNodeIndex, n = t.parent; null !== n && 4 === n.type && n.index !== e; ) n = n.parent; return e === (null !== n ? n.index : -1); } return this._appliesToNextNode; }), (t.prototype.matchTNode = function (t, e) { if (Array.isArray(this.metadata.predicate)) for (var n = this.metadata.predicate, i = 0; i < n.length; i++) this.matchTNodeWithReadOption(t, e, yv(e, n[i])); else { var r = this.metadata.predicate; r === Eh ? 0 === e.type && this.matchTNodeWithReadOption(t, e, -1) : this.matchTNodeWithReadOption(t, e, Ei(e, t, r, !1, !1)); } }), (t.prototype.matchTNodeWithReadOption = function (t, e, n) { if (null !== n) { var i = this.metadata.read; if (null !== i) if (i === Qp || i === Th || (i === Eh && 0 === e.type)) this.addMatch(e.index, -2); else { var r = Ei(e, t, i, !1, !1); null !== r && this.addMatch(e.index, r); } else this.addMatch(e.index, n); } }), (t.prototype.addMatch = function (t, e) { null === this.matches ? (this.matches = [t, e]) : this.matches.push(t, e); }), t ); })(); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function yv(t, e) { var n = t.localNames; if (null !== n) for (var i = 0; i < n.length; i += 2) if (n[i] === e) return n[i + 1]; return null; } function bv(t, e, n, i) { return -1 === n ? (function (t, e) { return 3 === t.type || 4 === t.type ? Bs(Qp, t, e) : 0 === t.type ? zs(Eh, Qp, t, e) : null; })(e, t) : -2 === n ? (function (t, e, n) { if (n === Qp) return Bs(Qp, e, t); if (n === Eh) return zs(Eh, Qp, e, t); if (n === Th) return ngDevMode && Yn(e, 3, 0, 4), Gs(Th, Qp, e, t); ngDevMode && zt('Special token to read should be one of ElementRef, TemplateRef or ViewContainerRef but got ' + F(n) + '.'); })(t, e, i) : Ci(t, t[1], n, e); } function wv(t, e, n, i) { var r = e[19].queries[i]; if (null === r.matches) { for (var o = t.data, a = n.matches, s = [], c = 0; c < a.length; c += 2) { var l = a[c]; if (l < 0) s.push(null); else { ngDevMode && Ht(o, l); var u = o[l]; s.push(bv(e, u, a[c + 1], n.metadata.read)); } } r.matches = s; } return r.matches; } function Sv(t) { var e = an(), n = sn(), i = Mn(); En(i + 1); var r = Iv(n, i); if (t.dirty && Ze(e) === r.metadata.isStatic) { if (null === r.matches) t.reset([]); else { var o = r.crossesNgTemplate ? (function t(e, n, i, r) { var o = e.queries.getByIndex(i), a = o.matches; if (null !== a) for (var s = wv(e, n, o, i), c = 0; c < a.length; c += 2) { var l = a[c]; if (l > 0) r.push(s[c / 2]); else { var u = a[c + 1], d = n[-l]; ngDevMode && Pe(d); for (var p = 10; p < d.length; p++) { (m = d[p])[17] === m[3] && t(m[1], m, u, r); } if (null !== d[9]) for (var h = d[9], f = 0; f < h.length; f++) { var m; t((m = h[f])[1], m, u, r); } } } return r; })(n, e, i, []) : wv(n, e, r, i); t.reset(o), t.notifyOnChanges(); } return !0; } return !1; } function xv(t, e, n) { Ev(sn(), an(), t, e, n, !0); } function Mv(t, e, n) { Ev(sn(), an(), t, e, n, !1); } function Ev(t, e, n, i, r, o) { t.firstCreatePass && (Pv(t, new mv(n, i, o, r), -1), o && (t.staticViewQueries = !0)), _v(t, e); } function Cv(t, e, n, i) { Tv(sn(), an(), e, n, i, !1, ln(), t); } function Av(t, e, n, i) { Tv(sn(), an(), e, n, i, !0, ln(), t); } function Tv(t, e, n, i, r, o, a, s) { t.firstCreatePass && (Pv(t, new mv(n, i, o, r), a.index), (function (t, e) { var n = t.contentQueries || (t.contentQueries = []), i = t.contentQueries.length ? n[n.length - 1] : -1; e !== i && n.push(t.queries.length - 1, e); })(t, s), o && (t.staticContentQueries = !0)), _v(t, e); } function Ov() { return (t = an()), (e = Mn()), ngDevMode && Bt(t[19], 'LQueries should be defined when trying to load a query'), ngDevMode && Ht(t[19].queries, e), t[19].queries[e].queryList; var t, e; } function _v(t, e) { var n = new pv(); !(function (t, e, n, i) { var r = rs(e); r.push(n), t.firstCreatePass && os(t).push(i, r.length - 1); })(t, e, n, n.destroy), null === e[19] && (e[19] = new fv()), e[19].queries.push(new hv(n)); } function Pv(t, e, n) { null === t.queries && (t.queries = new gv()), t.queries.track(new vv(e, n)); } function Iv(t, e) { return ngDevMode && Bt(t.queries, 'TQueries must be defined to retrieve a TQuery'), t.queries.getByIndex(e); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function kv(t, e) { return zs(Eh, Qp, t, e); } function Dv(t) { void 0 === t && (t = v.Default); var e = Hs(!0); if (null != e || t & v.Optional) return e; throw new Error('No provider for ChangeDetectorRef!'); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Rv = { ɵɵattribute: Il, ɵɵattributeInterpolate1: Bl, ɵɵattributeInterpolate2: zl, ɵɵattributeInterpolate3: Gl, ɵɵattributeInterpolate4: Hl, ɵɵattributeInterpolate5: Wl, ɵɵattributeInterpolate6: ql, ɵɵattributeInterpolate7: Xl, ɵɵattributeInterpolate8: Yl, ɵɵattributeInterpolateV: Kl, ɵɵdefineComponent: oe, ɵɵdefineDirective: he, ɵɵdefineInjectable: O, ɵɵdefineInjector: P, ɵɵdefineNgModule: ue, ɵɵdefinePipe: fe, ɵɵdirectiveInject: eu, ɵɵgetFactoryOf: _i, ɵɵgetInheritedFactory: Pi, ɵɵinject: vt, ɵɵinjectAttribute: nu, ɵɵinvalidFactory: iu, ɵɵinvalidFactoryDep: yt, ɵɵinjectPipeChangeDetectorRef: Dv, ɵɵtemplateRefExtractor: kv, ɵɵNgOnChangesFeature: kp, ɵɵProvidersFeature: zp, ɵɵCopyDefinitionFeature: Pp, ɵɵInheritDefinitionFeature: Mp, ɵɵnextContext: Su, ɵɵnamespaceHTML: Vn, ɵɵnamespaceMathML: jn, ɵɵnamespaceSVG: Nn, ɵɵenableBindings: rn, ɵɵdisableBindings: on, ɵɵelementStart: su, ɵɵelementEnd: cu, ɵɵelement: lu, ɵɵelementContainerStart: uu, ɵɵelementContainerEnd: du, ɵɵelementContainer: pu, ɵɵpureFunction0: Ug, ɵɵpureFunction1: Bg, ɵɵpureFunction2: zg, ɵɵpureFunction3: Gg, ɵɵpureFunction4: Hg, ɵɵpureFunction5: Wg, ɵɵpureFunction6: qg, ɵɵpureFunction7: Xg, ɵɵpureFunction8: Yg, ɵɵpureFunctionV: Kg, ɵɵgetCurrentView: hu, ɵɵrestoreView: cn, ɵɵlistener: gu, ɵɵprojection: Au, ɵɵupdateSyntheticHostBinding: tp, ɵɵcomponentHostSyntheticListener: vu, ɵɵpipeBind1: iv, ɵɵpipeBind2: rv, ɵɵpipeBind3: ov, ɵɵpipeBind4: av, ɵɵpipeBindV: sv, ɵɵprojectionDef: Mu, ɵɵhostProperty: $d, ɵɵproperty: ru, ɵɵpropertyInterpolate: Tu, ɵɵpropertyInterpolate1: Ou, ɵɵpropertyInterpolate2: _u, ɵɵpropertyInterpolate3: Pu, ɵɵpropertyInterpolate4: Iu, ɵɵpropertyInterpolate5: ku, ɵɵpropertyInterpolate6: Du, ɵɵpropertyInterpolate7: Ru, ɵɵpropertyInterpolate8: Lu, ɵɵpropertyInterpolateV: Nu, ɵɵpipe: nv, ɵɵqueryRefresh: Sv, ɵɵviewQuery: Mv, ɵɵstaticViewQuery: xv, ɵɵstaticContentQuery: Av, ɵɵloadQuery: Ov, ɵɵcontentQuery: Cv, ɵɵreference: tu, ɵɵclassMap: nd, ɵɵclassMapInterpolate1: Ad, ɵɵclassMapInterpolate2: Td, ɵɵclassMapInterpolate3: Od, ɵɵclassMapInterpolate4: _d, ɵɵclassMapInterpolate5: Pd, ɵɵclassMapInterpolate6: Id, ɵɵclassMapInterpolate7: kd, ɵɵclassMapInterpolate8: Dd, ɵɵclassMapInterpolateV: Rd, ɵɵstyleMap: td, ɵɵstyleMapInterpolate1: Ld, ɵɵstyleMapInterpolate2: Nd, ɵɵstyleMapInterpolate3: jd, ɵɵstyleMapInterpolate4: Vd, ɵɵstyleMapInterpolate5: Fd, ɵɵstyleMapInterpolate6: Ud, ɵɵstyleMapInterpolate7: Bd, ɵɵstyleMapInterpolate8: zd, ɵɵstyleMapInterpolateV: Gd, ɵɵstyleProp: Qu, ɵɵstylePropInterpolate1: Hd, ɵɵstylePropInterpolate2: Wd, ɵɵstylePropInterpolate3: qd, ɵɵstylePropInterpolate4: Xd, ɵɵstylePropInterpolate5: Yd, ɵɵstylePropInterpolate6: Kd, ɵɵstylePropInterpolate7: Zd, ɵɵstylePropInterpolate8: Jd, ɵɵstylePropInterpolateV: Qd, ɵɵstyleSanitizer: Ju, ɵɵclassProp: $u, ɵɵselect: Mo, ɵɵadvance: xo, ɵɵtemplate: Ql, ɵɵtext: md, ɵɵtextInterpolate: gd, ɵɵtextInterpolate1: vd, ɵɵtextInterpolate2: yd, ɵɵtextInterpolate3: bd, ɵɵtextInterpolate4: wd, ɵɵtextInterpolate5: Sd, ɵɵtextInterpolate6: xd, ɵɵtextInterpolate7: Md, ɵɵtextInterpolate8: Ed, ɵɵtextInterpolateV: Cd, ɵɵi18n: bg, ɵɵi18nAttributes: wg, ɵɵi18nExp: Mg, ɵɵi18nStart: ug, ɵɵi18nEnd: mg, ɵɵi18nApply: Eg, ɵɵi18nPostprocess: fg, ɵɵresolveWindow: ci, ɵɵresolveDocument: li, ɵɵresolveBody: ui, ɵɵsetComponentScope: ae, ɵɵsetNgModuleScope: de, ɵɵsanitizeHtml: kr, ɵɵsanitizeStyle: Dr, ɵɵdefaultStyleSanitizer: Fr, ɵɵsanitizeResourceUrl: Lr, ɵɵsanitizeScript: Nr, ɵɵsanitizeUrl: Rr, ɵɵsanitizeUrlOrResourceUrl: Vr, }, Lv = null; function Nv() { Lv = null; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var jv = [], Vv = []; var Fv = !1; function Uv() { if (!Fv) { Fv = !0; try { for (var t = Vv.length - 1; t >= 0; t--) { var e = Vv[t], n = e.moduleType, i = e.ngModule; i.declarations && i.declarations.every(Bv) && (Vv.splice(t, 1), Jv(n, i)); } } finally { Fv = !1; } } } function Bv(t) { return Array.isArray(t) ? t.every(Bv) : !!G(t); } function zv(t, e) { void 0 === e && (e = {}), Gv(t, e), (function (t, e) { Vv.push({ moduleType: t, ngModule: e, }); })(t, e); } function Gv(t, e, n) { void 0 === n && (n = !1), ngDevMode && Bt(t, 'Required value moduleType'), ngDevMode && Bt(e, 'Required value ngModule'); var i = qt(e.declarations || jv), r = null; Object.defineProperty(t, nt, { configurable: !0, get: function () { if (null === r) { if (ngDevMode && e.imports && e.imports.indexOf(t) > -1) throw new Error("'" + ai(t) + "' module can't import itself"); (r = Q().compileNgModule(Rv, 'ng:///' + t.name + '/ɵmod.js', { type: t, bootstrap: qt(e.bootstrap || jv).map(G), declarations: i.map(G), imports: qt(e.imports || jv) .map(G) .map(ty), exports: qt(e.exports || jv) .map(G) .map(ty), schemas: e.schemas ? qt(e.schemas) : null, id: e.id || null, })).schemas || (r.schemas = []); } return r; }, }); var o = null; Object.defineProperty(t, L, { get: function () { if (null === o) { ngDevMode && Hv(t, n); var i = { name: t.name, type: t, deps: oc(t), providers: e.providers || jv, imports: [(e.imports || jv).map(G), (e.exports || jv).map(G)], }; o = Q().compileInjector(Rv, 'ng:///' + t.name + '/ɵinj.js', i); } return o; }, configurable: !!ngDevMode, }); } function Hv(t, e, n) { if (!Yv.get(t)) { var r; if ((Yv.set(t, !0), (t = G(t)), n)) { if (!(r = be(t))) throw new Error("Unexpected value '" + t.name + "' imported by the module '" + n.name + "'. Please add an @NgModule annotation."); } else r = be(t, !0); var o = [], a = di(r.declarations), s = di(r.imports); qt(s) .map(Wv) .forEach(function (e) { p(e, t), Hv(e, !1, t); }); var c = di(r.exports); a.forEach(function (e) { me((e = G(e))) || ge(e) || ve(e) || o.push("Unexpected value '" + ai(e) + "' declared by the module '" + ai(t) + "'. Please add a @Pipe/@Directive/@Component annotation."); }), a.forEach(function (t) { var e = ge((t = G(t))); !me(t) && e && 0 == e.selectors.length && o.push('Directive ' + ai(t) + ' has no selector, please add it!'); }); var l = Object(i.h)(a.map(G), qt(s.map(Zv)).map(G)); c.forEach(function (e) { var n = (me((e = G(e))) ? 'component' : ge(e) && 'directive') || (ve(e) && 'pipe'); n && -1 === l.lastIndexOf(e) && o.push("Can't export " + n + ' ' + ai(e) + ' from ' + ai(t) + ' as it was neither declared nor imported!'); }), a.forEach(function (n) { return (function (e, n) { e = G(e); var i = Xv.get(e); if (i && i !== t) { if (!n) { var r = [i, t].map(ai).sort(); o.push( 'Type ' + ai(e) + ' is part of the declarations of 2 modules: ' + r[0] + ' and ' + r[1] + '! Please consider moving ' + ai(e) + ' to a higher module that imports ' + r[0] + ' and ' + r[1] + '. You can also create a new NgModule that exports and includes ' + ai(e) + ' then import that NgModule in ' + r[0] + ' and ' + r[1] + '.' ); } } else Xv.set(e, t); })(n, e); }), a.forEach(function (t) { if (me((t = G(t)))) { var e = qv(t, 'Component'); e && e.entryComponents && Xt(e.entryComponents, d); } }); var u = qv(t, 'NgModule'); if ( (u && (u.imports && qt(u.imports) .map(Wv) .forEach(function (e) { p(e, t), Hv(e, !1, t); }), u.bootstrap && Xt(u.bootstrap, function (t) { me((t = G(t))) || o.push(ai(t) + ' cannot be used as an entry component.'); }), u.bootstrap && Xt(u.bootstrap, d), u.entryComponents && Xt(u.entryComponents, d)), o.length) ) throw new Error(o.join('\n')); } function d(t) { (t = G(t)), Xv.get(t) || o.push('Component ' + ai(t) + ' is not part of any NgModule or the module has not been imported into your module.'); } function p(t, e) { if (me((t = G(t))) || ge(t)) throw new Error("Unexpected directive '" + t.name + "' imported by the module '" + e.name + "'. Please add an @NgModule annotation."); if (ve(t)) throw new Error("Unexpected pipe '" + t.name + "' imported by the module '" + e.name + "'. Please add an @NgModule annotation."); } } function Wv(t) { return (t = G(t)).ngModule || t; } function qv(t, e) { var n = null; return i(t.__annotations__), i(t.decorators), n; function i(t) { t && t.forEach(r); } function r(t) { if (!n) if (Object.getPrototypeOf(t).ngMetadataName == e) n = t; else if (t.type) { Object.getPrototypeOf(t.type).ngMetadataName == e && (n = t.args[0]); } } } var Xv = new Map(), Yv = new Map(); function Kv() { (Xv = new Map()), (Yv = new Map()), (Vv.length = 0); } function Zv(t) { var e = be((t = G(t)), !0); return Object(i.h)( qt( di(e.exports).map(function (t) { return be(t) ? (Hv(t, !1), Zv(t)) : t; }) ) ); } function Jv(t, e) { var n = qt(e.declarations || jv), i = $v(t); n.forEach(function (e) { e.hasOwnProperty($) ? Qv(me(e), i) : e.hasOwnProperty(tt) || e.hasOwnProperty(et) || (e.ngSelectorScope = t); }); } function Qv(t, e) { (t.directiveDefs = function () { return Array.from(e.compilation.directives) .map(function (t) { return t.hasOwnProperty($) ? me(t) : ge(t); }) .filter(function (t) { return !!t; }); }), (t.pipeDefs = function () { return Array.from(e.compilation.pipes).map(function (t) { return ve(t); }); }), (t.schemas = e.schemas), (t.tView = null); } function $v(t) { if (!ey(t)) throw new Error(t.name + ' does not have a module def (ɵmod property)'); var e = be(t); if (null !== e.transitiveCompileScopes) return e.transitiveCompileScopes; var n = { schemas: e.schemas || null, compilation: { directives: new Set(), pipes: new Set(), }, exported: { directives: new Set(), pipes: new Set(), }, }; return ( di(e.imports).forEach(function (t) { var e = t; if (!ey(e)) throw new Error('Importing ' + e.name + ' which does not have a ɵmod property'); var i = $v(e); i.exported.directives.forEach(function (t) { return n.compilation.directives.add(t); }), i.exported.pipes.forEach(function (t) { return n.compilation.pipes.add(t); }); }), di(e.declarations).forEach(function (t) { ve(t) ? n.compilation.pipes.add(t) : n.compilation.directives.add(t); }), di(e.exports).forEach(function (t) { var e = t; if (ey(e)) { var i = $v(e); i.exported.directives.forEach(function (t) { n.compilation.directives.add(t), n.exported.directives.add(t); }), i.exported.pipes.forEach(function (t) { n.compilation.pipes.add(t), n.exported.pipes.add(t); }); } else ve(e) ? n.exported.pipes.add(e) : n.exported.directives.add(e); }), (e.transitiveCompileScopes = n), n ); } function ty(t) { return (function (t) { return void 0 !== t.ngModule; })(t) ? t.ngModule : t; } function ey(t) { return !!be(t); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function ny(t, e) { ('undefined' == typeof ngDevMode || ngDevMode) && at(); var n = null; !(function (t, e) { fl(e) && (pl.set(t, e), hl.add(t)); })(t, e), oy(t, e), Object.defineProperty(t, $, { get: function () { if (null === n) { var r = Q(); if (fl(e)) { var o = ["Component '" + t.name + "' is not resolved:"]; throw ( (e.templateUrl && o.push(' - templateUrl: ' + e.templateUrl), e.styleUrls && e.styleUrls.length && o.push(' - styleUrls: ' + JSON.stringify(e.styleUrls)), o.push("Did you run and wait for 'resolveComponentResources()'?"), new Error(o.join('\n'))) ); } var a = Lv, s = e.preserveWhitespaces; void 0 === s && (s = null !== a && void 0 !== a.preserveWhitespaces && a.preserveWhitespaces); var c = e.encapsulation; void 0 === c && (c = null !== a && void 0 !== a.defaultEncapsulation ? a.defaultEncapsulation : Ot.Emulated); var l = e.templateUrl || 'ng:///' + t.name + '/template.html', u = Object(i.a)(Object(i.a)({}, sy(t, e)), { typeSourceSpan: r.createParseSourceSpan('Component', t.name, l), template: e.template || '', preserveWhitespaces: s, styles: e.styles || ie, animations: e.animations, directives: [], changeDetection: e.changeDetection, pipes: new Map(), encapsulation: c, interpolation: e.interpolation, viewProviders: e.viewProviders || null, }); if ((u.usesInheritance && cy(t), (n = r.compileComponent(Rv, l, u)), Uv(), void 0 !== t.ngSelectorScope)) { var d = $v(t.ngSelectorScope); Qv(n, d); } } return n; }, configurable: !!ngDevMode, }); } function iy(t, e) { var n = null; oy(t, e || {}), Object.defineProperty(t, tt, { get: function () { if (null === n) { var i = ry(t, e || {}); n = Q().compileDirective(Rv, i.sourceMapUrl, i.metadata); } return n; }, configurable: !!ngDevMode, }); } function ry(t, e) { var n = t && t.name, i = 'ng:///' + n + '/ɵdir.js', r = Q(), o = sy(t, e); return ( (o.typeSourceSpan = r.createParseSourceSpan('Directive', n, i)), o.usesInheritance && cy(t), { metadata: o, sourceMapUrl: i, } ); } function oy(t, e) { var n = null; Object.defineProperty(t, rt, { get: function () { if (null === n) { var r = ry(t, e), o = Q(); n = o.compileFactory( Rv, 'ng:///' + t.name + '/ɵfac.js', Object(i.a)(Object(i.a)({}, r.metadata), { injectFn: 'directiveInject', target: o.R3FactoryTarget.Directive, }) ); } return n; }, configurable: !!ngDevMode, }); } function ay(t) { return Object.getPrototypeOf(t.prototype) === Object.prototype; } function sy(t, e) { var n, i = rc(), r = i.ownPropMetadata(t); return { name: t.name, type: t, typeArgumentCount: 0, selector: void 0 !== e.selector ? e.selector : null, deps: oc(t), host: e.host || ne, propMetadata: r, inputs: e.inputs || ie, outputs: e.outputs || ie, queries: ly(t, r, uy), lifecycle: { usesOnChanges: i.hasLifecycleHook(t, 'ngOnChanges'), }, typeSourceSpan: null, usesInheritance: !ay(t), exportAs: ((n = e.exportAs), void 0 === n ? null : hy(n)), providers: e.providers || null, viewQueries: ly(t, r, dy), }; } function cy(t) { for (var e = Object.prototype, n = Object.getPrototypeOf(t.prototype).constructor; n && n !== e; ) ge(n) || me(n) || !my(n) || iy(n, null), (n = Object.getPrototypeOf(n)); } function ly(t, e, n) { var i = [], r = function (r) { if (e.hasOwnProperty(r)) { var o = e[r]; o.forEach(function (e) { if (n(e)) { if (!e.selector) throw new Error('Can\'t construct a query for the property "' + r + '" of "' + ai(t) + '" since the query selector wasn\'t defined.'); if (o.some(py)) throw new Error('Cannot combine @Input decorators with query decorators'); i.push( (function (t, e) { return { propertyName: t, predicate: ((n = e.selector), 'string' == typeof n ? hy(n) : G(n)), descendants: e.descendants, first: e.first, read: e.read ? e.read : null, static: !!e.static, }; var n; })(r, e) ); } }); } }; for (var o in e) r(o); return i; } function uy(t) { var e = t.ngMetadataName; return 'ContentChild' === e || 'ContentChildren' === e; } function dy(t) { var e = t.ngMetadataName; return 'ViewChild' === e || 'ViewChildren' === e; } function py(t) { return 'Input' === t.ngMetadataName; } function hy(t) { return t.split(',').map(function (t) { return t.trim(); }); } var fy = ['ngOnChanges', 'ngOnInit', 'ngOnDestroy', 'ngDoCheck', 'ngAfterViewInit', 'ngAfterViewChecked', 'ngAfterContentInit', 'ngAfterContentChecked']; function my(t) { var e = rc(); if ( fy.some(function (n) { return e.hasLifecycleHook(t, n); }) ) return !0; var n = e.propMetadata(t); for (var i in n) for (var r = n[i], o = 0; o < r.length; o++) { var a = r[o], s = a.ngMetadataName; if (py(a) || uy(a) || dy(a) || 'Output' === s || 'HostBinding' === s || 'HostListener' === s) return !0; } return !1; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function gy(t, e) { var n = null, r = null; Object.defineProperty(t, rt, { get: function () { if (null === r) { var n = vy(t, e), o = Q(); r = o.compileFactory( Rv, 'ng:///' + n.name + '/ɵfac.js', Object(i.a)(Object(i.a)({}, n), { injectFn: 'directiveInject', target: o.R3FactoryTarget.Pipe, }) ); } return r; }, configurable: !!ngDevMode, }), Object.defineProperty(t, et, { get: function () { if (null === n) { var i = vy(t, e); n = Q().compilePipe(Rv, 'ng:///' + i.name + '/ɵpipe.js', i); } return n; }, configurable: !!ngDevMode, }); } function vy(t, e) { return { type: t, typeArgumentCount: 0, name: t.name, deps: oc(t), pipeName: e.name, pure: void 0 === e.pure || e.pure, }; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var yy = h( 'Directive', function (t) { return void 0 === t && (t = {}), t; }, void 0, void 0, function (t, e) { return _y(t, e); } ), by = h( 'Component', function (t) { return ( void 0 === t && (t = {}), Object(i.a)( { changeDetection: At.Default, }, t ) ); }, yy, void 0, function (t, e) { return Oy(t, e); } ), wy = h( 'Pipe', function (t) { return Object(i.a)( { pure: !0, }, t ); }, void 0, void 0, function (t, e) { return Py(t, e); } ), Sy = g('Input', function (t) { return { bindingPropertyName: t, }; }), xy = g('Output', function (t) { return { bindingPropertyName: t, }; }), My = g('HostBinding', function (t) { return { hostPropertyName: t, }; }), Ey = g('HostListener', function (t, e) { return { eventName: t, args: e, }; }), Cy = ny, Ay = iy, Ty = gy, Oy = Cy, _y = Ay, Py = Ty, Iy = h( 'NgModule', function (t) { return t; }, void 0, void 0, function (t, e) { return Dy(t, e); } ); var ky = zv, Dy = ky, Ry = new ct('Application Initializer'), Ly = (function () { function t(t) { var e = this; (this.appInits = t), (this.initialized = !1), (this.done = !1), (this.donePromise = new Promise(function (t, n) { (e.resolve = t), (e.reject = n); })); } return ( (t.prototype.runInitializers = function () { var t = this; if (!this.initialized) { var e = [], n = function () { (t.done = !0), t.resolve(); }; if (this.appInits) for (var i = 0; i < this.appInits.length; i++) { var r = this.appInits[i](); fu(r) && e.push(r); } Promise.all(e) .then(function () { n(); }) .catch(function (e) { t.reject(e); }), 0 === e.length && n(), (this.initialized = !0); } }), ((t = Object(i.b)([Object(i.e)(0, b(Ry)), Object(i.e)(0, w()), Object(i.d)('design:paramtypes', [Array])], t)).ɵfac = function (e) { return new (e || t)(vt(Ry, 8)); }), (t.ɵprov = O({ token: t, factory: function (e) { return t.ɵfac(e); }, })), t ); })(), Ny = new ct('AppId'); function jy() { return '' + Fy() + Fy() + Fy(); } var Vy = { provide: Ny, useFactory: jy, deps: [], }; function Fy() { return String.fromCharCode(97 + Math.floor(25 * Math.random())); } var Uy, By = new ct('Platform Initializer'), zy = new ct('Platform ID'), Gy = new ct('appBootstrapListener'), Hy = new ct('Application Packages Root URL'), Wy = (function () { function t() {} return ( (t.prototype.log = function (t) { console.log(t); }), (t.prototype.warn = function (t) { console.warn(t); }), (t.ɵfac = function (e) { return new (e || t)(); }), (t.ɵprov = O({ token: t, factory: function (e) { return t.ɵfac(e); }, })), t ); })(), qy = new ct('LocaleId'), Xy = new ct('DefaultCurrencyCode'), Yy = new ct('Translations'), Ky = new ct('TranslationsFormat'); !(function (t) { (t[(t.Error = 0)] = 'Error'), (t[(t.Warning = 1)] = 'Warning'), (t[(t.Ignore = 2)] = 'Ignore'); })(Uy || (Uy = {})); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Zy = !0, Jy = Zy, Qy = function (t, e) { (this.ngModuleFactory = t), (this.componentFactories = e); }; var $y = function (t) { return new Fg(t); }, tb = $y, eb = function (t) { return Promise.resolve($y(t)); }, nb = eb, ib = function (t) { var e = $y(t), n = di(be(t).declarations).reduce(function (t, e) { var n = me(e); return n && t.push(new Tm(n)), t; }, []); return new Qy(e, n); }, rb = ib, ob = function (t) { return Promise.resolve(ib(t)); }, ab = ob, sb = (function () { function t() { (this.compileModuleSync = tb), (this.compileModuleAsync = nb), (this.compileModuleAndAllComponentsSync = rb), (this.compileModuleAndAllComponentsAsync = ab); } return ( (t.prototype.clearCache = function () {}), (t.prototype.clearCacheFor = function (t) {}), (t.prototype.getModuleId = function (t) {}), (t.ɵfac = function (e) { return new (e || t)(); }), (t.ɵprov = O({ token: t, factory: function (e) { return t.ɵfac(e); }, })), t ); })(), cb = new ct('compilerOptions'), lb = function () {}, ub = Promise.resolve(0); function db(t) { 'undefined' == typeof Zone ? ub.then(function () { t && t.apply(null, null); }) : Zone.current.scheduleMicroTask('scheduleMicrotask', t); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var pb = (function () { function t(t) { var e = t.enableLongStackTrace, n = void 0 !== e && e, i = t.shouldCoalesceEventChangeDetection, r = void 0 !== i && i; if ( ((this.hasPendingMacrotasks = !1), (this.hasPendingMicrotasks = !1), (this.isStable = !0), (this.onUnstable = new uv(!1)), (this.onMicrotaskEmpty = new uv(!1)), (this.onStable = new uv(!1)), (this.onError = new uv(!1)), 'undefined' == typeof Zone) ) throw new Error('In this configuration Angular requires Zone.js'); Zone.assertZonePatched(); var o, a; (this._nesting = 0), (this._outer = this._inner = Zone.current), Zone.wtfZoneSpec && (this._inner = this._inner.fork(Zone.wtfZoneSpec)), Zone.TaskTrackingZoneSpec && (this._inner = this._inner.fork(new Zone.TaskTrackingZoneSpec())), n && Zone.longStackTraceZoneSpec && (this._inner = this._inner.fork(Zone.longStackTraceZoneSpec)), (this.shouldCoalesceEventChangeDetection = r), (this.lastRequestAnimationFrameId = -1), (this.nativeRequestAnimationFrame = (function () { var t = J.requestAnimationFrame, e = J.cancelAnimationFrame; if ('undefined' != typeof Zone && t && e) { var n = t[Zone.__symbol__('OriginalDelegate')]; n && (t = n); var i = e[Zone.__symbol__('OriginalDelegate')]; i && (e = i); } return { nativeRequestAnimationFrame: t, nativeCancelAnimationFrame: e, }; })().nativeRequestAnimationFrame), (a = !!(o = this).shouldCoalesceEventChangeDetection && o.nativeRequestAnimationFrame && function () { !(function (t) { -1 === t.lastRequestAnimationFrameId && ((t.lastRequestAnimationFrameId = t.nativeRequestAnimationFrame.call(J, function () { (t.lastRequestAnimationFrameId = -1), gb(t), mb(t); })), gb(t)); })(o); }), (o._inner = o._inner.fork({ name: 'angular', properties: { isAngularZone: !0, maybeDelayChangeDetection: a, }, onInvokeTask: function (t, e, n, i, r, s) { try { return vb(o), t.invokeTask(n, i, r, s); } finally { a && 'eventTask' === i.type && a(), yb(o); } }, onInvoke: function (t, e, n, i, r, a, s) { try { return vb(o), t.invoke(n, i, r, a, s); } finally { yb(o); } }, onHasTask: function (t, e, n, i) { t.hasTask(n, i), e === n && ('microTask' == i.change ? ((o._hasPendingMicrotasks = i.microTask), gb(o), mb(o)) : 'macroTask' == i.change && (o.hasPendingMacrotasks = i.macroTask)); }, onHandleError: function (t, e, n, i) { return ( t.handleError(n, i), o.runOutsideAngular(function () { return o.onError.emit(i); }), !1 ); }, })); } return ( (t.isInAngularZone = function () { return !0 === Zone.current.get('isAngularZone'); }), (t.assertInAngularZone = function () { if (!t.isInAngularZone()) throw new Error('Expected to be in Angular Zone, but it is not!'); }), (t.assertNotInAngularZone = function () { if (t.isInAngularZone()) throw new Error('Expected to not be in Angular Zone, but it is!'); }), (t.prototype.run = function (t, e, n) { return this._inner.run(t, e, n); }), (t.prototype.runTask = function (t, e, n, i) { var r = this._inner, o = r.scheduleEventTask('NgZoneEvent: ' + i, t, fb, hb, hb); try { return r.runTask(o, e, n); } finally { r.cancelTask(o); } }), (t.prototype.runGuarded = function (t, e, n) { return this._inner.runGuarded(t, e, n); }), (t.prototype.runOutsideAngular = function (t) { return this._outer.run(t); }), t ); })(); function hb() {} var fb = {}; function mb(t) { if (0 == t._nesting && !t.hasPendingMicrotasks && !t.isStable) try { t._nesting++, t.onMicrotaskEmpty.emit(null); } finally { if ((t._nesting--, !t.hasPendingMicrotasks)) try { t.runOutsideAngular(function () { return t.onStable.emit(null); }); } finally { t.isStable = !0; } } } function gb(t) { t._hasPendingMicrotasks || (t.shouldCoalesceEventChangeDetection && -1 !== t.lastRequestAnimationFrameId) ? (t.hasPendingMicrotasks = !0) : (t.hasPendingMicrotasks = !1); } function vb(t) { t._nesting++, t.isStable && ((t.isStable = !1), t.onUnstable.emit(null)); } function yb(t) { t._nesting--, mb(t); } var bb = (function () { function t() { (this.hasPendingMicrotasks = !1), (this.hasPendingMacrotasks = !1), (this.isStable = !0), (this.onUnstable = new uv()), (this.onMicrotaskEmpty = new uv()), (this.onStable = new uv()), (this.onError = new uv()); } return ( (t.prototype.run = function (t, e, n) { return t.apply(e, n); }), (t.prototype.runGuarded = function (t, e, n) { return t.apply(e, n); }), (t.prototype.runOutsideAngular = function (t) { return t(); }), (t.prototype.runTask = function (t, e, n, i) { return t.apply(e, n); }), t ); })(), wb = (function () { function t(t) { var e = this; (this._ngZone = t), (this._pendingCount = 0), (this._isZoneStable = !0), (this._didWork = !1), (this._callbacks = []), (this.taskTrackingZone = null), this._watchAngularEvents(), t.run(function () { e.taskTrackingZone = 'undefined' == typeof Zone ? null : Zone.current.get('TaskTrackingZone'); }); } return ( (t.prototype._watchAngularEvents = function () { var t = this; this._ngZone.onUnstable.subscribe({ next: function () { (t._didWork = !0), (t._isZoneStable = !1); }, }), this._ngZone.runOutsideAngular(function () { t._ngZone.onStable.subscribe({ next: function () { pb.assertNotInAngularZone(), db(function () { (t._isZoneStable = !0), t._runCallbacksIfReady(); }); }, }); }); }), (t.prototype.increasePendingRequestCount = function () { return (this._pendingCount += 1), (this._didWork = !0), this._pendingCount; }), (t.prototype.decreasePendingRequestCount = function () { if (((this._pendingCount -= 1), this._pendingCount < 0)) throw new Error('pending async requests below zero'); return this._runCallbacksIfReady(), this._pendingCount; }), (t.prototype.isStable = function () { return this._isZoneStable && 0 === this._pendingCount && !this._ngZone.hasPendingMacrotasks; }), (t.prototype._runCallbacksIfReady = function () { var t = this; if (this.isStable()) db(function () { for (; 0 !== t._callbacks.length; ) { var e = t._callbacks.pop(); clearTimeout(e.timeoutId), e.doneCb(t._didWork); } t._didWork = !1; }); else { var e = this.getPendingTasks(); (this._callbacks = this._callbacks.filter(function (t) { return !t.updateCb || !t.updateCb(e) || (clearTimeout(t.timeoutId), !1); })), (this._didWork = !0); } }), (t.prototype.getPendingTasks = function () { return this.taskTrackingZone ? this.taskTrackingZone.macroTasks.map(function (t) { return { source: t.source, creationLocation: t.creationLocation, data: t.data, }; }) : []; }), (t.prototype.addCallback = function (t, e, n) { var i = this, r = -1; e && e > 0 && (r = setTimeout(function () { (i._callbacks = i._callbacks.filter(function (t) { return t.timeoutId !== r; })), t(i._didWork, i.getPendingTasks()); }, e)), this._callbacks.push({ doneCb: t, timeoutId: r, updateCb: n, }); }), (t.prototype.whenStable = function (t, e, n) { if (n && !this.taskTrackingZone) throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/dist/task-tracking.js" loaded?'); this.addCallback(t, e, n), this._runCallbacksIfReady(); }), (t.prototype.getPendingRequestCount = function () { return this._pendingCount; }), (t.prototype.findProviders = function (t, e, n) { return []; }), ((t = Object(i.b)([Object(i.d)('design:paramtypes', [pb])], t)).ɵfac = function (e) { return new (e || t)(vt(pb)); }), (t.ɵprov = O({ token: t, factory: function (e) { return t.ɵfac(e); }, })), t ); })(), Sb = (function () { function t() { (this._applications = new Map()), Eb.addToWindow(this); } return ( (t.prototype.registerApplication = function (t, e) { this._applications.set(t, e); }), (t.prototype.unregisterApplication = function (t) { this._applications.delete(t); }), (t.prototype.unregisterAllApplications = function () { this._applications.clear(); }), (t.prototype.getTestability = function (t) { return this._applications.get(t) || null; }), (t.prototype.getAllTestabilities = function () { return Array.from(this._applications.values()); }), (t.prototype.getAllRootElements = function () { return Array.from(this._applications.keys()); }), (t.prototype.findTestabilityInTree = function (t, e) { return void 0 === e && (e = !0), Eb.findTestabilityInTree(this, t, e); }), ((t = Object(i.b)([Object(i.d)('design:paramtypes', [])], t)).ɵfac = function (e) { return new (e || t)(); }), (t.ɵprov = O({ token: t, factory: function (e) { return t.ɵfac(e); }, })), t ); })(); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function xb(t) { Eb = t; } var Mb, Eb = new ((function () { function t() {} return ( (t.prototype.addToWindow = function (t) {}), (t.prototype.findTestabilityInTree = function (t, e, n) { return null; }), t ); })())(), Cb = Ab; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Ab(t, e, n) { var r; ngDevMode && (void 0 === r && (r = "Type passed in is not NgModuleType, it does not have 'ɵmod' property."), be(n) || zt(r)); var o = t.get(cb, []).concat(e); ('undefined' == typeof ngJitMode || ngJitMode) && (function (t) { if (null !== Lv) { if (t.defaultEncapsulation !== Lv.defaultEncapsulation) return void (ngDevMode && console.error('Provided value for `defaultEncapsulation` can not be changed once it has been set.')); if (t.preserveWhitespaces !== Lv.preserveWhitespaces) return void (ngDevMode && console.error('Provided value for `preserveWhitespaces` can not be changed once it has been set.')); } Lv = t; })({ defaultEncapsulation: Bb( o.map(function (t) { return t.defaultEncapsulation; }) ), preserveWhitespaces: Bb( o.map(function (t) { return t.preserveWhitespaces; }) ), }); var a = new Fg(n); if (0 === pl.size) return Promise.resolve(a); var s, c, l = ((s = o.map(function (t) { return t.providers; })), (c = []), s.forEach(function (t) { return t && c.push.apply(c, Object(i.h)(t)); }), c); if (0 === l.length) return Promise.resolve(a); var u = Q(), d = Pc.create({ providers: l, }).get(u.ResourceLoader); return dl(function (t) { return Promise.resolve(d.get(t)); }).then(function () { return a; }); } var Tb = function () { ngDevMode && fp(); }, Ob = _b; function _b(t) { return t.isBoundToModule; } var Pb = new ct('AllowMultipleToken'), Ib = function (t, e) { (this.name = t), (this.token = e); }; function kb(t) { if (Mb && !Mb.destroyed && !Mb.injector.get(Pb, !1)) throw new Error('There can be only one platform. Destroy the previous one to create a new one.'); Tb(), (Mb = t.get(jb)); var e = t.get(By, null); return ( e && e.forEach(function (t) { return t(); }), Mb ); } function Db(t, e, n) { void 0 === n && (n = []); var i = 'Platform: ' + e, r = new ct(i); return function (e) { void 0 === e && (e = []); var o = Nb(); if (!o || o.injector.get(Pb, !1)) if (t) t( n.concat(e).concat({ provide: r, useValue: !0, }) ); else { var a = n.concat(e).concat( { provide: r, useValue: !0, }, { provide: fc, useValue: 'platform', } ); kb( Pc.create({ providers: a, name: i, }) ); } return Rb(r); }; } function Rb(t) { var e = Nb(); if (!e) throw new Error('No platform exists!'); if (!e.injector.get(t, null)) throw new Error('A platform with a different configuration has been created. Please destroy it first.'); return e; } function Lb() { Mb && !Mb.destroyed && Mb.destroy(); } function Nb() { return Mb && !Mb.destroyed ? Mb : null; } var jb = (function () { function t(t) { (this._injector = t), (this._modules = []), (this._destroyListeners = []), (this._destroyed = !1); } return ( (t.prototype.bootstrapModuleFactory = function (t, e) { var n = this, i = (function (t, e) { var n; n = 'noop' === t ? new bb() : ('zone.js' === t ? void 0 : t) || new pb({ enableLongStackTrace: $i(), shouldCoalesceEventChangeDetection: e, }); return n; })(e ? e.ngZone : void 0, (e && e.ngZoneEventCoalescing) || !1), r = [ { provide: pb, useValue: i, }, ]; return i.run(function () { var e = Pc.create({ providers: r, parent: n.injector, name: t.moduleType.name, }), o = t.create(e), a = o.injector.get(Ri, null); if (!a) throw new Error('No ErrorHandler. Is platform module (BrowserModule) included?'); return ( o.onDestroy(function () { return Ub(n._modules, o); }), i.runOutsideAngular(function () { return i.onError.subscribe({ next: function (t) { a.handleError(t); }, }); }), (function (t, e, n) { try { var i = n(); return fu(i) ? i.catch(function (n) { throw ( (e.runOutsideAngular(function () { return t.handleError(n); }), n) ); }) : i; } catch (n) { throw ( (e.runOutsideAngular(function () { return t.handleError(n); }), n) ); } })(a, i, function () { var t = o.injector.get(Ly); return ( t.runInitializers(), t.donePromise.then(function () { Jy && Ig(o.injector.get(qy, Um) || Um); return n._moduleDoBootstrap(o), o; }) ); }) ); }); }), (t.prototype.bootstrapModule = function (t, e) { var n = this; void 0 === e && (e = []); var i = Vb({}, e); return Cb(this.injector, i, t).then(function (t) { return n.bootstrapModuleFactory(t, i); }); }), (t.prototype._moduleDoBootstrap = function (t) { var e = t.injector.get(Fb); if (t._bootstrapComponents.length > 0) t._bootstrapComponents.forEach(function (t) { return e.bootstrap(t); }); else { if (!t.instance.ngDoBootstrap) throw new Error( 'The module ' + F(t.instance.constructor) + ' was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.' ); t.instance.ngDoBootstrap(e); } this._modules.push(t); }), (t.prototype.onDestroy = function (t) { this._destroyListeners.push(t); }), Object.defineProperty(t.prototype, 'injector', { get: function () { return this._injector; }, enumerable: !0, configurable: !0, }), (t.prototype.destroy = function () { if (this._destroyed) throw new Error('The platform has already been destroyed!'); this._modules.slice().forEach(function (t) { return t.destroy(); }), this._destroyListeners.forEach(function (t) { return t(); }), (this._destroyed = !0); }), Object.defineProperty(t.prototype, 'destroyed', { get: function () { return this._destroyed; }, enumerable: !0, configurable: !0, }), ((t = Object(i.b)([Object(i.d)('design:paramtypes', [Pc])], t)).ɵfac = function (e) { return new (e || t)(vt(Pc)); }), (t.ɵprov = O({ token: t, factory: function (e) { return t.ɵfac(e); }, })), t ); })(); function Vb(t, e) { return (t = Array.isArray(e) ? e.reduce(Vb, t) : Object(i.a)(Object(i.a)({}, t), e)); } var Fb = (function () { function t(t, e, n, i, r, o) { var l = this; (this._zone = t), (this._console = e), (this._injector = n), (this._exceptionHandler = i), (this._componentFactoryResolver = r), (this._initStatus = o), (this._bootstrapListeners = []), (this._views = []), (this._runningTick = !1), (this._enforceNoNewChanges = !1), (this._stable = !0), (this.componentTypes = []), (this.components = []), (this._enforceNoNewChanges = $i()), this._zone.onMicrotaskEmpty.subscribe({ next: function () { l._zone.run(function () { l.tick(); }); }, }); var u = new a.a(function (t) { (l._stable = l._zone.isStable && !l._zone.hasPendingMacrotasks && !l._zone.hasPendingMicrotasks), l._zone.runOutsideAngular(function () { t.next(l._stable), t.complete(); }); }), d = new a.a(function (t) { var e; l._zone.runOutsideAngular(function () { e = l._zone.onStable.subscribe(function () { pb.assertNotInAngularZone(), db(function () { l._stable || l._zone.hasPendingMacrotasks || l._zone.hasPendingMicrotasks || ((l._stable = !0), t.next(!0)); }); }); }); var n = l._zone.onUnstable.subscribe(function () { pb.assertInAngularZone(), l._stable && ((l._stable = !1), l._zone.runOutsideAngular(function () { t.next(!1); })); }); return function () { e.unsubscribe(), n.unsubscribe(); }; }); this.isStable = Object(s.a)(u, d.pipe(Object(c.a)())); } return ( (t.prototype.bootstrap = function (t, e) { var n, i = this; if (!this._initStatus.done) throw new Error('Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.'); (n = t instanceof Hp ? t : this._componentFactoryResolver.resolveComponentFactory(t)), this.componentTypes.push(n.componentType); var r = Ob(n) ? void 0 : this._injector.get(_t), o = e || n.selector, a = n.create(Pc.NULL, [], o, r); a.onDestroy(function () { i._unloadComponent(a); }); var s = a.injector.get(wb, null); return ( s && a.injector.get(Sb).registerApplication(a.location.nativeElement, s), this._loadComponent(a), $i() && this._console.log('Angular is running in the development mode. Call enableProdMode() to enable the production mode.'), a ); }), (t.prototype.tick = function () { var t, e, n, r, o = this; if (this._runningTick) throw new Error('ApplicationRef.tick is called recursively'); try { this._runningTick = !0; try { for (var a = Object(i.j)(this._views), s = a.next(); !s.done; s = a.next()) { s.value.detectChanges(); } } catch (e) { t = { error: e, }; } finally { try { s && !s.done && (e = a.return) && e.call(a); } finally { if (t) throw t.error; } } if (this._enforceNoNewChanges) try { for (var c = Object(i.j)(this._views), l = c.next(); !l.done; l = c.next()) { l.value.checkNoChanges(); } } catch (t) { n = { error: t, }; } finally { try { l && !l.done && (r = c.return) && r.call(c); } finally { if (n) throw n.error; } } } catch (t) { this._zone.runOutsideAngular(function () { return o._exceptionHandler.handleError(t); }); } finally { this._runningTick = !1; } }), (t.prototype.attachView = function (t) { var e = t; this._views.push(e), e.attachToAppRef(this); }), (t.prototype.detachView = function (t) { var e = t; Ub(this._views, e), e.detachFromAppRef(); }), (t.prototype._loadComponent = function (t) { this.attachView(t.hostView), this.tick(), this.components.push(t), this._injector .get(Gy, []) .concat(this._bootstrapListeners) .forEach(function (e) { return e(t); }); }), (t.prototype._unloadComponent = function (t) { this.detachView(t.hostView), Ub(this.components, t); }), (t.prototype.ngOnDestroy = function () { this._views.slice().forEach(function (t) { return t.destroy(); }); }), Object.defineProperty(t.prototype, 'viewCount', { get: function () { return this._views.length; }, enumerable: !0, configurable: !0, }), ((t = Object(i.b)([Object(i.d)('design:paramtypes', [pb, Wy, Pc, Ri, Yp, Ly])], t)).ɵfac = function (e) { return new (e || t)(vt(pb), vt(Wy), vt(Pc), vt(Ri), vt(Yp), vt(Ly)); }), (t.ɵprov = O({ token: t, factory: function (e) { return t.ɵfac(e); }, })), t ); })(); function Ub(t, e) { var n = t.indexOf(e); n > -1 && t.splice(n, 1); } function Bb(t) { for (var e = t.length - 1; e >= 0; e--) if (void 0 !== t[e]) return t[e]; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var zb = function () {}; function Gb(t) { var e = jg(t); if (!e) throw qb(t); return e; } function Hb(t) { var e = jg(t); if (!e) throw qb(t); return new Fg(e); } var Wb = Hb; function qb(t) { return new Error('No module with ID ' + t + ' loaded'); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Xb = function () {}, Yb = { factoryPathPrefix: '', factoryPathSuffix: '.ngfactory', }, Kb = (function () { function t(t, e) { (this._compiler = t), (this._config = e || Yb); } return ( (t.prototype.load = function (t) { return !Jy && this._compiler instanceof sb ? this.loadFactory(t) : this.loadAndCompile(t); }), (t.prototype.loadAndCompile = function (t) { var e = this, r = Object(i.f)(t.split('#'), 2), o = r[0], a = r[1]; return ( void 0 === a && (a = 'default'), n(519)(o) .then(function (t) { return t[a]; }) .then(function (t) { return Zb(t, o, a); }) .then(function (t) { return e._compiler.compileModuleAsync(t); }) ); }), (t.prototype.loadFactory = function (t) { var e = Object(i.f)(t.split('#'), 2), r = e[0], o = e[1], a = 'NgFactory'; return ( void 0 === o && ((o = 'default'), (a = '')), n(519)(this._config.factoryPathPrefix + r + this._config.factoryPathSuffix) .then(function (t) { return t[o + a]; }) .then(function (t) { return Zb(t, r, o); }) ); }), ((t = Object(i.b)([Object(i.e)(1, w()), Object(i.d)('design:paramtypes', [sb, Xb])], t)).ɵfac = function (e) { return new (e || t)(vt(sb), vt(Xb, 8)); }), (t.ɵprov = O({ token: t, factory: function (e) { return t.ɵfac(e); }, })), t ); })(); function Zb(t, e, n) { if (!t) throw new Error("Cannot find '" + n + "' in '" + e + "'"); return t; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Jb = (function (t) { function e() { return (null !== t && t.apply(this, arguments)) || this; } return Object(i.c)(e, t), e; })(Ws), Qb = (function (t) { function e() { return (null !== t && t.apply(this, arguments)) || this; } return Object(i.c)(e, t), e; })(Jb), $b = function (t, e) { (this.name = t), (this.callback = e); }, tw = (function () { function t(t, e, n) { (this.listeners = []), (this.parent = null), (this._debugContext = n), (this.nativeNode = t), e && e instanceof ew && e.addChild(this); } return ( Object.defineProperty(t.prototype, 'injector', { get: function () { return this._debugContext.injector; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'componentInstance', { get: function () { return this._debugContext.component; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'context', { get: function () { return this._debugContext.context; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'references', { get: function () { return this._debugContext.references; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'providerTokens', { get: function () { return this._debugContext.providerTokens; }, enumerable: !0, configurable: !0, }), t ); })(), ew = (function (t) { function e(e, n, i) { var r = t.call(this, e, n, i) || this; return (r.properties = {}), (r.attributes = {}), (r.classes = {}), (r.styles = {}), (r.childNodes = []), (r.nativeElement = e), r; } return ( Object(i.c)(e, t), (e.prototype.addChild = function (t) { t && (this.childNodes.push(t), (t.parent = this)); }), (e.prototype.removeChild = function (t) { var e = this.childNodes.indexOf(t); -1 !== e && ((t.parent = null), this.childNodes.splice(e, 1)); }), (e.prototype.insertChildrenAfter = function (t, e) { var n, r = this, o = this.childNodes.indexOf(t); -1 !== o && ((n = this.childNodes).splice.apply(n, Object(i.h)([o + 1, 0], e)), e.forEach(function (e) { e.parent && e.parent.removeChild(e), (t.parent = r); })); }), (e.prototype.insertBefore = function (t, e) { var n = this.childNodes.indexOf(t); -1 === n ? this.addChild(e) : (e.parent && e.parent.removeChild(e), (e.parent = this), this.childNodes.splice(n, 0, e)); }), (e.prototype.query = function (t) { return this.queryAll(t)[0] || null; }), (e.prototype.queryAll = function (t) { var e = []; return iw(this, t, e), e; }), (e.prototype.queryAllNodes = function (t) { var e = []; return rw(this, t, e), e; }), Object.defineProperty(e.prototype, 'children', { get: function () { return this.childNodes.filter(function (t) { return t instanceof e; }); }, enumerable: !0, configurable: !0, }), (e.prototype.triggerEventHandler = function (t, e) { this.listeners.forEach(function (n) { n.name == t && n.callback(e); }); }), e ); })(tw); function nw(t) { return t.map(function (t) { return t.nativeElement; }); } function iw(t, e, n) { t.childNodes.forEach(function (t) { t instanceof ew && (e(t) && n.push(t), iw(t, e, n)); }); } function rw(t, e, n) { t instanceof ew && t.childNodes.forEach(function (t) { e(t) && n.push(t), t instanceof ew && rw(t, e, n); }); } var ow = (function () { function t(t) { this.nativeNode = t; } return ( Object.defineProperty(t.prototype, 'parent', { get: function () { var t = this.nativeNode.parentNode; return t ? new aw(t) : null; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'injector', { get: function () { return op(this.nativeNode); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'componentInstance', { get: function () { var t = this.nativeNode; return t && (ep(t) || ip(t)); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'context', { get: function () { return ep(this.nativeNode) || np(this.nativeNode); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'listeners', { get: function () { return lp(this.nativeNode).filter(function (t) { return 'dom' === t.type; }); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'references', { get: function () { return ( (t = this.nativeNode), null === (e = sp(t, !1)) ? {} : (void 0 === e.localRefs && (e.localRefs = (function (t, e) { var n = t[1].data[e]; if (n && n.localNames) { for (var i = {}, r = n.index + 1, o = 0; o < n.localNames.length; o += 2) (i[n.localNames[o]] = t[r]), r++; return i; } return null; })(e.lView, e.nodeIndex)), e.localRefs || {}) ); var t, e; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'providerTokens', { get: function () { return (function (t) { var e = sp(t, !1); if (null === e) return []; for (var n, i = e.lView[1], r = i.data[e.nodeIndex], o = [], a = 65535 & r.providerIndexes, s = r.directiveEnd, c = a; c < s; c++) { var l = i.data[c]; void 0 !== (n = l).type && void 0 !== n.template && void 0 !== n.declaredInputs && (l = l.type), o.push(l); } return o; })(this.nativeNode); }, enumerable: !0, configurable: !0, }), t ); })(), aw = (function (t) { function e(e) { return ngDevMode && Gt(e), t.call(this, e) || this; } return ( Object(i.c)(e, t), Object.defineProperty(e.prototype, 'nativeElement', { get: function () { return this.nativeNode.nodeType == Node.ELEMENT_NODE ? this.nativeNode : null; }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'name', { get: function () { try { var t = sp(this.nativeNode); return t.lView[1].data[t.nodeIndex].tagName; } catch (t) { return this.nativeNode.nodeName; } }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'properties', { get: function () { var t = sp(this.nativeNode, !1); if (null == t) return {}; var e = t.lView, n = e[1].data, i = n[t.nodeIndex], r = {}; return ( (function (t, e) { if (t) for (var n = Object.getPrototypeOf(t), i = Node.prototype; null !== n && n !== i; ) { var r = Object.getOwnPropertyDescriptors(n); for (var o in r) if (!o.startsWith('__') && !o.startsWith('on')) { var a = t[o]; sw(a) && (e[o] = a); } n = Object.getPrototypeOf(n); } })(this.nativeElement, r), (function (t, e, n, i) { var r = e.propertyBindings; if (null !== r) for (var o = 0; o < r.length; o++) { var a = r[o], s = i[a].split('�'), c = s[0]; if (s.length > 1) { for (var l = s[1], u = 1; u < s.length - 1; u++) l += oi(n[a + u - 1]) + s[u + 1]; t[c] = l; } else t[c] = n[a]; } })(r, i, e, n), r ); }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'attributes', { get: function () { var t = {}, e = this.nativeElement; if (!e) return t; var n = sp(e, !1); if (null == n) return {}; var i = n.lView[1].data[n.nodeIndex].attrs, r = []; if (i) for (var o = 0; o < i.length; ) { var a = i[o]; if ('string' != typeof a) break; var s = i[o + 1]; (t[a] = s), r.push(a.toLowerCase()), (o += 2); } var c = e.attributes; for (o = 0; o < c.length; o++) { var l = c[o], u = l.name.toLowerCase(); -1 === r.indexOf(u) && (t[u] = l.value); } return t; }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'styles', { get: function () { return this.nativeElement && this.nativeElement.style ? this.nativeElement.style : {}; }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'classes', { get: function () { var t = {}, e = this.nativeElement.className; return ( (e && 'string' != typeof e ? e.baseVal.split(' ') : e.split(' ')).forEach(function (e) { return (t[e] = !0); }), t ); }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'childNodes', { get: function () { for (var t = this.nativeNode.childNodes, e = [], n = 0; n < t.length; n++) { var i = t[n]; e.push(fw(i)); } return e; }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'children', { get: function () { var t = this.nativeElement; if (!t) return []; for (var e = t.children, n = [], i = 0; i < e.length; i++) { var r = e[i]; n.push(fw(r)); } return n; }, enumerable: !0, configurable: !0, }), (e.prototype.query = function (t) { return this.queryAll(t)[0] || null; }), (e.prototype.queryAll = function (t) { var e = []; return cw(this, t, e, !0), e; }), (e.prototype.queryAllNodes = function (t) { var e = []; return cw(this, t, e, !1), e; }), (e.prototype.triggerEventHandler = function (t, e) { var n = this.nativeNode, i = []; this.listeners.forEach(function (r) { if (r.name === t) { var o = r.callback; o.call(n, e), i.push(o); } }), 'function' == typeof n.eventListeners && n.eventListeners(t).forEach(function (t) { if (-1 !== t.toString().indexOf('__ngUnwrap__')) { var r = t('__ngUnwrap__'); return -1 === i.indexOf(r) && r.call(n, e); } }); }), e ); })(ow); function sw(t) { return 'string' == typeof t || 'boolean' == typeof t || 'number' == typeof t || null === t; } function cw(t, e, n, i) { var r = sp(t.nativeNode, !1); null !== r ? lw(r.lView[1].data[r.nodeIndex], r.lView, e, n, i, t.nativeNode) : pw(t.nativeNode, e, n, i); } function lw(t, e, n, r, o, a) { var s, c, l = He(t, e); if (3 === t.type || 4 === t.type) { if ((dw(l, n, r, o, a), Me(t))) (p = Xe(t.index, e)) && p[1].firstChild && lw(p[1].firstChild, p, n, r, o, a); else t.child && lw(t.child, e, n, r, o, a), l && pw(l, n, r, o); var u = e[t.index]; Se(u) && uw(u, n, r, o, a); } else if (0 === t.type) { var d = e[t.index]; dw(d[7], n, r, o, a), uw(d, n, r, o, a); } else if (1 === t.type) { var p, h = (p = e[16])[6].projection[t.projection]; if (Array.isArray(h)) try { for (var f = Object(i.j)(h), m = f.next(); !m.done; m = f.next()) { dw(m.value, n, r, o, a); } } catch (t) { s = { error: t, }; } finally { try { m && !m.done && (c = f.return) && c.call(f); } finally { if (s) throw s.error; } } else if (h) { var g, v = p[3]; lw((g = v[1].data[h.index]), v, n, r, o, a); } } else t.child && lw(t.child, e, n, r, o, a); a !== l && (g = 4 & t.flags ? t.projectionNext : t.next) && lw(g, e, n, r, o, a); } function uw(t, e, n, i, r) { for (var o = 10; o < t.length; o++) { var a = t[o]; lw(a[1].node, a, e, n, i, r); } } function dw(t, e, n, i, r) { if (r !== t) { var o = mw(t); if (!o) return; ((i && o instanceof aw && e(o) && -1 === n.indexOf(o)) || (!i && e(o) && -1 === n.indexOf(o))) && n.push(o); } } function pw(t, e, n, i) { for (var r = t.childNodes, o = r.length, a = 0; a < o; a++) { var s = r[a], c = mw(s); c && (((i && c instanceof aw && e(c) && -1 === n.indexOf(c)) || (!i && e(c) && -1 === n.indexOf(c))) && n.push(c), pw(s, e, n, i)); } } var hw = new Map(); function fw(t) { return t instanceof Node ? (t.hasOwnProperty('__ng_debug__') || (t.__ng_debug__ = t.nodeType == Node.ELEMENT_NODE ? new aw(t) : new ow(t)), t.__ng_debug__) : null; } var mw = fw; function gw(t) { return (function (t) { return hw.get(t) || null; })(t); } var vw = function (t) { return null; }; function yw(t) { hw.set(t.nativeNode, t); } var bw = ow, ww = aw, Sw = Db(null, 'core', [ { provide: zy, useValue: 'unknown', }, { provide: jb, deps: [Pc], }, { provide: Sb, deps: [], }, { provide: Wy, deps: [], }, ]); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function xw() { return xh; } function Mw() { return Mh; } function Ew(t) { return ( (t = t || ('undefined' != typeof ngI18nClosureMode && ngI18nClosureMode && 'undefined' != typeof goog && 'en' !== goog.LOCALE ? goog.LOCALE : (Jy && 'undefined' != typeof $localize && $localize.locale) || Um)), Jy && Ig(t), t ); } var Cw = Bm, Aw = [ { provide: Fb, useClass: Fb, deps: [pb, Wy, Pc, Ri, Yp, Ly], }, { provide: Am, deps: [pb], useFactory: Tw, }, { provide: Ly, useClass: Ly, deps: [[new w(), Ry]], }, { provide: sb, useClass: sb, deps: [], }, Vy, { provide: yh, useFactory: xw, deps: [], }, { provide: bh, useFactory: Mw, deps: [], }, { provide: qy, useFactory: Ew, deps: [[new b(qy), new w(), new x()]], }, { provide: Xy, useValue: Cw, }, ]; function Tw(t) { var e = []; return ( t.onStable.subscribe(function () { for (; e.length; ) e.pop()(); }), function (t) { e.push(t); } ); } var Ow, _w = (function () { function t(t) {} return ( ((t = Object(i.b)([Object(i.d)('design:paramtypes', [Fb])], t)).ɵmod = ue({ type: t, })), (t.ɵinj = P({ factory: function (e) { return new (e || t)(vt(Fb)); }, providers: Aw, })), t ); })(); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Pw(t, e, n, i, r, o) { t |= 1; var a = cf(e), s = a.matchedQueries, c = a.references; return { nodeIndex: -1, parent: null, renderParent: null, bindingIndex: -1, outputIndex: -1, flags: t, checkIndex: -1, childFlags: 0, directChildFlags: 0, childMatchedQueries: 0, matchedQueries: s, matchedQueryIds: a.matchedQueryIds, references: c, ngContentIndex: n, childCount: i, bindings: [], bindingFlags: 0, outputs: [], element: { ns: null, name: null, attrs: null, template: o ? pf(o) : null, componentProvider: null, componentView: null, componentRendererType: null, publicProviders: null, allProviders: null, handleEvent: r || zh, }, provider: null, text: null, query: null, ngContent: null, }; } function Iw(t, e, n, r, o, a, s, c, l, u, d, p) { var h; void 0 === s && (s = []), u || (u = zh); var f = cf(n), m = f.matchedQueries, g = f.references, v = f.matchedQueryIds, y = null, b = null; a && ((y = (h = Object(i.f)(bf(a), 2))[0]), (b = h[1])), (c = c || []); for (var w = [], S = 0; S < c.length; S++) { var x = Object(i.f)(c[S], 3), M = x[0], E = x[1], C = x[2], A = Object(i.f)(bf(E), 2), T = A[0], O = A[1], _ = void 0, P = void 0; switch (15 & M) { case 4: P = C; break; case 1: case 8: _ = C; } w[S] = { flags: M, ns: T, name: O, nonMinifiedName: O, securityContext: _, suffix: P, }; } l = l || []; var I = []; for (S = 0; S < l.length; S++) { var k = Object(i.f)(l[S], 2), D = k[0], R = k[1]; I[S] = { type: 0, target: D, eventName: R, propName: null, }; } var L = (s = s || []).map(function (t) { var e = Object(i.f)(t, 2), n = e[0], r = e[1], o = Object(i.f)(bf(n), 2); return [o[0], o[1], r]; }); return ( (p = (function (t) { if (t && '$$undefined' === t.id) { var e = (null != t.encapsulation && t.encapsulation !== Ot.None) || t.styles.length || Object.keys(t.data).length; t.id = e ? 'c' + Xh++ : '$$empty'; } return t && '$$empty' === t.id && (t = null), t || null; })(p)), d && (e |= 33554432), { nodeIndex: -1, parent: null, renderParent: null, bindingIndex: -1, outputIndex: -1, checkIndex: t, flags: (e |= 1), childFlags: 0, directChildFlags: 0, childMatchedQueries: 0, matchedQueries: m, matchedQueryIds: v, references: g, ngContentIndex: r, childCount: o, bindings: w, bindingFlags: wf(w), outputs: I, element: { ns: y, name: b, attrs: L, template: null, componentProvider: null, componentView: d || null, componentRendererType: p, publicProviders: null, allProviders: null, handleEvent: u || zh, }, provider: null, text: null, query: null, ngContent: null, } ); } function kw(t, e, n) { var r, o = n.element, a = t.root.selectorOrNode, s = t.renderer; if (t.parent || !a) { r = o.name ? s.createElement(o.name, o.ns) : s.createComment(''); var c = uf(t, e, n); c && s.appendChild(c, r); } else { var l = !!o.componentRendererType && o.componentRendererType.encapsulation === Ot.ShadowDom; r = s.selectRootElement(a, l); } if (o.attrs) for (var u = 0; u < o.attrs.length; u++) { var d = Object(i.f)(o.attrs[u], 3), p = d[0], h = d[1], f = d[2]; s.setAttribute(r, h, f, p); } return r; } function Dw(t, e, n, i) { for (var r = 0; r < n.outputs.length; r++) { var o = n.outputs[r], a = Rw(t, n.nodeIndex, rf(o.target, o.eventName)), s = o.target, c = t; 'component' === o.target && ((s = null), (c = e)); var l = c.renderer.listen(s || i, o.eventName, a); t.disposables[n.outputIndex + r] = l; } } function Rw(t, e, n) { return function (i) { return $h(t, e, n, i); }; } function Lw(t, e, n, i) { if (!Kh(t, e, n, i)) return !1; var r = e.bindings[n], o = Nh(t, e.nodeIndex), a = o.renderElement, s = r.name; switch (15 & r.flags) { case 1: !(function (t, e, n, i, r, o) { var a = e.securityContext, s = a ? t.root.sanitizer.sanitize(a, o) : o; s = null != s ? s.toString() : null; var c = t.renderer; null != o ? c.setAttribute(n, r, s, i) : c.removeAttribute(n, r, i); })(t, r, a, r.ns, s, i); break; case 2: !(function (t, e, n, i) { var r = t.renderer; i ? r.addClass(e, n) : r.removeClass(e, n); })(t, a, s, i); break; case 4: !(function (t, e, n, i, r) { var o = t.root.sanitizer.sanitize(lr.STYLE, r); if (null != o) { o = o.toString(); var a = e.suffix; null != a && (o += a); } else o = null; var s = t.renderer; null != o ? s.setStyle(n, i, o) : s.removeStyle(n, i); })(t, r, a, s, i); break; case 8: !(function (t, e, n, i, r) { var o = e.securityContext, a = o ? t.root.sanitizer.sanitize(o, r) : r; t.renderer.setProperty(n, i, a); })( /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ 33554432 & e.flags && 32 & r.flags ? o.componentView : t, r, a, s, i ); } return !0; } function Nw(t, e, n) { var i = []; for (var r in n) { var o = n[r]; i.push({ propName: r, bindingType: o, }); } return { nodeIndex: -1, parent: null, renderParent: null, bindingIndex: -1, outputIndex: -1, checkIndex: -1, flags: t, childFlags: 0, directChildFlags: 0, childMatchedQueries: 0, ngContentIndex: -1, matchedQueries: {}, matchedQueryIds: 0, references: {}, childCount: 0, bindings: [], bindingFlags: 0, outputs: [], element: null, provider: null, text: null, query: { id: e, filterId: sf(e), bindings: i, }, ngContent: null, }; } function jw(t) { for (var e = t.def.nodeMatchedQueries; t.parent && af(t); ) { var n = t.parentNodeDef; t = t.parent; for (var i = n.nodeIndex + n.childCount, r = 0; r <= i; r++) { 67108864 & (o = t.def.nodes[r]).flags && 536870912 & o.flags && (o.query.filterId & e) === o.query.filterId && Fh(t, r).setDirty(), (!(1 & o.flags && r + o.childCount < n.nodeIndex) && 67108864 & o.childFlags && 536870912 & o.childFlags) || (r += o.childCount); } } if (134217728 & t.def.nodeFlags) for (r = 0; r < t.def.nodes.length; r++) { var o; 134217728 & (o = t.def.nodes[r]).flags && 536870912 & o.flags && Fh(t, r).setDirty(), (r += o.childCount); } } function Vw(t, e) { var n = Fh(t, e.nodeIndex); if (n.dirty) { var i, r = void 0; if (67108864 & e.flags) { var o = e.parent.parent; (r = Fw(t, o.nodeIndex, o.nodeIndex + o.childCount, e.query, [])), (i = jh(t, e.parent.nodeIndex).instance); } else 134217728 & e.flags && ((r = Fw(t, 0, t.def.nodes.length - 1, e.query, [])), (i = t.component)); n.reset(r); for (var a = e.query.bindings, s = !1, c = 0; c < a.length; c++) { var l = a[c], u = void 0; switch (l.bindingType) { case 0: u = n.first; break; case 1: (u = n), (s = !0); } i[l.propName] = u; } s && n.notifyOnChanges(); } } function Fw(t, e, n, i, r) { for (var o = e; o <= n; o++) { var a = t.def.nodes[o], s = a.matchedQueries[i.id]; if ((null != s && r.push(Uw(t, a, s)), 1 & a.flags && a.element.template && (a.element.template.nodeMatchedQueries & i.filterId) === i.filterId)) { var c = Nh(t, o); if (((a.childMatchedQueries & i.filterId) === i.filterId && (Fw(t, o + 1, o + a.childCount, i, r), (o += a.childCount)), 16777216 & a.flags)) for (var l = c.viewContainer._embeddedViews, u = 0; u < l.length; u++) { var d = l[u], p = tf(d); p && p === c && Fw(d, 0, d.def.nodes.length - 1, i, r); } var h = c.template._projectedViews; if (h) for (u = 0; u < h.length; u++) { var f = h[u]; Fw(f, 0, f.def.nodes.length - 1, i, r); } } (a.childMatchedQueries & i.filterId) !== i.filterId && (o += a.childCount); } return r; } function Uw(t, e, n) { if (null != n) switch (n) { case 1: return Nh(t, e.nodeIndex).renderElement; case 0: return new Qp(Nh(t, e.nodeIndex).renderElement); case 2: return Nh(t, e.nodeIndex).template; case 3: return Nh(t, e.nodeIndex).viewContainer; case 4: return jh(t, e.nodeIndex).instance; } } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Bw(t, e) { return { nodeIndex: -1, parent: null, renderParent: null, bindingIndex: -1, outputIndex: -1, checkIndex: -1, flags: 8, childFlags: 0, directChildFlags: 0, childMatchedQueries: 0, matchedQueries: {}, matchedQueryIds: 0, references: {}, ngContentIndex: t, childCount: 0, bindings: [], bindingFlags: 0, outputs: [], element: null, provider: null, text: null, query: null, ngContent: { index: e, }, }; } function zw(t, e, n) { var i = uf(t, e, n); i && mf(t, n.ngContent.index, 1, i, null, void 0); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Gw(t, e) { return qw(128, t, Zt(e + 1)); } function Hw(t, e) { return qw(32, t, Zt(e)); } function Ww(t, e) { for (var n = Object.keys(e), i = n.length, r = [], o = 0; o < i; o++) { var a = n[o]; e[a]; r.push(a); } return qw(64, t, r); } function qw(t, e, n) { for (var i = [], r = 0; r < n.length; r++) { var o = n[r]; i.push({ flags: 8, name: o, ns: null, nonMinifiedName: o, securityContext: null, suffix: null, }); } return { nodeIndex: -1, parent: null, renderParent: null, bindingIndex: -1, outputIndex: -1, checkIndex: e, flags: t, childFlags: 0, directChildFlags: 0, childMatchedQueries: 0, matchedQueries: {}, matchedQueryIds: 0, references: {}, ngContentIndex: -1, childCount: 0, bindings: i, bindingFlags: wf(i), outputs: [], element: null, provider: null, text: null, query: null, ngContent: null, }; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Xw(t, e, n) { for (var i = [], r = 1; r < n.length; r++) i[r - 1] = { flags: 8, name: null, ns: null, nonMinifiedName: null, securityContext: null, suffix: n[r], }; return { nodeIndex: -1, parent: null, renderParent: null, bindingIndex: -1, outputIndex: -1, checkIndex: t, flags: 2, childFlags: 0, directChildFlags: 0, childMatchedQueries: 0, matchedQueries: {}, matchedQueryIds: 0, references: {}, ngContentIndex: e, childCount: 0, bindings: i, bindingFlags: 8, outputs: [], element: null, provider: null, text: { prefix: n[0], }, query: null, ngContent: null, }; } function Yw(t, e, n) { var i, r = t.renderer; i = r.createText(n.text.prefix); var o = uf(t, e, n); return ( o && r.appendChild(o, i), { renderText: i, } ); } function Kw(t, e) { return (null != t ? t.toString() : '') + e.suffix; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Zw(t, e, n, i) { for (var r = 0, o = 0, a = 0, s = 0, c = 0, l = null, u = null, d = !1, p = !1, h = null, f = 0; f < e.length; f++) { var m = e[f]; if (((m.nodeIndex = f), (m.parent = l), (m.bindingIndex = r), (m.outputIndex = o), (m.renderParent = u), (a |= m.flags), (c |= m.matchedQueryIds), m.element)) { var g = m.element; (g.publicProviders = l ? l.element.publicProviders : Object.create(null)), (g.allProviders = g.publicProviders), (d = !1), (p = !1), m.element.template && (c |= m.element.template.nodeMatchedQueries); } if ((Qw(l, m, e.length), (r += m.bindings.length), (o += m.outputs.length), !u && 3 & m.flags && (h = m), 20224 & m.flags)) { d || ((d = !0), (l.element.publicProviders = Object.create(l.element.publicProviders)), (l.element.allProviders = l.element.publicProviders)); var v = 0 != (8192 & m.flags), y = 0 != (32768 & m.flags); !v || y ? (l.element.publicProviders[Hh(m.provider.token)] = m) : (p || ((p = !0), (l.element.allProviders = Object.create(l.element.publicProviders))), (l.element.allProviders[Hh(m.provider.token)] = m)), y && (l.element.componentProvider = m); } if ( (l ? ((l.childFlags |= m.flags), (l.directChildFlags |= m.flags), (l.childMatchedQueries |= m.matchedQueryIds), m.element && m.element.template && (l.childMatchedQueries |= m.element.template.nodeMatchedQueries)) : (s |= m.flags), m.childCount > 0) ) (l = m), Jw(m) || (u = m); else for (; l && f === l.nodeIndex + l.childCount; ) { var b = l.parent; b && ((b.childFlags |= l.childFlags), (b.childMatchedQueries |= l.childMatchedQueries)), (u = (l = b) && Jw(l) ? l.renderParent : l); } } return { factory: null, nodeFlags: a, rootNodeFlags: s, nodeMatchedQueries: c, flags: t, nodes: e, updateDirectives: n || zh, updateRenderer: i || zh, handleEvent: function (t, n, i, r) { return e[n].element.handleEvent(t, i, r); }, bindingCount: r, outputCount: o, lastRenderRootNode: h, }; } function Jw(t) { return 0 != (1 & t.flags) && null === t.element.name; } function Qw(t, e, n) { var i = e.element && e.element.template; if (i) { if (!i.lastRenderRootNode) throw new Error('Illegal State: Embedded templates without nodes are not allowed!'); if (i.lastRenderRootNode && 16777216 & i.lastRenderRootNode.flags) throw new Error("Illegal State: Last root node of a template can't have embedded views, at index " + e.nodeIndex + '!'); } if (20224 & e.flags && 0 == (1 & (t ? t.flags : 0))) throw new Error('Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index ' + e.nodeIndex + '!'); if (e.query) { if (67108864 & e.flags && (!t || 0 == (16384 & t.flags))) throw new Error('Illegal State: Content Query nodes need to be children of directives, at index ' + e.nodeIndex + '!'); if (134217728 & e.flags && t) throw new Error('Illegal State: View Query nodes have to be top level nodes, at index ' + e.nodeIndex + '!'); } if (e.childCount) { var r = t ? t.nodeIndex + t.childCount : n - 1; if (e.nodeIndex <= r && e.nodeIndex + e.childCount > r) throw new Error('Illegal State: childCount of node leads outside of parent, at index ' + e.nodeIndex + '!'); } } function $w(t, e, n, i) { var r = nS(t.root, t.renderer, t, e, n); return iS(r, t.component, i), rS(r), r; } function tS(t, e, n) { var i = nS(t, t.renderer, null, null, e); return iS(i, n, n), rS(i), i; } function eS(t, e, n, i) { var r, o = e.element.componentRendererType; return (r = o ? t.root.rendererFactory.createRenderer(i, o) : t.root.renderer), nS(t.root, r, t, e.element.componentProvider, n); } function nS(t, e, n, i, r) { var o = new Array(r.nodes.length), a = r.outputCount ? new Array(r.outputCount) : null; return { def: r, parent: n, viewContainerParent: null, parentNodeDef: i, context: null, component: null, nodes: o, state: 13, root: t, renderer: e, oldValues: new Array(r.bindingCount), disposables: a, initIndex: -1, }; } function iS(t, e, n) { (t.component = e), (t.context = n); } function rS(t) { var e; if (of(t)) { var n = t.parentNodeDef; e = Nh(t.parent, n.parent.nodeIndex).renderElement; } for (var i = t.def, r = t.nodes, o = 0; o < i.nodes.length; o++) { var a = i.nodes[o]; Bh.setCurrentNode(t, o); var s = void 0; switch (201347067 & a.flags) { case 1: var c = kw(t, e, a), l = void 0; if (33554432 & a.flags) { var u = pf(a.element.componentView); l = Bh.createComponentView(t, a, u, c); } Dw(t, l, a, c), (s = { renderElement: c, componentView: l, viewContainer: null, template: a.element.template ? Xf(t, a) : void 0, }), 16777216 & a.flags && (s.viewContainer = Gf(t, a, s)); break; case 2: s = Yw(t, e, a); break; case 512: case 1024: case 2048: case 256: if (!((s = r[o]) || 4096 & a.flags)) s = { instance: dm(t, a), }; break; case 16: s = { instance: pm(t, a), }; break; case 16384: if (!(s = r[o])) s = { instance: hm(t, a), }; if (32768 & a.flags) iS(Nh(t, a.parent.nodeIndex).componentView, s.instance, s.instance); break; case 32: case 64: case 128: s = { value: void 0, }; break; case 67108864: case 134217728: s = new pv(); break; case 8: zw(t, e, a), (s = void 0); } r[o] = s; } pS(t, Ow.CreateViewNodes), gS(t, 201326592, 268435456, 0); } function oS(t) { cS(t), Bh.updateDirectives(t, 1), hS(t, Ow.CheckNoChanges), Bh.updateRenderer(t, 1), pS(t, Ow.CheckNoChanges), (t.state &= -97); } function aS(t) { 1 & t.state ? ((t.state &= -2), (t.state |= 2)) : (t.state &= -3), Dh(t, 0, 256), cS(t), Bh.updateDirectives(t, 0), hS(t, Ow.CheckAndUpdate), gS(t, 67108864, 536870912, 0); var e = Dh(t, 256, 512); Sm(t, 2097152 | (e ? 1048576 : 0)), Bh.updateRenderer(t, 0), pS(t, Ow.CheckAndUpdate), gS(t, 134217728, 536870912, 0), Sm(t, 8388608 | ((e = Dh(t, 512, 768)) ? 4194304 : 0)), 2 & t.def.flags && (t.state &= -9), (t.state &= -97), Dh(t, 768, 1024); } function sS(t, e, n, r, o, a, s, c, l, u, d, p, h) { return 0 === n ? (function (t, e, n, i, r, o, a, s, c, l, u, d) { switch (201347067 & e.flags) { case 1: return (function (t, e, n, i, r, o, a, s, c, l, u, d) { var p = e.bindings.length, h = !1; return ( p > 0 && Lw(t, e, 0, n) && (h = !0), p > 1 && Lw(t, e, 1, i) && (h = !0), p > 2 && Lw(t, e, 2, r) && (h = !0), p > 3 && Lw(t, e, 3, o) && (h = !0), p > 4 && Lw(t, e, 4, a) && (h = !0), p > 5 && Lw(t, e, 5, s) && (h = !0), p > 6 && Lw(t, e, 6, c) && (h = !0), p > 7 && Lw(t, e, 7, l) && (h = !0), p > 8 && Lw(t, e, 8, u) && (h = !0), p > 9 && Lw(t, e, 9, d) && (h = !0), h ); })(t, e, n, i, r, o, a, s, c, l, u, d); case 2: return (function (t, e, n, i, r, o, a, s, c, l, u, d) { var p = !1, h = e.bindings, f = h.length; if ( (f > 0 && Kh(t, e, 0, n) && (p = !0), f > 1 && Kh(t, e, 1, i) && (p = !0), f > 2 && Kh(t, e, 2, r) && (p = !0), f > 3 && Kh(t, e, 3, o) && (p = !0), f > 4 && Kh(t, e, 4, a) && (p = !0), f > 5 && Kh(t, e, 5, s) && (p = !0), f > 6 && Kh(t, e, 6, c) && (p = !0), f > 7 && Kh(t, e, 7, l) && (p = !0), f > 8 && Kh(t, e, 8, u) && (p = !0), f > 9 && Kh(t, e, 9, d) && (p = !0), p) ) { var m = e.text.prefix; f > 0 && (m += Kw(n, h[0])), f > 1 && (m += Kw(i, h[1])), f > 2 && (m += Kw(r, h[2])), f > 3 && (m += Kw(o, h[3])), f > 4 && (m += Kw(a, h[4])), f > 5 && (m += Kw(s, h[5])), f > 6 && (m += Kw(c, h[6])), f > 7 && (m += Kw(l, h[7])), f > 8 && (m += Kw(u, h[8])), f > 9 && (m += Kw(d, h[9])); var g = Lh(t, e.nodeIndex).renderText; t.renderer.setValue(g, m); } return p; })(t, e, n, i, r, o, a, s, c, l, u, d); case 16384: return (function (t, e, n, i, r, o, a, s, c, l, u, d) { var p = jh(t, e.nodeIndex), h = p.instance, f = !1, m = void 0, g = e.bindings.length; return ( g > 0 && Yh(t, e, 0, n) && ((f = !0), (m = wm(t, p, e, 0, n, m))), g > 1 && Yh(t, e, 1, i) && ((f = !0), (m = wm(t, p, e, 1, i, m))), g > 2 && Yh(t, e, 2, r) && ((f = !0), (m = wm(t, p, e, 2, r, m))), g > 3 && Yh(t, e, 3, o) && ((f = !0), (m = wm(t, p, e, 3, o, m))), g > 4 && Yh(t, e, 4, a) && ((f = !0), (m = wm(t, p, e, 4, a, m))), g > 5 && Yh(t, e, 5, s) && ((f = !0), (m = wm(t, p, e, 5, s, m))), g > 6 && Yh(t, e, 6, c) && ((f = !0), (m = wm(t, p, e, 6, c, m))), g > 7 && Yh(t, e, 7, l) && ((f = !0), (m = wm(t, p, e, 7, l, m))), g > 8 && Yh(t, e, 8, u) && ((f = !0), (m = wm(t, p, e, 8, u, m))), g > 9 && Yh(t, e, 9, d) && ((f = !0), (m = wm(t, p, e, 9, d, m))), m && h.ngOnChanges(m), 65536 & e.flags && Rh(t, 256, e.nodeIndex) && h.ngOnInit(), 262144 & e.flags && h.ngDoCheck(), f ); })(t, e, n, i, r, o, a, s, c, l, u, d); case 32: case 64: case 128: return (function (t, e, n, i, r, o, a, s, c, l, u, d) { var p = e.bindings, h = !1, f = p.length; if ( (f > 0 && Kh(t, e, 0, n) && (h = !0), f > 1 && Kh(t, e, 1, i) && (h = !0), f > 2 && Kh(t, e, 2, r) && (h = !0), f > 3 && Kh(t, e, 3, o) && (h = !0), f > 4 && Kh(t, e, 4, a) && (h = !0), f > 5 && Kh(t, e, 5, s) && (h = !0), f > 6 && Kh(t, e, 6, c) && (h = !0), f > 7 && Kh(t, e, 7, l) && (h = !0), f > 8 && Kh(t, e, 8, u) && (h = !0), f > 9 && Kh(t, e, 9, d) && (h = !0), h) ) { var m = Vh(t, e.nodeIndex), g = void 0; switch (201347067 & e.flags) { case 32: (g = []), f > 0 && g.push(n), f > 1 && g.push(i), f > 2 && g.push(r), f > 3 && g.push(o), f > 4 && g.push(a), f > 5 && g.push(s), f > 6 && g.push(c), f > 7 && g.push(l), f > 8 && g.push(u), f > 9 && g.push(d); break; case 64: (g = {}), f > 0 && (g[p[0].name] = n), f > 1 && (g[p[1].name] = i), f > 2 && (g[p[2].name] = r), f > 3 && (g[p[3].name] = o), f > 4 && (g[p[4].name] = a), f > 5 && (g[p[5].name] = s), f > 6 && (g[p[6].name] = c), f > 7 && (g[p[7].name] = l), f > 8 && (g[p[8].name] = u), f > 9 && (g[p[9].name] = d); break; case 128: var v = n; switch (f) { case 1: g = v.transform(n); break; case 2: g = v.transform(i); break; case 3: g = v.transform(i, r); break; case 4: g = v.transform(i, r, o); break; case 5: g = v.transform(i, r, o, a); break; case 6: g = v.transform(i, r, o, a, s); break; case 7: g = v.transform(i, r, o, a, s, c); break; case 8: g = v.transform(i, r, o, a, s, c, l); break; case 9: g = v.transform(i, r, o, a, s, c, l, u); break; case 10: g = v.transform(i, r, o, a, s, c, l, u, d); } } m.value = g; } return h; })(t, e, n, i, r, o, a, s, c, l, u, d); default: throw 'unreachable'; } })(t, e, r, o, a, s, c, l, u, d, p, h) : (function (t, e, n) { switch (201347067 & e.flags) { case 1: return (function (t, e, n) { for (var i = !1, r = 0; r < n.length; r++) Lw(t, e, r, n[r]) && (i = !0); return i; })(t, e, n); case 2: return (function (t, e, n) { for (var i = e.bindings, r = !1, o = 0; o < n.length; o++) Kh(t, e, o, n[o]) && (r = !0); if (r) { var a = ''; for (o = 0; o < n.length; o++) a += Kw(n[o], i[o]); a = e.text.prefix + a; var s = Lh(t, e.nodeIndex).renderText; t.renderer.setValue(s, a); } return r; })(t, e, n); case 16384: return (function (t, e, n) { for (var i = jh(t, e.nodeIndex), r = i.instance, o = !1, a = void 0, s = 0; s < n.length; s++) Yh(t, e, s, n[s]) && ((o = !0), (a = wm(t, i, e, s, n[s], a))); return a && r.ngOnChanges(a), 65536 & e.flags && Rh(t, 256, e.nodeIndex) && r.ngOnInit(), 262144 & e.flags && r.ngDoCheck(), o; })(t, e, n); case 32: case 64: case 128: return (function (t, e, n) { for (var r = e.bindings, o = !1, a = 0; a < n.length; a++) Kh(t, e, a, n[a]) && (o = !0); if (o) { var s = Vh(t, e.nodeIndex), c = void 0; switch (201347067 & e.flags) { case 32: c = n; break; case 64: c = {}; for (a = 0; a < n.length; a++) c[r[a].name] = n[a]; break; case 128: var l = n[0], u = n.slice(1); c = l.transform.apply(l, Object(i.h)(u)); } s.value = c; } return o; })(t, e, n); default: throw 'unreachable'; } })(t, e, r); } function cS(t) { var e = t.def; if (4 & e.nodeFlags) for (var n = 0; n < e.nodes.length; n++) { var i = e.nodes[n]; if (4 & i.flags) { var r = Nh(t, n).template._projectedViews; if (r) for (var o = 0; o < r.length; o++) { var a = r[o]; (a.state |= 32), Qh(a, t); } } else 0 == (4 & i.childFlags) && (n += i.childCount); } } function lS(t, e, n, i, r, o, a, s, c, l, u, d, p) { return ( 0 === n ? (function (t, e, n, i, r, o, a, s, c, l, u, d) { var p = e.bindings.length; p > 0 && Zh(t, e, 0, n); p > 1 && Zh(t, e, 1, i); p > 2 && Zh(t, e, 2, r); p > 3 && Zh(t, e, 3, o); p > 4 && Zh(t, e, 4, a); p > 5 && Zh(t, e, 5, s); p > 6 && Zh(t, e, 6, c); p > 7 && Zh(t, e, 7, l); p > 8 && Zh(t, e, 8, u); p > 9 && Zh(t, e, 9, d); })(t, e, i, r, o, a, s, c, l, u, d, p) : (function (t, e, n) { for (var i = 0; i < n.length; i++) Zh(t, e, i, n[i]); })(t, e, i), !1 ); } function uS(t, e) { if (Fh(t, e.nodeIndex).dirty) throw Ph(Bh.createDebugContext(t, e.nodeIndex), 'Query ' + e.query.id + ' not dirty', 'Query ' + e.query.id + ' dirty', 0 != (1 & t.state)); } function dS(t) { if (!(128 & t.state)) { if ((hS(t, Ow.Destroy), pS(t, Ow.Destroy), Sm(t, 131072), t.disposables)) for (var e = 0; e < t.disposables.length; e++) t.disposables[e](); !(function (t) { if (16 & t.state) { var e = tf(t); if (e) { var n = e.template._projectedViews; n && (Kt(n, n.indexOf(t)), Bh.dirtyParentQueries(t)); } } })(t), t.renderer.destroyNode && (function (t) { for (var e = t.def.nodes.length, n = 0; n < e; n++) { var i = t.def.nodes[n]; 1 & i.flags ? t.renderer.destroyNode(Nh(t, n).renderElement) : 2 & i.flags ? t.renderer.destroyNode(Lh(t, n).renderText) : (67108864 & i.flags || 134217728 & i.flags) && Fh(t, n).destroy(); } })(t), of(t) && t.renderer.destroy(), (t.state |= 128); } } function pS(t, e) { var n = t.def; if (33554432 & n.nodeFlags) for (var i = 0; i < n.nodes.length; i++) { var r = n.nodes[i]; 33554432 & r.flags ? fS(Nh(t, i).componentView, e) : 0 == (33554432 & r.childFlags) && (i += r.childCount); } } function hS(t, e) { var n = t.def; if (16777216 & n.nodeFlags) for (var i = 0; i < n.nodes.length; i++) { var r = n.nodes[i]; if (16777216 & r.flags) for (var o = Nh(t, i).viewContainer._embeddedViews, a = 0; a < o.length; a++) fS(o[a], e); else 0 == (16777216 & r.childFlags) && (i += r.childCount); } } function fS(t, e) { var n = t.state; switch (e) { case Ow.CheckNoChanges: 0 == (128 & n) && (12 == (12 & n) ? oS(t) : 64 & n && mS(t, Ow.CheckNoChangesProjectedViews)); break; case Ow.CheckNoChangesProjectedViews: 0 == (128 & n) && (32 & n ? oS(t) : 64 & n && mS(t, e)); break; case Ow.CheckAndUpdate: 0 == (128 & n) && (12 == (12 & n) ? aS(t) : 64 & n && mS(t, Ow.CheckAndUpdateProjectedViews)); break; case Ow.CheckAndUpdateProjectedViews: 0 == (128 & n) && (32 & n ? aS(t) : 64 & n && mS(t, e)); break; case Ow.Destroy: dS(t); break; case Ow.CreateViewNodes: rS(t); } } function mS(t, e) { hS(t, e), pS(t, e); } function gS(t, e, n, i) { if (t.def.nodeFlags & e && t.def.nodeFlags & n) for (var r = t.def.nodes.length, o = 0; o < r; o++) { var a = t.def.nodes[o]; if (a.flags & e && a.flags & n) switch ((Bh.setCurrentNode(t, a.nodeIndex), i)) { case 0: Vw(t, a); break; case 1: uS(t, a); } (a.childFlags & e && a.childFlags & n) || (o += a.childCount); } } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ !(function (t) { (t[(t.CreateViewNodes = 0)] = 'CreateViewNodes'), (t[(t.CheckNoChanges = 1)] = 'CheckNoChanges'), (t[(t.CheckNoChangesProjectedViews = 2)] = 'CheckNoChangesProjectedViews'), (t[(t.CheckAndUpdate = 3)] = 'CheckAndUpdate'), (t[(t.CheckAndUpdateProjectedViews = 4)] = 'CheckAndUpdateProjectedViews'), (t[(t.Destroy = 5)] = 'Destroy'); })(Ow || (Ow = {})); var vS = !1; function yS() { if (!vS) { vS = !0; var t = $i() ? { setCurrentNode: BS, createRootView: wS, createEmbeddedView: xS, createComponentView: MS, createNgModuleRef: ES, overrideProvider: kS, overrideComponentView: DS, clearOverrides: RS, checkAndUpdateView: VS, checkNoChangesView: FS, destroyView: US, createDebugContext: function (t, e) { return new KS(t, e); }, handleEvent: zS, updateDirectives: GS, updateRenderer: HS, } : { setCurrentNode: function () {}, createRootView: bS, createEmbeddedView: $w, createComponentView: eS, createNgModuleRef: Qf, overrideProvider: zh, overrideComponentView: zh, clearOverrides: zh, checkAndUpdateView: aS, checkNoChangesView: oS, destroyView: dS, createDebugContext: function (t, e) { return new KS(t, e); }, handleEvent: function (t, e, n, i) { return t.def.handleEvent(t, e, n, i); }, updateDirectives: function (t, e) { return t.def.updateDirectives(0 === e ? NS : jS, t); }, updateRenderer: function (t, e) { return t.def.updateRenderer(0 === e ? NS : jS, t); }, }; (Bh.setCurrentNode = t.setCurrentNode), (Bh.createRootView = t.createRootView), (Bh.createEmbeddedView = t.createEmbeddedView), (Bh.createComponentView = t.createComponentView), (Bh.createNgModuleRef = t.createNgModuleRef), (Bh.overrideProvider = t.overrideProvider), (Bh.overrideComponentView = t.overrideComponentView), (Bh.clearOverrides = t.clearOverrides), (Bh.checkAndUpdateView = t.checkAndUpdateView), (Bh.checkNoChangesView = t.checkNoChangesView), (Bh.destroyView = t.destroyView), (Bh.resolveDep = ym), (Bh.createDebugContext = t.createDebugContext), (Bh.handleEvent = t.handleEvent), (Bh.updateDirectives = t.updateDirectives), (Bh.updateRenderer = t.updateRenderer), (Bh.dirtyParentQueries = jw); } } function bS(t, e, n, i, r, o) { var a = r.injector.get(eh); return tS(SS(t, r, a, e, n), i, o); } function wS(t, e, n, i, r, o) { var a = r.injector.get(eh), s = SS(t, r, new tx(a), e, n), c = LS(i); return QS(CS.create, tS, null, [s, c, o]); } function SS(t, e, n, i, r) { var o = e.injector.get(oh), a = e.injector.get(Ri), s = n.createRenderer(null, null); return { ngModule: e, injector: t, projectableNodes: i, selectorOrNode: r, sanitizer: o, rendererFactory: n, renderer: s, errorHandler: a, }; } function xS(t, e, n, i) { var r = LS(n); return QS(CS.create, $w, null, [t, e, r, i]); } function MS(t, e, n, i) { var r = IS.get(e.element.componentProvider.provider.token); return (n = r || LS(n)), QS(CS.create, eS, null, [t, e, n, i]); } function ES(t, e, n, i) { return Qf( t, e, n, (function (t) { var e = (function (t) { var e = !1, n = !1; if (0 === _S.size) return { hasOverrides: e, hasDeprecatedOverrides: n, }; return ( t.providers.forEach(function (t) { var i = _S.get(t.token); 3840 & t.flags && i && ((e = !0), (n = n || i.deprecatedBehavior)); }), t.modules.forEach(function (t) { PS.forEach(function (i, r) { I(r).providedIn === t && ((e = !0), (n = n || i.deprecatedBehavior)); }); }), { hasOverrides: e, hasDeprecatedOverrides: n, } ); })(t), n = e.hasOverrides, i = e.hasDeprecatedOverrides; if (!n) return t; return ( (function (t) { for (var e = 0; e < t.providers.length; e++) { var n = t.providers[e]; i && (n.flags |= 4096); var r = _S.get(n.token); r && ((n.flags = (-3841 & n.flags) | r.flags), (n.deps = lf(r.deps)), (n.value = r.value)); } if (PS.size > 0) { var o = new Set(t.modules); PS.forEach(function (e, n) { if (o.has(I(n).providedIn)) { var r = { token: n, flags: e.flags | (i ? 4096 : 0), deps: lf(e.deps), value: e.value, index: t.providers.length, }; t.providers.push(r), (t.providersByKey[Hh(n)] = r); } }); } })( (t = t.factory(function () { return zh; })) ), t ); })(i) ); } var CS, AS, TS, OS, _S = new Map(), PS = new Map(), IS = new Map(); function kS(t) { var e; _S.set(t.token, t), 'function' == typeof t.token && (e = I(t.token)) && 'function' == typeof e.providedIn && PS.set(t.token, t); } function DS(t, e) { var n = pf(Uf(e)), i = pf(n.nodes[0].element.componentView); IS.set(t, i); } function RS() { _S.clear(), PS.clear(), IS.clear(); } function LS(t) { if (0 === _S.size) return t; var e = (function (t) { for (var e = [], n = null, i = 0; i < t.nodes.length; i++) { var r = t.nodes[i]; 1 & r.flags && (n = r), n && 3840 & r.flags && _S.has(r.provider.token) && (e.push(n.nodeIndex), (n = null)); } return e; })(t); if (0 === e.length) return t; t = t.factory(function () { return zh; }); for (var n = 0; n < e.length; n++) i(t, e[n]); return t; function i(t, e) { for (var n = e + 1; n < t.nodes.length; n++) { var i = t.nodes[n]; if (1 & i.flags) return; if (3840 & i.flags) { var r = i.provider, o = _S.get(r.token); o && ((i.flags = (-3841 & i.flags) | o.flags), (r.deps = lf(o.deps)), (r.value = o.value)); } } } } function NS(t, e, n, i, r, o, a, s, c, l, u, d, p) { var h = t.def.nodes[e]; return sS(t, h, n, i, r, o, a, s, c, l, u, d, p), 224 & h.flags ? Vh(t, e).value : void 0; } function jS(t, e, n, i, r, o, a, s, c, l, u, d, p) { var h = t.def.nodes[e]; return lS(t, h, n, i, r, o, a, s, c, l, u, d, p), 224 & h.flags ? Vh(t, e).value : void 0; } function VS(t) { return QS(CS.detectChanges, aS, null, [t]); } function FS(t) { return QS(CS.checkNoChanges, oS, null, [t]); } function US(t) { return QS(CS.destroy, dS, null, [t]); } function BS(t, e) { (TS = t), (OS = e); } function zS(t, e, n, i) { return BS(t, e), QS(CS.handleEvent, t.def.handleEvent, null, [t, e, n, i]); } function GS(t, e) { if (128 & t.state) throw kh(CS[AS]); return ( BS(t, XS(t, 0)), t.def.updateDirectives(function (t, n, i) { for (var r = [], o = 3; o < arguments.length; o++) r[o - 3] = arguments[o]; var a = t.def.nodes[n]; 0 === e ? WS(t, a, i, r) : qS(t, a, i, r); 16384 & a.flags && BS(t, XS(t, n)); return 224 & a.flags ? Vh(t, a.nodeIndex).value : void 0; }, t) ); } function HS(t, e) { if (128 & t.state) throw kh(CS[AS]); return ( BS(t, YS(t, 0)), t.def.updateRenderer(function (t, n, i) { for (var r = [], o = 3; o < arguments.length; o++) r[o - 3] = arguments[o]; var a = t.def.nodes[n]; 0 === e ? WS(t, a, i, r) : qS(t, a, i, r); 3 & a.flags && BS(t, YS(t, n)); return 224 & a.flags ? Vh(t, a.nodeIndex).value : void 0; }, t) ); } function WS(t, e, n, r) { if (sS.apply(void 0, Object(i.h)([t, e, n], r))) { var o = 1 === n ? r[0] : r; if (16384 & e.flags) { for (var a = {}, s = 0; s < e.bindings.length; s++) { var c = e.bindings[s], l = o[s]; 8 & c.flags && (a[Gr(c.nonMinifiedName)] = Wr(l)); } var u = e.parent, d = Nh(t, u.nodeIndex).renderElement; if (u.element.name) for (var p in a) { null != (l = a[p]) ? t.renderer.setAttribute(d, p, l) : t.renderer.removeAttribute(d, p); } else t.renderer.setValue(d, 'bindings=' + JSON.stringify(a, null, 2)); } } } function qS(t, e, n, r) { lS.apply(void 0, Object(i.h)([t, e, n], r)); } function XS(t, e) { for (var n = e; n < t.def.nodes.length; n++) { var i = t.def.nodes[n]; if (16384 & i.flags && i.bindings && i.bindings.length) return n; } return null; } function YS(t, e) { for (var n = e; n < t.def.nodes.length; n++) { var i = t.def.nodes[n]; if (3 & i.flags && i.bindings && i.bindings.length) return n; } return null; } !(function (t) { (t[(t.create = 0)] = 'create'), (t[(t.detectChanges = 1)] = 'detectChanges'), (t[(t.checkNoChanges = 2)] = 'checkNoChanges'), (t[(t.destroy = 3)] = 'destroy'), (t[(t.handleEvent = 4)] = 'handleEvent'); })(CS || (CS = {})); var KS = (function () { function t(t, e) { (this.view = t), (this.nodeIndex = e), null == e && (this.nodeIndex = e = 0), (this.nodeDef = t.def.nodes[e]); for (var n = this.nodeDef, i = t; n && 0 == (1 & n.flags); ) n = n.parent; if (!n) for (; !n && i; ) (n = ef(i)), (i = i.parent); (this.elDef = n), (this.elView = i); } return ( Object.defineProperty(t.prototype, 'elOrCompView', { get: function () { return Nh(this.elView, this.elDef.nodeIndex).componentView || this.view; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'injector', { get: function () { return Kf(this.elView, this.elDef); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'component', { get: function () { return this.elOrCompView.component; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'context', { get: function () { return this.elOrCompView.context; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'providerTokens', { get: function () { var t = []; if (this.elDef) for (var e = this.elDef.nodeIndex + 1; e <= this.elDef.nodeIndex + this.elDef.childCount; e++) { var n = this.elView.def.nodes[e]; 20224 & n.flags && t.push(n.provider.token), (e += n.childCount); } return t; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'references', { get: function () { var t = {}; if (this.elDef) { JS(this.elView, this.elDef, t); for (var e = this.elDef.nodeIndex + 1; e <= this.elDef.nodeIndex + this.elDef.childCount; e++) { var n = this.elView.def.nodes[e]; 20224 & n.flags && JS(this.elView, n, t), (e += n.childCount); } } return t; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'componentRenderElement', { get: function () { var t = (function (t) { for (; t && !of(t); ) t = t.parent; if (t.parent) return Nh(t.parent, ef(t).nodeIndex); return null; })(this.elOrCompView); return t ? t.renderElement : void 0; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'renderNode', { get: function () { return 2 & this.nodeDef.flags ? nf(this.view, this.nodeDef) : nf(this.elView, this.elDef); }, enumerable: !0, configurable: !0, }), (t.prototype.logError = function (t) { for (var e, n, r = [], o = 1; o < arguments.length; o++) r[o - 1] = arguments[o]; 2 & this.nodeDef.flags ? ((e = this.view.def), (n = this.nodeDef.nodeIndex)) : ((e = this.elView.def), (n = this.elDef.nodeIndex)); var a = ZS(e, n), s = -1, c = function () { var e; return ++s === a ? (e = t.error).bind.apply(e, Object(i.h)([t], r)) : zh; }; e.factory(c), s < a && (t.error('Illegal state: the ViewDefinitionFactory did not call the logger!'), t.error.apply(t, Object(i.h)(r))); }), t ); })(); function ZS(t, e) { for (var n = -1, i = 0; i <= e; i++) { 3 & t.nodes[i].flags && n++; } return n; } function JS(t, e, n) { for (var i in e.references) n[i] = Uw(t, e, e.references[i]); } function QS(t, e, n, i) { var r = AS, o = TS, a = OS; try { AS = t; var s = e.apply(n, i); return (TS = o), (OS = a), (AS = r), s; } catch (t) { if (Ii(t) || !TS) throw t; throw (function (t, e) { return t instanceof Error || (t = new Error(t.toString())), Ih(t, e), t; })(t, $S()); } } function $S() { return TS ? new KS(TS, OS) : null; } var tx = (function () { function t(t) { this.delegate = t; } return ( (t.prototype.createRenderer = function (t, e) { return new ex(this.delegate.createRenderer(t, e)); }), (t.prototype.begin = function () { this.delegate.begin && this.delegate.begin(); }), (t.prototype.end = function () { this.delegate.end && this.delegate.end(); }), (t.prototype.whenRenderingDone = function () { return this.delegate.whenRenderingDone ? this.delegate.whenRenderingDone() : Promise.resolve(null); }), t ); })(), ex = (function () { function t(t) { (this.delegate = t), (this.debugContextFactory = $S), (this.data = this.delegate.data); } return ( (t.prototype.createDebugContext = function (t) { return this.debugContextFactory(t); }), (t.prototype.destroyNode = function (t) { var e = mw(t); !(function (t) { hw.delete(t.nativeNode); })(e), e instanceof tw && (e.listeners.length = 0), this.delegate.destroyNode && this.delegate.destroyNode(t); }), (t.prototype.destroy = function () { this.delegate.destroy(); }), (t.prototype.createElement = function (t, e) { var n = this.delegate.createElement(t, e), i = this.createDebugContext(n); if (i) { var r = new ew(n, null, i); (r.name = t), yw(r); } return n; }), (t.prototype.createComment = function (t) { var e = this.delegate.createComment(t), n = this.createDebugContext(e); return n && yw(new tw(e, null, n)), e; }), (t.prototype.createText = function (t) { var e = this.delegate.createText(t), n = this.createDebugContext(e); return n && yw(new tw(e, null, n)), e; }), (t.prototype.appendChild = function (t, e) { var n = mw(t), i = mw(e); n && i && n instanceof ew && n.addChild(i), this.delegate.appendChild(t, e); }), (t.prototype.insertBefore = function (t, e, n) { var i = mw(t), r = mw(e), o = mw(n); i && r && i instanceof ew && i.insertBefore(o, r), this.delegate.insertBefore(t, e, n); }), (t.prototype.removeChild = function (t, e) { var n = mw(t), i = mw(e); n && i && n instanceof ew && n.removeChild(i), this.delegate.removeChild(t, e); }), (t.prototype.selectRootElement = function (t, e) { var n = this.delegate.selectRootElement(t, e), i = $S(); return i && yw(new ew(n, null, i)), n; }), (t.prototype.setAttribute = function (t, e, n, i) { var r = mw(t); if (r && r instanceof ew) { var o = i ? i + ':' + e : e; r.attributes[o] = n; } this.delegate.setAttribute(t, e, n, i); }), (t.prototype.removeAttribute = function (t, e, n) { var i = mw(t); if (i && i instanceof ew) { var r = n ? n + ':' + e : e; i.attributes[r] = null; } this.delegate.removeAttribute(t, e, n); }), (t.prototype.addClass = function (t, e) { var n = mw(t); n && n instanceof ew && (n.classes[e] = !0), this.delegate.addClass(t, e); }), (t.prototype.removeClass = function (t, e) { var n = mw(t); n && n instanceof ew && (n.classes[e] = !1), this.delegate.removeClass(t, e); }), (t.prototype.setStyle = function (t, e, n, i) { var r = mw(t); r && r instanceof ew && (r.styles[e] = n), this.delegate.setStyle(t, e, n, i); }), (t.prototype.removeStyle = function (t, e, n) { var i = mw(t); i && i instanceof ew && (i.styles[e] = null), this.delegate.removeStyle(t, e, n); }), (t.prototype.setProperty = function (t, e, n) { var i = mw(t); i && i instanceof ew && (i.properties[e] = n), this.delegate.setProperty(t, e, n); }), (t.prototype.listen = function (t, e, n) { if ('string' != typeof t) { var i = mw(t); i && i.listeners.push(new $b(e, n)); } return this.delegate.listen(t, e, n); }), (t.prototype.parentNode = function (t) { return this.delegate.parentNode(t); }), (t.prototype.nextSibling = function (t) { return this.delegate.nextSibling(t); }), (t.prototype.setValue = function (t, e) { return this.delegate.setValue(t, e); }), t ); })(); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function nx(t) { return yS(), Bh.overrideProvider(t); } function ix(t, e) { return yS(), Bh.overrideComponentView(t, e); } function rx() { return yS(), Bh.clearOverrides(); } function ox(t, e, n) { return new ax(t, e, n); } var ax = (function (t) { function e(e, n, i) { var r = t.call(this) || this; return (r.moduleType = e), (r._bootstrapComponents = n), (r._ngModuleDefFactory = i), r; } return ( Object(i.c)(e, t), (e.prototype.create = function (t) { yS(); var e = (function (t) { var e = Array.from(t.providers), n = Array.from(t.modules), i = {}; for (var r in t.providersByKey) i[r] = t.providersByKey[r]; return { factory: t.factory, scope: t.scope, providers: e, modules: n, providersByKey: i, }; })(pf(this._ngModuleDefFactory)); return Bh.createNgModuleRef(this.moduleType, t || Pc.NULL, this._bootstrapComponents, e); }), e ); })(Pt); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ ngDevMode && (J.$localize = J.$localize || function () { throw new Error( "It looks like your application or one of its dependencies is using i18n.\nAngular 9 introduced a global `$localize()` function that needs to be loaded.\nPlease run `ng add @angular/localize` from the Angular CLI.\n(For non-CLI projects, add `import '@angular/localize/init';` to your `polyfills.ts` file.\nFor server-side rendering applications add the import to your `main.server.ts` file.)" ); }); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ }.call(this, n(213)); }, function (t, e, n) { 'use strict'; n.d(e, 'c', function () { return r; }), n.d(e, 'a', function () { return o; }), n.d(e, 'g', function () { return a; }), n.d(e, 'b', function () { return s; }), n.d(e, 'e', function () { return c; }), n.d(e, 'd', function () { return l; }), n.d(e, 'j', function () { return u; }), n.d(e, 'f', function () { return d; }), n.d(e, 'h', function () { return p; }), n.d(e, 'i', function () { return h; }); /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ var i = function (t, e) { return (i = Object.setPrototypeOf || ({ __proto__: [], } instanceof Array && function (t, e) { t.__proto__ = e; }) || function (t, e) { for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]); })(t, e); }; function r(t, e) { function n() { this.constructor = t; } i(t, e), (t.prototype = null === e ? Object.create(e) : ((n.prototype = e.prototype), new n())); } var o = function () { return (o = Object.assign || function (t) { for (var e, n = 1, i = arguments.length; n < i; n++) for (var r in (e = arguments[n])) Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]); return t; }).apply(this, arguments); }; function a(t, e) { var n = {}; for (var i in t) Object.prototype.hasOwnProperty.call(t, i) && e.indexOf(i) < 0 && (n[i] = t[i]); if (null != t && 'function' == typeof Object.getOwnPropertySymbols) { var r = 0; for (i = Object.getOwnPropertySymbols(t); r < i.length; r++) e.indexOf(i[r]) < 0 && Object.prototype.propertyIsEnumerable.call(t, i[r]) && (n[i[r]] = t[i[r]]); } return n; } function s(t, e, n, i) { var r, o = arguments.length, a = o < 3 ? e : null === i ? (i = Object.getOwnPropertyDescriptor(e, n)) : i; if ('object' == typeof Reflect && 'function' == typeof Reflect.decorate) a = Reflect.decorate(t, e, n, i); else for (var s = t.length - 1; s >= 0; s--) (r = t[s]) && (a = (o < 3 ? r(a) : o > 3 ? r(e, n, a) : r(e, n)) || a); return o > 3 && a && Object.defineProperty(e, n, a), a; } function c(t, e) { return function (n, i) { e(n, i, t); }; } function l(t, e) { if ('object' == typeof Reflect && 'function' == typeof Reflect.metadata) return Reflect.metadata(t, e); } function u(t) { var e = 'function' == typeof Symbol && t[Symbol.iterator], n = 0; return e ? e.call(t) : { next: function () { return ( t && n >= t.length && (t = void 0), { value: t && t[n++], done: !t, } ); }, }; } function d(t, e) { var n = 'function' == typeof Symbol && t[Symbol.iterator]; if (!n) return t; var i, r, o = n.call(t), a = []; try { for (; (void 0 === e || e-- > 0) && !(i = o.next()).done; ) a.push(i.value); } catch (t) { r = { error: t, }; } finally { try { i && !i.done && (n = o.return) && n.call(o); } finally { if (r) throw r.error; } } return a; } function p() { for (var t = [], e = 0; e < arguments.length; e++) t = t.concat(d(arguments[e])); return t; } function h() { for (var t = 0, e = 0, n = arguments.length; e < n; e++) t += arguments[e].length; var i = Array(t), r = 0; for (e = 0; e < n; e++) for (var o = arguments[e], a = 0, s = o.length; a < s; a++, r++) i[r] = o[a]; return i; } }, function (t, e, n) { n(924), (t.exports = angular); }, function (t, e, n) { 'use strict'; n.r(e), n.d(e, 'APP_BASE_HREF', function () { return S; }), n.d(e, 'AsyncPipe', function () { return te; }), n.d(e, 'CommonModule', function () { return be; }), n.d(e, 'CurrencyPipe', function () { return fe; }), n.d(e, 'DOCUMENT', function () { return l; }), n.d(e, 'DatePipe', function () { return oe; }), n.d(e, 'DecimalPipe', function () { return pe; }), n.d(e, 'FormStyle', function () { return _; }), n.d(e, 'FormatWidth', function () { return I; }), n.d(e, 'HashLocationStrategy', function () { return M; }), n.d(e, 'I18nPluralPipe', function () { return se; }), n.d(e, 'I18nSelectPipe', function () { return ce; }), n.d(e, 'JsonPipe', function () { return le; }), n.d(e, 'KeyValuePipe', function () { return ue; }), n.d(e, 'LOCATION_INITIALIZED', function () { return p; }), n.d(e, 'Location', function () { return E; }), n.d(e, 'LocationStrategy', function () { return b; }), n.d(e, 'LowerCasePipe', function () { return ee; }), n.d(e, 'NgClass', function () { return Dt; }), n.d(e, 'NgComponentOutlet', function () { return Rt; }), n.d(e, 'NgForOf', function () { return Nt; }), n.d(e, 'NgForOfContext', function () { return Lt; }), n.d(e, 'NgIf', function () { return Vt; }), n.d(e, 'NgIfContext', function () { return Ft; }), n.d(e, 'NgLocaleLocalization', function () { return Pt; }), n.d(e, 'NgLocalization', function () { return Ot; }), n.d(e, 'NgPlural', function () { return Wt; }), n.d(e, 'NgPluralCase', function () { return qt; }), n.d(e, 'NgStyle', function () { return Xt; }), n.d(e, 'NgSwitch', function () { return zt; }), n.d(e, 'NgSwitchCase', function () { return Gt; }), n.d(e, 'NgSwitchDefault', function () { return Ht; }), n.d(e, 'NgTemplateOutlet', function () { return Yt; }), n.d(e, 'NumberFormatStyle', function () { return T; }), n.d(e, 'NumberSymbol', function () { return k; }), n.d(e, 'PathLocationStrategy', function () { return x; }), n.d(e, 'PercentPipe', function () { return he; }), n.d(e, 'PlatformLocation', function () { return u; }), n.d(e, 'Plural', function () { return O; }), n.d(e, 'SlicePipe', function () { return ve; }), n.d(e, 'TitleCasePipe', function () { return ie; }), n.d(e, 'TranslationWidth', function () { return P; }), n.d(e, 'UpperCasePipe', function () { return re; }), n.d(e, 'VERSION', function () { return Oe; }), n.d(e, 'ViewportScroller', function () { return _e; }), n.d(e, 'WeekDay', function () { return D; }), n.d(e, 'formatCurrency', function () { return Mt; }), n.d(e, 'formatDate', function () { return dt; }), n.d(e, 'formatNumber', function () { return Ct; }), n.d(e, 'formatPercent', function () { return Et; }), n.d(e, 'getCurrencySymbol', function () { return it; }), n.d(e, 'getLocaleCurrencyCode', function () { return K; }), n.d(e, 'getLocaleCurrencyName', function () { return Y; }), n.d(e, 'getLocaleCurrencySymbol', function () { return X; }), n.d(e, 'getLocaleDateFormat', function () { return z; }), n.d(e, 'getLocaleDateTimeFormat', function () { return H; }), n.d(e, 'getLocaleDayNames', function () { return j; }), n.d(e, 'getLocaleDayPeriods', function () { return N; }), n.d(e, 'getLocaleDirection', function () { return tt; }), n.d(e, 'getLocaleEraNames', function () { return F; }), n.d(e, 'getLocaleExtraDayPeriodRules', function () { return Q; }), n.d(e, 'getLocaleExtraDayPeriods', function () { return $; }), n.d(e, 'getLocaleFirstDayOfWeek', function () { return U; }), n.d(e, 'getLocaleId', function () { return L; }), n.d(e, 'getLocaleMonthNames', function () { return V; }), n.d(e, 'getLocaleNumberFormat', function () { return q; }), n.d(e, 'getLocaleNumberSymbol', function () { return W; }), n.d(e, 'getLocalePluralCase', function () { return Z; }), n.d(e, 'getLocaleTimeFormat', function () { return G; }), n.d(e, 'getLocaleWeekEndRange', function () { return B; }), n.d(e, 'getNumberOfCurrencyDigits', function () { return rt; }), n.d(e, 'isPlatformBrowser', function () { return Ee; }), n.d(e, 'isPlatformServer', function () { return Ce; }), n.d(e, 'isPlatformWorkerApp', function () { return Ae; }), n.d(e, 'isPlatformWorkerUi', function () { return Te; }), n.d(e, 'registerLocaleData', function () { return It; }), n.d(e, 'ɵBrowserPlatformLocation', function () { return h; }), n.d(e, 'ɵDomAdapter', function () { return c; }), n.d(e, 'ɵNullViewportScroller', function () { return Ie; }), n.d(e, 'ɵPLATFORM_BROWSER_ID', function () { return we; }), n.d(e, 'ɵPLATFORM_SERVER_ID', function () { return Se; }), n.d(e, 'ɵPLATFORM_WORKER_APP_ID', function () { return xe; }), n.d(e, 'ɵPLATFORM_WORKER_UI_ID', function () { return Me; }), n.d(e, 'ɵangular_packages_common_common_a', function () { return d; }), n.d(e, 'ɵangular_packages_common_common_b', function () { return m; }), n.d(e, 'ɵangular_packages_common_common_c', function () { return C; }), n.d(e, 'ɵangular_packages_common_common_d', function () { return w; }), n.d(e, 'ɵangular_packages_common_common_e', function () { return Kt; }), n.d(e, 'ɵangular_packages_common_common_f', function () { return ye; }), n.d(e, 'ɵgetDOM', function () { return a; }), n.d(e, 'ɵparseCookieValue', function () { return kt; }), n.d(e, 'ɵsetRootDomAdapter', function () { return s; }); var i = n(1), r = n(0), o = null; function a() { return o; } function s(t) { o || (o = t); } var c = function () {}, l = new r.InjectionToken('DocumentToken'), u = (function () { function t() {} return ( (t.ɵprov = Object(r['ɵɵdefineInjectable'])({ factory: d, token: t, providedIn: 'platform', })), (t.ɵfac = function (e) { return new (e || t)(); }), t ); })(); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function d() { return Object(r['ɵɵinject'])(h); } var p = new r.InjectionToken('Location Initialized'), h = (function (t) { function e(e) { var n = t.call(this) || this; return (n._doc = e), n._init(), n; } return ( Object(i.c)(e, t), (e.prototype._init = function () { (this.location = a().getLocation()), (this._history = a().getHistory()); }), (e.prototype.getBaseHrefFromDOM = function () { return a().getBaseHref(this._doc); }), (e.prototype.onPopState = function (t) { a().getGlobalEventTarget(this._doc, 'window').addEventListener('popstate', t, !1); }), (e.prototype.onHashChange = function (t) { a().getGlobalEventTarget(this._doc, 'window').addEventListener('hashchange', t, !1); }), Object.defineProperty(e.prototype, 'href', { get: function () { return this.location.href; }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'protocol', { get: function () { return this.location.protocol; }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'hostname', { get: function () { return this.location.hostname; }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'port', { get: function () { return this.location.port; }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'pathname', { get: function () { return this.location.pathname; }, set: function (t) { this.location.pathname = t; }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'search', { get: function () { return this.location.search; }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'hash', { get: function () { return this.location.hash; }, enumerable: !0, configurable: !0, }), (e.prototype.pushState = function (t, e, n) { f() ? this._history.pushState(t, e, n) : (this.location.hash = n); }), (e.prototype.replaceState = function (t, e, n) { f() ? this._history.replaceState(t, e, n) : (this.location.hash = n); }), (e.prototype.forward = function () { this._history.forward(); }), (e.prototype.back = function () { this._history.back(); }), (e.prototype.getState = function () { return this._history.state; }), (e.ɵprov = Object(r['ɵɵdefineInjectable'])({ factory: m, token: e, providedIn: 'platform', })), ((e = Object(i.b)([Object(i.e)(0, Object(r.Inject)(l)), Object(i.d)('design:paramtypes', [Object])], e)).ɵfac = function (t) { return new (t || e)(r['ɵɵinject'](l)); }), e ); })(u); function f() { return !!window.history.pushState; } function m() { return new h(Object(r['ɵɵinject'])(l)); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function g(t, e) { if (0 == t.length) return e; if (0 == e.length) return t; var n = 0; return t.endsWith('/') && n++, e.startsWith('/') && n++, 2 == n ? t + e.substring(1) : 1 == n ? t + e : t + '/' + e; } function v(t) { var e = t.match(/#|\?|$/), n = (e && e.index) || t.length, i = n - ('/' === t[n - 1] ? 1 : 0); return t.slice(0, i) + t.slice(n); } function y(t) { return t && '?' !== t[0] ? '?' + t : t; } var b = (function () { function t() {} return ( (t.ɵprov = Object(r['ɵɵdefineInjectable'])({ factory: w, token: t, providedIn: 'root', })), (t.ɵfac = function (e) { return new (e || t)(); }), t ); })(); function w(t) { var e = Object(r['ɵɵinject'])(l).location; return new x(Object(r['ɵɵinject'])(u), (e && e.origin) || ''); } var S = new r.InjectionToken('appBaseHref'), x = (function (t) { function e(e, n) { var i = t.call(this) || this; if (((i._platformLocation = e), null == n && (n = i._platformLocation.getBaseHrefFromDOM()), null == n)) throw new Error('No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.'); return (i._baseHref = n), i; } return ( Object(i.c)(e, t), (e.prototype.onPopState = function (t) { this._platformLocation.onPopState(t), this._platformLocation.onHashChange(t); }), (e.prototype.getBaseHref = function () { return this._baseHref; }), (e.prototype.prepareExternalUrl = function (t) { return g(this._baseHref, t); }), (e.prototype.path = function (t) { void 0 === t && (t = !1); var e = this._platformLocation.pathname + y(this._platformLocation.search), n = this._platformLocation.hash; return n && t ? '' + e + n : e; }), (e.prototype.pushState = function (t, e, n, i) { var r = this.prepareExternalUrl(n + y(i)); this._platformLocation.pushState(t, e, r); }), (e.prototype.replaceState = function (t, e, n, i) { var r = this.prepareExternalUrl(n + y(i)); this._platformLocation.replaceState(t, e, r); }), (e.prototype.forward = function () { this._platformLocation.forward(); }), (e.prototype.back = function () { this._platformLocation.back(); }), ((e = Object(i.b)([Object(i.e)(1, Object(r.Optional)()), Object(i.e)(1, Object(r.Inject)(S)), Object(i.d)('design:paramtypes', [u, String])], e)).ɵfac = function (t) { return new (t || e)(r['ɵɵinject'](u), r['ɵɵinject'](S, 8)); }), (e.ɵprov = r['ɵɵdefineInjectable']({ token: e, factory: function (t) { return e.ɵfac(t); }, })), e ); })(b), M = (function (t) { function e(e, n) { var i = t.call(this) || this; return (i._platformLocation = e), (i._baseHref = ''), null != n && (i._baseHref = n), i; } return ( Object(i.c)(e, t), (e.prototype.onPopState = function (t) { this._platformLocation.onPopState(t), this._platformLocation.onHashChange(t); }), (e.prototype.getBaseHref = function () { return this._baseHref; }), (e.prototype.path = function (t) { void 0 === t && (t = !1); var e = this._platformLocation.hash; return null == e && (e = '#'), e.length > 0 ? e.substring(1) : e; }), (e.prototype.prepareExternalUrl = function (t) { var e = g(this._baseHref, t); return e.length > 0 ? '#' + e : e; }), (e.prototype.pushState = function (t, e, n, i) { var r = this.prepareExternalUrl(n + y(i)); 0 == r.length && (r = this._platformLocation.pathname), this._platformLocation.pushState(t, e, r); }), (e.prototype.replaceState = function (t, e, n, i) { var r = this.prepareExternalUrl(n + y(i)); 0 == r.length && (r = this._platformLocation.pathname), this._platformLocation.replaceState(t, e, r); }), (e.prototype.forward = function () { this._platformLocation.forward(); }), (e.prototype.back = function () { this._platformLocation.back(); }), ((e = Object(i.b)([Object(i.e)(1, Object(r.Optional)()), Object(i.e)(1, Object(r.Inject)(S)), Object(i.d)('design:paramtypes', [u, String])], e)).ɵfac = function (t) { return new (t || e)(r['ɵɵinject'](u), r['ɵɵinject'](S, 8)); }), (e.ɵprov = r['ɵɵdefineInjectable']({ token: e, factory: function (t) { return e.ɵfac(t); }, })), e ); })(b), E = (function () { function t(t, e) { var n = this; (this._subject = new r.EventEmitter()), (this._urlChangeListeners = []), (this._platformStrategy = t); var i = this._platformStrategy.getBaseHref(); (this._platformLocation = e), (this._baseHref = v(A(i))), this._platformStrategy.onPopState(function (t) { n._subject.emit({ url: n.path(!0), pop: !0, state: t.state, type: t.type, }); }); } var e; return ( (e = t), (t.prototype.path = function (t) { return void 0 === t && (t = !1), this.normalize(this._platformStrategy.path(t)); }), (t.prototype.getState = function () { return this._platformLocation.getState(); }), (t.prototype.isCurrentPathEqualTo = function (t, e) { return void 0 === e && (e = ''), this.path() == this.normalize(t + y(e)); }), (t.prototype.normalize = function (t) { return e.stripTrailingSlash( (function (t, e) { return t && e.startsWith(t) ? e.substring(t.length) : e; })(this._baseHref, A(t)) ); }), (t.prototype.prepareExternalUrl = function (t) { return t && '/' !== t[0] && (t = '/' + t), this._platformStrategy.prepareExternalUrl(t); }), (t.prototype.go = function (t, e, n) { void 0 === e && (e = ''), void 0 === n && (n = null), this._platformStrategy.pushState(n, '', t, e), this._notifyUrlChangeListeners(this.prepareExternalUrl(t + y(e)), n); }), (t.prototype.replaceState = function (t, e, n) { void 0 === e && (e = ''), void 0 === n && (n = null), this._platformStrategy.replaceState(n, '', t, e), this._notifyUrlChangeListeners(this.prepareExternalUrl(t + y(e)), n); }), (t.prototype.forward = function () { this._platformStrategy.forward(); }), (t.prototype.back = function () { this._platformStrategy.back(); }), (t.prototype.onUrlChange = function (t) { var e = this; this._urlChangeListeners.push(t), this.subscribe(function (t) { e._notifyUrlChangeListeners(t.url, t.state); }); }), (t.prototype._notifyUrlChangeListeners = function (t, e) { void 0 === t && (t = ''), this._urlChangeListeners.forEach(function (n) { return n(t, e); }); }), (t.prototype.subscribe = function (t, e, n) { return this._subject.subscribe({ next: t, error: e, complete: n, }); }), (t.normalizeQueryParams = y), (t.joinWithSlash = g), (t.stripTrailingSlash = v), (t.ɵprov = Object(r['ɵɵdefineInjectable'])({ factory: C, token: t, providedIn: 'root', })), ((t = e = Object(i.b)([Object(i.d)('design:paramtypes', [b, u])], t)).ɵfac = function (e) { return new (e || t)(r['ɵɵinject'](b), r['ɵɵinject'](u)); }), t ); })(); function C() { return new E(Object(r['ɵɵinject'])(b), Object(r['ɵɵinject'])(u)); } function A(t) { return t.replace(/\/index.html$/, ''); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var T, O, _, P, I, k, D, R = { ADP: [void 0, void 0, 0], AFN: [void 0, void 0, 0], ALL: [void 0, void 0, 0], AMD: [void 0, void 0, 2], AOA: [void 0, 'Kz'], ARS: [void 0, '$'], AUD: ['A$', '$'], BAM: [void 0, 'KM'], BBD: [void 0, '$'], BDT: [void 0, '৳'], BHD: [void 0, void 0, 3], BIF: [void 0, void 0, 0], BMD: [void 0, '$'], BND: [void 0, '$'], BOB: [void 0, 'Bs'], BRL: ['R$'], BSD: [void 0, '$'], BWP: [void 0, 'P'], BYN: [void 0, 'р.', 2], BYR: [void 0, void 0, 0], BZD: [void 0, '$'], CAD: ['CA$', '$', 2], CHF: [void 0, void 0, 2], CLF: [void 0, void 0, 4], CLP: [void 0, '$', 0], CNY: ['CN¥', '¥'], COP: [void 0, '$', 2], CRC: [void 0, '₡', 2], CUC: [void 0, '$'], CUP: [void 0, '$'], CZK: [void 0, 'Kč', 2], DJF: [void 0, void 0, 0], DKK: [void 0, 'kr', 2], DOP: [void 0, '$'], EGP: [void 0, 'E£'], ESP: [void 0, '₧', 0], EUR: ['€'], FJD: [void 0, '$'], FKP: [void 0, '£'], GBP: ['£'], GEL: [void 0, '₾'], GIP: [void 0, '£'], GNF: [void 0, 'FG', 0], GTQ: [void 0, 'Q'], GYD: [void 0, '$', 2], HKD: ['HK$', '$'], HNL: [void 0, 'L'], HRK: [void 0, 'kn'], HUF: [void 0, 'Ft', 2], IDR: [void 0, 'Rp', 2], ILS: ['₪'], INR: ['₹'], IQD: [void 0, void 0, 0], IRR: [void 0, void 0, 0], ISK: [void 0, 'kr', 0], ITL: [void 0, void 0, 0], JMD: [void 0, '$'], JOD: [void 0, void 0, 3], JPY: ['¥', void 0, 0], KHR: [void 0, '៛'], KMF: [void 0, 'CF', 0], KPW: [void 0, '₩', 0], KRW: ['₩', void 0, 0], KWD: [void 0, void 0, 3], KYD: [void 0, '$'], KZT: [void 0, '₸'], LAK: [void 0, '₭', 0], LBP: [void 0, 'L£', 0], LKR: [void 0, 'Rs'], LRD: [void 0, '$'], LTL: [void 0, 'Lt'], LUF: [void 0, void 0, 0], LVL: [void 0, 'Ls'], LYD: [void 0, void 0, 3], MGA: [void 0, 'Ar', 0], MGF: [void 0, void 0, 0], MMK: [void 0, 'K', 0], MNT: [void 0, '₮', 2], MRO: [void 0, void 0, 0], MUR: [void 0, 'Rs', 2], MXN: ['MX$', '$'], MYR: [void 0, 'RM'], NAD: [void 0, '$'], NGN: [void 0, '₦'], NIO: [void 0, 'C$'], NOK: [void 0, 'kr', 2], NPR: [void 0, 'Rs'], NZD: ['NZ$', '$'], OMR: [void 0, void 0, 3], PHP: [void 0, '₱'], PKR: [void 0, 'Rs', 2], PLN: [void 0, 'zł'], PYG: [void 0, '₲', 0], RON: [void 0, 'lei'], RSD: [void 0, void 0, 0], RUB: [void 0, '₽'], RUR: [void 0, 'р.'], RWF: [void 0, 'RF', 0], SBD: [void 0, '$'], SEK: [void 0, 'kr', 2], SGD: [void 0, '$'], SHP: [void 0, '£'], SLL: [void 0, void 0, 0], SOS: [void 0, void 0, 0], SRD: [void 0, '$'], SSP: [void 0, '£'], STD: [void 0, void 0, 0], STN: [void 0, 'Db'], SYP: [void 0, '£', 0], THB: [void 0, '฿'], TMM: [void 0, void 0, 0], TND: [void 0, void 0, 3], TOP: [void 0, 'T$'], TRL: [void 0, void 0, 0], TRY: [void 0, '₺'], TTD: [void 0, '$'], TWD: ['NT$', '$', 2], TZS: [void 0, void 0, 2], UAH: [void 0, '₴'], UGX: [void 0, void 0, 0], USD: ['$'], UYI: [void 0, void 0, 0], UYU: [void 0, '$'], UYW: [void 0, void 0, 4], UZS: [void 0, void 0, 2], VEF: [void 0, 'Bs', 2], VND: ['₫', void 0, 0], VUV: [void 0, void 0, 0], XAF: ['FCFA', void 0, 0], XCD: ['EC$', '$'], XOF: ['CFA', void 0, 0], XPF: ['CFPF', void 0, 0], XXX: ['¤'], YER: [void 0, void 0, 0], ZAR: [void 0, 'R'], ZMK: [void 0, void 0, 0], ZMW: [void 0, 'ZK'], ZWD: [void 0, void 0, 0], }; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function L(t) { return Object(r['ɵfindLocaleData'])(t)[r['ɵLocaleDataIndex'].LocaleId]; } function N(t, e, n) { var i = Object(r['ɵfindLocaleData'])(t), o = et([i[r['ɵLocaleDataIndex'].DayPeriodsFormat], i[r['ɵLocaleDataIndex'].DayPeriodsStandalone]], e); return et(o, n); } function j(t, e, n) { var i = Object(r['ɵfindLocaleData'])(t), o = et([i[r['ɵLocaleDataIndex'].DaysFormat], i[r['ɵLocaleDataIndex'].DaysStandalone]], e); return et(o, n); } function V(t, e, n) { var i = Object(r['ɵfindLocaleData'])(t), o = et([i[r['ɵLocaleDataIndex'].MonthsFormat], i[r['ɵLocaleDataIndex'].MonthsStandalone]], e); return et(o, n); } function F(t, e) { return et(Object(r['ɵfindLocaleData'])(t)[r['ɵLocaleDataIndex'].Eras], e); } function U(t) { return Object(r['ɵfindLocaleData'])(t)[r['ɵLocaleDataIndex'].FirstDayOfWeek]; } function B(t) { return Object(r['ɵfindLocaleData'])(t)[r['ɵLocaleDataIndex'].WeekendRange]; } function z(t, e) { return et(Object(r['ɵfindLocaleData'])(t)[r['ɵLocaleDataIndex'].DateFormat], e); } function G(t, e) { return et(Object(r['ɵfindLocaleData'])(t)[r['ɵLocaleDataIndex'].TimeFormat], e); } function H(t, e) { return et(Object(r['ɵfindLocaleData'])(t)[r['ɵLocaleDataIndex'].DateTimeFormat], e); } function W(t, e) { var n = Object(r['ɵfindLocaleData'])(t), i = n[r['ɵLocaleDataIndex'].NumberSymbols][e]; if (void 0 === i) { if (e === k.CurrencyDecimal) return n[r['ɵLocaleDataIndex'].NumberSymbols][k.Decimal]; if (e === k.CurrencyGroup) return n[r['ɵLocaleDataIndex'].NumberSymbols][k.Group]; } return i; } function q(t, e) { return Object(r['ɵfindLocaleData'])(t)[r['ɵLocaleDataIndex'].NumberFormats][e]; } function X(t) { return Object(r['ɵfindLocaleData'])(t)[r['ɵLocaleDataIndex'].CurrencySymbol] || null; } function Y(t) { return Object(r['ɵfindLocaleData'])(t)[r['ɵLocaleDataIndex'].CurrencyName] || null; } function K(t) { return Object(r['ɵgetLocaleCurrencyCode'])(t); } !(function (t) { (t[(t.Decimal = 0)] = 'Decimal'), (t[(t.Percent = 1)] = 'Percent'), (t[(t.Currency = 2)] = 'Currency'), (t[(t.Scientific = 3)] = 'Scientific'); })(T || (T = {})), (function (t) { (t[(t.Zero = 0)] = 'Zero'), (t[(t.One = 1)] = 'One'), (t[(t.Two = 2)] = 'Two'), (t[(t.Few = 3)] = 'Few'), (t[(t.Many = 4)] = 'Many'), (t[(t.Other = 5)] = 'Other'); })(O || (O = {})), (function (t) { (t[(t.Format = 0)] = 'Format'), (t[(t.Standalone = 1)] = 'Standalone'); })(_ || (_ = {})), (function (t) { (t[(t.Narrow = 0)] = 'Narrow'), (t[(t.Abbreviated = 1)] = 'Abbreviated'), (t[(t.Wide = 2)] = 'Wide'), (t[(t.Short = 3)] = 'Short'); })(P || (P = {})), (function (t) { (t[(t.Short = 0)] = 'Short'), (t[(t.Medium = 1)] = 'Medium'), (t[(t.Long = 2)] = 'Long'), (t[(t.Full = 3)] = 'Full'); })(I || (I = {})), (function (t) { (t[(t.Decimal = 0)] = 'Decimal'), (t[(t.Group = 1)] = 'Group'), (t[(t.List = 2)] = 'List'), (t[(t.PercentSign = 3)] = 'PercentSign'), (t[(t.PlusSign = 4)] = 'PlusSign'), (t[(t.MinusSign = 5)] = 'MinusSign'), (t[(t.Exponential = 6)] = 'Exponential'), (t[(t.SuperscriptingExponent = 7)] = 'SuperscriptingExponent'), (t[(t.PerMille = 8)] = 'PerMille'), (t[(t[1 / 0] = 9)] = 'Infinity'), (t[(t.NaN = 10)] = 'NaN'), (t[(t.TimeSeparator = 11)] = 'TimeSeparator'), (t[(t.CurrencyDecimal = 12)] = 'CurrencyDecimal'), (t[(t.CurrencyGroup = 13)] = 'CurrencyGroup'); })(k || (k = {})), (function (t) { (t[(t.Sunday = 0)] = 'Sunday'), (t[(t.Monday = 1)] = 'Monday'), (t[(t.Tuesday = 2)] = 'Tuesday'), (t[(t.Wednesday = 3)] = 'Wednesday'), (t[(t.Thursday = 4)] = 'Thursday'), (t[(t.Friday = 5)] = 'Friday'), (t[(t.Saturday = 6)] = 'Saturday'); })(D || (D = {})); var Z = r['ɵgetLocalePluralCase']; function J(t) { if (!t[r['ɵLocaleDataIndex'].ExtraData]) throw new Error( 'Missing extra locale data for the locale "' + t[r['ɵLocaleDataIndex'].LocaleId] + '". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.' ); } function Q(t) { var e = Object(r['ɵfindLocaleData'])(t); return ( J(e), (e[r['ɵLocaleDataIndex'].ExtraData][2] || []).map(function (t) { return 'string' == typeof t ? nt(t) : [nt(t[0]), nt(t[1])]; }) ); } function $(t, e, n) { var i = Object(r['ɵfindLocaleData'])(t); J(i); var o = et([i[r['ɵLocaleDataIndex'].ExtraData][0], i[r['ɵLocaleDataIndex'].ExtraData][1]], e) || []; return et(o, n) || []; } function tt(t) { return Object(r['ɵfindLocaleData'])(t)[r['ɵLocaleDataIndex'].Directionality]; } function et(t, e) { for (var n = e; n > -1; n--) if (void 0 !== t[n]) return t[n]; throw new Error('Locale data API: locale data undefined'); } function nt(t) { var e = Object(i.f)(t.split(':'), 2); return { hours: +e[0], minutes: +e[1], }; } function it(t, e, n) { void 0 === n && (n = 'en'); var i = (function (t) { return Object(r['ɵfindLocaleData'])(t)[r['ɵLocaleDataIndex'].Currencies]; })(n)[t] || R[t] || [], o = i[1]; return 'narrow' === e && 'string' == typeof o ? o : i[0] || t; } function rt(t) { var e, n = R[t]; return n && (e = n[2]), 'number' == typeof e ? e : 2; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var ot, at, st, ct = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/, lt = {}, ut = /((?:[^GyMLwWdEabBhHmsSzZO']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/; function dt(t, e, n, r) { var o = (function (t) { if (wt(t)) return t; if ('number' == typeof t && !isNaN(t)) return new Date(t); if ('string' == typeof t) { t = t.trim(); var e = parseFloat(t); if (!isNaN(t - e)) return new Date(e); if (/^(\d{4}-\d{1,2}-\d{1,2})$/.test(t)) { var n = Object(i.f)( t.split('-').map(function (t) { return +t; }), 3 ), r = n[0], o = n[1], a = n[2]; return new Date(r, o - 1, a); } var s; if ((s = t.match(ct))) return (function (t) { var e = new Date(0), n = 0, i = 0, r = t[8] ? e.setUTCFullYear : e.setFullYear, o = t[8] ? e.setUTCHours : e.setHours; t[9] && ((n = Number(t[9] + t[10])), (i = Number(t[9] + t[11]))); r.call(e, Number(t[1]), Number(t[2]) - 1, Number(t[3])); var a = Number(t[4] || 0) - n, s = Number(t[5] || 0) - i, c = Number(t[6] || 0), l = Math.round(1e3 * parseFloat('0.' + (t[7] || 0))); return o.call(e, a, s, c, l), e; })(s); } var c = new Date(t); if (!wt(c)) throw new Error('Unable to convert "' + t + '" into a date'); return c; })(t); e = (function t(e, n) { var i = L(e); if (((lt[i] = lt[i] || {}), lt[i][n])) return lt[i][n]; var r = ''; switch (n) { case 'shortDate': r = z(e, I.Short); break; case 'mediumDate': r = z(e, I.Medium); break; case 'longDate': r = z(e, I.Long); break; case 'fullDate': r = z(e, I.Full); break; case 'shortTime': r = G(e, I.Short); break; case 'mediumTime': r = G(e, I.Medium); break; case 'longTime': r = G(e, I.Long); break; case 'fullTime': r = G(e, I.Full); break; case 'short': var o = t(e, 'shortTime'), a = t(e, 'shortDate'); r = pt(H(e, I.Short), [o, a]); break; case 'medium': var s = t(e, 'mediumTime'), c = t(e, 'mediumDate'); r = pt(H(e, I.Medium), [s, c]); break; case 'long': var l = t(e, 'longTime'), u = t(e, 'longDate'); r = pt(H(e, I.Long), [l, u]); break; case 'full': var d = t(e, 'fullTime'), p = t(e, 'fullDate'); r = pt(H(e, I.Full), [d, p]); } r && (lt[i][n] = r); return r; })(n, e) || e; for (var a, s = []; e; ) { if (!(a = ut.exec(e))) { s.push(e); break; } var c = (s = s.concat(a.slice(1))).pop(); if (!c) break; e = c; } var l = o.getTimezoneOffset(); r && ((l = bt(r, l)), (o = (function (t, e, n) { var i = n ? -1 : 1, r = t.getTimezoneOffset(), o = bt(e, r); return (function (t, e) { return (t = new Date(t.getTime())).setMinutes(t.getMinutes() + e), t; })(t, i * (o - r)); })(o, r, !0))); var u = ''; return ( s.forEach(function (t) { var e = (function (t) { if (yt[t]) return yt[t]; var e; switch (t) { case 'G': case 'GG': case 'GGG': e = mt(st.Eras, P.Abbreviated); break; case 'GGGG': e = mt(st.Eras, P.Wide); break; case 'GGGGG': e = mt(st.Eras, P.Narrow); break; case 'y': e = ft(at.FullYear, 1, 0, !1, !0); break; case 'yy': e = ft(at.FullYear, 2, 0, !0, !0); break; case 'yyy': e = ft(at.FullYear, 3, 0, !1, !0); break; case 'yyyy': e = ft(at.FullYear, 4, 0, !1, !0); break; case 'M': case 'L': e = ft(at.Month, 1, 1); break; case 'MM': case 'LL': e = ft(at.Month, 2, 1); break; case 'MMM': e = mt(st.Months, P.Abbreviated); break; case 'MMMM': e = mt(st.Months, P.Wide); break; case 'MMMMM': e = mt(st.Months, P.Narrow); break; case 'LLL': e = mt(st.Months, P.Abbreviated, _.Standalone); break; case 'LLLL': e = mt(st.Months, P.Wide, _.Standalone); break; case 'LLLLL': e = mt(st.Months, P.Narrow, _.Standalone); break; case 'w': e = vt(1); break; case 'ww': e = vt(2); break; case 'W': e = vt(1, !0); break; case 'd': e = ft(at.Date, 1); break; case 'dd': e = ft(at.Date, 2); break; case 'E': case 'EE': case 'EEE': e = mt(st.Days, P.Abbreviated); break; case 'EEEE': e = mt(st.Days, P.Wide); break; case 'EEEEE': e = mt(st.Days, P.Narrow); break; case 'EEEEEE': e = mt(st.Days, P.Short); break; case 'a': case 'aa': case 'aaa': e = mt(st.DayPeriods, P.Abbreviated); break; case 'aaaa': e = mt(st.DayPeriods, P.Wide); break; case 'aaaaa': e = mt(st.DayPeriods, P.Narrow); break; case 'b': case 'bb': case 'bbb': e = mt(st.DayPeriods, P.Abbreviated, _.Standalone, !0); break; case 'bbbb': e = mt(st.DayPeriods, P.Wide, _.Standalone, !0); break; case 'bbbbb': e = mt(st.DayPeriods, P.Narrow, _.Standalone, !0); break; case 'B': case 'BB': case 'BBB': e = mt(st.DayPeriods, P.Abbreviated, _.Format, !0); break; case 'BBBB': e = mt(st.DayPeriods, P.Wide, _.Format, !0); break; case 'BBBBB': e = mt(st.DayPeriods, P.Narrow, _.Format, !0); break; case 'h': e = ft(at.Hours, 1, -12); break; case 'hh': e = ft(at.Hours, 2, -12); break; case 'H': e = ft(at.Hours, 1); break; case 'HH': e = ft(at.Hours, 2); break; case 'm': e = ft(at.Minutes, 1); break; case 'mm': e = ft(at.Minutes, 2); break; case 's': e = ft(at.Seconds, 1); break; case 'ss': e = ft(at.Seconds, 2); break; case 'S': e = ft(at.FractionalSeconds, 1); break; case 'SS': e = ft(at.FractionalSeconds, 2); break; case 'SSS': e = ft(at.FractionalSeconds, 3); break; case 'Z': case 'ZZ': case 'ZZZ': e = gt(ot.Short); break; case 'ZZZZZ': e = gt(ot.Extended); break; case 'O': case 'OO': case 'OOO': case 'z': case 'zz': case 'zzz': e = gt(ot.ShortGMT); break; case 'OOOO': case 'ZZZZ': case 'zzzz': e = gt(ot.Long); break; default: return null; } return (yt[t] = e), e; })(t); u += e ? e(o, n, l) : "''" === t ? "'" : t.replace(/(^'|'$)/g, '').replace(/''/g, "'"); }), u ); } function pt(t, e) { return ( e && (t = t.replace(/\{([^}]+)}/g, function (t, n) { return null != e && n in e ? e[n] : t; })), t ); } function ht(t, e, n, i, r) { void 0 === n && (n = '-'); var o = ''; (t < 0 || (r && t <= 0)) && (r ? (t = 1 - t) : ((t = -t), (o = n))); for (var a = String(t); a.length < e; ) a = '0' + a; return i && (a = a.substr(a.length - e)), o + a; } function ft(t, e, n, i, r) { return ( void 0 === n && (n = 0), void 0 === i && (i = !1), void 0 === r && (r = !1), function (o, a) { var s, c = (function (t, e) { switch (t) { case at.FullYear: return e.getFullYear(); case at.Month: return e.getMonth(); case at.Date: return e.getDate(); case at.Hours: return e.getHours(); case at.Minutes: return e.getMinutes(); case at.Seconds: return e.getSeconds(); case at.FractionalSeconds: return e.getMilliseconds(); case at.Day: return e.getDay(); default: throw new Error('Unknown DateType value "' + t + '".'); } })(t, o); if (((n > 0 || c > -n) && (c += n), t === at.Hours)) 0 === c && -12 === n && (c = 12); else if (t === at.FractionalSeconds) return (s = e), ht(c, 3).substr(0, s); var l = W(a, k.MinusSign); return ht(c, e, l, i, r); } ); } function mt(t, e, n, i) { return ( void 0 === n && (n = _.Format), void 0 === i && (i = !1), function (r, o) { return (function (t, e, n, i, r, o) { switch (n) { case st.Months: return V(e, r, i)[t.getMonth()]; case st.Days: return j(e, r, i)[t.getDay()]; case st.DayPeriods: var a = t.getHours(), s = t.getMinutes(); if (o) { var c, l = Q(e), u = $(e, r, i); if ( (l.forEach(function (t, e) { if (Array.isArray(t)) { var n = t[0], i = n.hours, r = n.minutes, o = t[1], l = o.hours, d = o.minutes; a >= i && s >= r && (a < l || (a === l && s < d)) && (c = u[e]); } else { var p = t.hours, h = t.minutes; p === a && h === s && (c = u[e]); } }), c) ) return c; } return N(e, r, i)[a < 12 ? 0 : 1]; case st.Eras: return F(e, i)[t.getFullYear() <= 0 ? 0 : 1]; default: throw new Error('unexpected translation type ' + n); } })(r, o, t, e, n, i); } ); } function gt(t) { return function (e, n, i) { var r = -1 * i, o = W(n, k.MinusSign), a = r > 0 ? Math.floor(r / 60) : Math.ceil(r / 60); switch (t) { case ot.Short: return (r >= 0 ? '+' : '') + ht(a, 2, o) + ht(Math.abs(r % 60), 2, o); case ot.ShortGMT: return 'GMT' + (r >= 0 ? '+' : '') + ht(a, 1, o); case ot.Long: return 'GMT' + (r >= 0 ? '+' : '') + ht(a, 2, o) + ':' + ht(Math.abs(r % 60), 2, o); case ot.Extended: return 0 === i ? 'Z' : (r >= 0 ? '+' : '') + ht(a, 2, o) + ':' + ht(Math.abs(r % 60), 2, o); default: throw new Error('Unknown zone width "' + t + '"'); } }; } !(function (t) { (t[(t.Short = 0)] = 'Short'), (t[(t.ShortGMT = 1)] = 'ShortGMT'), (t[(t.Long = 2)] = 'Long'), (t[(t.Extended = 3)] = 'Extended'); })(ot || (ot = {})), (function (t) { (t[(t.FullYear = 0)] = 'FullYear'), (t[(t.Month = 1)] = 'Month'), (t[(t.Date = 2)] = 'Date'), (t[(t.Hours = 3)] = 'Hours'), (t[(t.Minutes = 4)] = 'Minutes'), (t[(t.Seconds = 5)] = 'Seconds'), (t[(t.FractionalSeconds = 6)] = 'FractionalSeconds'), (t[(t.Day = 7)] = 'Day'); })(at || (at = {})), (function (t) { (t[(t.DayPeriods = 0)] = 'DayPeriods'), (t[(t.Days = 1)] = 'Days'), (t[(t.Months = 2)] = 'Months'), (t[(t.Eras = 3)] = 'Eras'); })(st || (st = {})); function vt(t, e) { return ( void 0 === e && (e = !1), function (n, i) { var r, o, a, s; if (e) { var c = new Date(n.getFullYear(), n.getMonth(), 1).getDay() - 1, l = n.getDate(); r = 1 + Math.floor((l + c) / 7); } else { var u = ((a = n.getFullYear()), (s = new Date(a, 0, 1).getDay()), new Date(a, 0, 1 + (s <= 4 ? 4 : 11) - s)), d = ((o = n), new Date(o.getFullYear(), o.getMonth(), o.getDate() + (4 - o.getDay()))).getTime() - u.getTime(); r = 1 + Math.round(d / 6048e5); } return ht(r, t, W(i, k.MinusSign)); } ); } var yt = {}; function bt(t, e) { t = t.replace(/:/g, ''); var n = Date.parse('Jan 01, 1970 00:00:00 ' + t) / 6e4; return isNaN(n) ? e : n; } function wt(t) { return t instanceof Date && !isNaN(t.valueOf()); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var St = /^(\d+)?\.((\d+)(-(\d+))?)?$/; function xt(t, e, n, i, r, o, a) { void 0 === a && (a = !1); var s = '', c = !1; if (isFinite(t)) { var l = (function (t) { var e, n, i, r, o, a = Math.abs(t) + '', s = 0; (n = a.indexOf('.')) > -1 && (a = a.replace('.', '')); (i = a.search(/e/i)) > 0 ? (n < 0 && (n = i), (n += +a.slice(i + 1)), (a = a.substring(0, i))) : n < 0 && (n = a.length); for (i = 0; '0' === a.charAt(i); i++); if (i === (o = a.length)) (e = [0]), (n = 1); else { for (o--; '0' === a.charAt(o); ) o--; for (n -= i, e = [], r = 0; i <= o; i++, r++) e[r] = Number(a.charAt(i)); } n > 22 && ((e = e.splice(0, 21)), (s = n - 1), (n = 1)); return { digits: e, exponent: s, integerLen: n, }; })(t); a && (l = (function (t) { if (0 === t.digits[0]) return t; var e = t.digits.length - t.integerLen; t.exponent ? (t.exponent += 2) : (0 === e ? t.digits.push(0, 0) : 1 === e && t.digits.push(0), (t.integerLen += 2)); return t; })(l)); var u = e.minInt, d = e.minFrac, p = e.maxFrac; if (o) { var h = o.match(St); if (null === h) throw new Error(o + ' is not a valid digit info'); var f = h[1], m = h[3], g = h[5]; null != f && (u = Tt(f)), null != m && (d = Tt(m)), null != g ? (p = Tt(g)) : null != m && d > p && (p = d); } !(function (t, e, n) { if (e > n) throw new Error('The minimum number of digits after fraction (' + e + ') is higher than the maximum (' + n + ').'); var i = t.digits, r = i.length - t.integerLen, o = Math.min(Math.max(e, r), n), a = o + t.integerLen, s = i[a]; if (a > 0) { i.splice(Math.max(t.integerLen, a)); for (var c = a; c < i.length; c++) i[c] = 0; } else { (r = Math.max(0, r)), (t.integerLen = 1), (i.length = Math.max(1, (a = o + 1))), (i[0] = 0); for (var l = 1; l < a; l++) i[l] = 0; } if (s >= 5) if (a - 1 < 0) { for (var u = 0; u > a; u--) i.unshift(0), t.integerLen++; i.unshift(1), t.integerLen++; } else i[a - 1]++; for (; r < Math.max(0, o); r++) i.push(0); var d = 0 !== o, p = e + t.integerLen, h = i.reduceRight(function (t, e, n, i) { return (e += t), (i[n] = e < 10 ? e : e - 10), d && (0 === i[n] && n >= p ? i.pop() : (d = !1)), e >= 10 ? 1 : 0; }, 0); h && (i.unshift(h), t.integerLen++); })(l, d, p); var v = l.digits, y = l.integerLen, b = l.exponent, w = []; for ( c = v.every(function (t) { return !t; }); y < u; y++ ) v.unshift(0); for (; y < 0; y++) v.unshift(0); y > 0 ? (w = v.splice(y, v.length)) : ((w = v), (v = [0])); var S = []; for (v.length >= e.lgSize && S.unshift(v.splice(-e.lgSize, v.length).join('')); v.length > e.gSize; ) S.unshift(v.splice(-e.gSize, v.length).join('')); v.length && S.unshift(v.join('')), (s = S.join(W(n, i))), w.length && (s += W(n, r) + w.join('')), b && (s += W(n, k.Exponential) + '+' + b); } else s = W(n, k.Infinity); return (s = t < 0 && !c ? e.negPre + s + e.negSuf : e.posPre + s + e.posSuf); } function Mt(t, e, n, i, r) { var o = At(q(e, T.Currency), W(e, k.MinusSign)); return (o.minFrac = rt(i)), (o.maxFrac = o.minFrac), xt(t, o, e, k.CurrencyGroup, k.CurrencyDecimal, r).replace('¤', n).replace('¤', '').trim(); } function Et(t, e, n) { return xt(t, At(q(e, T.Percent), W(e, k.MinusSign)), e, k.Group, k.Decimal, n, !0).replace(new RegExp('%', 'g'), W(e, k.PercentSign)); } function Ct(t, e, n) { return xt(t, At(q(e, T.Decimal), W(e, k.MinusSign)), e, k.Group, k.Decimal, n); } function At(t, e) { void 0 === e && (e = '-'); var n = { minInt: 1, minFrac: 0, maxFrac: 0, posPre: '', posSuf: '', negPre: '', negSuf: '', gSize: 0, lgSize: 0, }, i = t.split(';'), r = i[0], o = i[1], a = -1 !== r.indexOf('.') ? r.split('.') : [r.substring(0, r.lastIndexOf('0') + 1), r.substring(r.lastIndexOf('0') + 1)], s = a[0], c = a[1] || ''; n.posPre = s.substr(0, s.indexOf('#')); for (var l = 0; l < c.length; l++) { var u = c.charAt(l); '0' === u ? (n.minFrac = n.maxFrac = l + 1) : '#' === u ? (n.maxFrac = l + 1) : (n.posSuf += u); } var d = s.split(','); if (((n.gSize = d[1] ? d[1].length : 0), (n.lgSize = d[2] || d[1] ? (d[2] || d[1]).length : 0), o)) { var p = r.length - n.posPre.length - n.posSuf.length, h = o.indexOf('#'); (n.negPre = o.substr(0, h).replace(/'/g, '')), (n.negSuf = o.substr(h + p).replace(/'/g, '')); } else (n.negPre = e + n.posPre), (n.negSuf = n.posSuf); return n; } function Tt(t) { var e = parseInt(t); if (isNaN(e)) throw new Error('Invalid integer literal when parsing ' + t); return e; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Ot = function () {}; function _t(t, e, n, i) { var r = '=' + t; if (e.indexOf(r) > -1) return r; if (((r = n.getPluralCategory(t, i)), e.indexOf(r) > -1)) return r; if (e.indexOf('other') > -1) return 'other'; throw new Error('No plural message found for value "' + t + '"'); } var Pt = (function (t) { function e(e) { var n = t.call(this) || this; return (n.locale = e), n; } return ( Object(i.c)(e, t), (e.prototype.getPluralCategory = function (t, e) { switch (Z(e || this.locale)(t)) { case O.Zero: return 'zero'; case O.One: return 'one'; case O.Two: return 'two'; case O.Few: return 'few'; case O.Many: return 'many'; default: return 'other'; } }), ((e = Object(i.b)([Object(i.e)(0, Object(r.Inject)(r.LOCALE_ID)), Object(i.d)('design:paramtypes', [String])], e)).ɵfac = function (t) { return new (t || e)(r['ɵɵinject'](r.LOCALE_ID)); }), (e.ɵprov = r['ɵɵdefineInjectable']({ token: e, factory: function (t) { return e.ɵfac(t); }, })), e ); })(Ot); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function It(t, e, n) { return Object(r['ɵregisterLocaleData'])(t, e, n); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function kt(t, e) { var n, r; e = encodeURIComponent(e); try { for (var o = Object(i.j)(t.split(';')), a = o.next(); !a.done; a = o.next()) { var s = a.value, c = s.indexOf('='), l = Object(i.f)(-1 == c ? [s, ''] : [s.slice(0, c), s.slice(c + 1)], 2), u = l[0], d = l[1]; if (u.trim() === e) return decodeURIComponent(d); } } catch (t) { n = { error: t, }; } finally { try { a && !a.done && (r = o.return) && r.call(o); } finally { if (n) throw n.error; } } return null; } var Dt = (function () { function t(t, e, n, i) { (this._iterableDiffers = t), (this._keyValueDiffers = e), (this._ngEl = n), (this._renderer = i), (this._iterableDiffer = null), (this._keyValueDiffer = null), (this._initialClasses = []), (this._rawClass = null); } return ( Object.defineProperty(t.prototype, 'klass', { set: function (t) { this._removeClasses(this._initialClasses), (this._initialClasses = 'string' == typeof t ? t.split(/\s+/) : []), this._applyClasses(this._initialClasses), this._applyClasses(this._rawClass); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'ngClass', { set: function (t) { this._removeClasses(this._rawClass), this._applyClasses(this._initialClasses), (this._iterableDiffer = null), (this._keyValueDiffer = null), (this._rawClass = 'string' == typeof t ? t.split(/\s+/) : t), this._rawClass && (Object(r['ɵisListLikeIterable'])(this._rawClass) ? (this._iterableDiffer = this._iterableDiffers.find(this._rawClass).create()) : (this._keyValueDiffer = this._keyValueDiffers.find(this._rawClass).create())); }, enumerable: !0, configurable: !0, }), (t.prototype.ngDoCheck = function () { if (this._iterableDiffer) { var t = this._iterableDiffer.diff(this._rawClass); t && this._applyIterableChanges(t); } else if (this._keyValueDiffer) { var e = this._keyValueDiffer.diff(this._rawClass); e && this._applyKeyValueChanges(e); } }), (t.prototype._applyKeyValueChanges = function (t) { var e = this; t.forEachAddedItem(function (t) { return e._toggleClass(t.key, t.currentValue); }), t.forEachChangedItem(function (t) { return e._toggleClass(t.key, t.currentValue); }), t.forEachRemovedItem(function (t) { t.previousValue && e._toggleClass(t.key, !1); }); }), (t.prototype._applyIterableChanges = function (t) { var e = this; t.forEachAddedItem(function (t) { if ('string' != typeof t.item) throw new Error('NgClass can only toggle CSS classes expressed as strings, got ' + Object(r['ɵstringify'])(t.item)); e._toggleClass(t.item, !0); }), t.forEachRemovedItem(function (t) { return e._toggleClass(t.item, !1); }); }), (t.prototype._applyClasses = function (t) { var e = this; t && (Array.isArray(t) || t instanceof Set ? t.forEach(function (t) { return e._toggleClass(t, !0); }) : Object.keys(t).forEach(function (n) { return e._toggleClass(n, !!t[n]); })); }), (t.prototype._removeClasses = function (t) { var e = this; t && (Array.isArray(t) || t instanceof Set ? t.forEach(function (t) { return e._toggleClass(t, !1); }) : Object.keys(t).forEach(function (t) { return e._toggleClass(t, !1); })); }), (t.prototype._toggleClass = function (t, e) { var n = this; (t = t.trim()) && t.split(/\s+/g).forEach(function (t) { e ? n._renderer.addClass(n._ngEl.nativeElement, t) : n._renderer.removeClass(n._ngEl.nativeElement, t); }); }), Object(i.b)([Object(r.Input)('class'), Object(i.d)('design:type', String), Object(i.d)('design:paramtypes', [String])], t.prototype, 'klass', null), Object(i.b)([Object(r.Input)('ngClass'), Object(i.d)('design:type', Object), Object(i.d)('design:paramtypes', [Object])], t.prototype, 'ngClass', null), ((t = Object(i.b)([Object(i.d)('design:paramtypes', [r.IterableDiffers, r.KeyValueDiffers, r.ElementRef, r.Renderer2])], t)).ɵfac = function (e) { return new (e || t)(r['ɵɵdirectiveInject'](r.IterableDiffers), r['ɵɵdirectiveInject'](r.KeyValueDiffers), r['ɵɵdirectiveInject'](r.ElementRef), r['ɵɵdirectiveInject'](r.Renderer2)); }), (t.ɵdir = r['ɵɵdefineDirective']({ type: t, selectors: [['', 'ngClass', '']], inputs: { klass: ['class', 'klass'], ngClass: 'ngClass', }, })), t ); })(), Rt = (function () { function t(t) { (this._viewContainerRef = t), (this._componentRef = null), (this._moduleRef = null); } return ( (t.prototype.ngOnChanges = function (t) { if ((this._viewContainerRef.clear(), (this._componentRef = null), this.ngComponentOutlet)) { var e = this.ngComponentOutletInjector || this._viewContainerRef.parentInjector; if (t.ngComponentOutletNgModuleFactory) if ((this._moduleRef && this._moduleRef.destroy(), this.ngComponentOutletNgModuleFactory)) { var n = e.get(r.NgModuleRef); this._moduleRef = this.ngComponentOutletNgModuleFactory.create(n.injector); } else this._moduleRef = null; var i = (this._moduleRef ? this._moduleRef.componentFactoryResolver : e.get(r.ComponentFactoryResolver)).resolveComponentFactory(this.ngComponentOutlet); this._componentRef = this._viewContainerRef.createComponent(i, this._viewContainerRef.length, e, this.ngComponentOutletContent); } }), (t.prototype.ngOnDestroy = function () { this._moduleRef && this._moduleRef.destroy(); }), Object(i.b)([Object(r.Input)(), Object(i.d)('design:type', r.Type)], t.prototype, 'ngComponentOutlet', void 0), Object(i.b)([Object(r.Input)(), Object(i.d)('design:type', r.Injector)], t.prototype, 'ngComponentOutletInjector', void 0), Object(i.b)([Object(r.Input)(), Object(i.d)('design:type', Array)], t.prototype, 'ngComponentOutletContent', void 0), Object(i.b)([Object(r.Input)(), Object(i.d)('design:type', r.NgModuleFactory)], t.prototype, 'ngComponentOutletNgModuleFactory', void 0), ((t = Object(i.b)([Object(i.d)('design:paramtypes', [r.ViewContainerRef])], t)).ɵfac = function (e) { return new (e || t)(r['ɵɵdirectiveInject'](r.ViewContainerRef)); }), (t.ɵdir = r['ɵɵdefineDirective']({ type: t, selectors: [['', 'ngComponentOutlet', '']], inputs: { ngComponentOutlet: 'ngComponentOutlet', ngComponentOutletInjector: 'ngComponentOutletInjector', ngComponentOutletContent: 'ngComponentOutletContent', ngComponentOutletNgModuleFactory: 'ngComponentOutletNgModuleFactory', }, features: [r['ɵɵNgOnChangesFeature']], })), t ); })(), Lt = (function () { function t(t, e, n, i) { (this.$implicit = t), (this.ngForOf = e), (this.index = n), (this.count = i); } return ( Object.defineProperty(t.prototype, 'first', { get: function () { return 0 === this.index; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'last', { get: function () { return this.index === this.count - 1; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'even', { get: function () { return this.index % 2 == 0; }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'odd', { get: function () { return !this.even; }, enumerable: !0, configurable: !0, }), t ); })(), Nt = (function () { function t(t, e, n) { (this._viewContainer = t), (this._template = e), (this._differs = n), (this._ngForOf = null), (this._ngForOfDirty = !0), (this._differ = null); } return ( Object.defineProperty(t.prototype, 'ngForOf', { set: function (t) { (this._ngForOf = t), (this._ngForOfDirty = !0); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'ngForTrackBy', { get: function () { return this._trackByFn; }, set: function (t) { Object(r.isDevMode)() && null != t && 'function' != typeof t && console && console.warn && console.warn('trackBy must be a function, but received ' + JSON.stringify(t) + '. See https://angular.io/api/common/NgForOf#change-propagation for more information.'), (this._trackByFn = t); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'ngForTemplate', { set: function (t) { t && (this._template = t); }, enumerable: !0, configurable: !0, }), (t.prototype.ngDoCheck = function () { if (this._ngForOfDirty) { this._ngForOfDirty = !1; var t = this._ngForOf; if (!this._differ && t) try { this._differ = this._differs.find(t).create(this.ngForTrackBy); } catch (n) { throw new Error("Cannot find a differ supporting object '" + t + "' of type '" + ((e = t).name || typeof e) + "'. NgFor only supports binding to Iterables such as Arrays."); } } var e; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ if (this._differ) { var n = this._differ.diff(this._ngForOf); n && this._applyChanges(n); } }), (t.prototype._applyChanges = function (t) { var e = this, n = []; t.forEachOperation(function (t, i, r) { if (null == t.previousIndex) { var o = e._viewContainer.createEmbeddedView(e._template, new Lt(null, e._ngForOf, -1, -1), null === r ? void 0 : r), a = new jt(t, o); n.push(a); } else if (null == r) e._viewContainer.remove(null === i ? void 0 : i); else if (null !== i) { o = e._viewContainer.get(i); e._viewContainer.move(o, r); a = new jt(t, o); n.push(a); } }); for (var i = 0; i < n.length; i++) this._perViewChange(n[i].view, n[i].record); i = 0; for (var r = this._viewContainer.length; i < r; i++) { var o = this._viewContainer.get(i); (o.context.index = i), (o.context.count = r), (o.context.ngForOf = this._ngForOf); } t.forEachIdentityChange(function (t) { e._viewContainer.get(t.currentIndex).context.$implicit = t.item; }); }), (t.prototype._perViewChange = function (t, e) { t.context.$implicit = e.item; }), (t.ngTemplateContextGuard = function (t, e) { return !0; }), Object(i.b)([Object(r.Input)(), Object(i.d)('design:type', Object), Object(i.d)('design:paramtypes', [Object])], t.prototype, 'ngForOf', null), Object(i.b)([Object(r.Input)(), Object(i.d)('design:type', Function), Object(i.d)('design:paramtypes', [Function])], t.prototype, 'ngForTrackBy', null), Object(i.b)([Object(r.Input)(), Object(i.d)('design:type', r.TemplateRef), Object(i.d)('design:paramtypes', [r.TemplateRef])], t.prototype, 'ngForTemplate', null), ((t = Object(i.b)([Object(i.d)('design:paramtypes', [r.ViewContainerRef, r.TemplateRef, r.IterableDiffers])], t)).ɵfac = function (e) { return new (e || t)(r['ɵɵdirectiveInject'](r.ViewContainerRef), r['ɵɵdirectiveInject'](r.TemplateRef), r['ɵɵdirectiveInject'](r.IterableDiffers)); }), (t.ɵdir = r['ɵɵdefineDirective']({ type: t, selectors: [['', 'ngFor', '', 'ngForOf', '']], inputs: { ngForOf: 'ngForOf', ngForTrackBy: 'ngForTrackBy', ngForTemplate: 'ngForTemplate', }, })), t ); })(), jt = function (t, e) { (this.record = t), (this.view = e); }; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Vt = (function () { function t(t, e) { (this._viewContainer = t), (this._context = new Ft()), (this._thenTemplateRef = null), (this._elseTemplateRef = null), (this._thenViewRef = null), (this._elseViewRef = null), (this._thenTemplateRef = e); } return ( Object.defineProperty(t.prototype, 'ngIf', { set: function (t) { (this._context.$implicit = this._context.ngIf = t), this._updateView(); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'ngIfThen', { set: function (t) { Ut('ngIfThen', t), (this._thenTemplateRef = t), (this._thenViewRef = null), this._updateView(); }, enumerable: !0, configurable: !0, }), Object.defineProperty(t.prototype, 'ngIfElse', { set: function (t) { Ut('ngIfElse', t), (this._elseTemplateRef = t), (this._elseViewRef = null), this._updateView(); }, enumerable: !0, configurable: !0, }), (t.prototype._updateView = function () { this._context.$implicit ? this._thenViewRef || (this._viewContainer.clear(), (this._elseViewRef = null), this._thenTemplateRef && (this._thenViewRef = this._viewContainer.createEmbeddedView(this._thenTemplateRef, this._context))) : this._elseViewRef || (this._viewContainer.clear(), (this._thenViewRef = null), this._elseTemplateRef && (this._elseViewRef = this._viewContainer.createEmbeddedView(this._elseTemplateRef, this._context))); }), (t.ngTemplateContextGuard = function (t, e) { return !0; }), Object(i.b)([Object(r.Input)(), Object(i.d)('design:type', Object), Object(i.d)('design:paramtypes', [Object])], t.prototype, 'ngIf', null), Object(i.b)([Object(r.Input)(), Object(i.d)('design:type', Object), Object(i.d)('design:paramtypes', [Object])], t.prototype, 'ngIfThen', null), Object(i.b)([Object(r.Input)(), Object(i.d)('design:type', Object), Object(i.d)('design:paramtypes', [Object])], t.prototype, 'ngIfElse', null), ((t = Object(i.b)([Object(i.d)('design:paramtypes', [r.ViewContainerRef, r.TemplateRef])], t)).ɵfac = function (e) { return new (e || t)(r['ɵɵdirectiveInject'](r.ViewContainerRef), r['ɵɵdirectiveInject'](r.TemplateRef)); }), (t.ɵdir = r['ɵɵdefineDirective']({ type: t, selectors: [['', 'ngIf', '']], inputs: { ngIf: 'ngIf', ngIfThen: 'ngIfThen', ngIfElse: 'ngIfElse', }, })), t ); })(), Ft = function () { (this.$implicit = null), (this.ngIf = null); }; function Ut(t, e) { if (!!(e && !e.createEmbeddedView)) throw new Error(t + " must be a TemplateRef, but received '" + Object(r['ɵstringify'])(e) + "'."); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Bt = (function () { function t(t, e) { (this._viewContainerRef = t), (this._templateRef = e), (this._created = !1); } return ( (t.prototype.create = function () { (this._created = !0), this._viewContainerRef.createEmbeddedView(this._templateRef); }), (t.prototype.destroy = function () { (this._created = !1), this._viewContainerRef.clear(); }), (t.prototype.enforceState = function (t) { t && !this._created ? this.create() : !t && this._created && this.destroy(); }), t ); })(), zt = (function () { function t() { (this._defaultUsed = !1), (this._caseCount = 0), (this._lastCaseCheckIndex = 0), (this._lastCasesMatched = !1); } return ( Object.defineProperty(t.prototype, 'ngSwitch', { set: function (t) { (this._ngSwitch = t), 0 === this._caseCount && this._updateDefaultCases(!0); }, enumerable: !0, configurable: !0, }), (t.prototype._addCase = function () { return this._caseCount++; }), (t.prototype._addDefault = function (t) { this._defaultViews || (this._defaultViews = []), this._defaultViews.push(t); }), (t.prototype._matchCase = function (t) { var e = t == this._ngSwitch; return ( (this._lastCasesMatched = this._lastCasesMatched || e), this._lastCaseCheckIndex++, this._lastCaseCheckIndex === this._caseCount && (this._updateDefaultCases(!this._lastCasesMatched), (this._lastCaseCheckIndex = 0), (this._lastCasesMatched = !1)), e ); }), (t.prototype._updateDefaultCases = function (t) { if (this._defaultViews && t !== this._defaultUsed) { this._defaultUsed = t; for (var e = 0; e < this._defaultViews.length; e++) { this._defaultViews[e].enforceState(t); } } }), Object(i.b)([Object(r.Input)(), Object(i.d)('design:type', Object), Object(i.d)('design:paramtypes', [Object])], t.prototype, 'ngSwitch', null), (t.ɵfac = function (e) { return new (e || t)(); }), (t.ɵdir = r['ɵɵdefineDirective']({ type: t, selectors: [['', 'ngSwitch', '']], inputs: { ngSwitch: 'ngSwitch', }, })), t ); })(), Gt = (function () { function t(t, e, n) { (this.ngSwitch = n), n._addCase(), (this._view = new Bt(t, e)); } return ( (t.prototype.ngDoCheck = function () { this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase)); }), Object(i.b)([Object(r.Input)(), Object(i.d)('design:type', Object)], t.prototype, 'ngSwitchCase', void 0), ((t = Object(i.b)([Object(i.e)(2, Object(r.Host)()), Object(i.d)('design:paramtypes', [r.ViewContainerRef, r.TemplateRef, zt])], t)).ɵfac = function (e) { return new (e || t)(r['ɵɵdirectiveInject'](r.ViewContainerRef), r['ɵɵdirectiveInject'](r.TemplateRef), r['ɵɵdirectiveInject'](zt, 1)); }), (t.ɵdir = r['ɵɵdefineDirective']({ type: t, selectors: [['', 'ngSwitchCase', '']], inputs: { ngSwitchCase: 'ngSwitchCase', }, })), t ); })(), Ht = (function () { function t(t, e, n) { n._addDefault(new Bt(t, e)); } return ( ((t = Object(i.b)([Object(i.e)(2, Object(r.Host)()), Object(i.d)('design:paramtypes', [r.ViewContainerRef, r.TemplateRef, zt])], t)).ɵfac = function (e) { return new (e || t)(r['ɵɵdirectiveInject'](r.ViewContainerRef), r['ɵɵdirectiveInject'](r.TemplateRef), r['ɵɵdirectiveInject'](zt, 1)); }), (t.ɵdir = r['ɵɵdefineDirective']({ type: t, selectors: [['', 'ngSwitchDefault', '']], })), t ); })(), Wt = (function () { function t(t) { (this._localization = t), (this._caseViews = {}); } return ( Object.defineProperty(t.prototype, 'ngPlural', { set: function (t) { (this._switchValue = t), this._updateView(); }, enumerable: !0, configurable: !0, }), (t.prototype.addCase = function (t, e) { this._caseViews[t] = e; }), (t.prototype._updateView = function () { this._clearViews(); var t = Object.keys(this._caseViews), e = _t(this._switchValue, t, this._localization); this._activateView(this._caseViews[e]); }), (t.prototype._clearViews = function () { this._activeView && this._activeView.destroy(); }), (t.prototype._activateView = function (t) { t && ((this._activeView = t), this._activeView.create()); }), Object(i.b)([Object(r.Input)(), Object(i.d)('design:type', Number), Object(i.d)('design:paramtypes', [Number])], t.prototype, 'ngPlural', null), ((t = Object(i.b)([Object(i.d)('design:paramtypes', [Ot])], t)).ɵfac = function (e) { return new (e || t)(r['ɵɵdirectiveInject'](Ot)); }), (t.ɵdir = r['ɵɵdefineDirective']({ type: t, selectors: [['', 'ngPlural', '']], inputs: { ngPlural: 'ngPlural', }, })), t ); })(), qt = (function () { function t(t, e, n, i) { this.value = t; var r = !isNaN(Number(t)); i.addCase(r ? '=' + t : t, new Bt(n, e)); } return ( ((t = Object(i.b)( [Object(i.e)(0, Object(r.Attribute)('ngPluralCase')), Object(i.e)(3, Object(r.Host)()), Object(i.d)('design:paramtypes', [String, r.TemplateRef, r.ViewContainerRef, Wt])], t )).ɵfac = function (e) { return new (e || t)(r['ɵɵinjectAttribute']('ngPluralCase'), r['ɵɵdirectiveInject'](r.TemplateRef), r['ɵɵdirectiveInject'](r.ViewContainerRef), r['ɵɵdirectiveInject'](Wt, 1)); }), (t.ɵdir = r['ɵɵdefineDirective']({ type: t, selectors: [['', 'ngPluralCase', '']], })), t ); })(), Xt = (function () { function t(t, e, n) { (this._ngEl = t), (this._differs = e), (this._renderer = n), (this._ngStyle = null), (this._differ = null); } return ( Object.defineProperty(t.prototype, 'ngStyle', { set: function (t) { (this._ngStyle = t), !this._differ && t && (this._differ = this._differs.find(t).create()); }, enumerable: !0, configurable: !0, }), (t.prototype.ngDoCheck = function () { if (this._differ) { var t = this._differ.diff(this._ngStyle); t && this._applyChanges(t); } }), (t.prototype._setStyle = function (t, e) { var n = Object(i.f)(t.split('.'), 2), r = n[0], o = n[1]; null != (e = null != e && o ? '' + e + o : e) ? this._renderer.setStyle(this._ngEl.nativeElement, r, e) : this._renderer.removeStyle(this._ngEl.nativeElement, r); }), (t.prototype._applyChanges = function (t) { var e = this; t.forEachRemovedItem(function (t) { return e._setStyle(t.key, null); }), t.forEachAddedItem(function (t) { return e._setStyle(t.key, t.currentValue); }), t.forEachChangedItem(function (t) { return e._setStyle(t.key, t.currentValue); }); }), Object(i.b)([Object(r.Input)('ngStyle'), Object(i.d)('design:type', Object), Object(i.d)('design:paramtypes', [Object])], t.prototype, 'ngStyle', null), ((t = Object(i.b)([Object(i.d)('design:paramtypes', [r.ElementRef, r.KeyValueDiffers, r.Renderer2])], t)).ɵfac = function (e) { return new (e || t)(r['ɵɵdirectiveInject'](r.ElementRef), r['ɵɵdirectiveInject'](r.KeyValueDiffers), r['ɵɵdirectiveInject'](r.Renderer2)); }), (t.ɵdir = r['ɵɵdefineDirective']({ type: t, selectors: [['', 'ngStyle', '']], inputs: { ngStyle: 'ngStyle', }, })), t ); })(), Yt = (function () { function t(t) { (this._viewContainerRef = t), (this._viewRef = null), (this.ngTemplateOutletContext = null), (this.ngTemplateOutlet = null); } return ( (t.prototype.ngOnChanges = function (t) { if (this._shouldRecreateView(t)) { var e = this._viewContainerRef; this._viewRef && e.remove(e.indexOf(this._viewRef)), (this._viewRef = this.ngTemplateOutlet ? e.createEmbeddedView(this.ngTemplateOutlet, this.ngTemplateOutletContext) : null); } else this._viewRef && this.ngTemplateOutletContext && this._updateExistingContext(this.ngTemplateOutletContext); }), (t.prototype._shouldRecreateView = function (t) { var e = t.ngTemplateOutletContext; return !!t.ngTemplateOutlet || (e && this._hasContextShapeChanged(e)); }), (t.prototype._hasContextShapeChanged = function (t) { var e, n, r = Object.keys(t.previousValue || {}), o = Object.keys(t.currentValue || {}); if (r.length === o.length) { try { for (var a = Object(i.j)(o), s = a.next(); !s.done; s = a.next()) { var c = s.value; if (-1 === r.indexOf(c)) return !0; } } catch (t) { e = { error: t, }; } finally { try { s && !s.done && (n = a.return) && n.call(a); } finally { if (e) throw e.error; } } return !1; } return !0; }), (t.prototype._updateExistingContext = function (t) { var e, n; try { for (var r = Object(i.j)(Object.keys(t)), o = r.next(); !o.done; o = r.next()) { var a = o.value; this._viewRef.context[a] = this.ngTemplateOutletContext[a]; } } catch (t) { e = { error: t, }; } finally { try { o && !o.done && (n = r.return) && n.call(r); } finally { if (e) throw e.error; } } }), Object(i.b)([Object(r.Input)(), Object(i.d)('design:type', Object)], t.prototype, 'ngTemplateOutletContext', void 0), Object(i.b)([Object(r.Input)(), Object(i.d)('design:type', Object)], t.prototype, 'ngTemplateOutlet', void 0), ((t = Object(i.b)([Object(i.d)('design:paramtypes', [r.ViewContainerRef])], t)).ɵfac = function (e) { return new (e || t)(r['ɵɵdirectiveInject'](r.ViewContainerRef)); }), (t.ɵdir = r['ɵɵdefineDirective']({ type: t, selectors: [['', 'ngTemplateOutlet', '']], inputs: { ngTemplateOutletContext: 'ngTemplateOutletContext', ngTemplateOutlet: 'ngTemplateOutlet', }, features: [r['ɵɵNgOnChangesFeature']], })), t ); })(), Kt = [Dt, Rt, Nt, Vt, Yt, Xt, zt, Gt, Ht, Wt, qt]; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Zt(t, e) { return Error("InvalidPipeArgument: '" + e + "' for pipe '" + Object(r['ɵstringify'])(t) + "'"); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Jt = (function () { function t() {} return ( (t.prototype.createSubscription = function (t, e) { return t.subscribe({ next: e, error: function (t) { throw t; }, }); }), (t.prototype.dispose = function (t) { t.unsubscribe(); }), (t.prototype.onDestroy = function (t) { t.unsubscribe(); }), t ); })(), Qt = new ((function () { function t() {} return ( (t.prototype.createSubscription = function (t, e) { return t.then(e, function (t) { throw t; }); }), (t.prototype.dispose = function (t) {}), (t.prototype.onDestroy = function (t) {}), t ); })())(), $t = new Jt(), te = (function () { function t(t) { (this._ref = t), (this._latestValue = null), (this._latestReturnedValue = null), (this._subscription = null), (this._obj = null), (this._strategy = null); } var e; return ( (e = t), (t.prototype.ngOnDestroy = function () { this._subscription && this._dispose(); }), (t.prototype.transform = function (t) { return this._obj ? t !== this._obj ? (this._dispose(), this.transform(t)) : Object(r['ɵlooseIdentical'])(this._latestValue, this._latestReturnedValue) ? this._latestReturnedValue : ((this._latestReturnedValue = this._latestValue), r.WrappedValue.wrap(this._latestValue)) : (t && this._subscribe(t), (this._latestReturnedValue = this._latestValue), this._latestValue); }), (t.prototype._subscribe = function (t) { var e = this; (this._obj = t), (this._strategy = this._selectStrategy(t)), (this._subscription = this._strategy.createSubscription(t, function (n) { return e._updateLatestValue(t, n); })); }), (t.prototype._selectStrategy = function (t) { if (Object(r['ɵisPromise'])(t)) return Qt; if (Object(r['ɵisObservable'])(t)) return $t; throw Zt(e, t); }), (t.prototype._dispose = function () { this._strategy.dispose(this._subscription), (this._latestValue = null), (this._latestReturnedValue = null), (this._subscription = null), (this._obj = null); }), (t.prototype._updateLatestValue = function (t, e) { t === this._obj && ((this._latestValue = e), this._ref.markForCheck()); }), ((t = e = Object(i.b)([Object(i.d)('design:paramtypes', [r.ChangeDetectorRef])], t)).ɵfac = function (e) { return new (e || t)(r['ɵɵinjectPipeChangeDetectorRef']()); }), (t.ɵpipe = r['ɵɵdefinePipe']({ name: 'async', type: t, pure: !1, })), t ); })(), ee = (function () { function t() {} var e; return ( (e = t), (t.prototype.transform = function (t) { if (!t) return t; if ('string' != typeof t) throw Zt(e, t); return t.toLowerCase(); }), (t.ɵfac = function (e) { return new (e || t)(); }), (t.ɵpipe = r['ɵɵdefinePipe']({ name: 'lowercase', type: t, pure: !0, })), t ); })(), ne = /(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D])\S*/g, ie = (function () { function t() {} var e; return ( (e = t), (t.prototype.transform = function (t) { if (!t) return t; if ('string' != typeof t) throw Zt(e, t); return t.replace(ne, function (t) { return t[0].toUpperCase() + t.substr(1).toLowerCase(); }); }), (t.ɵfac = function (e) { return new (e || t)(); }), (t.ɵpipe = r['ɵɵdefinePipe']({ name: 'titlecase', type: t, pure: !0, })), t ); })(), re = (function () { function t() {} var e; return ( (e = t), (t.prototype.transform = function (t) { if (!t) return t; if ('string' != typeof t) throw Zt(e, t); return t.toUpperCase(); }), (t.ɵfac = function (e) { return new (e || t)(); }), (t.ɵpipe = r['ɵɵdefinePipe']({ name: 'uppercase', type: t, pure: !0, })), t ); })(), oe = (function () { function t(t) { this.locale = t; } var e; return ( (e = t), (t.prototype.transform = function (t, n, i, r) { if ((void 0 === n && (n = 'mediumDate'), null == t || '' === t || t != t)) return null; try { return dt(t, n, r || this.locale, i); } catch (t) { throw Zt(e, t.message); } }), ((t = e = Object(i.b)([Object(i.e)(0, Object(r.Inject)(r.LOCALE_ID)), Object(i.d)('design:paramtypes', [String])], t)).ɵfac = function (e) { return new (e || t)(r['ɵɵdirectiveInject'](r.LOCALE_ID)); }), (t.ɵpipe = r['ɵɵdefinePipe']({ name: 'date', type: t, pure: !0, })), t ); })(), ae = /#/g, se = (function () { function t(t) { this._localization = t; } var e; return ( (e = t), (t.prototype.transform = function (t, n, i) { if (null == t) return ''; if ('object' != typeof n || null === n) throw Zt(e, n); return n[_t(t, Object.keys(n), this._localization, i)].replace(ae, t.toString()); }), ((t = e = Object(i.b)([Object(i.d)('design:paramtypes', [Ot])], t)).ɵfac = function (e) { return new (e || t)(r['ɵɵdirectiveInject'](Ot)); }), (t.ɵpipe = r['ɵɵdefinePipe']({ name: 'i18nPlural', type: t, pure: !0, })), t ); })(), ce = (function () { function t() {} var e; return ( (e = t), (t.prototype.transform = function (t, n) { if (null == t) return ''; if ('object' != typeof n || 'string' != typeof t) throw Zt(e, n); return n.hasOwnProperty(t) ? n[t] : n.hasOwnProperty('other') ? n.other : ''; }), (t.ɵfac = function (e) { return new (e || t)(); }), (t.ɵpipe = r['ɵɵdefinePipe']({ name: 'i18nSelect', type: t, pure: !0, })), t ); })(), le = (function () { function t() {} return ( (t.prototype.transform = function (t) { return JSON.stringify(t, null, 2); }), (t.ɵfac = function (e) { return new (e || t)(); }), (t.ɵpipe = r['ɵɵdefinePipe']({ name: 'json', type: t, pure: !1, })), t ); })(); var ue = (function () { function t(t) { (this.differs = t), (this.keyValues = []); } return ( (t.prototype.transform = function (t, e) { var n = this; if ((void 0 === e && (e = de), !t || (!(t instanceof Map) && 'object' != typeof t))) return null; this.differ || (this.differ = this.differs.find(t).create()); var i = this.differ.diff(t); return ( i && ((this.keyValues = []), i.forEachItem(function (t) { /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var e, i; n.keyValues.push( ((e = t.key), (i = t.currentValue), { key: e, value: i, }) ); }), this.keyValues.sort(e)), this.keyValues ); }), ((t = Object(i.b)([Object(i.d)('design:paramtypes', [r.KeyValueDiffers])], t)).ɵfac = function (e) { return new (e || t)(r['ɵɵdirectiveInject'](r.KeyValueDiffers)); }), (t.ɵpipe = r['ɵɵdefinePipe']({ name: 'keyvalue', type: t, pure: !1, })), t ); })(); function de(t, e) { var n = t.key, i = e.key; if (n === i) return 0; if (void 0 === n) return 1; if (void 0 === i) return -1; if (null === n) return 1; if (null === i) return -1; if ('string' == typeof n && 'string' == typeof i) return n < i ? -1 : 1; if ('number' == typeof n && 'number' == typeof i) return n - i; if ('boolean' == typeof n && 'boolean' == typeof i) return n < i ? -1 : 1; var r = String(n), o = String(i); return r == o ? 0 : r < o ? -1 : 1; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var pe = (function () { function t(t) { this._locale = t; } var e; return ( (e = t), (t.prototype.transform = function (t, n, i) { if (me(t)) return null; i = i || this._locale; try { return Ct(ge(t), i, n); } catch (t) { throw Zt(e, t.message); } }), ((t = e = Object(i.b)([Object(i.e)(0, Object(r.Inject)(r.LOCALE_ID)), Object(i.d)('design:paramtypes', [String])], t)).ɵfac = function (e) { return new (e || t)(r['ɵɵdirectiveInject'](r.LOCALE_ID)); }), (t.ɵpipe = r['ɵɵdefinePipe']({ name: 'number', type: t, pure: !0, })), t ); })(), he = (function () { function t(t) { this._locale = t; } var e; return ( (e = t), (t.prototype.transform = function (t, n, i) { if (me(t)) return null; i = i || this._locale; try { return Et(ge(t), i, n); } catch (t) { throw Zt(e, t.message); } }), ((t = e = Object(i.b)([Object(i.e)(0, Object(r.Inject)(r.LOCALE_ID)), Object(i.d)('design:paramtypes', [String])], t)).ɵfac = function (e) { return new (e || t)(r['ɵɵdirectiveInject'](r.LOCALE_ID)); }), (t.ɵpipe = r['ɵɵdefinePipe']({ name: 'percent', type: t, pure: !0, })), t ); })(), fe = (function () { function t(t, e) { void 0 === e && (e = 'USD'), (this._locale = t), (this._defaultCurrencyCode = e); } var e; return ( (e = t), (t.prototype.transform = function (t, n, i, r, o) { if ((void 0 === i && (i = 'symbol'), me(t))) return null; (o = o || this._locale), 'boolean' == typeof i && (console && console.warn && console.warn( 'Warning: the currency pipe has been changed in Angular v5. The symbolDisplay option (third parameter) is now a string instead of a boolean. The accepted values are "code", "symbol" or "symbol-narrow".' ), (i = i ? 'symbol' : 'code')); var a = n || this._defaultCurrencyCode; 'code' !== i && (a = 'symbol' === i || 'symbol-narrow' === i ? it(a, 'symbol' === i ? 'wide' : 'narrow', o) : i); try { return Mt(ge(t), o, a, n, r); } catch (t) { throw Zt(e, t.message); } }), ((t = e = Object(i.b)([Object(i.e)(0, Object(r.Inject)(r.LOCALE_ID)), Object(i.e)(1, Object(r.Inject)(r.DEFAULT_CURRENCY_CODE)), Object(i.d)('design:paramtypes', [String, String])], t)).ɵfac = function (e) { return new (e || t)(r['ɵɵdirectiveInject'](r.LOCALE_ID), r['ɵɵdirectiveInject'](r.DEFAULT_CURRENCY_CODE)); }), (t.ɵpipe = r['ɵɵdefinePipe']({ name: 'currency', type: t, pure: !0, })), t ); })(); function me(t) { return null == t || '' === t || t != t; } function ge(t) { if ('string' == typeof t && !isNaN(Number(t) - parseFloat(t))) return Number(t); if ('number' != typeof t) throw new Error(t + ' is not a number'); return t; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var ve = (function () { function t() {} var e; return ( (e = t), (t.prototype.transform = function (t, n, i) { if (null == t) return t; if (!this.supports(t)) throw Zt(e, t); return t.slice(n, i); }), (t.prototype.supports = function (t) { return 'string' == typeof t || Array.isArray(t); }), (t.ɵfac = function (e) { return new (e || t)(); }), (t.ɵpipe = r['ɵɵdefinePipe']({ name: 'slice', type: t, pure: !1, })), t ); })(), ye = [te, re, ee, le, ve, pe, he, ie, fe, oe, se, ce, ue], be = (function () { function t() {} return ( (t.ɵmod = r['ɵɵdefineNgModule']({ type: t, })), (t.ɵinj = r['ɵɵdefineInjector']({ factory: function (e) { return new (e || t)(); }, providers: [ { provide: Ot, useClass: Pt, }, ], })), ('undefined' == typeof ngJitMode || ngJitMode) && r['ɵɵsetNgModuleScope'](t, { declarations: [Dt, Rt, Nt, Vt, Yt, Xt, zt, Gt, Ht, Wt, qt, te, re, ee, le, ve, pe, he, ie, fe, oe, se, ce, ue], exports: [Dt, Rt, Nt, Vt, Yt, Xt, zt, Gt, Ht, Wt, qt, te, re, ee, le, ve, pe, he, ie, fe, oe, se, ce, ue], }), t ); })(), we = 'browser', Se = 'server', xe = 'browserWorkerApp', Me = 'browserWorkerUi'; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function Ee(t) { return t === we; } function Ce(t) { return t === Se; } function Ae(t) { return t === xe; } function Te(t) { return t === Me; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var Oe = new r.Version('9.1.9'), _e = (function () { function t() {} return ( (t.ɵprov = Object(r['ɵɵdefineInjectable'])({ token: t, providedIn: 'root', factory: function () { return new Pe(Object(r['ɵɵinject'])(l), window, Object(r['ɵɵinject'])(r.ErrorHandler)); }, })), t ); })(), Pe = (function () { function t(t, e, n) { (this.document = t), (this.window = e), (this.errorHandler = n), (this.offset = function () { return [0, 0]; }); } return ( (t.prototype.setOffset = function (t) { Array.isArray(t) ? (this.offset = function () { return t; }) : (this.offset = t); }), (t.prototype.getScrollPosition = function () { return this.supportScrollRestoration() ? [this.window.scrollX, this.window.scrollY] : [0, 0]; }), (t.prototype.scrollToPosition = function (t) { this.supportScrollRestoration() && this.window.scrollTo(t[0], t[1]); }), (t.prototype.scrollToAnchor = function (t) { if (this.supportScrollRestoration()) { t = this.window.CSS && this.window.CSS.escape ? this.window.CSS.escape(t) : t.replace(/(\"|\'\ |:|\.|\[|\]|,|=)/g, '\\$1'); try { var e = this.document.querySelector('#' + t); if (e) return void this.scrollToElement(e); var n = this.document.querySelector("[name='" + t + "']"); if (n) return void this.scrollToElement(n); } catch (t) { this.errorHandler.handleError(t); } } }), (t.prototype.setHistoryScrollRestoration = function (t) { if (this.supportScrollRestoration()) { var e = this.window.history; e && e.scrollRestoration && (e.scrollRestoration = t); } }), (t.prototype.scrollToElement = function (t) { var e = t.getBoundingClientRect(), n = e.left + this.window.pageXOffset, i = e.top + this.window.pageYOffset, r = this.offset(); this.window.scrollTo(n - r[0], i - r[1]); }), (t.prototype.supportScrollRestoration = function () { try { return !!this.window && !!this.window.scrollTo; } catch (t) { return !1; } }), t ); })(), Ie = (function () { function t() {} return ( (t.prototype.setOffset = function (t) {}), (t.prototype.getScrollPosition = function () { return [0, 0]; }), (t.prototype.scrollToPosition = function (t) {}), (t.prototype.scrollToAnchor = function (t) {}), (t.prototype.setHistoryScrollRestoration = function (t) {}), t ); })(); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ }, function (t, e, n) { 'use strict'; var i; function r(t, e, n) { return ( e in t ? Object.defineProperty(t, e, { value: n, enumerable: !0, configurable: !0, writable: !0, }) : (t[e] = n), t ); } function o(t) { return (o = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (t) { return typeof t; } : function (t) { return t && 'function' == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? 'symbol' : typeof t; })(t); } function a(t, e) { if (!(t instanceof e)) throw new TypeError('Cannot call a class as a function'); } function s(t, e) { if ('function' != typeof e && null !== e) throw new TypeError('Super expression must either be null or a function'); (t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0, }, })), e && c(t, e); } function c(t, e) { return (c = Object.setPrototypeOf || function (t, e) { return (t.__proto__ = e), t; })(t, e); } function l(t) { var e = (function () { if ('undefined' == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ('function' == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], function () {})), !0; } catch (t) { return !1; } })(); return function () { var n, i = p(t); if (e) { var r = p(this).constructor; n = Reflect.construct(i, arguments, r); } else n = i.apply(this, arguments); return u(this, n); }; } function u(t, e) { return !e || ('object' !== o(e) && 'function' != typeof e) ? d(t) : e; } function d(t) { if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return t; } function p(t) { return (p = Object.setPrototypeOf ? Object.getPrototypeOf : function (t) { return t.__proto__ || Object.getPrototypeOf(t); })(t); } n.r(e), n.d(e, 'ACESFilmicToneMapping', function () { return mt; }), n.d(e, 'AddEquation', function () { return j; }), n.d(e, 'AddOperation', function () { return lt; }), n.d(e, 'AdditiveBlending', function () { return D; }), n.d(e, 'AlphaFormat', function () { return Kt; }), n.d(e, 'AlwaysDepth', function () { return tt; }), n.d(e, 'AlwaysStencilFunc', function () { return Ln; }), n.d(e, 'AmbientLight', function () { return wd; }), n.d(e, 'AmbientLightProbe', function () { return Gd; }), n.d(e, 'AnimationClip', function () { return Tu; }), n.d(e, 'AnimationLoader', function () { return Lu; }), n.d(e, 'AnimationMixer', function () { return bp; }), n.d(e, 'AnimationObjectGroup', function () { return vp; }), n.d(e, 'AnimationUtils', function () { return fu; }), n.d(e, 'ArcCurve', function () { return Gu; }), n.d(e, 'ArrayCamera', function () { return Vs; }), n.d(e, 'ArrowHelper', function () { return sh; }), n.d(e, 'Audio', function () { return $d; }), n.d(e, 'AudioAnalyser', function () { return op; }), n.d(e, 'AudioContext', function () { return Vd; }), n.d(e, 'AudioListener', function () { return Qd; }), n.d(e, 'AudioLoader', function () { return Fd; }), n.d(e, 'AxesHelper', function () { return ch; }), n.d(e, 'AxisHelper', function () { return yf; }), n.d(e, 'BackSide', function () { return T; }), n.d(e, 'BasicDepthPacking', function () { return gn; }), n.d(e, 'BasicShadowMap', function () { return x; }), n.d(e, 'BinaryTextureLoader', function () { return Mf; }), n.d(e, 'Bone', function () { return gc; }), n.d(e, 'BooleanKeyframeTrack', function () { return wu; }), n.d(e, 'BoundingBoxHelper', function () { return bf; }), n.d(e, 'Box2', function () { return Op; }), n.d(e, 'Box3', function () { return Yi; }), n.d(e, 'Box3Helper', function () { return nh; }), n.d(e, 'BoxBufferGeometry', function () { return Ao; }), n.d(e, 'BoxGeometry', function () { return Co; }), n.d(e, 'BoxHelper', function () { return eh; }), n.d(e, 'BufferAttribute', function () { return Dr; }), n.d(e, 'BufferGeometry', function () { return Qr; }), n.d(e, 'BufferGeometryLoader', function () { return Ad; }), n.d(e, 'ByteType', function () { return Vt; }), n.d(e, 'Cache', function () { return _u; }), n.d(e, 'Camera', function () { return Io; }), n.d(e, 'CameraHelper', function () { return Qp; }), n.d(e, 'CanvasRenderer', function () { return Af; }), n.d(e, 'CanvasTexture', function () { return zc; }), n.d(e, 'CatmullRomCurve3', function () { return Ku; }), n.d(e, 'CineonToneMapping', function () { return ft; }), n.d(e, 'CircleBufferGeometry', function () { return eu; }), n.d(e, 'CircleGeometry', function () { return tu; }), n.d(e, 'ClampToEdgeWrapping', function () { return Ct; }), n.d(e, 'Clock', function () { return Xd; }), n.d(e, 'ClosedSplineCurve3', function () { return mf; }), n.d(e, 'Color', function () { return Er; }), n.d(e, 'ColorKeyframeTrack', function () { return Su; }), n.d(e, 'CompressedTexture', function () { return Bc; }), n.d(e, 'CompressedTextureLoader', function () { return Nu; }), n.d(e, 'ConeBufferGeometry', function () { return $l; }), n.d(e, 'ConeGeometry', function () { return Ql; }), n.d(e, 'CubeCamera', function () { return Do; }), n.d(e, 'CubeGeometry', function () { return Co; }), n.d(e, 'CubeReflectionMapping', function () { return vt; }), n.d(e, 'CubeRefractionMapping', function () { return yt; }), n.d(e, 'CubeTexture', function () { return ia; }), n.d(e, 'CubeTextureLoader', function () { return Fu; }), n.d(e, 'CubeUVReflectionMapping', function () { return xt; }), n.d(e, 'CubeUVRefractionMapping', function () { return Mt; }), n.d(e, 'CubicBezierCurve', function () { return $u; }), n.d(e, 'CubicBezierCurve3', function () { return td; }), n.d(e, 'CubicInterpolant', function () { return gu; }), n.d(e, 'CullFaceBack', function () { return v; }), n.d(e, 'CullFaceFront', function () { return y; }), n.d(e, 'CullFaceFrontBack', function () { return b; }), n.d(e, 'CullFaceNone', function () { return g; }), n.d(e, 'Curve', function () { return Bu; }), n.d(e, 'CurvePath', function () { return sd; }), n.d(e, 'CustomBlending', function () { return N; }), n.d(e, 'CylinderBufferGeometry', function () { return Jl; }), n.d(e, 'CylinderGeometry', function () { return Zl; }), n.d(e, 'Cylindrical', function () { return Ap; }), n.d(e, 'DataTexture', function () { return Lo; }), n.d(e, 'DataTexture2DArray', function () { return ra; }), n.d(e, 'DataTexture3D', function () { return oa; }), n.d(e, 'DataTextureLoader', function () { return ju; }), n.d(e, 'DecrementStencilOp', function () { return En; }), n.d(e, 'DecrementWrapStencilOp', function () { return An; }), n.d(e, 'DefaultLoadingManager', function () { return Iu; }), n.d(e, 'DepthFormat', function () { return ee; }), n.d(e, 'DepthStencilFormat', function () { return ne; }), n.d(e, 'DepthTexture', function () { return Gc; }), n.d(e, 'DirectionalLight', function () { return bd; }), n.d(e, 'DirectionalLightHelper', function () { return Kp; }), n.d(e, 'DirectionalLightShadow', function () { return yd; }), n.d(e, 'DiscreteInterpolant', function () { return yu; }), n.d(e, 'DodecahedronBufferGeometry', function () { return nl; }), n.d(e, 'DodecahedronGeometry', function () { return el; }), n.d(e, 'DoubleSide', function () { return O; }), n.d(e, 'DstAlphaFactor', function () { return Y; }), n.d(e, 'DstColorFactor', function () { return Z; }), n.d(e, 'DynamicBufferAttribute', function () { return of; }), n.d(e, 'DynamicCopyUsage', function () { return Gn; }), n.d(e, 'DynamicDrawUsage', function () { return jn; }), n.d(e, 'DynamicReadUsage', function () { return Un; }), n.d(e, 'EdgesGeometry', function () { return Kl; }), n.d(e, 'EdgesHelper', function () { return wf; }), n.d(e, 'EllipseCurve', function () { return zu; }), n.d(e, 'EqualDepth', function () { return it; }), n.d(e, 'EqualStencilFunc', function () { return Pn; }), n.d(e, 'EquirectangularReflectionMapping', function () { return bt; }), n.d(e, 'EquirectangularRefractionMapping', function () { return wt; }), n.d(e, 'Euler', function () { return yi; }), n.d(e, 'EventDispatcher', function () { return Wn; }), n.d(e, 'ExtrudeBufferGeometry', function () { return Ll; }), n.d(e, 'ExtrudeGeometry', function () { return Rl; }), n.d(e, 'Face3', function () { return Or; }), n.d(e, 'Face4', function () { return Gh; }), n.d(e, 'FaceColors', function () { return Xh; }), n.d(e, 'FileLoader', function () { return Ru; }), n.d(e, 'FlatShading', function () { return _; }), n.d(e, 'Float32Attribute', function () { return hf; }), n.d(e, 'Float32BufferAttribute', function () { return Br; }), n.d(e, 'Float64Attribute', function () { return ff; }), n.d(e, 'Float64BufferAttribute', function () { return zr; }), n.d(e, 'FloatType', function () { return Gt; }), n.d(e, 'Fog', function () { return Gs; }), n.d(e, 'FogExp2', function () { return zs; }), n.d(e, 'Font', function () { return Ld; }), n.d(e, 'FontLoader', function () { return jd; }), n.d(e, 'FrontFaceDirectionCCW', function () { return S; }), n.d(e, 'FrontFaceDirectionCW', function () { return w; }), n.d(e, 'FrontSide', function () { return A; }), n.d(e, 'Frustum', function () { return Vo; }), n.d(e, 'GammaEncoding', function () { return un; }), n.d(e, 'Geometry', function () { return Eo; }), n.d(e, 'GeometryUtils', function () { return Cf; }), n.d(e, 'GreaterDepth', function () { return ot; }), n.d(e, 'GreaterEqualDepth', function () { return rt; }), n.d(e, 'GreaterEqualStencilFunc', function () { return Rn; }), n.d(e, 'GreaterStencilFunc', function () { return kn; }), n.d(e, 'GridHelper', function () { return Hp; }), n.d(e, 'Group', function () { return Fs; }), n.d(e, 'HalfFloatType', function () { return Ht; }), n.d(e, 'HemisphereLight', function () { return dd; }), n.d(e, 'HemisphereLightHelper', function () { return Gp; }), n.d(e, 'HemisphereLightProbe', function () { return zd; }), n.d(e, 'IcosahedronBufferGeometry', function () { return tl; }), n.d(e, 'IcosahedronGeometry', function () { return $c; }), n.d(e, 'ImageBitmapLoader', function () { return Dd; }), n.d(e, 'ImageLoader', function () { return Vu; }), n.d(e, 'ImageUtils', function () { return Qn; }), n.d(e, 'ImmediateRenderObject', function () { return kp; }), n.d(e, 'IncrementStencilOp', function () { return Mn; }), n.d(e, 'IncrementWrapStencilOp', function () { return Cn; }), n.d(e, 'InstancedBufferAttribute', function () { return Cd; }), n.d(e, 'InstancedBufferGeometry', function () { return Ed; }), n.d(e, 'InstancedInterleavedBuffer', function () { return Sp; }), n.d(e, 'InstancedMesh', function () { return Sc; }), n.d(e, 'Int16Attribute', function () { return lf; }), n.d(e, 'Int16BufferAttribute', function () { return jr; }), n.d(e, 'Int32Attribute', function () { return df; }), n.d(e, 'Int32BufferAttribute', function () { return Fr; }), n.d(e, 'Int8Attribute', function () { return af; }), n.d(e, 'Int8BufferAttribute', function () { return Rr; }), n.d(e, 'IntType', function () { return Bt; }), n.d(e, 'InterleavedBuffer', function () { return Hs; }), n.d(e, 'InterleavedBufferAttribute', function () { return Xs; }), n.d(e, 'Interpolant', function () { return mu; }), n.d(e, 'InterpolateDiscrete', function () { return Qe; }), n.d(e, 'InterpolateLinear', function () { return $e; }), n.d(e, 'InterpolateSmooth', function () { return tn; }), n.d(e, 'InvertStencilOp', function () { return Tn; }), n.d(e, 'JSONLoader', function () { return Tf; }), n.d(e, 'KeepStencilOp', function () { return Sn; }), n.d(e, 'KeyframeTrack', function () { return bu; }), n.d(e, 'LOD', function () { return dc; }), n.d(e, 'LatheBufferGeometry', function () { return Wl; }), n.d(e, 'LatheGeometry', function () { return Hl; }), n.d(e, 'Layers', function () { return bi; }), n.d(e, 'LensFlare', function () { return _f; }), n.d(e, 'LessDepth', function () { return et; }), n.d(e, 'LessEqualDepth', function () { return nt; }), n.d(e, 'LessEqualStencilFunc', function () { return In; }), n.d(e, 'LessStencilFunc', function () { return _n; }), n.d(e, 'Light', function () { return ud; }), n.d(e, 'LightProbe', function () { return Bd; }), n.d(e, 'LightShadow', function () { return pd; }), n.d(e, 'Line', function () { return Oc; }), n.d(e, 'Line3', function () { return Ip; }), n.d(e, 'LineBasicMaterial', function () { return xc; }), n.d(e, 'LineCurve', function () { return ed; }), n.d(e, 'LineCurve3', function () { return nd; }), n.d(e, 'LineDashedMaterial', function () { return pu; }), n.d(e, 'LineLoop', function () { return kc; }), n.d(e, 'LinePieces', function () { return Wh; }), n.d(e, 'LineSegments', function () { return Ic; }), n.d(e, 'LineStrip', function () { return Hh; }), n.d(e, 'LinearEncoding', function () { return cn; }), n.d(e, 'LinearFilter', function () { return kt; }), n.d(e, 'LinearInterpolant', function () { return vu; }), n.d(e, 'LinearMipMapLinearFilter', function () { return Nt; }), n.d(e, 'LinearMipMapNearestFilter', function () { return Rt; }), n.d(e, 'LinearMipmapLinearFilter', function () { return Lt; }), n.d(e, 'LinearMipmapNearestFilter', function () { return Dt; }), n.d(e, 'LinearToneMapping', function () { return dt; }), n.d(e, 'Loader', function () { return ku; }), n.d(e, 'LoaderUtils', function () { return Md; }), n.d(e, 'LoadingManager', function () { return Pu; }), n.d(e, 'LogLuvEncoding', function () { return pn; }), n.d(e, 'LoopOnce', function () { return Ke; }), n.d(e, 'LoopPingPong', function () { return Je; }), n.d(e, 'LoopRepeat', function () { return Ze; }), n.d(e, 'LuminanceAlphaFormat', function () { return $t; }), n.d(e, 'LuminanceFormat', function () { return Qt; }), n.d(e, 'MOUSE', function () { return f; }), n.d(e, 'Material', function () { return Pr; }), n.d(e, 'MaterialLoader', function () { return xd; }), n.d(e, 'Math', function () { return Kn; }), n.d(e, 'MathUtils', function () { return Kn; }), n.d(e, 'Matrix3', function () { return Jn; }), n.d(e, 'Matrix4', function () { return mi; }), n.d(e, 'MaxEquation', function () { return B; }), n.d(e, 'Mesh', function () { return vo; }), n.d(e, 'MeshBasicMaterial', function () { return Ir; }), n.d(e, 'MeshDepthMaterial', function () { return ks; }), n.d(e, 'MeshDistanceMaterial', function () { return Ds; }), n.d(e, 'MeshFaceMaterial', function () { return Kh; }), n.d(e, 'MeshLambertMaterial', function () { return uu; }), n.d(e, 'MeshMatcapMaterial', function () { return du; }), n.d(e, 'MeshNormalMaterial', function () { return lu; }), n.d(e, 'MeshPhongMaterial', function () { return su; }), n.d(e, 'MeshPhysicalMaterial', function () { return au; }), n.d(e, 'MeshStandardMaterial', function () { return ou; }), n.d(e, 'MeshToonMaterial', function () { return cu; }), n.d(e, 'MinEquation', function () { return U; }), n.d(e, 'MirroredRepeatWrapping', function () { return At; }), n.d(e, 'MixOperation', function () { return ct; }), n.d(e, 'MultiMaterial', function () { return Zh; }), n.d(e, 'MultiplyBlending', function () { return L; }), n.d(e, 'MultiplyOperation', function () { return st; }), n.d(e, 'NearestFilter', function () { return Tt; }), n.d(e, 'NearestMipMapLinearFilter', function () { return It; }), n.d(e, 'NearestMipMapNearestFilter', function () { return _t; }), n.d(e, 'NearestMipmapLinearFilter', function () { return Pt; }), n.d(e, 'NearestMipmapNearestFilter', function () { return Ot; }), n.d(e, 'NeverDepth', function () { return $; }), n.d(e, 'NeverStencilFunc', function () { return On; }), n.d(e, 'NoBlending', function () { return I; }), n.d(e, 'NoColors', function () { return qh; }), n.d(e, 'NoToneMapping', function () { return ut; }), n.d(e, 'NormalBlending', function () { return k; }), n.d(e, 'NotEqualDepth', function () { return at; }), n.d(e, 'NotEqualStencilFunc', function () { return Dn; }), n.d(e, 'NumberKeyframeTrack', function () { return xu; }), n.d(e, 'Object3D', function () { return Di; }), n.d(e, 'ObjectLoader', function () { return Od; }), n.d(e, 'ObjectSpaceNormalMap', function () { return bn; }), n.d(e, 'OctahedronBufferGeometry', function () { return Qc; }), n.d(e, 'OctahedronGeometry', function () { return Jc; }), n.d(e, 'OneFactor', function () { return G; }), n.d(e, 'OneMinusDstAlphaFactor', function () { return K; }), n.d(e, 'OneMinusDstColorFactor', function () { return J; }), n.d(e, 'OneMinusSrcAlphaFactor', function () { return X; }), n.d(e, 'OneMinusSrcColorFactor', function () { return W; }), n.d(e, 'OrthographicCamera', function () { return vd; }), n.d(e, 'PCFShadowMap', function () { return M; }), n.d(e, 'PCFSoftShadowMap', function () { return E; }), n.d(e, 'PMREMGenerator', function () { return Ih; }), n.d(e, 'ParametricBufferGeometry', function () { return qc; }), n.d(e, 'ParametricGeometry', function () { return Wc; }), n.d(e, 'Particle', function () { return Qh; }), n.d(e, 'ParticleBasicMaterial', function () { return ef; }), n.d(e, 'ParticleSystem', function () { return $h; }), n.d(e, 'ParticleSystemMaterial', function () { return nf; }), n.d(e, 'Path', function () { return cd; }), n.d(e, 'PerspectiveCamera', function () { return ko; }), n.d(e, 'Plane', function () { return lr; }), n.d(e, 'PlaneBufferGeometry', function () { return Go; }), n.d(e, 'PlaneGeometry', function () { return zo; }), n.d(e, 'PlaneHelper', function () { return ih; }), n.d(e, 'PointCloud', function () { return Jh; }), n.d(e, 'PointCloudMaterial', function () { return tf; }), n.d(e, 'PointLight', function () { return gd; }), n.d(e, 'PointLightHelper', function () { return Fp; }), n.d(e, 'Points', function () { return Vc; }), n.d(e, 'PointsMaterial', function () { return Dc; }), n.d(e, 'PolarGridHelper', function () { return Wp; }), n.d(e, 'PolyhedronBufferGeometry', function () { return Yc; }), n.d(e, 'PolyhedronGeometry', function () { return Xc; }), n.d(e, 'PositionalAudio', function () { return rp; }), n.d(e, 'PropertyBinding', function () { return gp; }), n.d(e, 'PropertyMixer', function () { return ap; }), n.d(e, 'QuadraticBezierCurve', function () { return id; }), n.d(e, 'QuadraticBezierCurve3', function () { return rd; }), n.d(e, 'Quaternion', function () { return ri; }), n.d(e, 'QuaternionKeyframeTrack', function () { return Eu; }), n.d(e, 'QuaternionLinearInterpolant', function () { return Mu; }), n.d(e, 'REVISION', function () { return h; }), n.d(e, 'RGBADepthPacking', function () { return vn; }), n.d(e, 'RGBAFormat', function () { return Jt; }), n.d(e, 'RGBAIntegerFormat', function () { return ce; }), n.d(e, 'RGBA_ASTC_10x10_Format', function () { return Ie; }), n.d(e, 'RGBA_ASTC_10x5_Format', function () { return Oe; }), n.d(e, 'RGBA_ASTC_10x6_Format', function () { return _e; }), n.d(e, 'RGBA_ASTC_10x8_Format', function () { return Pe; }), n.d(e, 'RGBA_ASTC_12x10_Format', function () { return ke; }), n.d(e, 'RGBA_ASTC_12x12_Format', function () { return De; }), n.d(e, 'RGBA_ASTC_4x4_Format', function () { return we; }), n.d(e, 'RGBA_ASTC_5x4_Format', function () { return Se; }), n.d(e, 'RGBA_ASTC_5x5_Format', function () { return xe; }), n.d(e, 'RGBA_ASTC_6x5_Format', function () { return Me; }), n.d(e, 'RGBA_ASTC_6x6_Format', function () { return Ee; }), n.d(e, 'RGBA_ASTC_8x5_Format', function () { return Ce; }), n.d(e, 'RGBA_ASTC_8x6_Format', function () { return Ae; }), n.d(e, 'RGBA_ASTC_8x8_Format', function () { return Te; }), n.d(e, 'RGBA_BPTC_Format', function () { return Re; }), n.d(e, 'RGBA_ETC2_EAC_Format', function () { return be; }), n.d(e, 'RGBA_PVRTC_2BPPV1_Format', function () { return ge; }), n.d(e, 'RGBA_PVRTC_4BPPV1_Format', function () { return me; }), n.d(e, 'RGBA_S3TC_DXT1_Format', function () { return ue; }), n.d(e, 'RGBA_S3TC_DXT3_Format', function () { return de; }), n.d(e, 'RGBA_S3TC_DXT5_Format', function () { return pe; }), n.d(e, 'RGBDEncoding', function () { return mn; }), n.d(e, 'RGBEEncoding', function () { return dn; }), n.d(e, 'RGBEFormat', function () { return te; }), n.d(e, 'RGBFormat', function () { return Zt; }), n.d(e, 'RGBIntegerFormat', function () { return se; }), n.d(e, 'RGBM16Encoding', function () { return fn; }), n.d(e, 'RGBM7Encoding', function () { return hn; }), n.d(e, 'RGB_ETC1_Format', function () { return ve; }), n.d(e, 'RGB_ETC2_Format', function () { return ye; }), n.d(e, 'RGB_PVRTC_2BPPV1_Format', function () { return fe; }), n.d(e, 'RGB_PVRTC_4BPPV1_Format', function () { return he; }), n.d(e, 'RGB_S3TC_DXT1_Format', function () { return le; }), n.d(e, 'RGFormat', function () { return oe; }), n.d(e, 'RGIntegerFormat', function () { return ae; }), n.d(e, 'RawShaderMaterial', function () { return ru; }), n.d(e, 'Ray', function () { return or; }), n.d(e, 'Raycaster', function () { return xp; }), n.d(e, 'RectAreaLight', function () { return Sd; }), n.d(e, 'RedFormat', function () { return ie; }), n.d(e, 'RedIntegerFormat', function () { return re; }), n.d(e, 'ReinhardToneMapping', function () { return pt; }), n.d(e, 'RepeatWrapping', function () { return Et; }), n.d(e, 'ReplaceStencilOp', function () { return xn; }), n.d(e, 'ReverseSubtractEquation', function () { return F; }), n.d(e, 'RingBufferGeometry', function () { return Gl; }), n.d(e, 'RingGeometry', function () { return zl; }), n.d(e, 'SRGB8_ALPHA8_ASTC_10x10_Format', function () { return qe; }), n.d(e, 'SRGB8_ALPHA8_ASTC_10x5_Format', function () { return Ge; }), n.d(e, 'SRGB8_ALPHA8_ASTC_10x6_Format', function () { return He; }), n.d(e, 'SRGB8_ALPHA8_ASTC_10x8_Format', function () { return We; }), n.d(e, 'SRGB8_ALPHA8_ASTC_12x10_Format', function () { return Xe; }), n.d(e, 'SRGB8_ALPHA8_ASTC_12x12_Format', function () { return Ye; }), n.d(e, 'SRGB8_ALPHA8_ASTC_4x4_Format', function () { return Le; }), n.d(e, 'SRGB8_ALPHA8_ASTC_5x4_Format', function () { return Ne; }), n.d(e, 'SRGB8_ALPHA8_ASTC_5x5_Format', function () { return je; }), n.d(e, 'SRGB8_ALPHA8_ASTC_6x5_Format', function () { return Ve; }), n.d(e, 'SRGB8_ALPHA8_ASTC_6x6_Format', function () { return Fe; }), n.d(e, 'SRGB8_ALPHA8_ASTC_8x5_Format', function () { return Ue; }), n.d(e, 'SRGB8_ALPHA8_ASTC_8x6_Format', function () { return Be; }), n.d(e, 'SRGB8_ALPHA8_ASTC_8x8_Format', function () { return ze; }), n.d(e, 'Scene', function () { return Ri; }), n.d(e, 'SceneUtils', function () { return Of; }), n.d(e, 'ShaderChunk', function () { return Ho; }), n.d(e, 'ShaderLib', function () { return Wo; }), n.d(e, 'ShaderMaterial', function () { return Po; }), n.d(e, 'ShadowMaterial', function () { return iu; }), n.d(e, 'Shape', function () { return ld; }), n.d(e, 'ShapeBufferGeometry', function () { return Xl; }), n.d(e, 'ShapeGeometry', function () { return ql; }), n.d(e, 'ShapePath', function () { return Rd; }), n.d(e, 'ShapeUtils', function () { return Il; }), n.d(e, 'ShortType', function () { return Ft; }), n.d(e, 'Skeleton', function () { return mc; }), n.d(e, 'SkeletonHelper', function () { return Vp; }), n.d(e, 'SkinnedMesh', function () { return pc; }), n.d(e, 'SmoothShading', function () { return P; }), n.d(e, 'Sphere', function () { return Ji; }), n.d(e, 'SphereBufferGeometry', function () { return Bl; }), n.d(e, 'SphereGeometry', function () { return Ul; }), n.d(e, 'Spherical', function () { return Cp; }), n.d(e, 'SphericalHarmonics3', function () { return Ud; }), n.d(e, 'SphericalReflectionMapping', function () { return St; }), n.d(e, 'Spline', function () { return vf; }), n.d(e, 'SplineCurve', function () { return od; }), n.d(e, 'SplineCurve3', function () { return gf; }), n.d(e, 'SpotLight', function () { return fd; }), n.d(e, 'SpotLightHelper', function () { return Rp; }), n.d(e, 'SpotLightShadow', function () { return hd; }), n.d(e, 'Sprite', function () { return sc; }), n.d(e, 'SpriteMaterial', function () { return Ys; }), n.d(e, 'SrcAlphaFactor', function () { return q; }), n.d(e, 'SrcAlphaSaturateFactor', function () { return Q; }), n.d(e, 'SrcColorFactor', function () { return H; }), n.d(e, 'StaticCopyUsage', function () { return zn; }), n.d(e, 'StaticDrawUsage', function () { return Nn; }), n.d(e, 'StaticReadUsage', function () { return Fn; }), n.d(e, 'StereoCamera', function () { return qd; }), n.d(e, 'StreamCopyUsage', function () { return Hn; }), n.d(e, 'StreamDrawUsage', function () { return Vn; }), n.d(e, 'StreamReadUsage', function () { return Bn; }), n.d(e, 'StringKeyframeTrack', function () { return Cu; }), n.d(e, 'SubtractEquation', function () { return V; }), n.d(e, 'SubtractiveBlending', function () { return R; }), n.d(e, 'TOUCH', function () { return m; }), n.d(e, 'TangentSpaceNormalMap', function () { return yn; }), n.d(e, 'TetrahedronBufferGeometry', function () { return Zc; }), n.d(e, 'TetrahedronGeometry', function () { return Kc; }), n.d(e, 'TextBufferGeometry', function () { return Fl; }), n.d(e, 'TextGeometry', function () { return Vl; }), n.d(e, 'Texture', function () { return ti; }), n.d(e, 'TextureLoader', function () { return Uu; }), n.d(e, 'TorusBufferGeometry', function () { return cl; }), n.d(e, 'TorusGeometry', function () { return sl; }), n.d(e, 'TorusKnotBufferGeometry', function () { return al; }), n.d(e, 'TorusKnotGeometry', function () { return ol; }), n.d(e, 'Triangle', function () { return wr; }), n.d(e, 'TriangleFanDrawMode', function () { return sn; }), n.d(e, 'TriangleStripDrawMode', function () { return an; }), n.d(e, 'TrianglesDrawMode', function () { return on; }), n.d(e, 'TubeBufferGeometry', function () { return rl; }), n.d(e, 'TubeGeometry', function () { return il; }), n.d(e, 'UVMapping', function () { return gt; }), n.d(e, 'Uint16Attribute', function () { return uf; }), n.d(e, 'Uint16BufferAttribute', function () { return Vr; }), n.d(e, 'Uint32Attribute', function () { return pf; }), n.d(e, 'Uint32BufferAttribute', function () { return Ur; }), n.d(e, 'Uint8Attribute', function () { return sf; }), n.d(e, 'Uint8BufferAttribute', function () { return Lr; }), n.d(e, 'Uint8ClampedAttribute', function () { return cf; }), n.d(e, 'Uint8ClampedBufferAttribute', function () { return Nr; }), n.d(e, 'Uncharted2ToneMapping', function () { return ht; }), n.d(e, 'Uniform', function () { return wp; }), n.d(e, 'UniformsLib', function () { return Fo; }), n.d(e, 'UniformsUtils', function () { return _o; }), n.d(e, 'UnsignedByteType', function () { return jt; }), n.d(e, 'UnsignedInt248Type', function () { return Yt; }), n.d(e, 'UnsignedIntType', function () { return zt; }), n.d(e, 'UnsignedShort4444Type', function () { return Wt; }), n.d(e, 'UnsignedShort5551Type', function () { return qt; }), n.d(e, 'UnsignedShort565Type', function () { return Xt; }), n.d(e, 'UnsignedShortType', function () { return Ut; }), n.d(e, 'VSMShadowMap', function () { return C; }), n.d(e, 'Vector2', function () { return Zn; }), n.d(e, 'Vector3', function () { return si; }), n.d(e, 'Vector4', function () { return ei; }), n.d(e, 'VectorKeyframeTrack', function () { return Au; }), n.d(e, 'Vertex', function () { return rf; }), n.d(e, 'VertexColors', function () { return Yh; }), n.d(e, 'VideoTexture', function () { return Uc; }), n.d(e, 'WebGLCubeRenderTarget', function () { return Ro; }), n.d(e, 'WebGLMultisampleRenderTarget', function () { return ii; }), n.d(e, 'WebGLRenderTarget', function () { return ni; }), n.d(e, 'WebGLRenderTargetCube', function () { return Ef; }), n.d(e, 'WebGLRenderer', function () { return Bs; }), n.d(e, 'WebGLUtils', function () { return js; }), n.d(e, 'WireframeGeometry', function () { return Hc; }), n.d(e, 'WireframeHelper', function () { return Sf; }), n.d(e, 'WrapAroundEnding', function () { return rn; }), n.d(e, 'XHRLoader', function () { return xf; }), n.d(e, 'ZeroCurvatureEnding', function () { return en; }), n.d(e, 'ZeroFactor', function () { return z; }), n.d(e, 'ZeroSlopeEnding', function () { return nn; }), n.d(e, 'ZeroStencilOp', function () { return wn; }), n.d(e, 'sRGBEncoding', function () { return ln; }), void 0 === Number.EPSILON && (Number.EPSILON = Math.pow(2, -52)), void 0 === Number.isInteger && (Number.isInteger = function (t) { return 'number' == typeof t && isFinite(t) && Math.floor(t) === t; }), void 0 === Math.sign && (Math.sign = function (t) { return t < 0 ? -1 : t > 0 ? 1 : +t; }), 'name' in Function.prototype == !1 && Object.defineProperty(Function.prototype, 'name', { get: function () { return this.toString().match(/^\s*function\s*([^\(\s]*)/)[1]; }, }), void 0 === Object.assign && (Object.assign = function (t) { if (null == t) throw new TypeError('Cannot convert undefined or null to object'); for (var e = Object(t), n = 1; n < arguments.length; n++) { var i = arguments[n]; if (null != i) for (var r in i) Object.prototype.hasOwnProperty.call(i, r) && (e[r] = i[r]); } return e; }); var h = '115', f = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2, }, m = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3, }, g = 0, v = 1, y = 2, b = 3, w = 0, S = 1, x = 0, M = 1, E = 2, C = 3, A = 0, T = 1, O = 2, _ = 1, P = 2, I = 0, k = 1, D = 2, R = 3, L = 4, N = 5, j = 100, V = 101, F = 102, U = 103, B = 104, z = 200, G = 201, H = 202, W = 203, q = 204, X = 205, Y = 206, K = 207, Z = 208, J = 209, Q = 210, $ = 0, tt = 1, et = 2, nt = 3, it = 4, rt = 5, ot = 6, at = 7, st = 0, ct = 1, lt = 2, ut = 0, dt = 1, pt = 2, ht = 3, ft = 4, mt = 5, gt = 300, vt = 301, yt = 302, bt = 303, wt = 304, St = 305, xt = 306, Mt = 307, Et = 1e3, Ct = 1001, At = 1002, Tt = 1003, Ot = 1004, _t = 1004, Pt = 1005, It = 1005, kt = 1006, Dt = 1007, Rt = 1007, Lt = 1008, Nt = 1008, jt = 1009, Vt = 1010, Ft = 1011, Ut = 1012, Bt = 1013, zt = 1014, Gt = 1015, Ht = 1016, Wt = 1017, qt = 1018, Xt = 1019, Yt = 1020, Kt = 1021, Zt = 1022, Jt = 1023, Qt = 1024, $t = 1025, te = Jt, ee = 1026, ne = 1027, ie = 1028, re = 1029, oe = 1030, ae = 1031, se = 1032, ce = 1033, le = 33776, ue = 33777, de = 33778, pe = 33779, he = 35840, fe = 35841, me = 35842, ge = 35843, ve = 36196, ye = 37492, be = 37496, we = 37808, Se = 37809, xe = 37810, Me = 37811, Ee = 37812, Ce = 37813, Ae = 37814, Te = 37815, Oe = 37816, _e = 37817, Pe = 37818, Ie = 37819, ke = 37820, De = 37821, Re = 36492, Le = 37840, Ne = 37841, je = 37842, Ve = 37843, Fe = 37844, Ue = 37845, Be = 37846, ze = 37847, Ge = 37848, He = 37849, We = 37850, qe = 37851, Xe = 37852, Ye = 37853, Ke = 2200, Ze = 2201, Je = 2202, Qe = 2300, $e = 2301, tn = 2302, en = 2400, nn = 2401, rn = 2402, on = 0, an = 1, sn = 2, cn = 3e3, ln = 3001, un = 3007, dn = 3002, pn = 3003, hn = 3004, fn = 3005, mn = 3006, gn = 3200, vn = 3201, yn = 0, bn = 1, wn = 0, Sn = 7680, xn = 7681, Mn = 7682, En = 7683, Cn = 34055, An = 34056, Tn = 5386, On = 512, _n = 513, Pn = 514, In = 515, kn = 516, Dn = 517, Rn = 518, Ln = 519, Nn = 35044, jn = 35048, Vn = 35040, Fn = 35045, Un = 35049, Bn = 35041, zn = 35046, Gn = 35050, Hn = 35042; function Wn() {} Object.assign(Wn.prototype, { addEventListener: function (t, e) { void 0 === this._listeners && (this._listeners = {}); var n = this._listeners; void 0 === n[t] && (n[t] = []), -1 === n[t].indexOf(e) && n[t].push(e); }, hasEventListener: function (t, e) { if (void 0 === this._listeners) return !1; var n = this._listeners; return void 0 !== n[t] && -1 !== n[t].indexOf(e); }, removeEventListener: function (t, e) { if (void 0 !== this._listeners) { var n = this._listeners[t]; if (void 0 !== n) { var i = n.indexOf(e); -1 !== i && n.splice(i, 1); } } }, dispatchEvent: function (t) { if (void 0 !== this._listeners) { var e = this._listeners[t.type]; if (void 0 !== e) { t.target = this; for (var n = e.slice(0), i = 0, r = n.length; i < r; i++) n[i].call(this, t); } } }, }); for (var qn = [], Xn = 0; Xn < 256; Xn++) qn[Xn] = (Xn < 16 ? '0' : '') + Xn.toString(16); var Yn, Kn = { DEG2RAD: Math.PI / 180, RAD2DEG: 180 / Math.PI, generateUUID: function () { var t = (4294967295 * Math.random()) | 0, e = (4294967295 * Math.random()) | 0, n = (4294967295 * Math.random()) | 0, i = (4294967295 * Math.random()) | 0; return ( qn[255 & t] + qn[(t >> 8) & 255] + qn[(t >> 16) & 255] + qn[(t >> 24) & 255] + '-' + qn[255 & e] + qn[(e >> 8) & 255] + '-' + qn[((e >> 16) & 15) | 64] + qn[(e >> 24) & 255] + '-' + qn[(63 & n) | 128] + qn[(n >> 8) & 255] + '-' + qn[(n >> 16) & 255] + qn[(n >> 24) & 255] + qn[255 & i] + qn[(i >> 8) & 255] + qn[(i >> 16) & 255] + qn[(i >> 24) & 255] ).toUpperCase(); }, clamp: function (t, e, n) { return Math.max(e, Math.min(n, t)); }, euclideanModulo: function (t, e) { return ((t % e) + e) % e; }, mapLinear: function (t, e, n, i, r) { return i + ((t - e) * (r - i)) / (n - e); }, lerp: function (t, e, n) { return (1 - n) * t + n * e; }, smoothstep: function (t, e, n) { return t <= e ? 0 : t >= n ? 1 : (t = (t - e) / (n - e)) * t * (3 - 2 * t); }, smootherstep: function (t, e, n) { return t <= e ? 0 : t >= n ? 1 : (t = (t - e) / (n - e)) * t * t * (t * (6 * t - 15) + 10); }, randInt: function (t, e) { return t + Math.floor(Math.random() * (e - t + 1)); }, randFloat: function (t, e) { return t + Math.random() * (e - t); }, randFloatSpread: function (t) { return t * (0.5 - Math.random()); }, degToRad: function (t) { return t * Kn.DEG2RAD; }, radToDeg: function (t) { return t * Kn.RAD2DEG; }, isPowerOfTwo: function (t) { return 0 == (t & (t - 1)) && 0 !== t; }, ceilPowerOfTwo: function (t) { return Math.pow(2, Math.ceil(Math.log(t) / Math.LN2)); }, floorPowerOfTwo: function (t) { return Math.pow(2, Math.floor(Math.log(t) / Math.LN2)); }, setQuaternionFromProperEuler: function (t, e, n, i, r) { var o = Math.cos, a = Math.sin, s = o(n / 2), c = a(n / 2), l = o((e + i) / 2), u = a((e + i) / 2), d = o((e - i) / 2), p = a((e - i) / 2), h = o((i - e) / 2), f = a((i - e) / 2); 'XYX' === r ? t.set(s * u, c * d, c * p, s * l) : 'YZY' === r ? t.set(c * p, s * u, c * d, s * l) : 'ZXZ' === r ? t.set(c * d, c * p, s * u, s * l) : 'XZX' === r ? t.set(s * u, c * f, c * h, s * l) : 'YXY' === r ? t.set(c * h, s * u, c * f, s * l) : 'ZYZ' === r ? t.set(c * f, c * h, s * u, s * l) : console.warn('THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order.'); }, }; function Zn(t, e) { (this.x = t || 0), (this.y = e || 0); } function Jn() { (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.'); } Object.defineProperties(Zn.prototype, { width: { get: function () { return this.x; }, set: function (t) { this.x = t; }, }, height: { get: function () { return this.y; }, set: function (t) { this.y = t; }, }, }), Object.assign(Zn.prototype, { isVector2: !0, set: function (t, e) { return (this.x = t), (this.y = e), this; }, setScalar: function (t) { return (this.x = t), (this.y = t), this; }, setX: function (t) { return (this.x = t), this; }, setY: function (t) { return (this.y = t), this; }, setComponent: function (t, e) { switch (t) { case 0: this.x = e; break; case 1: this.y = e; break; default: throw new Error('index is out of range: ' + t); } return this; }, getComponent: function (t) { switch (t) { case 0: return this.x; case 1: return this.y; default: throw new Error('index is out of range: ' + t); } }, clone: function () { return new this.constructor(this.x, this.y); }, copy: function (t) { return (this.x = t.x), (this.y = t.y), this; }, add: function (t, e) { return void 0 !== e ? (console.warn('THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.'), this.addVectors(t, e)) : ((this.x += t.x), (this.y += t.y), this); }, addScalar: function (t) { return (this.x += t), (this.y += t), this; }, addVectors: function (t, e) { return (this.x = t.x + e.x), (this.y = t.y + e.y), this; }, addScaledVector: function (t, e) { return (this.x += t.x * e), (this.y += t.y * e), this; }, sub: function (t, e) { return void 0 !== e ? (console.warn('THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.'), this.subVectors(t, e)) : ((this.x -= t.x), (this.y -= t.y), this); }, subScalar: function (t) { return (this.x -= t), (this.y -= t), this; }, subVectors: function (t, e) { return (this.x = t.x - e.x), (this.y = t.y - e.y), this; }, multiply: function (t) { return (this.x *= t.x), (this.y *= t.y), this; }, multiplyScalar: function (t) { return (this.x *= t), (this.y *= t), this; }, divide: function (t) { return (this.x /= t.x), (this.y /= t.y), this; }, divideScalar: function (t) { return this.multiplyScalar(1 / t); }, applyMatrix3: function (t) { var e = this.x, n = this.y, i = t.elements; return (this.x = i[0] * e + i[3] * n + i[6]), (this.y = i[1] * e + i[4] * n + i[7]), this; }, min: function (t) { return (this.x = Math.min(this.x, t.x)), (this.y = Math.min(this.y, t.y)), this; }, max: function (t) { return (this.x = Math.max(this.x, t.x)), (this.y = Math.max(this.y, t.y)), this; }, clamp: function (t, e) { return (this.x = Math.max(t.x, Math.min(e.x, this.x))), (this.y = Math.max(t.y, Math.min(e.y, this.y))), this; }, clampScalar: function (t, e) { return (this.x = Math.max(t, Math.min(e, this.x))), (this.y = Math.max(t, Math.min(e, this.y))), this; }, clampLength: function (t, e) { var n = this.length(); return this.divideScalar(n || 1).multiplyScalar(Math.max(t, Math.min(e, n))); }, floor: function () { return (this.x = Math.floor(this.x)), (this.y = Math.floor(this.y)), this; }, ceil: function () { return (this.x = Math.ceil(this.x)), (this.y = Math.ceil(this.y)), this; }, round: function () { return (this.x = Math.round(this.x)), (this.y = Math.round(this.y)), this; }, roundToZero: function () { return (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; }, negate: function () { return (this.x = -this.x), (this.y = -this.y), this; }, dot: function (t) { return this.x * t.x + this.y * t.y; }, cross: function (t) { return this.x * t.y - this.y * t.x; }, lengthSq: function () { return this.x * this.x + this.y * this.y; }, length: function () { return Math.sqrt(this.x * this.x + this.y * this.y); }, manhattanLength: function () { return Math.abs(this.x) + Math.abs(this.y); }, normalize: function () { return this.divideScalar(this.length() || 1); }, angle: function () { var t = Math.atan2(-this.y, -this.x) + Math.PI; return t; }, distanceTo: function (t) { return Math.sqrt(this.distanceToSquared(t)); }, distanceToSquared: function (t) { var e = this.x - t.x, n = this.y - t.y; return e * e + n * n; }, manhattanDistanceTo: function (t) { return Math.abs(this.x - t.x) + Math.abs(this.y - t.y); }, setLength: function (t) { return this.normalize().multiplyScalar(t); }, lerp: function (t, e) { return (this.x += (t.x - this.x) * e), (this.y += (t.y - this.y) * e), this; }, lerpVectors: function (t, e, n) { return this.subVectors(e, t).multiplyScalar(n).add(t); }, equals: function (t) { return t.x === this.x && t.y === this.y; }, fromArray: function (t, e) { return void 0 === e && (e = 0), (this.x = t[e]), (this.y = t[e + 1]), this; }, toArray: function (t, e) { return void 0 === t && (t = []), void 0 === e && (e = 0), (t[e] = this.x), (t[e + 1] = this.y), t; }, fromBufferAttribute: function (t, e, n) { return void 0 !== n && console.warn('THREE.Vector2: offset has been removed from .fromBufferAttribute().'), (this.x = t.getX(e)), (this.y = t.getY(e)), this; }, rotateAround: function (t, e) { var n = Math.cos(e), i = Math.sin(e), r = this.x - t.x, o = this.y - t.y; return (this.x = r * n - o * i + t.x), (this.y = r * i + o * n + t.y), this; }, }), Object.assign(Jn.prototype, { isMatrix3: !0, set: function (t, e, n, i, r, o, a, s, c) { var l = this.elements; return (l[0] = t), (l[1] = i), (l[2] = a), (l[3] = e), (l[4] = r), (l[5] = s), (l[6] = n), (l[7] = o), (l[8] = c), this; }, identity: function () { return this.set(1, 0, 0, 0, 1, 0, 0, 0, 1), this; }, clone: function () { return new this.constructor().fromArray(this.elements); }, copy: function (t) { var e = this.elements, n = t.elements; return (e[0] = n[0]), (e[1] = n[1]), (e[2] = n[2]), (e[3] = n[3]), (e[4] = n[4]), (e[5] = n[5]), (e[6] = n[6]), (e[7] = n[7]), (e[8] = n[8]), this; }, extractBasis: function (t, e, n) { return t.setFromMatrix3Column(this, 0), e.setFromMatrix3Column(this, 1), n.setFromMatrix3Column(this, 2), this; }, setFromMatrix4: function (t) { var e = t.elements; return this.set(e[0], e[4], e[8], e[1], e[5], e[9], e[2], e[6], e[10]), this; }, multiply: function (t) { return this.multiplyMatrices(this, t); }, premultiply: function (t) { return this.multiplyMatrices(t, this); }, multiplyMatrices: function (t, e) { var n = t.elements, i = e.elements, r = this.elements, o = n[0], a = n[3], s = n[6], c = n[1], l = n[4], u = n[7], d = n[2], p = n[5], h = n[8], f = i[0], m = i[3], g = i[6], v = i[1], y = i[4], b = i[7], w = i[2], S = i[5], x = i[8]; return ( (r[0] = o * f + a * v + s * w), (r[3] = o * m + a * y + s * S), (r[6] = o * g + a * b + s * x), (r[1] = c * f + l * v + u * w), (r[4] = c * m + l * y + u * S), (r[7] = c * g + l * b + u * x), (r[2] = d * f + p * v + h * w), (r[5] = d * m + p * y + h * S), (r[8] = d * g + p * b + h * x), this ); }, multiplyScalar: function (t) { var e = this.elements; return (e[0] *= t), (e[3] *= t), (e[6] *= t), (e[1] *= t), (e[4] *= t), (e[7] *= t), (e[2] *= t), (e[5] *= t), (e[8] *= t), this; }, determinant: function () { var t = this.elements, e = t[0], n = t[1], i = t[2], r = t[3], o = t[4], a = t[5], s = t[6], c = t[7], l = t[8]; return e * o * l - e * a * c - n * r * l + n * a * s + i * r * c - i * o * s; }, getInverse: function (t, e) { void 0 !== e && console.warn('THREE.Matrix3: .getInverse() can no longer be configured to throw on degenerate.'); var n = t.elements, i = this.elements, r = n[0], o = n[1], a = n[2], s = n[3], c = n[4], l = n[5], u = n[6], d = n[7], p = n[8], h = p * c - l * d, f = l * u - p * s, m = d * s - c * u, g = r * h + o * f + a * m; if (0 === g) return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0); var v = 1 / g; return ( (i[0] = h * v), (i[1] = (a * d - p * o) * v), (i[2] = (l * o - a * c) * v), (i[3] = f * v), (i[4] = (p * r - a * u) * v), (i[5] = (a * s - l * r) * v), (i[6] = m * v), (i[7] = (o * u - d * r) * v), (i[8] = (c * r - o * s) * v), this ); }, transpose: function () { var t, e = this.elements; return (t = e[1]), (e[1] = e[3]), (e[3] = t), (t = e[2]), (e[2] = e[6]), (e[6] = t), (t = e[5]), (e[5] = e[7]), (e[7] = t), this; }, getNormalMatrix: function (t) { return this.setFromMatrix4(t).getInverse(this).transpose(); }, transposeIntoArray: function (t) { var e = this.elements; return (t[0] = e[0]), (t[1] = e[3]), (t[2] = e[6]), (t[3] = e[1]), (t[4] = e[4]), (t[5] = e[7]), (t[6] = e[2]), (t[7] = e[5]), (t[8] = e[8]), this; }, setUvTransform: function (t, e, n, i, r, o, a) { var s = Math.cos(r), c = Math.sin(r); this.set(n * s, n * c, -n * (s * o + c * a) + o + t, -i * c, i * s, -i * (-c * o + s * a) + a + e, 0, 0, 1); }, scale: function (t, e) { var n = this.elements; return (n[0] *= t), (n[3] *= t), (n[6] *= t), (n[1] *= e), (n[4] *= e), (n[7] *= e), this; }, rotate: function (t) { var e = Math.cos(t), n = Math.sin(t), i = this.elements, r = i[0], o = i[3], a = i[6], s = i[1], c = i[4], l = i[7]; return (i[0] = e * r + n * s), (i[3] = e * o + n * c), (i[6] = e * a + n * l), (i[1] = -n * r + e * s), (i[4] = -n * o + e * c), (i[7] = -n * a + e * l), this; }, translate: function (t, e) { var n = this.elements; return (n[0] += t * n[2]), (n[3] += t * n[5]), (n[6] += t * n[8]), (n[1] += e * n[2]), (n[4] += e * n[5]), (n[7] += e * n[8]), this; }, equals: function (t) { for (var e = this.elements, n = t.elements, i = 0; i < 9; i++) if (e[i] !== n[i]) return !1; return !0; }, fromArray: function (t, e) { void 0 === e && (e = 0); for (var n = 0; n < 9; n++) this.elements[n] = t[n + e]; return this; }, toArray: function (t, e) { void 0 === t && (t = []), void 0 === e && (e = 0); var n = this.elements; return (t[e] = n[0]), (t[e + 1] = n[1]), (t[e + 2] = n[2]), (t[e + 3] = n[3]), (t[e + 4] = n[4]), (t[e + 5] = n[5]), (t[e + 6] = n[6]), (t[e + 7] = n[7]), (t[e + 8] = n[8]), t; }, }); var Qn = { getDataURL: function (t) { var e; if ('undefined' == typeof HTMLCanvasElement) return t.src; if (t instanceof HTMLCanvasElement) e = t; else { void 0 === Yn && (Yn = document.createElementNS('http://www.w3.org/1999/xhtml', 'canvas')), (Yn.width = t.width), (Yn.height = t.height); var n = Yn.getContext('2d'); t instanceof ImageData ? n.putImageData(t, 0, 0) : n.drawImage(t, 0, 0, t.width, t.height), (e = Yn); } return e.width > 2048 || e.height > 2048 ? e.toDataURL('image/jpeg', 0.6) : e.toDataURL('image/png'); }, }, $n = 0; function ti(t, e, n, i, r, o, a, s, c, l) { Object.defineProperty(this, 'id', { value: $n++, }), (this.uuid = Kn.generateUUID()), (this.name = ''), (this.image = void 0 !== t ? t : ti.DEFAULT_IMAGE), (this.mipmaps = []), (this.mapping = void 0 !== e ? e : ti.DEFAULT_MAPPING), (this.wrapS = void 0 !== n ? n : Ct), (this.wrapT = void 0 !== i ? i : Ct), (this.magFilter = void 0 !== r ? r : kt), (this.minFilter = void 0 !== o ? o : Lt), (this.anisotropy = void 0 !== c ? c : 1), (this.format = void 0 !== a ? a : Jt), (this.internalFormat = null), (this.type = void 0 !== s ? s : jt), (this.offset = new Zn(0, 0)), (this.repeat = new Zn(1, 1)), (this.center = new Zn(0, 0)), (this.rotation = 0), (this.matrixAutoUpdate = !0), (this.matrix = new Jn()), (this.generateMipmaps = !0), (this.premultiplyAlpha = !1), (this.flipY = !0), (this.unpackAlignment = 4), (this.encoding = void 0 !== l ? l : cn), (this.version = 0), (this.onUpdate = null); } function ei(t, e, n, i) { (this.x = t || 0), (this.y = e || 0), (this.z = n || 0), (this.w = void 0 !== i ? i : 1); } function ni(t, e, n) { (this.width = t), (this.height = e), (this.scissor = new ei(0, 0, t, e)), (this.scissorTest = !1), (this.viewport = new ei(0, 0, t, e)), (n = n || {}), (this.texture = new ti(void 0, n.mapping, n.wrapS, n.wrapT, n.magFilter, n.minFilter, n.format, n.type, n.anisotropy, n.encoding)), (this.texture.image = {}), (this.texture.image.width = t), (this.texture.image.height = e), (this.texture.generateMipmaps = void 0 !== n.generateMipmaps && n.generateMipmaps), (this.texture.minFilter = void 0 !== n.minFilter ? n.minFilter : kt), (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); } function ii(t, e, n) { ni.call(this, t, e, n), (this.samples = 4); } function ri(t, e, n, i) { (this._x = t || 0), (this._y = e || 0), (this._z = n || 0), (this._w = void 0 !== i ? i : 1); } (ti.DEFAULT_IMAGE = void 0), (ti.DEFAULT_MAPPING = gt), (ti.prototype = Object.assign(Object.create(Wn.prototype), { constructor: ti, isTexture: !0, updateMatrix: function () { this.matrix.setUvTransform(this.offset.x, this.offset.y, this.repeat.x, this.repeat.y, this.rotation, this.center.x, this.center.y); }, clone: function () { return new this.constructor().copy(this); }, copy: function (t) { return ( (this.name = t.name), (this.image = t.image), (this.mipmaps = t.mipmaps.slice(0)), (this.mapping = t.mapping), (this.wrapS = t.wrapS), (this.wrapT = t.wrapT), (this.magFilter = t.magFilter), (this.minFilter = t.minFilter), (this.anisotropy = t.anisotropy), (this.format = t.format), (this.internalFormat = t.internalFormat), (this.type = t.type), this.offset.copy(t.offset), this.repeat.copy(t.repeat), this.center.copy(t.center), (this.rotation = t.rotation), (this.matrixAutoUpdate = t.matrixAutoUpdate), this.matrix.copy(t.matrix), (this.generateMipmaps = t.generateMipmaps), (this.premultiplyAlpha = t.premultiplyAlpha), (this.flipY = t.flipY), (this.unpackAlignment = t.unpackAlignment), (this.encoding = t.encoding), this ); }, toJSON: function (t) { var e = void 0 === t || 'string' == typeof t; if (!e && void 0 !== t.textures[this.uuid]) return t.textures[this.uuid]; var 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) { var i = this.image; if ((void 0 === i.uuid && (i.uuid = Kn.generateUUID()), !e && void 0 === t.images[i.uuid])) { var r; if (Array.isArray(i)) { r = []; for (var o = 0, a = i.length; o < a; o++) r.push(Qn.getDataURL(i[o])); } else r = Qn.getDataURL(i); t.images[i.uuid] = { uuid: i.uuid, url: r, }; } n.image = i.uuid; } return e || (t.textures[this.uuid] = n), n; }, dispose: function () { this.dispatchEvent({ type: 'dispose', }); }, transformUv: function (t) { if (this.mapping !== gt) return t; if ((t.applyMatrix3(this.matrix), t.x < 0 || t.x > 1)) switch (this.wrapS) { case Et: t.x = t.x - Math.floor(t.x); break; case Ct: t.x = t.x < 0 ? 0 : 1; break; case At: 1 === Math.abs(Math.floor(t.x) % 2) ? (t.x = Math.ceil(t.x) - t.x) : (t.x = t.x - Math.floor(t.x)); } if (t.y < 0 || t.y > 1) switch (this.wrapT) { case Et: t.y = t.y - Math.floor(t.y); break; case Ct: t.y = t.y < 0 ? 0 : 1; break; case At: 1 === Math.abs(Math.floor(t.y) % 2) ? (t.y = Math.ceil(t.y) - t.y) : (t.y = t.y - Math.floor(t.y)); } return this.flipY && (t.y = 1 - t.y), t; }, })), Object.defineProperty(ti.prototype, 'needsUpdate', { set: function (t) { !0 === t && this.version++; }, }), Object.defineProperties(ei.prototype, { width: { get: function () { return this.z; }, set: function (t) { this.z = t; }, }, height: { get: function () { return this.w; }, set: function (t) { this.w = t; }, }, }), Object.assign(ei.prototype, { isVector4: !0, set: function (t, e, n, i) { return (this.x = t), (this.y = e), (this.z = n), (this.w = i), this; }, setScalar: function (t) { return (this.x = t), (this.y = t), (this.z = t), (this.w = t), this; }, setX: function (t) { return (this.x = t), this; }, setY: function (t) { return (this.y = t), this; }, setZ: function (t) { return (this.z = t), this; }, setW: function (t) { return (this.w = t), this; }, setComponent: function (t, e) { switch (t) { case 0: this.x = e; break; case 1: this.y = e; break; case 2: this.z = e; break; case 3: this.w = e; break; default: throw new Error('index is out of range: ' + t); } return this; }, getComponent: function (t) { switch (t) { 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: ' + t); } }, clone: function () { return new this.constructor(this.x, this.y, this.z, this.w); }, copy: function (t) { return (this.x = t.x), (this.y = t.y), (this.z = t.z), (this.w = void 0 !== t.w ? t.w : 1), this; }, add: function (t, e) { return void 0 !== e ? (console.warn('THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.'), this.addVectors(t, e)) : ((this.x += t.x), (this.y += t.y), (this.z += t.z), (this.w += t.w), this); }, addScalar: function (t) { return (this.x += t), (this.y += t), (this.z += t), (this.w += t), this; }, addVectors: function (t, e) { return (this.x = t.x + e.x), (this.y = t.y + e.y), (this.z = t.z + e.z), (this.w = t.w + e.w), this; }, addScaledVector: function (t, e) { return (this.x += t.x * e), (this.y += t.y * e), (this.z += t.z * e), (this.w += t.w * e), this; }, sub: function (t, e) { return void 0 !== e ? (console.warn('THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.'), this.subVectors(t, e)) : ((this.x -= t.x), (this.y -= t.y), (this.z -= t.z), (this.w -= t.w), this); }, subScalar: function (t) { return (this.x -= t), (this.y -= t), (this.z -= t), (this.w -= t), this; }, subVectors: function (t, e) { return (this.x = t.x - e.x), (this.y = t.y - e.y), (this.z = t.z - e.z), (this.w = t.w - e.w), this; }, multiplyScalar: function (t) { return (this.x *= t), (this.y *= t), (this.z *= t), (this.w *= t), this; }, applyMatrix4: function (t) { var e = this.x, n = this.y, i = this.z, r = this.w, o = t.elements; return ( (this.x = o[0] * e + o[4] * n + o[8] * i + o[12] * r), (this.y = o[1] * e + o[5] * n + o[9] * i + o[13] * r), (this.z = o[2] * e + o[6] * n + o[10] * i + o[14] * r), (this.w = o[3] * e + o[7] * n + o[11] * i + o[15] * r), this ); }, divideScalar: function (t) { return this.multiplyScalar(1 / t); }, setAxisAngleFromQuaternion: function (t) { this.w = 2 * Math.acos(t.w); var e = Math.sqrt(1 - t.w * t.w); return e < 1e-4 ? ((this.x = 1), (this.y = 0), (this.z = 0)) : ((this.x = t.x / e), (this.y = t.y / e), (this.z = t.z / e)), this; }, setAxisAngleFromRotationMatrix: function (t) { var e, n, i, r, o = t.elements, a = o[0], s = o[4], c = o[8], l = o[1], u = o[5], d = o[9], p = o[2], h = o[6], f = o[10]; if (Math.abs(s - l) < 0.01 && Math.abs(c - p) < 0.01 && Math.abs(d - h) < 0.01) { if (Math.abs(s + l) < 0.1 && Math.abs(c + p) < 0.1 && Math.abs(d + h) < 0.1 && Math.abs(a + u + f - 3) < 0.1) return this.set(1, 0, 0, 0), this; e = Math.PI; var m = (a + 1) / 2, g = (u + 1) / 2, v = (f + 1) / 2, y = (s + l) / 4, b = (c + p) / 4, w = (d + h) / 4; return ( m > g && m > v ? m < 0.01 ? ((n = 0), (i = 0.707106781), (r = 0.707106781)) : ((i = y / (n = Math.sqrt(m))), (r = b / n)) : g > v ? g < 0.01 ? ((n = 0.707106781), (i = 0), (r = 0.707106781)) : ((n = y / (i = Math.sqrt(g))), (r = w / i)) : v < 0.01 ? ((n = 0.707106781), (i = 0.707106781), (r = 0)) : ((n = b / (r = Math.sqrt(v))), (i = w / r)), this.set(n, i, r, e), this ); } var S = Math.sqrt((h - d) * (h - d) + (c - p) * (c - p) + (l - s) * (l - s)); return Math.abs(S) < 0.001 && (S = 1), (this.x = (h - d) / S), (this.y = (c - p) / S), (this.z = (l - s) / S), (this.w = Math.acos((a + u + f - 1) / 2)), this; }, min: function (t) { return (this.x = Math.min(this.x, t.x)), (this.y = Math.min(this.y, t.y)), (this.z = Math.min(this.z, t.z)), (this.w = Math.min(this.w, t.w)), this; }, max: function (t) { return (this.x = Math.max(this.x, t.x)), (this.y = Math.max(this.y, t.y)), (this.z = Math.max(this.z, t.z)), (this.w = Math.max(this.w, t.w)), this; }, clamp: function (t, e) { return ( (this.x = Math.max(t.x, Math.min(e.x, this.x))), (this.y = Math.max(t.y, Math.min(e.y, this.y))), (this.z = Math.max(t.z, Math.min(e.z, this.z))), (this.w = Math.max(t.w, Math.min(e.w, this.w))), this ); }, clampScalar: function (t, e) { return ( (this.x = Math.max(t, Math.min(e, this.x))), (this.y = Math.max(t, Math.min(e, this.y))), (this.z = Math.max(t, Math.min(e, this.z))), (this.w = Math.max(t, Math.min(e, this.w))), this ); }, clampLength: function (t, e) { var n = this.length(); return this.divideScalar(n || 1).multiplyScalar(Math.max(t, Math.min(e, n))); }, floor: function () { return (this.x = Math.floor(this.x)), (this.y = Math.floor(this.y)), (this.z = Math.floor(this.z)), (this.w = Math.floor(this.w)), this; }, ceil: function () { return (this.x = Math.ceil(this.x)), (this.y = Math.ceil(this.y)), (this.z = Math.ceil(this.z)), (this.w = Math.ceil(this.w)), this; }, round: function () { return (this.x = Math.round(this.x)), (this.y = Math.round(this.y)), (this.z = Math.round(this.z)), (this.w = Math.round(this.w)), this; }, roundToZero: function () { return ( (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)), this ); }, negate: function () { return (this.x = -this.x), (this.y = -this.y), (this.z = -this.z), (this.w = -this.w), this; }, dot: function (t) { return this.x * t.x + this.y * t.y + this.z * t.z + this.w * t.w; }, lengthSq: function () { return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w; }, length: function () { return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w); }, manhattanLength: function () { return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z) + Math.abs(this.w); }, normalize: function () { return this.divideScalar(this.length() || 1); }, setLength: function (t) { return this.normalize().multiplyScalar(t); }, lerp: function (t, e) { return (this.x += (t.x - this.x) * e), (this.y += (t.y - this.y) * e), (this.z += (t.z - this.z) * e), (this.w += (t.w - this.w) * e), this; }, lerpVectors: function (t, e, n) { return this.subVectors(e, t).multiplyScalar(n).add(t); }, equals: function (t) { return t.x === this.x && t.y === this.y && t.z === this.z && t.w === this.w; }, fromArray: function (t, e) { return void 0 === e && (e = 0), (this.x = t[e]), (this.y = t[e + 1]), (this.z = t[e + 2]), (this.w = t[e + 3]), this; }, toArray: function (t, e) { return void 0 === t && (t = []), void 0 === e && (e = 0), (t[e] = this.x), (t[e + 1] = this.y), (t[e + 2] = this.z), (t[e + 3] = this.w), t; }, fromBufferAttribute: function (t, e, n) { return ( void 0 !== n && console.warn('THREE.Vector4: offset has been removed from .fromBufferAttribute().'), (this.x = t.getX(e)), (this.y = t.getY(e)), (this.z = t.getZ(e)), (this.w = t.getW(e)), this ); }, }), (ni.prototype = Object.assign(Object.create(Wn.prototype), { constructor: ni, isWebGLRenderTarget: !0, setSize: function (t, e) { (this.width === t && this.height === e) || ((this.width = t), (this.height = e), (this.texture.image.width = t), (this.texture.image.height = e), this.dispose()), this.viewport.set(0, 0, t, e), this.scissor.set(0, 0, t, e); }, clone: function () { return new this.constructor().copy(this); }, copy: function (t) { return ( (this.width = t.width), (this.height = t.height), this.viewport.copy(t.viewport), (this.texture = t.texture.clone()), (this.depthBuffer = t.depthBuffer), (this.stencilBuffer = t.stencilBuffer), (this.depthTexture = t.depthTexture), this ); }, dispose: function () { this.dispatchEvent({ type: 'dispose', }); }, })), (ii.prototype = Object.assign(Object.create(ni.prototype), { constructor: ii, isWebGLMultisampleRenderTarget: !0, copy: function (t) { return ni.prototype.copy.call(this, t), (this.samples = t.samples), this; }, })), Object.assign(ri, { slerp: function (t, e, n, i) { return n.copy(t).slerp(e, i); }, slerpFlat: function (t, e, n, i, r, o, a) { var s = n[i + 0], c = n[i + 1], l = n[i + 2], u = n[i + 3], d = r[o + 0], p = r[o + 1], h = r[o + 2], f = r[o + 3]; if (u !== f || s !== d || c !== p || l !== h) { var m = 1 - a, g = s * d + c * p + l * h + u * f, v = g >= 0 ? 1 : -1, y = 1 - g * g; if (y > Number.EPSILON) { var b = Math.sqrt(y), w = Math.atan2(b, g * v); (m = Math.sin(m * w) / b), (a = Math.sin(a * w) / b); } var S = a * v; if (((s = s * m + d * S), (c = c * m + p * S), (l = l * m + h * S), (u = u * m + f * S), m === 1 - a)) { var x = 1 / Math.sqrt(s * s + c * c + l * l + u * u); (s *= x), (c *= x), (l *= x), (u *= x); } } (t[e] = s), (t[e + 1] = c), (t[e + 2] = l), (t[e + 3] = u); }, }), Object.defineProperties(ri.prototype, { x: { get: function () { return this._x; }, set: function (t) { (this._x = t), this._onChangeCallback(); }, }, y: { get: function () { return this._y; }, set: function (t) { (this._y = t), this._onChangeCallback(); }, }, z: { get: function () { return this._z; }, set: function (t) { (this._z = t), this._onChangeCallback(); }, }, w: { get: function () { return this._w; }, set: function (t) { (this._w = t), this._onChangeCallback(); }, }, }), Object.assign(ri.prototype, { isQuaternion: !0, set: function (t, e, n, i) { return (this._x = t), (this._y = e), (this._z = n), (this._w = i), this._onChangeCallback(), this; }, clone: function () { return new this.constructor(this._x, this._y, this._z, this._w); }, copy: function (t) { return (this._x = t.x), (this._y = t.y), (this._z = t.z), (this._w = t.w), this._onChangeCallback(), this; }, setFromEuler: function (t, e) { if (!t || !t.isEuler) throw new Error('THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.'); var n = t._x, i = t._y, r = t._z, o = t.order, a = Math.cos, s = Math.sin, c = a(n / 2), l = a(i / 2), u = a(r / 2), d = s(n / 2), p = s(i / 2), h = s(r / 2); return ( 'XYZ' === o ? ((this._x = d * l * u + c * p * h), (this._y = c * p * u - d * l * h), (this._z = c * l * h + d * p * u), (this._w = c * l * u - d * p * h)) : 'YXZ' === o ? ((this._x = d * l * u + c * p * h), (this._y = c * p * u - d * l * h), (this._z = c * l * h - d * p * u), (this._w = c * l * u + d * p * h)) : 'ZXY' === o ? ((this._x = d * l * u - c * p * h), (this._y = c * p * u + d * l * h), (this._z = c * l * h + d * p * u), (this._w = c * l * u - d * p * h)) : 'ZYX' === o ? ((this._x = d * l * u - c * p * h), (this._y = c * p * u + d * l * h), (this._z = c * l * h - d * p * u), (this._w = c * l * u + d * p * h)) : 'YZX' === o ? ((this._x = d * l * u + c * p * h), (this._y = c * p * u + d * l * h), (this._z = c * l * h - d * p * u), (this._w = c * l * u - d * p * h)) : 'XZY' === o && ((this._x = d * l * u - c * p * h), (this._y = c * p * u - d * l * h), (this._z = c * l * h + d * p * u), (this._w = c * l * u + d * p * h)), !1 !== e && this._onChangeCallback(), this ); }, setFromAxisAngle: function (t, e) { var n = e / 2, i = Math.sin(n); return (this._x = t.x * i), (this._y = t.y * i), (this._z = t.z * i), (this._w = Math.cos(n)), this._onChangeCallback(), this; }, setFromRotationMatrix: function (t) { var e, n = t.elements, i = n[0], r = n[4], o = n[8], a = n[1], s = n[5], c = n[9], l = n[2], u = n[6], d = n[10], p = i + s + d; return ( p > 0 ? ((e = 0.5 / Math.sqrt(p + 1)), (this._w = 0.25 / e), (this._x = (u - c) * e), (this._y = (o - l) * e), (this._z = (a - r) * e)) : i > s && i > d ? ((e = 2 * Math.sqrt(1 + i - s - d)), (this._w = (u - c) / e), (this._x = 0.25 * e), (this._y = (r + a) / e), (this._z = (o + l) / e)) : s > d ? ((e = 2 * Math.sqrt(1 + s - i - d)), (this._w = (o - l) / e), (this._x = (r + a) / e), (this._y = 0.25 * e), (this._z = (c + u) / e)) : ((e = 2 * Math.sqrt(1 + d - i - s)), (this._w = (a - r) / e), (this._x = (o + l) / e), (this._y = (c + u) / e), (this._z = 0.25 * e)), this._onChangeCallback(), this ); }, setFromUnitVectors: function (t, e) { var n = t.dot(e) + 1; return ( n < 1e-6 ? ((n = 0), Math.abs(t.x) > Math.abs(t.z) ? ((this._x = -t.y), (this._y = t.x), (this._z = 0), (this._w = n)) : ((this._x = 0), (this._y = -t.z), (this._z = t.y), (this._w = n))) : ((this._x = t.y * e.z - t.z * e.y), (this._y = t.z * e.x - t.x * e.z), (this._z = t.x * e.y - t.y * e.x), (this._w = n)), this.normalize() ); }, angleTo: function (t) { return 2 * Math.acos(Math.abs(Kn.clamp(this.dot(t), -1, 1))); }, rotateTowards: function (t, e) { var n = this.angleTo(t); if (0 === n) return this; var i = Math.min(1, e / n); return this.slerp(t, i), this; }, inverse: function () { return this.conjugate(); }, conjugate: function () { return (this._x *= -1), (this._y *= -1), (this._z *= -1), this._onChangeCallback(), this; }, dot: function (t) { return this._x * t._x + this._y * t._y + this._z * t._z + this._w * t._w; }, lengthSq: function () { return this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w; }, length: function () { return Math.sqrt(this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w); }, normalize: function () { var t = this.length(); return ( 0 === t ? ((this._x = 0), (this._y = 0), (this._z = 0), (this._w = 1)) : ((t = 1 / t), (this._x = this._x * t), (this._y = this._y * t), (this._z = this._z * t), (this._w = this._w * t)), this._onChangeCallback(), this ); }, multiply: function (t, e) { return void 0 !== e ? (console.warn('THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.'), this.multiplyQuaternions(t, e)) : this.multiplyQuaternions(this, t); }, premultiply: function (t) { return this.multiplyQuaternions(t, this); }, multiplyQuaternions: function (t, e) { var n = t._x, i = t._y, r = t._z, o = t._w, a = e._x, s = e._y, c = e._z, l = e._w; return ( (this._x = n * l + o * a + i * c - r * s), (this._y = i * l + o * s + r * a - n * c), (this._z = r * l + o * c + n * s - i * a), (this._w = o * l - n * a - i * s - r * c), this._onChangeCallback(), this ); }, slerp: function (t, e) { if (0 === e) return this; if (1 === e) return this.copy(t); var n = this._x, i = this._y, r = this._z, o = this._w, a = o * t._w + n * t._x + i * t._y + r * t._z; if ((a < 0 ? ((this._w = -t._w), (this._x = -t._x), (this._y = -t._y), (this._z = -t._z), (a = -a)) : this.copy(t), a >= 1)) return (this._w = o), (this._x = n), (this._y = i), (this._z = r), this; var s = 1 - a * a; if (s <= Number.EPSILON) { var c = 1 - e; return (this._w = c * o + e * this._w), (this._x = c * n + e * this._x), (this._y = c * i + e * this._y), (this._z = c * r + e * this._z), this.normalize(), this._onChangeCallback(), this; } var l = Math.sqrt(s), u = Math.atan2(l, a), d = Math.sin((1 - e) * u) / l, p = Math.sin(e * u) / l; return (this._w = o * d + this._w * p), (this._x = n * d + this._x * p), (this._y = i * d + this._y * p), (this._z = r * d + this._z * p), this._onChangeCallback(), this; }, equals: function (t) { return t._x === this._x && t._y === this._y && t._z === this._z && t._w === this._w; }, fromArray: function (t, e) { return void 0 === e && (e = 0), (this._x = t[e]), (this._y = t[e + 1]), (this._z = t[e + 2]), (this._w = t[e + 3]), this._onChangeCallback(), this; }, toArray: function (t, e) { return void 0 === t && (t = []), void 0 === e && (e = 0), (t[e] = this._x), (t[e + 1] = this._y), (t[e + 2] = this._z), (t[e + 3] = this._w), t; }, fromBufferAttribute: function (t, e) { return (this._x = t.getX(e)), (this._y = t.getY(e)), (this._z = t.getZ(e)), (this._w = t.getW(e)), this; }, _onChange: function (t) { return (this._onChangeCallback = t), this; }, _onChangeCallback: function () {}, }); var oi = new si(), ai = new ri(); function si(t, e, n) { (this.x = t || 0), (this.y = e || 0), (this.z = n || 0); } Object.assign(si.prototype, { isVector3: !0, set: function (t, e, n) { return (this.x = t), (this.y = e), (this.z = n), this; }, setScalar: function (t) { return (this.x = t), (this.y = t), (this.z = t), this; }, setX: function (t) { return (this.x = t), this; }, setY: function (t) { return (this.y = t), this; }, setZ: function (t) { return (this.z = t), this; }, setComponent: function (t, e) { switch (t) { case 0: this.x = e; break; case 1: this.y = e; break; case 2: this.z = e; break; default: throw new Error('index is out of range: ' + t); } return this; }, getComponent: function (t) { switch (t) { case 0: return this.x; case 1: return this.y; case 2: return this.z; default: throw new Error('index is out of range: ' + t); } }, clone: function () { return new this.constructor(this.x, this.y, this.z); }, copy: function (t) { return (this.x = t.x), (this.y = t.y), (this.z = t.z), this; }, add: function (t, e) { return void 0 !== e ? (console.warn('THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.'), this.addVectors(t, e)) : ((this.x += t.x), (this.y += t.y), (this.z += t.z), this); }, addScalar: function (t) { return (this.x += t), (this.y += t), (this.z += t), this; }, addVectors: function (t, e) { return (this.x = t.x + e.x), (this.y = t.y + e.y), (this.z = t.z + e.z), this; }, addScaledVector: function (t, e) { return (this.x += t.x * e), (this.y += t.y * e), (this.z += t.z * e), this; }, sub: function (t, e) { return void 0 !== e ? (console.warn('THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.'), this.subVectors(t, e)) : ((this.x -= t.x), (this.y -= t.y), (this.z -= t.z), this); }, subScalar: function (t) { return (this.x -= t), (this.y -= t), (this.z -= t), this; }, subVectors: function (t, e) { return (this.x = t.x - e.x), (this.y = t.y - e.y), (this.z = t.z - e.z), this; }, multiply: function (t, e) { return void 0 !== e ? (console.warn('THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.'), this.multiplyVectors(t, e)) : ((this.x *= t.x), (this.y *= t.y), (this.z *= t.z), this); }, multiplyScalar: function (t) { return (this.x *= t), (this.y *= t), (this.z *= t), this; }, multiplyVectors: function (t, e) { return (this.x = t.x * e.x), (this.y = t.y * e.y), (this.z = t.z * e.z), this; }, applyEuler: function (t) { return (t && t.isEuler) || console.error('THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.'), this.applyQuaternion(ai.setFromEuler(t)); }, applyAxisAngle: function (t, e) { return this.applyQuaternion(ai.setFromAxisAngle(t, e)); }, applyMatrix3: function (t) { var e = this.x, n = this.y, i = this.z, r = t.elements; return (this.x = r[0] * e + r[3] * n + r[6] * i), (this.y = r[1] * e + r[4] * n + r[7] * i), (this.z = r[2] * e + r[5] * n + r[8] * i), this; }, applyNormalMatrix: function (t) { return this.applyMatrix3(t).normalize(); }, applyMatrix4: function (t) { var e = this.x, n = this.y, i = this.z, r = t.elements, o = 1 / (r[3] * e + r[7] * n + r[11] * i + r[15]); return (this.x = (r[0] * e + r[4] * n + r[8] * i + r[12]) * o), (this.y = (r[1] * e + r[5] * n + r[9] * i + r[13]) * o), (this.z = (r[2] * e + r[6] * n + r[10] * i + r[14]) * o), this; }, applyQuaternion: function (t) { var e = this.x, n = this.y, i = this.z, r = t.x, o = t.y, a = t.z, s = t.w, c = s * e + o * i - a * n, l = s * n + a * e - r * i, u = s * i + r * n - o * e, d = -r * e - o * n - a * i; return (this.x = c * s + d * -r + l * -a - u * -o), (this.y = l * s + d * -o + u * -r - c * -a), (this.z = u * s + d * -a + c * -o - l * -r), this; }, project: function (t) { return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix); }, unproject: function (t) { return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld); }, transformDirection: function (t) { var e = this.x, n = this.y, i = this.z, r = t.elements; return (this.x = r[0] * e + r[4] * n + r[8] * i), (this.y = r[1] * e + r[5] * n + r[9] * i), (this.z = r[2] * e + r[6] * n + r[10] * i), this.normalize(); }, divide: function (t) { return (this.x /= t.x), (this.y /= t.y), (this.z /= t.z), this; }, divideScalar: function (t) { return this.multiplyScalar(1 / t); }, min: function (t) { return (this.x = Math.min(this.x, t.x)), (this.y = Math.min(this.y, t.y)), (this.z = Math.min(this.z, t.z)), this; }, max: function (t) { return (this.x = Math.max(this.x, t.x)), (this.y = Math.max(this.y, t.y)), (this.z = Math.max(this.z, t.z)), this; }, clamp: function (t, e) { return (this.x = Math.max(t.x, Math.min(e.x, this.x))), (this.y = Math.max(t.y, Math.min(e.y, this.y))), (this.z = Math.max(t.z, Math.min(e.z, this.z))), this; }, clampScalar: function (t, e) { return (this.x = Math.max(t, Math.min(e, this.x))), (this.y = Math.max(t, Math.min(e, this.y))), (this.z = Math.max(t, Math.min(e, this.z))), this; }, clampLength: function (t, e) { var n = this.length(); return this.divideScalar(n || 1).multiplyScalar(Math.max(t, Math.min(e, n))); }, floor: function () { return (this.x = Math.floor(this.x)), (this.y = Math.floor(this.y)), (this.z = Math.floor(this.z)), this; }, ceil: function () { return (this.x = Math.ceil(this.x)), (this.y = Math.ceil(this.y)), (this.z = Math.ceil(this.z)), this; }, round: function () { return (this.x = Math.round(this.x)), (this.y = Math.round(this.y)), (this.z = Math.round(this.z)), this; }, roundToZero: function () { return ( (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 ); }, negate: function () { return (this.x = -this.x), (this.y = -this.y), (this.z = -this.z), this; }, dot: function (t) { return this.x * t.x + this.y * t.y + this.z * t.z; }, lengthSq: function () { return this.x * this.x + this.y * this.y + this.z * this.z; }, length: function () { return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); }, manhattanLength: function () { return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z); }, normalize: function () { return this.divideScalar(this.length() || 1); }, setLength: function (t) { return this.normalize().multiplyScalar(t); }, lerp: function (t, e) { return (this.x += (t.x - this.x) * e), (this.y += (t.y - this.y) * e), (this.z += (t.z - this.z) * e), this; }, lerpVectors: function (t, e, n) { return this.subVectors(e, t).multiplyScalar(n).add(t); }, cross: function (t, e) { return void 0 !== e ? (console.warn('THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.'), this.crossVectors(t, e)) : this.crossVectors(this, t); }, crossVectors: function (t, e) { var n = t.x, i = t.y, r = t.z, o = e.x, a = e.y, s = e.z; return (this.x = i * s - r * a), (this.y = r * o - n * s), (this.z = n * a - i * o), this; }, projectOnVector: function (t) { var e = t.lengthSq(); if (0 === e) return this.set(0, 0, 0); var n = t.dot(this) / e; return this.copy(t).multiplyScalar(n); }, projectOnPlane: function (t) { return oi.copy(this).projectOnVector(t), this.sub(oi); }, reflect: function (t) { return this.sub(oi.copy(t).multiplyScalar(2 * this.dot(t))); }, angleTo: function (t) { var e = Math.sqrt(this.lengthSq() * t.lengthSq()); if (0 === e) return Math.PI / 2; var n = this.dot(t) / e; return Math.acos(Kn.clamp(n, -1, 1)); }, distanceTo: function (t) { return Math.sqrt(this.distanceToSquared(t)); }, distanceToSquared: function (t) { var e = this.x - t.x, n = this.y - t.y, i = this.z - t.z; return e * e + n * n + i * i; }, manhattanDistanceTo: function (t) { return Math.abs(this.x - t.x) + Math.abs(this.y - t.y) + Math.abs(this.z - t.z); }, setFromSpherical: function (t) { return this.setFromSphericalCoords(t.radius, t.phi, t.theta); }, setFromSphericalCoords: function (t, e, n) { var i = Math.sin(e) * t; return (this.x = i * Math.sin(n)), (this.y = Math.cos(e) * t), (this.z = i * Math.cos(n)), this; }, setFromCylindrical: function (t) { return this.setFromCylindricalCoords(t.radius, t.theta, t.y); }, setFromCylindricalCoords: function (t, e, n) { return (this.x = t * Math.sin(e)), (this.y = n), (this.z = t * Math.cos(e)), this; }, setFromMatrixPosition: function (t) { var e = t.elements; return (this.x = e[12]), (this.y = e[13]), (this.z = e[14]), this; }, setFromMatrixScale: function (t) { var e = this.setFromMatrixColumn(t, 0).length(), n = this.setFromMatrixColumn(t, 1).length(), i = this.setFromMatrixColumn(t, 2).length(); return (this.x = e), (this.y = n), (this.z = i), this; }, setFromMatrixColumn: function (t, e) { return this.fromArray(t.elements, 4 * e); }, setFromMatrix3Column: function (t, e) { return this.fromArray(t.elements, 3 * e); }, equals: function (t) { return t.x === this.x && t.y === this.y && t.z === this.z; }, fromArray: function (t, e) { return void 0 === e && (e = 0), (this.x = t[e]), (this.y = t[e + 1]), (this.z = t[e + 2]), this; }, toArray: function (t, e) { return void 0 === t && (t = []), void 0 === e && (e = 0), (t[e] = this.x), (t[e + 1] = this.y), (t[e + 2] = this.z), t; }, fromBufferAttribute: function (t, e, n) { return void 0 !== n && console.warn('THREE.Vector3: offset has been removed from .fromBufferAttribute().'), (this.x = t.getX(e)), (this.y = t.getY(e)), (this.z = t.getZ(e)), this; }, }); var ci = new si(), li = new mi(), ui = new si(0, 0, 0), di = new si(1, 1, 1), pi = new si(), hi = new si(), fi = new si(); function mi() { (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.'); } Object.assign(mi.prototype, { isMatrix4: !0, set: function (t, e, n, i, r, o, a, s, c, l, u, d, p, h, f, m) { var g = this.elements; return ( (g[0] = t), (g[4] = e), (g[8] = n), (g[12] = i), (g[1] = r), (g[5] = o), (g[9] = a), (g[13] = s), (g[2] = c), (g[6] = l), (g[10] = u), (g[14] = d), (g[3] = p), (g[7] = h), (g[11] = f), (g[15] = m), this ); }, identity: function () { return this.set(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1), this; }, clone: function () { return new mi().fromArray(this.elements); }, copy: function (t) { var e = this.elements, n = t.elements; return ( (e[0] = n[0]), (e[1] = n[1]), (e[2] = n[2]), (e[3] = n[3]), (e[4] = n[4]), (e[5] = n[5]), (e[6] = n[6]), (e[7] = n[7]), (e[8] = n[8]), (e[9] = n[9]), (e[10] = n[10]), (e[11] = n[11]), (e[12] = n[12]), (e[13] = n[13]), (e[14] = n[14]), (e[15] = n[15]), this ); }, copyPosition: function (t) { var e = this.elements, n = t.elements; return (e[12] = n[12]), (e[13] = n[13]), (e[14] = n[14]), this; }, extractBasis: function (t, e, n) { return t.setFromMatrixColumn(this, 0), e.setFromMatrixColumn(this, 1), n.setFromMatrixColumn(this, 2), this; }, makeBasis: function (t, e, n) { return this.set(t.x, e.x, n.x, 0, t.y, e.y, n.y, 0, t.z, e.z, n.z, 0, 0, 0, 0, 1), this; }, extractRotation: function (t) { var e = this.elements, n = t.elements, i = 1 / ci.setFromMatrixColumn(t, 0).length(), r = 1 / ci.setFromMatrixColumn(t, 1).length(), o = 1 / ci.setFromMatrixColumn(t, 2).length(); return ( (e[0] = n[0] * i), (e[1] = n[1] * i), (e[2] = n[2] * i), (e[3] = 0), (e[4] = n[4] * r), (e[5] = n[5] * r), (e[6] = n[6] * r), (e[7] = 0), (e[8] = n[8] * o), (e[9] = n[9] * o), (e[10] = n[10] * o), (e[11] = 0), (e[12] = 0), (e[13] = 0), (e[14] = 0), (e[15] = 1), this ); }, makeRotationFromEuler: function (t) { (t && t.isEuler) || console.error('THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.'); var e = this.elements, n = t.x, i = t.y, r = t.z, o = Math.cos(n), a = Math.sin(n), s = Math.cos(i), c = Math.sin(i), l = Math.cos(r), u = Math.sin(r); if ('XYZ' === t.order) { var d = o * l, p = o * u, h = a * l, f = a * u; (e[0] = s * l), (e[4] = -s * u), (e[8] = c), (e[1] = p + h * c), (e[5] = d - f * c), (e[9] = -a * s), (e[2] = f - d * c), (e[6] = h + p * c), (e[10] = o * s); } else if ('YXZ' === t.order) { var m = s * l, g = s * u, v = c * l, y = c * u; (e[0] = m + y * a), (e[4] = v * a - g), (e[8] = o * c), (e[1] = o * u), (e[5] = o * l), (e[9] = -a), (e[2] = g * a - v), (e[6] = y + m * a), (e[10] = o * s); } else if ('ZXY' === t.order) { (m = s * l), (g = s * u), (v = c * l), (y = c * u); (e[0] = m - y * a), (e[4] = -o * u), (e[8] = v + g * a), (e[1] = g + v * a), (e[5] = o * l), (e[9] = y - m * a), (e[2] = -o * c), (e[6] = a), (e[10] = o * s); } else if ('ZYX' === t.order) { (d = o * l), (p = o * u), (h = a * l), (f = a * u); (e[0] = s * l), (e[4] = h * c - p), (e[8] = d * c + f), (e[1] = s * u), (e[5] = f * c + d), (e[9] = p * c - h), (e[2] = -c), (e[6] = a * s), (e[10] = o * s); } else if ('YZX' === t.order) { var b = o * s, w = o * c, S = a * s, x = a * c; (e[0] = s * l), (e[4] = x - b * u), (e[8] = S * u + w), (e[1] = u), (e[5] = o * l), (e[9] = -a * l), (e[2] = -c * l), (e[6] = w * u + S), (e[10] = b - x * u); } else if ('XZY' === t.order) { (b = o * s), (w = o * c), (S = a * s), (x = a * c); (e[0] = s * l), (e[4] = -u), (e[8] = c * l), (e[1] = b * u + x), (e[5] = o * l), (e[9] = w * u - S), (e[2] = S * u - w), (e[6] = a * l), (e[10] = x * u + b); } return (e[3] = 0), (e[7] = 0), (e[11] = 0), (e[12] = 0), (e[13] = 0), (e[14] = 0), (e[15] = 1), this; }, makeRotationFromQuaternion: function (t) { return this.compose(ui, t, di); }, lookAt: function (t, e, n) { var i = this.elements; return ( fi.subVectors(t, e), 0 === fi.lengthSq() && (fi.z = 1), fi.normalize(), pi.crossVectors(n, fi), 0 === pi.lengthSq() && (1 === Math.abs(n.z) ? (fi.x += 1e-4) : (fi.z += 1e-4), fi.normalize(), pi.crossVectors(n, fi)), pi.normalize(), hi.crossVectors(fi, pi), (i[0] = pi.x), (i[4] = hi.x), (i[8] = fi.x), (i[1] = pi.y), (i[5] = hi.y), (i[9] = fi.y), (i[2] = pi.z), (i[6] = hi.z), (i[10] = fi.z), this ); }, multiply: function (t, e) { return void 0 !== e ? (console.warn('THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.'), this.multiplyMatrices(t, e)) : this.multiplyMatrices(this, t); }, premultiply: function (t) { return this.multiplyMatrices(t, this); }, multiplyMatrices: function (t, e) { var n = t.elements, i = e.elements, r = this.elements, o = n[0], a = n[4], s = n[8], c = n[12], l = n[1], u = n[5], d = n[9], p = n[13], h = n[2], f = n[6], m = n[10], g = n[14], v = n[3], y = n[7], b = n[11], w = n[15], S = i[0], x = i[4], M = i[8], E = i[12], C = i[1], A = i[5], T = i[9], O = i[13], _ = i[2], P = i[6], I = i[10], k = i[14], D = i[3], R = i[7], L = i[11], N = i[15]; return ( (r[0] = o * S + a * C + s * _ + c * D), (r[4] = o * x + a * A + s * P + c * R), (r[8] = o * M + a * T + s * I + c * L), (r[12] = o * E + a * O + s * k + c * N), (r[1] = l * S + u * C + d * _ + p * D), (r[5] = l * x + u * A + d * P + p * R), (r[9] = l * M + u * T + d * I + p * L), (r[13] = l * E + u * O + d * k + p * N), (r[2] = h * S + f * C + m * _ + g * D), (r[6] = h * x + f * A + m * P + g * R), (r[10] = h * M + f * T + m * I + g * L), (r[14] = h * E + f * O + m * k + g * N), (r[3] = v * S + y * C + b * _ + w * D), (r[7] = v * x + y * A + b * P + w * R), (r[11] = v * M + y * T + b * I + w * L), (r[15] = v * E + y * O + b * k + w * N), this ); }, multiplyScalar: function (t) { var e = this.elements; return ( (e[0] *= t), (e[4] *= t), (e[8] *= t), (e[12] *= t), (e[1] *= t), (e[5] *= t), (e[9] *= t), (e[13] *= t), (e[2] *= t), (e[6] *= t), (e[10] *= t), (e[14] *= t), (e[3] *= t), (e[7] *= t), (e[11] *= t), (e[15] *= t), this ); }, determinant: function () { var t = this.elements, e = t[0], n = t[4], i = t[8], r = t[12], o = t[1], a = t[5], s = t[9], c = t[13], l = t[2], u = t[6], d = t[10], p = t[14]; return ( t[3] * (+r * s * u - i * c * u - r * a * d + n * c * d + i * a * p - n * s * p) + t[7] * (+e * s * p - e * c * d + r * o * d - i * o * p + i * c * l - r * s * l) + t[11] * (+e * c * u - e * a * p - r * o * u + n * o * p + r * a * l - n * c * l) + t[15] * (-i * a * l - e * s * u + e * a * d + i * o * u - n * o * d + n * s * l) ); }, transpose: function () { var t, e = this.elements; return ( (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), this ); }, setPosition: function (t, e, n) { var i = this.elements; return t.isVector3 ? ((i[12] = t.x), (i[13] = t.y), (i[14] = t.z)) : ((i[12] = t), (i[13] = e), (i[14] = n)), this; }, getInverse: function (t, e) { void 0 !== e && console.warn('THREE.Matrix4: .getInverse() can no longer be configured to throw on degenerate.'); var n = this.elements, i = t.elements, r = i[0], o = i[1], a = i[2], s = i[3], c = i[4], l = i[5], u = i[6], d = i[7], p = i[8], h = i[9], f = i[10], m = i[11], g = i[12], v = i[13], y = i[14], b = i[15], w = h * y * d - v * f * d + v * u * m - l * y * m - h * u * b + l * f * b, S = g * f * d - p * y * d - g * u * m + c * y * m + p * u * b - c * f * b, x = p * v * d - g * h * d + g * l * m - c * v * m - p * l * b + c * h * b, M = g * h * u - p * v * u - g * l * f + c * v * f + p * l * y - c * h * y, E = r * w + o * S + a * x + s * M; if (0 === E) return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); var C = 1 / E; return ( (n[0] = w * C), (n[1] = (v * f * s - h * y * s - v * a * m + o * y * m + h * a * b - o * f * b) * C), (n[2] = (l * y * s - v * u * s + v * a * d - o * y * d - l * a * b + o * u * b) * C), (n[3] = (h * u * s - l * f * s - h * a * d + o * f * d + l * a * m - o * u * m) * C), (n[4] = S * C), (n[5] = (p * y * s - g * f * s + g * a * m - r * y * m - p * a * b + r * f * b) * C), (n[6] = (g * u * s - c * y * s - g * a * d + r * y * d + c * a * b - r * u * b) * C), (n[7] = (c * f * s - p * u * s + p * a * d - r * f * d - c * a * m + r * u * m) * C), (n[8] = x * C), (n[9] = (g * h * s - p * v * s - g * o * m + r * v * m + p * o * b - r * h * b) * C), (n[10] = (c * v * s - g * l * s + g * o * d - r * v * d - c * o * b + r * l * b) * C), (n[11] = (p * l * s - c * h * s - p * o * d + r * h * d + c * o * m - r * l * m) * C), (n[12] = M * C), (n[13] = (p * v * a - g * h * a + g * o * f - r * v * f - p * o * y + r * h * y) * C), (n[14] = (g * l * a - c * v * a - g * o * u + r * v * u + c * o * y - r * l * y) * C), (n[15] = (c * h * a - p * l * a + p * o * u - r * h * u - c * o * f + r * l * f) * C), this ); }, scale: function (t) { var e = this.elements, n = t.x, i = t.y, r = t.z; return (e[0] *= n), (e[4] *= i), (e[8] *= r), (e[1] *= n), (e[5] *= i), (e[9] *= r), (e[2] *= n), (e[6] *= i), (e[10] *= r), (e[3] *= n), (e[7] *= i), (e[11] *= r), this; }, getMaxScaleOnAxis: function () { var t = this.elements, e = t[0] * t[0] + t[1] * t[1] + t[2] * t[2], n = t[4] * t[4] + t[5] * t[5] + t[6] * t[6], i = t[8] * t[8] + t[9] * t[9] + t[10] * t[10]; return Math.sqrt(Math.max(e, n, i)); }, makeTranslation: function (t, e, n) { return this.set(1, 0, 0, t, 0, 1, 0, e, 0, 0, 1, n, 0, 0, 0, 1), this; }, makeRotationX: function (t) { var e = Math.cos(t), n = Math.sin(t); return this.set(1, 0, 0, 0, 0, e, -n, 0, 0, n, e, 0, 0, 0, 0, 1), this; }, makeRotationY: function (t) { var e = Math.cos(t), n = Math.sin(t); return this.set(e, 0, n, 0, 0, 1, 0, 0, -n, 0, e, 0, 0, 0, 0, 1), this; }, makeRotationZ: function (t) { var e = Math.cos(t), n = Math.sin(t); return this.set(e, -n, 0, 0, n, e, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1), this; }, makeRotationAxis: function (t, e) { var n = Math.cos(e), i = Math.sin(e), r = 1 - n, o = t.x, a = t.y, s = t.z, c = r * o, l = r * a; return this.set(c * o + n, c * a - i * s, c * s + i * a, 0, c * a + i * s, l * a + n, l * s - i * o, 0, c * s - i * a, l * s + i * o, r * s * s + n, 0, 0, 0, 0, 1), this; }, makeScale: function (t, e, n) { return this.set(t, 0, 0, 0, 0, e, 0, 0, 0, 0, n, 0, 0, 0, 0, 1), this; }, makeShear: function (t, e, n) { return this.set(1, e, n, 0, t, 1, n, 0, t, e, 1, 0, 0, 0, 0, 1), this; }, compose: function (t, e, n) { var i = this.elements, r = e._x, o = e._y, a = e._z, s = e._w, c = r + r, l = o + o, u = a + a, d = r * c, p = r * l, h = r * u, f = o * l, m = o * u, g = a * u, v = s * c, y = s * l, b = s * u, w = n.x, S = n.y, x = n.z; return ( (i[0] = (1 - (f + g)) * w), (i[1] = (p + b) * w), (i[2] = (h - y) * w), (i[3] = 0), (i[4] = (p - b) * S), (i[5] = (1 - (d + g)) * S), (i[6] = (m + v) * S), (i[7] = 0), (i[8] = (h + y) * x), (i[9] = (m - v) * x), (i[10] = (1 - (d + f)) * x), (i[11] = 0), (i[12] = t.x), (i[13] = t.y), (i[14] = t.z), (i[15] = 1), this ); }, decompose: function (t, e, n) { var i = this.elements, r = ci.set(i[0], i[1], i[2]).length(), o = ci.set(i[4], i[5], i[6]).length(), a = ci.set(i[8], i[9], i[10]).length(); this.determinant() < 0 && (r = -r), (t.x = i[12]), (t.y = i[13]), (t.z = i[14]), li.copy(this); var s = 1 / r, c = 1 / o, l = 1 / a; return ( (li.elements[0] *= s), (li.elements[1] *= s), (li.elements[2] *= s), (li.elements[4] *= c), (li.elements[5] *= c), (li.elements[6] *= c), (li.elements[8] *= l), (li.elements[9] *= l), (li.elements[10] *= l), e.setFromRotationMatrix(li), (n.x = r), (n.y = o), (n.z = a), this ); }, makePerspective: function (t, e, n, i, r, o) { void 0 === o && console.warn('THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.'); var a = this.elements, s = (2 * r) / (e - t), c = (2 * r) / (n - i), l = (e + t) / (e - t), u = (n + i) / (n - i), d = -(o + r) / (o - r), p = (-2 * o * r) / (o - r); return ( (a[0] = s), (a[4] = 0), (a[8] = l), (a[12] = 0), (a[1] = 0), (a[5] = c), (a[9] = u), (a[13] = 0), (a[2] = 0), (a[6] = 0), (a[10] = d), (a[14] = p), (a[3] = 0), (a[7] = 0), (a[11] = -1), (a[15] = 0), this ); }, makeOrthographic: function (t, e, n, i, r, o) { var a = this.elements, s = 1 / (e - t), c = 1 / (n - i), l = 1 / (o - r), u = (e + t) * s, d = (n + i) * c, p = (o + r) * l; return ( (a[0] = 2 * s), (a[4] = 0), (a[8] = 0), (a[12] = -u), (a[1] = 0), (a[5] = 2 * c), (a[9] = 0), (a[13] = -d), (a[2] = 0), (a[6] = 0), (a[10] = -2 * l), (a[14] = -p), (a[3] = 0), (a[7] = 0), (a[11] = 0), (a[15] = 1), this ); }, equals: function (t) { for (var e = this.elements, n = t.elements, i = 0; i < 16; i++) if (e[i] !== n[i]) return !1; return !0; }, fromArray: function (t, e) { void 0 === e && (e = 0); for (var n = 0; n < 16; n++) this.elements[n] = t[n + e]; return this; }, toArray: function (t, e) { void 0 === t && (t = []), void 0 === e && (e = 0); var n = this.elements; return ( (t[e] = n[0]), (t[e + 1] = n[1]), (t[e + 2] = n[2]), (t[e + 3] = n[3]), (t[e + 4] = n[4]), (t[e + 5] = n[5]), (t[e + 6] = n[6]), (t[e + 7] = n[7]), (t[e + 8] = n[8]), (t[e + 9] = n[9]), (t[e + 10] = n[10]), (t[e + 11] = n[11]), (t[e + 12] = n[12]), (t[e + 13] = n[13]), (t[e + 14] = n[14]), (t[e + 15] = n[15]), t ); }, }); var gi = new mi(), vi = new ri(); function yi(t, e, n, i) { (this._x = t || 0), (this._y = e || 0), (this._z = n || 0), (this._order = i || yi.DefaultOrder); } function bi() { this.mask = 1; } (yi.RotationOrders = ['XYZ', 'YZX', 'ZXY', 'XZY', 'YXZ', 'ZYX']), (yi.DefaultOrder = 'XYZ'), Object.defineProperties(yi.prototype, { x: { get: function () { return this._x; }, set: function (t) { (this._x = t), this._onChangeCallback(); }, }, y: { get: function () { return this._y; }, set: function (t) { (this._y = t), this._onChangeCallback(); }, }, z: { get: function () { return this._z; }, set: function (t) { (this._z = t), this._onChangeCallback(); }, }, order: { get: function () { return this._order; }, set: function (t) { (this._order = t), this._onChangeCallback(); }, }, }), Object.assign(yi.prototype, { isEuler: !0, set: function (t, e, n, i) { return (this._x = t), (this._y = e), (this._z = n), (this._order = i || this._order), this._onChangeCallback(), this; }, clone: function () { return new this.constructor(this._x, this._y, this._z, this._order); }, copy: function (t) { return (this._x = t._x), (this._y = t._y), (this._z = t._z), (this._order = t._order), this._onChangeCallback(), this; }, setFromRotationMatrix: function (t, e, n) { var i = Kn.clamp, r = t.elements, o = r[0], a = r[4], s = r[8], c = r[1], l = r[5], u = r[9], d = r[2], p = r[6], h = r[10]; return ( 'XYZ' === (e = e || this._order) ? ((this._y = Math.asin(i(s, -1, 1))), Math.abs(s) < 0.9999999 ? ((this._x = Math.atan2(-u, h)), (this._z = Math.atan2(-a, o))) : ((this._x = Math.atan2(p, l)), (this._z = 0))) : 'YXZ' === e ? ((this._x = Math.asin(-i(u, -1, 1))), Math.abs(u) < 0.9999999 ? ((this._y = Math.atan2(s, h)), (this._z = Math.atan2(c, l))) : ((this._y = Math.atan2(-d, o)), (this._z = 0))) : 'ZXY' === e ? ((this._x = Math.asin(i(p, -1, 1))), Math.abs(p) < 0.9999999 ? ((this._y = Math.atan2(-d, h)), (this._z = Math.atan2(-a, l))) : ((this._y = 0), (this._z = Math.atan2(c, o)))) : 'ZYX' === e ? ((this._y = Math.asin(-i(d, -1, 1))), Math.abs(d) < 0.9999999 ? ((this._x = Math.atan2(p, h)), (this._z = Math.atan2(c, o))) : ((this._x = 0), (this._z = Math.atan2(-a, l)))) : 'YZX' === e ? ((this._z = Math.asin(i(c, -1, 1))), Math.abs(c) < 0.9999999 ? ((this._x = Math.atan2(-u, l)), (this._y = Math.atan2(-d, o))) : ((this._x = 0), (this._y = Math.atan2(s, h)))) : 'XZY' === e ? ((this._z = Math.asin(-i(a, -1, 1))), Math.abs(a) < 0.9999999 ? ((this._x = Math.atan2(p, l)), (this._y = Math.atan2(s, o))) : ((this._x = Math.atan2(-u, h)), (this._y = 0))) : console.warn('THREE.Euler: .setFromRotationMatrix() given unsupported order: ' + e), (this._order = e), !1 !== n && this._onChangeCallback(), this ); }, setFromQuaternion: function (t, e, n) { return gi.makeRotationFromQuaternion(t), this.setFromRotationMatrix(gi, e, n); }, setFromVector3: function (t, e) { return this.set(t.x, t.y, t.z, e || this._order); }, reorder: function (t) { return vi.setFromEuler(this), this.setFromQuaternion(vi, t); }, equals: function (t) { return t._x === this._x && t._y === this._y && t._z === this._z && t._order === this._order; }, fromArray: function (t) { return (this._x = t[0]), (this._y = t[1]), (this._z = t[2]), void 0 !== t[3] && (this._order = t[3]), this._onChangeCallback(), this; }, toArray: function (t, e) { return void 0 === t && (t = []), void 0 === e && (e = 0), (t[e] = this._x), (t[e + 1] = this._y), (t[e + 2] = this._z), (t[e + 3] = this._order), t; }, toVector3: function (t) { return t ? t.set(this._x, this._y, this._z) : new si(this._x, this._y, this._z); }, _onChange: function (t) { return (this._onChangeCallback = t), this; }, _onChangeCallback: function () {}, }), Object.assign(bi.prototype, { set: function (t) { this.mask = (1 << t) | 0; }, enable: function (t) { this.mask |= (1 << t) | 0; }, enableAll: function () { this.mask = -1; }, toggle: function (t) { this.mask ^= (1 << t) | 0; }, disable: function (t) { this.mask &= ~((1 << t) | 0); }, disableAll: function () { this.mask = 0; }, test: function (t) { return 0 != (this.mask & t.mask); }, }); var wi = 0, Si = new si(), xi = new ri(), Mi = new mi(), Ei = new si(), Ci = new si(), Ai = new si(), Ti = new ri(), Oi = new si(1, 0, 0), _i = new si(0, 1, 0), Pi = new si(0, 0, 1), Ii = { type: 'added', }, ki = { type: 'removed', }; function Di() { Object.defineProperty(this, 'id', { value: wi++, }), (this.uuid = Kn.generateUUID()), (this.name = ''), (this.type = 'Object3D'), (this.parent = null), (this.children = []), (this.up = Di.DefaultUp.clone()); var t = new si(), e = new yi(), n = new ri(), i = new si(1, 1, 1); e._onChange(function () { n.setFromEuler(e, !1); }), n._onChange(function () { e.setFromQuaternion(n, void 0, !1); }), Object.defineProperties(this, { position: { configurable: !0, enumerable: !0, value: t, }, rotation: { configurable: !0, enumerable: !0, value: e, }, quaternion: { configurable: !0, enumerable: !0, value: n, }, scale: { configurable: !0, enumerable: !0, value: i, }, modelViewMatrix: { value: new mi(), }, normalMatrix: { value: new Jn(), }, }), (this.matrix = new mi()), (this.matrixWorld = new mi()), (this.matrixAutoUpdate = Di.DefaultMatrixAutoUpdate), (this.matrixWorldNeedsUpdate = !1), (this.layers = new bi()), (this.visible = !0), (this.castShadow = !1), (this.receiveShadow = !1), (this.frustumCulled = !0), (this.renderOrder = 0), (this.userData = {}); } function Ri() { Di.call(this), (this.type = 'Scene'), (this.background = null), (this.environment = null), (this.fog = null), (this.overrideMaterial = null), (this.autoUpdate = !0), 'undefined' != typeof __THREE_DEVTOOLS__ && __THREE_DEVTOOLS__.dispatchEvent( new CustomEvent('observe', { detail: this, }) ); } (Di.DefaultUp = new si(0, 1, 0)), (Di.DefaultMatrixAutoUpdate = !0), (Di.prototype = Object.assign(Object.create(Wn.prototype), { constructor: Di, isObject3D: !0, onBeforeRender: function () {}, onAfterRender: function () {}, applyMatrix4: function (t) { this.matrixAutoUpdate && this.updateMatrix(), this.matrix.premultiply(t), this.matrix.decompose(this.position, this.quaternion, this.scale); }, applyQuaternion: function (t) { return this.quaternion.premultiply(t), this; }, setRotationFromAxisAngle: function (t, e) { this.quaternion.setFromAxisAngle(t, e); }, setRotationFromEuler: function (t) { this.quaternion.setFromEuler(t, !0); }, setRotationFromMatrix: function (t) { this.quaternion.setFromRotationMatrix(t); }, setRotationFromQuaternion: function (t) { this.quaternion.copy(t); }, rotateOnAxis: function (t, e) { return xi.setFromAxisAngle(t, e), this.quaternion.multiply(xi), this; }, rotateOnWorldAxis: function (t, e) { return xi.setFromAxisAngle(t, e), this.quaternion.premultiply(xi), this; }, rotateX: function (t) { return this.rotateOnAxis(Oi, t); }, rotateY: function (t) { return this.rotateOnAxis(_i, t); }, rotateZ: function (t) { return this.rotateOnAxis(Pi, t); }, translateOnAxis: function (t, e) { return Si.copy(t).applyQuaternion(this.quaternion), this.position.add(Si.multiplyScalar(e)), this; }, translateX: function (t) { return this.translateOnAxis(Oi, t); }, translateY: function (t) { return this.translateOnAxis(_i, t); }, translateZ: function (t) { return this.translateOnAxis(Pi, t); }, localToWorld: function (t) { return t.applyMatrix4(this.matrixWorld); }, worldToLocal: function (t) { return t.applyMatrix4(Mi.getInverse(this.matrixWorld)); }, lookAt: function (t, e, n) { t.isVector3 ? Ei.copy(t) : Ei.set(t, e, n); var i = this.parent; this.updateWorldMatrix(!0, !1), Ci.setFromMatrixPosition(this.matrixWorld), this.isCamera || this.isLight ? Mi.lookAt(Ci, Ei, this.up) : Mi.lookAt(Ei, Ci, this.up), this.quaternion.setFromRotationMatrix(Mi), i && (Mi.extractRotation(i.matrixWorld), xi.setFromRotationMatrix(Mi), this.quaternion.premultiply(xi.inverse())); }, add: function (t) { if (arguments.length > 1) { for (var e = 0; e < arguments.length; e++) this.add(arguments[e]); return this; } return t === this ? (console.error("THREE.Object3D.add: object can't be added as a child of itself.", t), this) : (t && t.isObject3D ? (null !== t.parent && t.parent.remove(t), (t.parent = this), this.children.push(t), t.dispatchEvent(Ii)) : console.error('THREE.Object3D.add: object not an instance of THREE.Object3D.', t), this); }, remove: function (t) { if (arguments.length > 1) { for (var e = 0; e < arguments.length; e++) this.remove(arguments[e]); return this; } var n = this.children.indexOf(t); return -1 !== n && ((t.parent = null), this.children.splice(n, 1), t.dispatchEvent(ki)), this; }, attach: function (t) { return ( this.updateWorldMatrix(!0, !1), Mi.getInverse(this.matrixWorld), null !== t.parent && (t.parent.updateWorldMatrix(!0, !1), Mi.multiply(t.parent.matrixWorld)), t.applyMatrix4(Mi), t.updateWorldMatrix(!1, !1), this.add(t), this ); }, getObjectById: function (t) { return this.getObjectByProperty('id', t); }, getObjectByName: function (t) { return this.getObjectByProperty('name', t); }, getObjectByProperty: function (t, e) { if (this[t] === e) return this; for (var n = 0, i = this.children.length; n < i; n++) { var r = this.children[n].getObjectByProperty(t, e); if (void 0 !== r) return r; } }, getWorldPosition: function (t) { return void 0 === t && (console.warn('THREE.Object3D: .getWorldPosition() target is now required'), (t = new si())), this.updateMatrixWorld(!0), t.setFromMatrixPosition(this.matrixWorld); }, getWorldQuaternion: function (t) { return void 0 === t && (console.warn('THREE.Object3D: .getWorldQuaternion() target is now required'), (t = new ri())), this.updateMatrixWorld(!0), this.matrixWorld.decompose(Ci, t, Ai), t; }, getWorldScale: function (t) { return void 0 === t && (console.warn('THREE.Object3D: .getWorldScale() target is now required'), (t = new si())), this.updateMatrixWorld(!0), this.matrixWorld.decompose(Ci, Ti, t), t; }, getWorldDirection: function (t) { void 0 === t && (console.warn('THREE.Object3D: .getWorldDirection() target is now required'), (t = new si())), this.updateMatrixWorld(!0); var e = this.matrixWorld.elements; return t.set(e[8], e[9], e[10]).normalize(); }, raycast: function () {}, traverse: function (t) { t(this); for (var e = this.children, n = 0, i = e.length; n < i; n++) e[n].traverse(t); }, traverseVisible: function (t) { if (!1 !== this.visible) { t(this); for (var e = this.children, n = 0, i = e.length; n < i; n++) e[n].traverseVisible(t); } }, traverseAncestors: function (t) { var e = this.parent; null !== e && (t(e), e.traverseAncestors(t)); }, updateMatrix: function () { this.matrix.compose(this.position, this.quaternion, this.scale), (this.matrixWorldNeedsUpdate = !0); }, updateMatrixWorld: function (t) { this.matrixAutoUpdate && this.updateMatrix(), (this.matrixWorldNeedsUpdate || t) && (null === this.parent ? this.matrixWorld.copy(this.matrix) : this.matrixWorld.multiplyMatrices(this.parent.matrixWorld, this.matrix), (this.matrixWorldNeedsUpdate = !1), (t = !0)); for (var e = this.children, n = 0, i = e.length; n < i; n++) e[n].updateMatrixWorld(t); }, updateWorldMatrix: function (t, e) { var n = this.parent; if ( (!0 === t && null !== n && n.updateWorldMatrix(!0, !1), this.matrixAutoUpdate && this.updateMatrix(), null === this.parent ? this.matrixWorld.copy(this.matrix) : this.matrixWorld.multiplyMatrices(this.parent.matrixWorld, this.matrix), !0 === e) ) for (var i = this.children, r = 0, o = i.length; r < o; r++) i[r].updateWorldMatrix(!1, !0); }, toJSON: function (t) { var e = void 0 === t || 'string' == typeof t, n = {}; e && ((t = { geometries: {}, materials: {}, textures: {}, images: {}, shapes: {}, }), (n.metadata = { version: 4.5, type: 'Object', generator: 'Object3D.toJSON', })); var i = {}; function r(e, n) { return void 0 === e[n.uuid] && (e[n.uuid] = n.toJSON(t)), n.uuid; } if ( ((i.uuid = this.uuid), (i.type = this.type), '' !== this.name && (i.name = this.name), !0 === this.castShadow && (i.castShadow = !0), !0 === this.receiveShadow && (i.receiveShadow = !0), !1 === this.visible && (i.visible = !1), !1 === this.frustumCulled && (i.frustumCulled = !1), 0 !== this.renderOrder && (i.renderOrder = this.renderOrder), '{}' !== JSON.stringify(this.userData) && (i.userData = this.userData), (i.layers = this.layers.mask), (i.matrix = this.matrix.toArray()), !1 === this.matrixAutoUpdate && (i.matrixAutoUpdate = !1), this.isInstancedMesh && ((i.type = 'InstancedMesh'), (i.count = this.count), (i.instanceMatrix = this.instanceMatrix.toJSON())), this.isMesh || this.isLine || this.isPoints) ) { i.geometry = r(t.geometries, this.geometry); var o = this.geometry.parameters; if (void 0 !== o && void 0 !== o.shapes) { var a = o.shapes; if (Array.isArray(a)) for (var s = 0, c = a.length; s < c; s++) { var l = a[s]; r(t.shapes, l); } else r(t.shapes, a); } } if (void 0 !== this.material) if (Array.isArray(this.material)) { var u = []; for (s = 0, c = this.material.length; s < c; s++) u.push(r(t.materials, this.material[s])); i.material = u; } else i.material = r(t.materials, this.material); if (this.children.length > 0) { i.children = []; for (s = 0; s < this.children.length; s++) i.children.push(this.children[s].toJSON(t).object); } if (e) { var d = m(t.geometries), p = m(t.materials), h = m(t.textures), f = m(t.images); a = m(t.shapes); d.length > 0 && (n.geometries = d), p.length > 0 && (n.materials = p), h.length > 0 && (n.textures = h), f.length > 0 && (n.images = f), a.length > 0 && (n.shapes = a); } return (n.object = i), n; function m(t) { var e = []; for (var n in t) { var i = t[n]; delete i.metadata, e.push(i); } return e; } }, clone: function (t) { return new this.constructor().copy(this, t); }, copy: function (t, e) { if ( (void 0 === e && (e = !0), (this.name = t.name), this.up.copy(t.up), this.position.copy(t.position), this.quaternion.copy(t.quaternion), this.scale.copy(t.scale), this.matrix.copy(t.matrix), this.matrixWorld.copy(t.matrixWorld), (this.matrixAutoUpdate = t.matrixAutoUpdate), (this.matrixWorldNeedsUpdate = t.matrixWorldNeedsUpdate), (this.layers.mask = t.layers.mask), (this.visible = t.visible), (this.castShadow = t.castShadow), (this.receiveShadow = t.receiveShadow), (this.frustumCulled = t.frustumCulled), (this.renderOrder = t.renderOrder), (this.userData = JSON.parse(JSON.stringify(t.userData))), !0 === e) ) for (var n = 0; n < t.children.length; n++) { var i = t.children[n]; this.add(i.clone()); } return this; }, })), (Ri.prototype = Object.assign(Object.create(Di.prototype), { constructor: Ri, isScene: !0, copy: function (t, e) { return ( Di.prototype.copy.call(this, t, e), null !== t.background && (this.background = t.background.clone()), null !== t.environment && (this.environment = t.environment.clone()), null !== t.fog && (this.fog = t.fog.clone()), null !== t.overrideMaterial && (this.overrideMaterial = t.overrideMaterial.clone()), (this.autoUpdate = t.autoUpdate), (this.matrixAutoUpdate = t.matrixAutoUpdate), this ); }, toJSON: function (t) { var e = Di.prototype.toJSON.call(this, t); return ( null !== this.background && (e.object.background = this.background.toJSON(t)), null !== this.environment && (e.object.environment = this.environment.toJSON(t)), null !== this.fog && (e.object.fog = this.fog.toJSON()), e ); }, dispose: function () { this.dispatchEvent({ type: 'dispose', }); }, })); var Li = [new si(), new si(), new si(), new si(), new si(), new si(), new si(), new si()], Ni = new si(), ji = new Yi(), Vi = new si(), Fi = new si(), Ui = new si(), Bi = new si(), zi = new si(), Gi = new si(), Hi = new si(), Wi = new si(), qi = new si(), Xi = new si(); function Yi(t, e) { (this.min = void 0 !== t ? t : new si(1 / 0, 1 / 0, 1 / 0)), (this.max = void 0 !== e ? e : new si(-1 / 0, -1 / 0, -1 / 0)); } function Ki(t, e, n, i, r) { var o, a; for (o = 0, a = t.length - 3; o <= a; o += 3) { Xi.fromArray(t, o); var s = r.x * Math.abs(Xi.x) + r.y * Math.abs(Xi.y) + r.z * Math.abs(Xi.z), c = e.dot(Xi), l = n.dot(Xi), u = i.dot(Xi); if (Math.max(-Math.max(c, l, u), Math.min(c, l, u)) > s) return !1; } return !0; } Object.assign(Yi.prototype, { isBox3: !0, set: function (t, e) { return this.min.copy(t), this.max.copy(e), this; }, setFromArray: function (t) { for (var e = 1 / 0, n = 1 / 0, i = 1 / 0, r = -1 / 0, o = -1 / 0, a = -1 / 0, s = 0, c = t.length; s < c; s += 3) { var l = t[s], u = t[s + 1], d = t[s + 2]; l < e && (e = l), u < n && (n = u), d < i && (i = d), l > r && (r = l), u > o && (o = u), d > a && (a = d); } return this.min.set(e, n, i), this.max.set(r, o, a), this; }, setFromBufferAttribute: function (t) { for (var e = 1 / 0, n = 1 / 0, i = 1 / 0, r = -1 / 0, o = -1 / 0, a = -1 / 0, s = 0, c = t.count; s < c; s++) { var l = t.getX(s), u = t.getY(s), d = t.getZ(s); l < e && (e = l), u < n && (n = u), d < i && (i = d), l > r && (r = l), u > o && (o = u), d > a && (a = d); } return this.min.set(e, n, i), this.max.set(r, o, a), this; }, setFromPoints: function (t) { this.makeEmpty(); for (var e = 0, n = t.length; e < n; e++) this.expandByPoint(t[e]); return this; }, setFromCenterAndSize: function (t, e) { var n = Ni.copy(e).multiplyScalar(0.5); return this.min.copy(t).sub(n), this.max.copy(t).add(n), this; }, setFromObject: function (t) { return this.makeEmpty(), this.expandByObject(t); }, clone: function () { return new this.constructor().copy(this); }, copy: function (t) { return this.min.copy(t.min), this.max.copy(t.max), this; }, makeEmpty: function () { return (this.min.x = this.min.y = this.min.z = 1 / 0), (this.max.x = this.max.y = this.max.z = -1 / 0), this; }, isEmpty: function () { return this.max.x < this.min.x || this.max.y < this.min.y || this.max.z < this.min.z; }, getCenter: function (t) { return ( void 0 === t && (console.warn('THREE.Box3: .getCenter() target is now required'), (t = new si())), this.isEmpty() ? t.set(0, 0, 0) : t.addVectors(this.min, this.max).multiplyScalar(0.5) ); }, getSize: function (t) { return void 0 === t && (console.warn('THREE.Box3: .getSize() target is now required'), (t = new si())), this.isEmpty() ? t.set(0, 0, 0) : t.subVectors(this.max, this.min); }, expandByPoint: function (t) { return this.min.min(t), this.max.max(t), this; }, expandByVector: function (t) { return this.min.sub(t), this.max.add(t), this; }, expandByScalar: function (t) { return this.min.addScalar(-t), this.max.addScalar(t), this; }, expandByObject: function (t) { t.updateWorldMatrix(!1, !1); var e = t.geometry; void 0 !== e && (null === e.boundingBox && e.computeBoundingBox(), ji.copy(e.boundingBox), ji.applyMatrix4(t.matrixWorld), this.union(ji)); for (var n = t.children, i = 0, r = n.length; i < r; i++) this.expandByObject(n[i]); return this; }, containsPoint: function (t) { return !(t.x < this.min.x || t.x > this.max.x || t.y < this.min.y || t.y > this.max.y || t.z < this.min.z || t.z > this.max.z); }, containsBox: function (t) { return this.min.x <= t.min.x && t.max.x <= this.max.x && this.min.y <= t.min.y && t.max.y <= this.max.y && this.min.z <= t.min.z && t.max.z <= this.max.z; }, getParameter: function (t, e) { return ( void 0 === e && (console.warn('THREE.Box3: .getParameter() target is now required'), (e = new si())), e.set((t.x - this.min.x) / (this.max.x - this.min.x), (t.y - this.min.y) / (this.max.y - this.min.y), (t.z - this.min.z) / (this.max.z - this.min.z)) ); }, intersectsBox: function (t) { return !(t.max.x < this.min.x || t.min.x > this.max.x || t.max.y < this.min.y || t.min.y > this.max.y || t.max.z < this.min.z || t.min.z > this.max.z); }, intersectsSphere: function (t) { return this.clampPoint(t.center, Ni), Ni.distanceToSquared(t.center) <= t.radius * t.radius; }, intersectsPlane: function (t) { var e, n; return ( t.normal.x > 0 ? ((e = t.normal.x * this.min.x), (n = t.normal.x * this.max.x)) : ((e = t.normal.x * this.max.x), (n = t.normal.x * this.min.x)), t.normal.y > 0 ? ((e += t.normal.y * this.min.y), (n += t.normal.y * this.max.y)) : ((e += t.normal.y * this.max.y), (n += t.normal.y * this.min.y)), t.normal.z > 0 ? ((e += t.normal.z * this.min.z), (n += t.normal.z * this.max.z)) : ((e += t.normal.z * this.max.z), (n += t.normal.z * this.min.z)), e <= -t.constant && n >= -t.constant ); }, intersectsTriangle: function (t) { if (this.isEmpty()) return !1; this.getCenter(Hi), Wi.subVectors(this.max, Hi), Vi.subVectors(t.a, Hi), Fi.subVectors(t.b, Hi), Ui.subVectors(t.c, Hi), Bi.subVectors(Fi, Vi), zi.subVectors(Ui, Fi), Gi.subVectors(Vi, Ui); var e = [0, -Bi.z, Bi.y, 0, -zi.z, zi.y, 0, -Gi.z, Gi.y, Bi.z, 0, -Bi.x, zi.z, 0, -zi.x, Gi.z, 0, -Gi.x, -Bi.y, Bi.x, 0, -zi.y, zi.x, 0, -Gi.y, Gi.x, 0]; return !!Ki(e, Vi, Fi, Ui, Wi) && !!Ki((e = [1, 0, 0, 0, 1, 0, 0, 0, 1]), Vi, Fi, Ui, Wi) && (qi.crossVectors(Bi, zi), Ki((e = [qi.x, qi.y, qi.z]), Vi, Fi, Ui, Wi)); }, clampPoint: function (t, e) { return void 0 === e && (console.warn('THREE.Box3: .clampPoint() target is now required'), (e = new si())), e.copy(t).clamp(this.min, this.max); }, distanceToPoint: function (t) { return Ni.copy(t).clamp(this.min, this.max).sub(t).length(); }, getBoundingSphere: function (t) { return void 0 === t && console.error('THREE.Box3: .getBoundingSphere() target is now required'), this.getCenter(t.center), (t.radius = 0.5 * this.getSize(Ni).length()), t; }, intersect: function (t) { return this.min.max(t.min), this.max.min(t.max), this.isEmpty() && this.makeEmpty(), this; }, union: function (t) { return this.min.min(t.min), this.max.max(t.max), this; }, applyMatrix4: function (t) { return ( this.isEmpty() || (Li[0].set(this.min.x, this.min.y, this.min.z).applyMatrix4(t), Li[1].set(this.min.x, this.min.y, this.max.z).applyMatrix4(t), Li[2].set(this.min.x, this.max.y, this.min.z).applyMatrix4(t), Li[3].set(this.min.x, this.max.y, this.max.z).applyMatrix4(t), Li[4].set(this.max.x, this.min.y, this.min.z).applyMatrix4(t), Li[5].set(this.max.x, this.min.y, this.max.z).applyMatrix4(t), Li[6].set(this.max.x, this.max.y, this.min.z).applyMatrix4(t), Li[7].set(this.max.x, this.max.y, this.max.z).applyMatrix4(t), this.setFromPoints(Li)), this ); }, translate: function (t) { return this.min.add(t), this.max.add(t), this; }, equals: function (t) { return t.min.equals(this.min) && t.max.equals(this.max); }, }); var Zi = new Yi(); function Ji(t, e) { (this.center = void 0 !== t ? t : new si()), (this.radius = void 0 !== e ? e : 0); } Object.assign(Ji.prototype, { set: function (t, e) { return this.center.copy(t), (this.radius = e), this; }, setFromPoints: function (t, e) { var n = this.center; void 0 !== e ? n.copy(e) : Zi.setFromPoints(t).getCenter(n); for (var i = 0, r = 0, o = t.length; r < o; r++) i = Math.max(i, n.distanceToSquared(t[r])); return (this.radius = Math.sqrt(i)), this; }, clone: function () { return new this.constructor().copy(this); }, copy: function (t) { return this.center.copy(t.center), (this.radius = t.radius), this; }, empty: function () { return this.radius <= 0; }, containsPoint: function (t) { return t.distanceToSquared(this.center) <= this.radius * this.radius; }, distanceToPoint: function (t) { return t.distanceTo(this.center) - this.radius; }, intersectsSphere: function (t) { var e = this.radius + t.radius; return t.center.distanceToSquared(this.center) <= e * e; }, intersectsBox: function (t) { return t.intersectsSphere(this); }, intersectsPlane: function (t) { return Math.abs(t.distanceToPoint(this.center)) <= this.radius; }, clampPoint: function (t, e) { var n = this.center.distanceToSquared(t); return ( void 0 === e && (console.warn('THREE.Sphere: .clampPoint() target is now required'), (e = new si())), e.copy(t), n > this.radius * this.radius && (e.sub(this.center).normalize(), e.multiplyScalar(this.radius).add(this.center)), e ); }, getBoundingBox: function (t) { return void 0 === t && (console.warn('THREE.Sphere: .getBoundingBox() target is now required'), (t = new Yi())), t.set(this.center, this.center), t.expandByScalar(this.radius), t; }, applyMatrix4: function (t) { return this.center.applyMatrix4(t), (this.radius = this.radius * t.getMaxScaleOnAxis()), this; }, translate: function (t) { return this.center.add(t), this; }, equals: function (t) { return t.center.equals(this.center) && t.radius === this.radius; }, }); var Qi = new si(), $i = new si(), tr = new si(), er = new si(), nr = new si(), ir = new si(), rr = new si(); function or(t, e) { (this.origin = void 0 !== t ? t : new si()), (this.direction = void 0 !== e ? e : new si(0, 0, -1)); } Object.assign(or.prototype, { set: function (t, e) { return this.origin.copy(t), this.direction.copy(e), this; }, clone: function () { return new this.constructor().copy(this); }, copy: function (t) { return this.origin.copy(t.origin), this.direction.copy(t.direction), this; }, at: function (t, e) { return void 0 === e && (console.warn('THREE.Ray: .at() target is now required'), (e = new si())), e.copy(this.direction).multiplyScalar(t).add(this.origin); }, lookAt: function (t) { return this.direction.copy(t).sub(this.origin).normalize(), this; }, recast: function (t) { return this.origin.copy(this.at(t, Qi)), this; }, closestPointToPoint: function (t, e) { void 0 === e && (console.warn('THREE.Ray: .closestPointToPoint() target is now required'), (e = new si())), e.subVectors(t, this.origin); var n = e.dot(this.direction); return n < 0 ? e.copy(this.origin) : e.copy(this.direction).multiplyScalar(n).add(this.origin); }, distanceToPoint: function (t) { return Math.sqrt(this.distanceSqToPoint(t)); }, distanceSqToPoint: function (t) { var e = Qi.subVectors(t, this.origin).dot(this.direction); return e < 0 ? this.origin.distanceToSquared(t) : (Qi.copy(this.direction).multiplyScalar(e).add(this.origin), Qi.distanceToSquared(t)); }, distanceSqToSegment: function (t, e, n, i) { $i.copy(t).add(e).multiplyScalar(0.5), tr.copy(e).sub(t).normalize(), er.copy(this.origin).sub($i); var r, o, a, s, c = 0.5 * t.distanceTo(e), l = -this.direction.dot(tr), u = er.dot(this.direction), d = -er.dot(tr), p = er.lengthSq(), h = Math.abs(1 - l * l); if (h > 0) if (((o = l * u - d), (s = c * h), (r = l * d - u) >= 0)) if (o >= -s) if (o <= s) { var f = 1 / h; a = (r *= f) * (r + l * (o *= f) + 2 * u) + o * (l * r + o + 2 * d) + p; } else (o = c), (a = -(r = Math.max(0, -(l * o + u))) * r + o * (o + 2 * d) + p); else (o = -c), (a = -(r = Math.max(0, -(l * o + u))) * r + o * (o + 2 * d) + p); else o <= -s ? (a = -(r = Math.max(0, -(-l * c + u))) * r + (o = r > 0 ? -c : Math.min(Math.max(-c, -d), c)) * (o + 2 * d) + p) : o <= s ? ((r = 0), (a = (o = Math.min(Math.max(-c, -d), c)) * (o + 2 * d) + p)) : (a = -(r = Math.max(0, -(l * c + u))) * r + (o = r > 0 ? c : Math.min(Math.max(-c, -d), c)) * (o + 2 * d) + p); else (o = l > 0 ? -c : c), (a = -(r = Math.max(0, -(l * o + u))) * r + o * (o + 2 * d) + p); return n && n.copy(this.direction).multiplyScalar(r).add(this.origin), i && i.copy(tr).multiplyScalar(o).add($i), a; }, intersectSphere: function (t, e) { Qi.subVectors(t.center, this.origin); var n = Qi.dot(this.direction), i = Qi.dot(Qi) - n * n, r = t.radius * t.radius; if (i > r) return null; var o = Math.sqrt(r - i), a = n - o, s = n + o; return a < 0 && s < 0 ? null : a < 0 ? this.at(s, e) : this.at(a, e); }, intersectsSphere: function (t) { return this.distanceSqToPoint(t.center) <= t.radius * t.radius; }, distanceToPlane: function (t) { var e = t.normal.dot(this.direction); if (0 === e) return 0 === t.distanceToPoint(this.origin) ? 0 : null; var n = -(this.origin.dot(t.normal) + t.constant) / e; return n >= 0 ? n : null; }, intersectPlane: function (t, e) { var n = this.distanceToPlane(t); return null === n ? null : this.at(n, e); }, intersectsPlane: function (t) { var e = t.distanceToPoint(this.origin); return 0 === e || t.normal.dot(this.direction) * e < 0; }, intersectBox: function (t, e) { var n, i, r, o, a, s, c = 1 / this.direction.x, l = 1 / this.direction.y, u = 1 / this.direction.z, d = this.origin; return ( c >= 0 ? ((n = (t.min.x - d.x) * c), (i = (t.max.x - d.x) * c)) : ((n = (t.max.x - d.x) * c), (i = (t.min.x - d.x) * c)), l >= 0 ? ((r = (t.min.y - d.y) * l), (o = (t.max.y - d.y) * l)) : ((r = (t.max.y - d.y) * l), (o = (t.min.y - d.y) * l)), n > o || r > i ? null : ((r > n || n != n) && (n = r), (o < i || i != i) && (i = o), u >= 0 ? ((a = (t.min.z - d.z) * u), (s = (t.max.z - d.z) * u)) : ((a = (t.max.z - d.z) * u), (s = (t.min.z - d.z) * u)), n > s || a > i ? null : ((a > n || n != n) && (n = a), (s < i || i != i) && (i = s), i < 0 ? null : this.at(n >= 0 ? n : i, e))) ); }, intersectsBox: function (t) { return null !== this.intersectBox(t, Qi); }, intersectTriangle: function (t, e, n, i, r) { nr.subVectors(e, t), ir.subVectors(n, t), rr.crossVectors(nr, ir); var o, a = this.direction.dot(rr); if (a > 0) { if (i) return null; o = 1; } else { if (!(a < 0)) return null; (o = -1), (a = -a); } er.subVectors(this.origin, t); var s = o * this.direction.dot(ir.crossVectors(er, ir)); if (s < 0) return null; var c = o * this.direction.dot(nr.cross(er)); if (c < 0) return null; if (s + c > a) return null; var l = -o * er.dot(rr); return l < 0 ? null : this.at(l / a, r); }, applyMatrix4: function (t) { return this.origin.applyMatrix4(t), this.direction.transformDirection(t), this; }, equals: function (t) { return t.origin.equals(this.origin) && t.direction.equals(this.direction); }, }); var ar = new si(), sr = new si(), cr = new Jn(); function lr(t, e) { (this.normal = void 0 !== t ? t : new si(1, 0, 0)), (this.constant = void 0 !== e ? e : 0); } Object.assign(lr.prototype, { isPlane: !0, set: function (t, e) { return this.normal.copy(t), (this.constant = e), this; }, setComponents: function (t, e, n, i) { return this.normal.set(t, e, n), (this.constant = i), this; }, setFromNormalAndCoplanarPoint: function (t, e) { return this.normal.copy(t), (this.constant = -e.dot(this.normal)), this; }, setFromCoplanarPoints: function (t, e, n) { var i = ar.subVectors(n, e).cross(sr.subVectors(t, e)).normalize(); return this.setFromNormalAndCoplanarPoint(i, t), this; }, clone: function () { return new this.constructor().copy(this); }, copy: function (t) { return this.normal.copy(t.normal), (this.constant = t.constant), this; }, normalize: function () { var t = 1 / this.normal.length(); return this.normal.multiplyScalar(t), (this.constant *= t), this; }, negate: function () { return (this.constant *= -1), this.normal.negate(), this; }, distanceToPoint: function (t) { return this.normal.dot(t) + this.constant; }, distanceToSphere: function (t) { return this.distanceToPoint(t.center) - t.radius; }, projectPoint: function (t, e) { return void 0 === e && (console.warn('THREE.Plane: .projectPoint() target is now required'), (e = new si())), e.copy(this.normal).multiplyScalar(-this.distanceToPoint(t)).add(t); }, intersectLine: function (t, e) { void 0 === e && (console.warn('THREE.Plane: .intersectLine() target is now required'), (e = new si())); var n = t.delta(ar), i = this.normal.dot(n); if (0 === i) return 0 === this.distanceToPoint(t.start) ? e.copy(t.start) : void 0; var r = -(t.start.dot(this.normal) + this.constant) / i; return r < 0 || r > 1 ? void 0 : e.copy(n).multiplyScalar(r).add(t.start); }, intersectsLine: function (t) { var e = this.distanceToPoint(t.start), n = this.distanceToPoint(t.end); return (e < 0 && n > 0) || (n < 0 && e > 0); }, intersectsBox: function (t) { return t.intersectsPlane(this); }, intersectsSphere: function (t) { return t.intersectsPlane(this); }, coplanarPoint: function (t) { return void 0 === t && (console.warn('THREE.Plane: .coplanarPoint() target is now required'), (t = new si())), t.copy(this.normal).multiplyScalar(-this.constant); }, applyMatrix4: function (t, e) { var n = e || cr.getNormalMatrix(t), i = this.coplanarPoint(ar).applyMatrix4(t), r = this.normal.applyMatrix3(n).normalize(); return (this.constant = -i.dot(r)), this; }, translate: function (t) { return (this.constant -= t.dot(this.normal)), this; }, equals: function (t) { return t.normal.equals(this.normal) && t.constant === this.constant; }, }); var ur = new si(), dr = new si(), pr = new si(), hr = new si(), fr = new si(), mr = new si(), gr = new si(), vr = new si(), yr = new si(), br = new si(); function wr(t, e, n) { (this.a = void 0 !== t ? t : new si()), (this.b = void 0 !== e ? e : new si()), (this.c = void 0 !== n ? n : new si()); } Object.assign(wr, { getNormal: function (t, e, n, i) { void 0 === i && (console.warn('THREE.Triangle: .getNormal() target is now required'), (i = new si())), i.subVectors(n, e), ur.subVectors(t, e), i.cross(ur); var r = i.lengthSq(); return r > 0 ? i.multiplyScalar(1 / Math.sqrt(r)) : i.set(0, 0, 0); }, getBarycoord: function (t, e, n, i, r) { ur.subVectors(i, e), dr.subVectors(n, e), pr.subVectors(t, e); var o = ur.dot(ur), a = ur.dot(dr), s = ur.dot(pr), c = dr.dot(dr), l = dr.dot(pr), u = o * c - a * a; if ((void 0 === r && (console.warn('THREE.Triangle: .getBarycoord() target is now required'), (r = new si())), 0 === u)) return r.set(-2, -1, -1); var d = 1 / u, p = (c * s - a * l) * d, h = (o * l - a * s) * d; return r.set(1 - p - h, h, p); }, containsPoint: function (t, e, n, i) { return wr.getBarycoord(t, e, n, i, hr), hr.x >= 0 && hr.y >= 0 && hr.x + hr.y <= 1; }, getUV: function (t, e, n, i, r, o, a, s) { return this.getBarycoord(t, e, n, i, hr), s.set(0, 0), s.addScaledVector(r, hr.x), s.addScaledVector(o, hr.y), s.addScaledVector(a, hr.z), s; }, isFrontFacing: function (t, e, n, i) { return ur.subVectors(n, e), dr.subVectors(t, e), ur.cross(dr).dot(i) < 0; }, }), Object.assign(wr.prototype, { set: function (t, e, n) { return this.a.copy(t), this.b.copy(e), this.c.copy(n), this; }, setFromPointsAndIndices: function (t, e, n, i) { return this.a.copy(t[e]), this.b.copy(t[n]), this.c.copy(t[i]), this; }, clone: function () { return new this.constructor().copy(this); }, copy: function (t) { return this.a.copy(t.a), this.b.copy(t.b), this.c.copy(t.c), this; }, getArea: function () { return ur.subVectors(this.c, this.b), dr.subVectors(this.a, this.b), 0.5 * ur.cross(dr).length(); }, getMidpoint: function (t) { return ( void 0 === t && (console.warn('THREE.Triangle: .getMidpoint() target is now required'), (t = new si())), t .addVectors(this.a, this.b) .add(this.c) .multiplyScalar(1 / 3) ); }, getNormal: function (t) { return wr.getNormal(this.a, this.b, this.c, t); }, getPlane: function (t) { return void 0 === t && (console.warn('THREE.Triangle: .getPlane() target is now required'), (t = new lr())), t.setFromCoplanarPoints(this.a, this.b, this.c); }, getBarycoord: function (t, e) { return wr.getBarycoord(t, this.a, this.b, this.c, e); }, getUV: function (t, e, n, i, r) { return wr.getUV(t, this.a, this.b, this.c, e, n, i, r); }, containsPoint: function (t) { return wr.containsPoint(t, this.a, this.b, this.c); }, isFrontFacing: function (t) { return wr.isFrontFacing(this.a, this.b, this.c, t); }, intersectsBox: function (t) { return t.intersectsTriangle(this); }, closestPointToPoint: function (t, e) { void 0 === e && (console.warn('THREE.Triangle: .closestPointToPoint() target is now required'), (e = new si())); var n, i, r = this.a, o = this.b, a = this.c; fr.subVectors(o, r), mr.subVectors(a, r), vr.subVectors(t, r); var s = fr.dot(vr), c = mr.dot(vr); if (s <= 0 && c <= 0) return e.copy(r); yr.subVectors(t, o); var l = fr.dot(yr), u = mr.dot(yr); if (l >= 0 && u <= l) return e.copy(o); var d = s * u - l * c; if (d <= 0 && s >= 0 && l <= 0) return (n = s / (s - l)), e.copy(r).addScaledVector(fr, n); br.subVectors(t, a); var p = fr.dot(br), h = mr.dot(br); if (h >= 0 && p <= h) return e.copy(a); var f = p * c - s * h; if (f <= 0 && c >= 0 && h <= 0) return (i = c / (c - h)), e.copy(r).addScaledVector(mr, i); var m = l * h - p * u; if (m <= 0 && u - l >= 0 && p - h >= 0) return gr.subVectors(a, o), (i = (u - l) / (u - l + (p - h))), e.copy(o).addScaledVector(gr, i); var g = 1 / (m + f + d); return (n = f * g), (i = d * g), e.copy(r).addScaledVector(fr, n).addScaledVector(mr, i); }, equals: function (t) { return t.a.equals(this.a) && t.b.equals(this.b) && t.c.equals(this.c); }, }); var Sr = { 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, }, xr = { h: 0, s: 0, l: 0, }, Mr = { h: 0, s: 0, l: 0, }; function Er(t, e, n) { return void 0 === e && void 0 === n ? this.set(t) : this.setRGB(t, e, n); } function Cr(t, e, n) { return n < 0 && (n += 1), n > 1 && (n -= 1), n < 1 / 6 ? t + 6 * (e - t) * n : n < 0.5 ? e : n < 2 / 3 ? t + 6 * (e - t) * (2 / 3 - n) : t; } function Ar(t) { return t < 0.04045 ? 0.0773993808 * t : Math.pow(0.9478672986 * t + 0.0521327014, 2.4); } function Tr(t) { return t < 0.0031308 ? 12.92 * t : 1.055 * Math.pow(t, 0.41666) - 0.055; } function Or(t, e, n, i, r, o) { (this.a = t), (this.b = e), (this.c = n), (this.normal = i && i.isVector3 ? i : new si()), (this.vertexNormals = Array.isArray(i) ? i : []), (this.color = r && r.isColor ? r : new Er()), (this.vertexColors = Array.isArray(r) ? r : []), (this.materialIndex = void 0 !== o ? o : 0); } Object.assign(Er.prototype, { isColor: !0, r: 1, g: 1, b: 1, set: function (t) { return t && t.isColor ? this.copy(t) : 'number' == typeof t ? this.setHex(t) : 'string' == typeof t && this.setStyle(t), this; }, setScalar: function (t) { return (this.r = t), (this.g = t), (this.b = t), this; }, setHex: function (t) { return (t = Math.floor(t)), (this.r = ((t >> 16) & 255) / 255), (this.g = ((t >> 8) & 255) / 255), (this.b = (255 & t) / 255), this; }, setRGB: function (t, e, n) { return (this.r = t), (this.g = e), (this.b = n), this; }, setHSL: function (t, e, n) { if (((t = Kn.euclideanModulo(t, 1)), (e = Kn.clamp(e, 0, 1)), (n = Kn.clamp(n, 0, 1)), 0 === e)) this.r = this.g = this.b = n; else { var i = n <= 0.5 ? n * (1 + e) : n + e - n * e, r = 2 * n - i; (this.r = Cr(r, i, t + 1 / 3)), (this.g = Cr(r, i, t)), (this.b = Cr(r, i, t - 1 / 3)); } return this; }, setStyle: function (t) { function e(e) { void 0 !== e && parseFloat(e) < 1 && console.warn('THREE.Color: Alpha component of ' + t + ' will be ignored.'); } var n; if ((n = /^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(t))) { var i, r = n[1], o = n[2]; switch (r) { case 'rgb': case 'rgba': if ((i = /^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(o))) return (this.r = Math.min(255, parseInt(i[1], 10)) / 255), (this.g = Math.min(255, parseInt(i[2], 10)) / 255), (this.b = Math.min(255, parseInt(i[3], 10)) / 255), e(i[5]), this; if ((i = /^(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(o))) return (this.r = Math.min(100, parseInt(i[1], 10)) / 100), (this.g = Math.min(100, parseInt(i[2], 10)) / 100), (this.b = Math.min(100, parseInt(i[3], 10)) / 100), e(i[5]), this; break; case 'hsl': case 'hsla': if ((i = /^([0-9]*\.?[0-9]+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(o))) { var a = parseFloat(i[1]) / 360, s = parseInt(i[2], 10) / 100, c = parseInt(i[3], 10) / 100; return e(i[5]), this.setHSL(a, s, c); } } } else if ((n = /^\#([A-Fa-f0-9]+)$/.exec(t))) { var l = n[1], u = l.length; if (3 === u) return (this.r = parseInt(l.charAt(0) + l.charAt(0), 16) / 255), (this.g = parseInt(l.charAt(1) + l.charAt(1), 16) / 255), (this.b = parseInt(l.charAt(2) + l.charAt(2), 16) / 255), this; if (6 === u) return (this.r = parseInt(l.charAt(0) + l.charAt(1), 16) / 255), (this.g = parseInt(l.charAt(2) + l.charAt(3), 16) / 255), (this.b = parseInt(l.charAt(4) + l.charAt(5), 16) / 255), this; } return t && t.length > 0 ? this.setColorName(t) : this; }, setColorName: function (t) { var e = Sr[t]; return void 0 !== e ? this.setHex(e) : console.warn('THREE.Color: Unknown color ' + t), this; }, clone: function () { return new this.constructor(this.r, this.g, this.b); }, copy: function (t) { return (this.r = t.r), (this.g = t.g), (this.b = t.b), this; }, copyGammaToLinear: function (t, e) { return void 0 === e && (e = 2), (this.r = Math.pow(t.r, e)), (this.g = Math.pow(t.g, e)), (this.b = Math.pow(t.b, e)), this; }, copyLinearToGamma: function (t, e) { void 0 === e && (e = 2); var n = e > 0 ? 1 / e : 1; return (this.r = Math.pow(t.r, n)), (this.g = Math.pow(t.g, n)), (this.b = Math.pow(t.b, n)), this; }, convertGammaToLinear: function (t) { return this.copyGammaToLinear(this, t), this; }, convertLinearToGamma: function (t) { return this.copyLinearToGamma(this, t), this; }, copySRGBToLinear: function (t) { return (this.r = Ar(t.r)), (this.g = Ar(t.g)), (this.b = Ar(t.b)), this; }, copyLinearToSRGB: function (t) { return (this.r = Tr(t.r)), (this.g = Tr(t.g)), (this.b = Tr(t.b)), this; }, convertSRGBToLinear: function () { return this.copySRGBToLinear(this), this; }, convertLinearToSRGB: function () { return this.copyLinearToSRGB(this), this; }, getHex: function () { return ((255 * this.r) << 16) ^ ((255 * this.g) << 8) ^ ((255 * this.b) << 0); }, getHexString: function () { return ('000000' + this.getHex().toString(16)).slice(-6); }, getHSL: function (t) { void 0 === t && (console.warn('THREE.Color: .getHSL() target is now required'), (t = { h: 0, s: 0, l: 0, })); var e, n, i = this.r, r = this.g, o = this.b, a = Math.max(i, r, o), s = Math.min(i, r, o), c = (s + a) / 2; if (s === a) (e = 0), (n = 0); else { var l = a - s; switch (((n = c <= 0.5 ? l / (a + s) : l / (2 - a - s)), a)) { case i: e = (r - o) / l + (r < o ? 6 : 0); break; case r: e = (o - i) / l + 2; break; case o: e = (i - r) / l + 4; } e /= 6; } return (t.h = e), (t.s = n), (t.l = c), t; }, getStyle: function () { return 'rgb(' + ((255 * this.r) | 0) + ',' + ((255 * this.g) | 0) + ',' + ((255 * this.b) | 0) + ')'; }, offsetHSL: function (t, e, n) { return this.getHSL(xr), (xr.h += t), (xr.s += e), (xr.l += n), this.setHSL(xr.h, xr.s, xr.l), this; }, add: function (t) { return (this.r += t.r), (this.g += t.g), (this.b += t.b), this; }, addColors: function (t, e) { return (this.r = t.r + e.r), (this.g = t.g + e.g), (this.b = t.b + e.b), this; }, addScalar: function (t) { return (this.r += t), (this.g += t), (this.b += t), this; }, sub: function (t) { return (this.r = Math.max(0, this.r - t.r)), (this.g = Math.max(0, this.g - t.g)), (this.b = Math.max(0, this.b - t.b)), this; }, multiply: function (t) { return (this.r *= t.r), (this.g *= t.g), (this.b *= t.b), this; }, multiplyScalar: function (t) { return (this.r *= t), (this.g *= t), (this.b *= t), this; }, lerp: function (t, e) { return (this.r += (t.r - this.r) * e), (this.g += (t.g - this.g) * e), (this.b += (t.b - this.b) * e), this; }, lerpHSL: function (t, e) { this.getHSL(xr), t.getHSL(Mr); var n = Kn.lerp(xr.h, Mr.h, e), i = Kn.lerp(xr.s, Mr.s, e), r = Kn.lerp(xr.l, Mr.l, e); return this.setHSL(n, i, r), this; }, equals: function (t) { return t.r === this.r && t.g === this.g && t.b === this.b; }, fromArray: function (t, e) { return void 0 === e && (e = 0), (this.r = t[e]), (this.g = t[e + 1]), (this.b = t[e + 2]), this; }, toArray: function (t, e) { return void 0 === t && (t = []), void 0 === e && (e = 0), (t[e] = this.r), (t[e + 1] = this.g), (t[e + 2] = this.b), t; }, toJSON: function () { return this.getHex(); }, }), (Er.NAMES = Sr), Object.assign(Or.prototype, { clone: function () { return new this.constructor().copy(this); }, copy: function (t) { (this.a = t.a), (this.b = t.b), (this.c = t.c), this.normal.copy(t.normal), this.color.copy(t.color), (this.materialIndex = t.materialIndex); for (var e = 0, n = t.vertexNormals.length; e < n; e++) this.vertexNormals[e] = t.vertexNormals[e].clone(); for (e = 0, n = t.vertexColors.length; e < n; e++) this.vertexColors[e] = t.vertexColors[e].clone(); return this; }, }); var _r = 0; function Pr() { Object.defineProperty(this, 'id', { value: _r++, }), (this.uuid = Kn.generateUUID()), (this.name = ''), (this.type = 'Material'), (this.fog = !0), (this.blending = k), (this.side = A), (this.flatShading = !1), (this.vertexColors = !1), (this.opacity = 1), (this.transparent = !1), (this.blendSrc = q), (this.blendDst = X), (this.blendEquation = j), (this.blendSrcAlpha = null), (this.blendDstAlpha = null), (this.blendEquationAlpha = null), (this.depthFunc = nt), (this.depthTest = !0), (this.depthWrite = !0), (this.stencilWriteMask = 255), (this.stencilFunc = Ln), (this.stencilRef = 0), (this.stencilFuncMask = 255), (this.stencilFail = Sn), (this.stencilZFail = Sn), (this.stencilZPass = Sn), (this.stencilWrite = !1), (this.clippingPlanes = null), (this.clipIntersection = !1), (this.clipShadows = !1), (this.shadowSide = null), (this.colorWrite = !0), (this.precision = null), (this.polygonOffset = !1), (this.polygonOffsetFactor = 0), (this.polygonOffsetUnits = 0), (this.dithering = !1), (this.alphaTest = 0), (this.premultipliedAlpha = !1), (this.visible = !0), (this.toneMapped = !0), (this.userData = {}), (this.version = 0); } function Ir(t) { Pr.call(this), (this.type = 'MeshBasicMaterial'), (this.color = new Er(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 = st), (this.reflectivity = 1), (this.refractionRatio = 0.98), (this.wireframe = !1), (this.wireframeLinewidth = 1), (this.wireframeLinecap = 'round'), (this.wireframeLinejoin = 'round'), (this.skinning = !1), (this.morphTargets = !1), this.setValues(t); } (Pr.prototype = Object.assign(Object.create(Wn.prototype), { constructor: Pr, isMaterial: !0, onBeforeCompile: function () {}, setValues: function (t) { if (void 0 !== t) for (var e in t) { var n = t[e]; if (void 0 !== n) if ('shading' !== e) { var i = this[e]; void 0 !== i ? i && i.isColor ? i.set(n) : i && i.isVector3 && n && n.isVector3 ? i.copy(n) : (this[e] = n) : console.warn('THREE.' + this.type + ": '" + e + "' is not a property of this material."); } else console.warn('THREE.' + this.type + ': .shading has been removed. Use the boolean .flatShading instead.'), (this.flatShading = n === _); else console.warn("THREE.Material: '" + e + "' parameter is undefined."); } }, toJSON: function (t) { var e = void 0 === t || 'string' == typeof t; e && (t = { textures: {}, images: {}, }); var n = { metadata: { version: 4.5, type: 'Material', generator: 'Material.toJSON', }, }; function i(t) { var e = []; for (var n in t) { var i = t[n]; delete i.metadata, e.push(i); } return e; } if ( ((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), this.sheen && this.sheen.isColor && (n.sheen = this.sheen.getHex()), 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.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(t).uuid), this.clearcoatRoughnessMap && this.clearcoatRoughnessMap.isTexture && (n.clearcoatRoughnessMap = this.clearcoatRoughnessMap.toJSON(t).uuid), this.clearcoatNormalMap && this.clearcoatNormalMap.isTexture && ((n.clearcoatNormalMap = this.clearcoatNormalMap.toJSON(t).uuid), (n.clearcoatNormalScale = this.clearcoatNormalScale.toArray())), this.map && this.map.isTexture && (n.map = this.map.toJSON(t).uuid), this.matcap && this.matcap.isTexture && (n.matcap = this.matcap.toJSON(t).uuid), this.alphaMap && this.alphaMap.isTexture && (n.alphaMap = this.alphaMap.toJSON(t).uuid), this.lightMap && this.lightMap.isTexture && (n.lightMap = this.lightMap.toJSON(t).uuid), this.aoMap && this.aoMap.isTexture && ((n.aoMap = this.aoMap.toJSON(t).uuid), (n.aoMapIntensity = this.aoMapIntensity)), this.bumpMap && this.bumpMap.isTexture && ((n.bumpMap = this.bumpMap.toJSON(t).uuid), (n.bumpScale = this.bumpScale)), this.normalMap && this.normalMap.isTexture && ((n.normalMap = this.normalMap.toJSON(t).uuid), (n.normalMapType = this.normalMapType), (n.normalScale = this.normalScale.toArray())), this.displacementMap && this.displacementMap.isTexture && ((n.displacementMap = this.displacementMap.toJSON(t).uuid), (n.displacementScale = this.displacementScale), (n.displacementBias = this.displacementBias)), this.roughnessMap && this.roughnessMap.isTexture && (n.roughnessMap = this.roughnessMap.toJSON(t).uuid), this.metalnessMap && this.metalnessMap.isTexture && (n.metalnessMap = this.metalnessMap.toJSON(t).uuid), this.emissiveMap && this.emissiveMap.isTexture && (n.emissiveMap = this.emissiveMap.toJSON(t).uuid), this.specularMap && this.specularMap.isTexture && (n.specularMap = this.specularMap.toJSON(t).uuid), this.envMap && this.envMap.isTexture && ((n.envMap = this.envMap.toJSON(t).uuid), (n.reflectivity = this.reflectivity), (n.refractionRatio = this.refractionRatio), void 0 !== this.combine && (n.combine = this.combine), void 0 !== this.envMapIntensity && (n.envMapIntensity = this.envMapIntensity)), this.gradientMap && this.gradientMap.isTexture && (n.gradientMap = this.gradientMap.toJSON(t).uuid), void 0 !== this.size && (n.size = this.size), void 0 !== this.sizeAttenuation && (n.sizeAttenuation = this.sizeAttenuation), this.blending !== k && (n.blending = this.blending), !0 === this.flatShading && (n.flatShading = this.flatShading), this.side !== A && (n.side = this.side), this.vertexColors && (n.vertexColors = !0), this.opacity < 1 && (n.opacity = this.opacity), !0 === this.transparent && (n.transparent = this.transparent), (n.depthFunc = this.depthFunc), (n.depthTest = this.depthTest), (n.depthWrite = this.depthWrite), (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), !0 === this.polygonOffset && (n.polygonOffset = !0), 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), !0 === this.dithering && (n.dithering = !0), this.alphaTest > 0 && (n.alphaTest = this.alphaTest), !0 === this.premultipliedAlpha && (n.premultipliedAlpha = this.premultipliedAlpha), !0 === 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), !0 === this.morphTargets && (n.morphTargets = !0), !0 === this.morphNormals && (n.morphNormals = !0), !0 === this.skinning && (n.skinning = !0), !1 === this.visible && (n.visible = !1), !1 === this.toneMapped && (n.toneMapped = !1), '{}' !== JSON.stringify(this.userData) && (n.userData = this.userData), e) ) { var r = i(t.textures), o = i(t.images); r.length > 0 && (n.textures = r), o.length > 0 && (n.images = o); } return n; }, clone: function () { return new this.constructor().copy(this); }, copy: function (t) { (this.name = t.name), (this.fog = t.fog), (this.blending = t.blending), (this.side = t.side), (this.flatShading = t.flatShading), (this.vertexColors = t.vertexColors), (this.opacity = t.opacity), (this.transparent = t.transparent), (this.blendSrc = t.blendSrc), (this.blendDst = t.blendDst), (this.blendEquation = t.blendEquation), (this.blendSrcAlpha = t.blendSrcAlpha), (this.blendDstAlpha = t.blendDstAlpha), (this.blendEquationAlpha = t.blendEquationAlpha), (this.depthFunc = t.depthFunc), (this.depthTest = t.depthTest), (this.depthWrite = t.depthWrite), (this.stencilWriteMask = t.stencilWriteMask), (this.stencilFunc = t.stencilFunc), (this.stencilRef = t.stencilRef), (this.stencilFuncMask = t.stencilFuncMask), (this.stencilFail = t.stencilFail), (this.stencilZFail = t.stencilZFail), (this.stencilZPass = t.stencilZPass), (this.stencilWrite = t.stencilWrite); var e = t.clippingPlanes, n = null; if (null !== e) { var i = e.length; n = new Array(i); for (var r = 0; r !== i; ++r) n[r] = e[r].clone(); } return ( (this.clippingPlanes = n), (this.clipIntersection = t.clipIntersection), (this.clipShadows = t.clipShadows), (this.shadowSide = t.shadowSide), (this.colorWrite = t.colorWrite), (this.precision = t.precision), (this.polygonOffset = t.polygonOffset), (this.polygonOffsetFactor = t.polygonOffsetFactor), (this.polygonOffsetUnits = t.polygonOffsetUnits), (this.dithering = t.dithering), (this.alphaTest = t.alphaTest), (this.premultipliedAlpha = t.premultipliedAlpha), (this.visible = t.visible), (this.toneMapped = t.toneMapped), (this.userData = JSON.parse(JSON.stringify(t.userData))), this ); }, dispose: function () { this.dispatchEvent({ type: 'dispose', }); }, })), Object.defineProperty(Pr.prototype, 'needsUpdate', { set: function (t) { !0 === t && this.version++; }, }), (Ir.prototype = Object.create(Pr.prototype)), (Ir.prototype.constructor = Ir), (Ir.prototype.isMeshBasicMaterial = !0), (Ir.prototype.copy = function (t) { return ( Pr.prototype.copy.call(this, t), this.color.copy(t.color), (this.map = t.map), (this.lightMap = t.lightMap), (this.lightMapIntensity = t.lightMapIntensity), (this.aoMap = t.aoMap), (this.aoMapIntensity = t.aoMapIntensity), (this.specularMap = t.specularMap), (this.alphaMap = t.alphaMap), (this.envMap = t.envMap), (this.combine = t.combine), (this.reflectivity = t.reflectivity), (this.refractionRatio = t.refractionRatio), (this.wireframe = t.wireframe), (this.wireframeLinewidth = t.wireframeLinewidth), (this.wireframeLinecap = t.wireframeLinecap), (this.wireframeLinejoin = t.wireframeLinejoin), (this.skinning = t.skinning), (this.morphTargets = t.morphTargets), this ); }); var kr = new si(); function Dr(t, e, n) { if (Array.isArray(t)) throw new TypeError('THREE.BufferAttribute: array should be a Typed Array.'); (this.name = ''), (this.array = t), (this.itemSize = e), (this.count = void 0 !== t ? t.length / e : 0), (this.normalized = !0 === n), (this.usage = Nn), (this.updateRange = { offset: 0, count: -1, }), (this.version = 0); } function Rr(t, e, n) { Dr.call(this, new Int8Array(t), e, n); } function Lr(t, e, n) { Dr.call(this, new Uint8Array(t), e, n); } function Nr(t, e, n) { Dr.call(this, new Uint8ClampedArray(t), e, n); } function jr(t, e, n) { Dr.call(this, new Int16Array(t), e, n); } function Vr(t, e, n) { Dr.call(this, new Uint16Array(t), e, n); } function Fr(t, e, n) { Dr.call(this, new Int32Array(t), e, n); } function Ur(t, e, n) { Dr.call(this, new Uint32Array(t), e, n); } function Br(t, e, n) { Dr.call(this, new Float32Array(t), e, n); } function zr(t, e, n) { Dr.call(this, new Float64Array(t), e, n); } function Gr() { (this.vertices = []), (this.normals = []), (this.colors = []), (this.uvs = []), (this.uvs2 = []), (this.groups = []), (this.morphTargets = {}), (this.skinWeights = []), (this.skinIndices = []), (this.boundingBox = null), (this.boundingSphere = null), (this.verticesNeedUpdate = !1), (this.normalsNeedUpdate = !1), (this.colorsNeedUpdate = !1), (this.uvsNeedUpdate = !1), (this.groupsNeedUpdate = !1); } function Hr(t) { if (0 === t.length) return -1 / 0; for (var e = t[0], n = 1, i = t.length; n < i; ++n) t[n] > e && (e = t[n]); return e; } Object.defineProperty(Dr.prototype, 'needsUpdate', { set: function (t) { !0 === t && this.version++; }, }), Object.assign(Dr.prototype, { isBufferAttribute: !0, onUploadCallback: function () {}, setUsage: function (t) { return (this.usage = t), this; }, copy: function (t) { return ( (this.name = t.name), (this.array = new t.array.constructor(t.array)), (this.itemSize = t.itemSize), (this.count = t.count), (this.normalized = t.normalized), (this.usage = t.usage), this ); }, copyAt: function (t, e, n) { (t *= this.itemSize), (n *= e.itemSize); for (var i = 0, r = this.itemSize; i < r; i++) this.array[t + i] = e.array[n + i]; return this; }, copyArray: function (t) { return this.array.set(t), this; }, copyColorsArray: function (t) { for (var e = this.array, n = 0, i = 0, r = t.length; i < r; i++) { var o = t[i]; void 0 === o && (console.warn('THREE.BufferAttribute.copyColorsArray(): color is undefined', i), (o = new Er())), (e[n++] = o.r), (e[n++] = o.g), (e[n++] = o.b); } return this; }, copyVector2sArray: function (t) { for (var e = this.array, n = 0, i = 0, r = t.length; i < r; i++) { var o = t[i]; void 0 === o && (console.warn('THREE.BufferAttribute.copyVector2sArray(): vector is undefined', i), (o = new Zn())), (e[n++] = o.x), (e[n++] = o.y); } return this; }, copyVector3sArray: function (t) { for (var e = this.array, n = 0, i = 0, r = t.length; i < r; i++) { var o = t[i]; void 0 === o && (console.warn('THREE.BufferAttribute.copyVector3sArray(): vector is undefined', i), (o = new si())), (e[n++] = o.x), (e[n++] = o.y), (e[n++] = o.z); } return this; }, copyVector4sArray: function (t) { for (var e = this.array, n = 0, i = 0, r = t.length; i < r; i++) { var o = t[i]; void 0 === o && (console.warn('THREE.BufferAttribute.copyVector4sArray(): vector is undefined', i), (o = new ei())), (e[n++] = o.x), (e[n++] = o.y), (e[n++] = o.z), (e[n++] = o.w); } return this; }, applyMatrix3: function (t) { for (var e = 0, n = this.count; e < n; e++) (kr.x = this.getX(e)), (kr.y = this.getY(e)), (kr.z = this.getZ(e)), kr.applyMatrix3(t), this.setXYZ(e, kr.x, kr.y, kr.z); return this; }, applyMatrix4: function (t) { for (var e = 0, n = this.count; e < n; e++) (kr.x = this.getX(e)), (kr.y = this.getY(e)), (kr.z = this.getZ(e)), kr.applyMatrix4(t), this.setXYZ(e, kr.x, kr.y, kr.z); return this; }, applyNormalMatrix: function (t) { for (var e = 0, n = this.count; e < n; e++) (kr.x = this.getX(e)), (kr.y = this.getY(e)), (kr.z = this.getZ(e)), kr.applyNormalMatrix(t), this.setXYZ(e, kr.x, kr.y, kr.z); return this; }, transformDirection: function (t) { for (var e = 0, n = this.count; e < n; e++) (kr.x = this.getX(e)), (kr.y = this.getY(e)), (kr.z = this.getZ(e)), kr.transformDirection(t), this.setXYZ(e, kr.x, kr.y, kr.z); return this; }, set: function (t, e) { return void 0 === e && (e = 0), this.array.set(t, e), this; }, getX: function (t) { return this.array[t * this.itemSize]; }, setX: function (t, e) { return (this.array[t * this.itemSize] = e), this; }, getY: function (t) { return this.array[t * this.itemSize + 1]; }, setY: function (t, e) { return (this.array[t * this.itemSize + 1] = e), this; }, getZ: function (t) { return this.array[t * this.itemSize + 2]; }, setZ: function (t, e) { return (this.array[t * this.itemSize + 2] = e), this; }, getW: function (t) { return this.array[t * this.itemSize + 3]; }, setW: function (t, e) { return (this.array[t * this.itemSize + 3] = e), this; }, setXY: function (t, e, n) { return (t *= this.itemSize), (this.array[t + 0] = e), (this.array[t + 1] = n), this; }, setXYZ: function (t, e, n, i) { return (t *= this.itemSize), (this.array[t + 0] = e), (this.array[t + 1] = n), (this.array[t + 2] = i), this; }, setXYZW: function (t, e, n, i, r) { return (t *= this.itemSize), (this.array[t + 0] = e), (this.array[t + 1] = n), (this.array[t + 2] = i), (this.array[t + 3] = r), this; }, onUpload: function (t) { return (this.onUploadCallback = t), this; }, clone: function () { return new this.constructor(this.array, this.itemSize).copy(this); }, toJSON: function () { return { itemSize: this.itemSize, type: this.array.constructor.name, array: Array.prototype.slice.call(this.array), normalized: this.normalized, }; }, }), (Rr.prototype = Object.create(Dr.prototype)), (Rr.prototype.constructor = Rr), (Lr.prototype = Object.create(Dr.prototype)), (Lr.prototype.constructor = Lr), (Nr.prototype = Object.create(Dr.prototype)), (Nr.prototype.constructor = Nr), (jr.prototype = Object.create(Dr.prototype)), (jr.prototype.constructor = jr), (Vr.prototype = Object.create(Dr.prototype)), (Vr.prototype.constructor = Vr), (Fr.prototype = Object.create(Dr.prototype)), (Fr.prototype.constructor = Fr), (Ur.prototype = Object.create(Dr.prototype)), (Ur.prototype.constructor = Ur), (Br.prototype = Object.create(Dr.prototype)), (Br.prototype.constructor = Br), (zr.prototype = Object.create(Dr.prototype)), (zr.prototype.constructor = zr), Object.assign(Gr.prototype, { computeGroups: function (t) { for (var e, n = [], i = void 0, r = t.faces, o = 0; o < r.length; o++) { var a = r[o]; a.materialIndex !== i && ((i = a.materialIndex), void 0 !== e && ((e.count = 3 * o - e.start), n.push(e)), (e = { start: 3 * o, materialIndex: i, })); } void 0 !== e && ((e.count = 3 * o - e.start), n.push(e)), (this.groups = n); }, fromGeometry: function (t) { var e, n = t.faces, i = t.vertices, r = t.faceVertexUvs, o = r[0] && r[0].length > 0, a = r[1] && r[1].length > 0, s = t.morphTargets, c = s.length; if (c > 0) { e = []; for (var l = 0; l < c; l++) e[l] = { name: s[l].name, data: [], }; this.morphTargets.position = e; } var u, d = t.morphNormals, p = d.length; if (p > 0) { u = []; for (l = 0; l < p; l++) u[l] = { name: d[l].name, data: [], }; this.morphTargets.normal = u; } var h = t.skinIndices, f = t.skinWeights, m = h.length === i.length, g = f.length === i.length; i.length > 0 && 0 === n.length && console.error('THREE.DirectGeometry: Faceless geometries are not supported.'); for (l = 0; l < n.length; l++) { var v = n[l]; this.vertices.push(i[v.a], i[v.b], i[v.c]); var y = v.vertexNormals; if (3 === y.length) this.normals.push(y[0], y[1], y[2]); else { var b = v.normal; this.normals.push(b, b, b); } var w, S = v.vertexColors; if (3 === S.length) this.colors.push(S[0], S[1], S[2]); else { var x = v.color; this.colors.push(x, x, x); } if (!0 === o) void 0 !== (w = r[0][l]) ? this.uvs.push(w[0], w[1], w[2]) : (console.warn('THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ', l), this.uvs.push(new Zn(), new Zn(), new Zn())); if (!0 === a) void 0 !== (w = r[1][l]) ? this.uvs2.push(w[0], w[1], w[2]) : (console.warn('THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ', l), this.uvs2.push(new Zn(), new Zn(), new Zn())); for (var M = 0; M < c; M++) { var E = s[M].vertices; e[M].data.push(E[v.a], E[v.b], E[v.c]); } for (M = 0; M < p; M++) { var C = d[M].vertexNormals[l]; u[M].data.push(C.a, C.b, C.c); } m && this.skinIndices.push(h[v.a], h[v.b], h[v.c]), g && this.skinWeights.push(f[v.a], f[v.b], f[v.c]); } return ( this.computeGroups(t), (this.verticesNeedUpdate = t.verticesNeedUpdate), (this.normalsNeedUpdate = t.normalsNeedUpdate), (this.colorsNeedUpdate = t.colorsNeedUpdate), (this.uvsNeedUpdate = t.uvsNeedUpdate), (this.groupsNeedUpdate = t.groupsNeedUpdate), null !== t.boundingSphere && (this.boundingSphere = t.boundingSphere.clone()), null !== t.boundingBox && (this.boundingBox = t.boundingBox.clone()), this ); }, }); var Wr = 1, qr = new mi(), Xr = new Di(), Yr = new si(), Kr = new Yi(), Zr = new Yi(), Jr = new si(); function Qr() { Object.defineProperty(this, 'id', { value: (Wr += 2), }), (this.uuid = Kn.generateUUID()), (this.name = ''), (this.type = 'BufferGeometry'), (this.index = null), (this.attributes = {}), (this.morphAttributes = {}), (this.morphTargetsRelative = !1), (this.groups = []), (this.boundingBox = null), (this.boundingSphere = null), (this.drawRange = { start: 0, count: 1 / 0, }), (this.userData = {}); } Qr.prototype = Object.assign(Object.create(Wn.prototype), { constructor: Qr, isBufferGeometry: !0, getIndex: function () { return this.index; }, setIndex: function (t) { Array.isArray(t) ? (this.index = new (Hr(t) > 65535 ? Ur : Vr)(t, 1)) : (this.index = t); }, getAttribute: function (t) { return this.attributes[t]; }, setAttribute: function (t, e) { return (this.attributes[t] = e), this; }, deleteAttribute: function (t) { return delete this.attributes[t], this; }, addGroup: function (t, e, n) { this.groups.push({ start: t, count: e, materialIndex: void 0 !== n ? n : 0, }); }, clearGroups: function () { this.groups = []; }, setDrawRange: function (t, e) { (this.drawRange.start = t), (this.drawRange.count = e); }, applyMatrix4: function (t) { var e = this.attributes.position; void 0 !== e && (e.applyMatrix4(t), (e.needsUpdate = !0)); var n = this.attributes.normal; if (void 0 !== n) { var i = new Jn().getNormalMatrix(t); n.applyNormalMatrix(i), (n.needsUpdate = !0); } var r = this.attributes.tangent; return ( void 0 !== r && (r.transformDirection(t), (r.needsUpdate = !0)), null !== this.boundingBox && this.computeBoundingBox(), null !== this.boundingSphere && this.computeBoundingSphere(), this ); }, rotateX: function (t) { return qr.makeRotationX(t), this.applyMatrix4(qr), this; }, rotateY: function (t) { return qr.makeRotationY(t), this.applyMatrix4(qr), this; }, rotateZ: function (t) { return qr.makeRotationZ(t), this.applyMatrix4(qr), this; }, translate: function (t, e, n) { return qr.makeTranslation(t, e, n), this.applyMatrix4(qr), this; }, scale: function (t, e, n) { return qr.makeScale(t, e, n), this.applyMatrix4(qr), this; }, lookAt: function (t) { return Xr.lookAt(t), Xr.updateMatrix(), this.applyMatrix4(Xr.matrix), this; }, center: function () { return this.computeBoundingBox(), this.boundingBox.getCenter(Yr).negate(), this.translate(Yr.x, Yr.y, Yr.z), this; }, setFromObject: function (t) { var e = t.geometry; if (t.isPoints || t.isLine) { var n = new Br(3 * e.vertices.length, 3), i = new Br(3 * e.colors.length, 3); if ( (this.setAttribute('position', n.copyVector3sArray(e.vertices)), this.setAttribute('color', i.copyColorsArray(e.colors)), e.lineDistances && e.lineDistances.length === e.vertices.length) ) { var r = new Br(e.lineDistances.length, 1); this.setAttribute('lineDistance', r.copyArray(e.lineDistances)); } null !== e.boundingSphere && (this.boundingSphere = e.boundingSphere.clone()), null !== e.boundingBox && (this.boundingBox = e.boundingBox.clone()); } else t.isMesh && e && e.isGeometry && this.fromGeometry(e); return this; }, setFromPoints: function (t) { for (var e = [], n = 0, i = t.length; n < i; n++) { var r = t[n]; e.push(r.x, r.y, r.z || 0); } return this.setAttribute('position', new Br(e, 3)), this; }, updateFromObject: function (t) { var e, n = t.geometry; if (t.isMesh) { var i = n.__directGeometry; if ((!0 === n.elementsNeedUpdate && ((i = void 0), (n.elementsNeedUpdate = !1)), void 0 === i)) return this.fromGeometry(n); (i.verticesNeedUpdate = n.verticesNeedUpdate), (i.normalsNeedUpdate = n.normalsNeedUpdate), (i.colorsNeedUpdate = n.colorsNeedUpdate), (i.uvsNeedUpdate = n.uvsNeedUpdate), (i.groupsNeedUpdate = n.groupsNeedUpdate), (n.verticesNeedUpdate = !1), (n.normalsNeedUpdate = !1), (n.colorsNeedUpdate = !1), (n.uvsNeedUpdate = !1), (n.groupsNeedUpdate = !1), (n = i); } return ( !0 === n.verticesNeedUpdate && (void 0 !== (e = this.attributes.position) && (e.copyVector3sArray(n.vertices), (e.needsUpdate = !0)), (n.verticesNeedUpdate = !1)), !0 === n.normalsNeedUpdate && (void 0 !== (e = this.attributes.normal) && (e.copyVector3sArray(n.normals), (e.needsUpdate = !0)), (n.normalsNeedUpdate = !1)), !0 === n.colorsNeedUpdate && (void 0 !== (e = this.attributes.color) && (e.copyColorsArray(n.colors), (e.needsUpdate = !0)), (n.colorsNeedUpdate = !1)), n.uvsNeedUpdate && (void 0 !== (e = this.attributes.uv) && (e.copyVector2sArray(n.uvs), (e.needsUpdate = !0)), (n.uvsNeedUpdate = !1)), n.lineDistancesNeedUpdate && (void 0 !== (e = this.attributes.lineDistance) && (e.copyArray(n.lineDistances), (e.needsUpdate = !0)), (n.lineDistancesNeedUpdate = !1)), n.groupsNeedUpdate && (n.computeGroups(t.geometry), (this.groups = n.groups), (n.groupsNeedUpdate = !1)), this ); }, fromGeometry: function (t) { return (t.__directGeometry = new Gr().fromGeometry(t)), this.fromDirectGeometry(t.__directGeometry); }, fromDirectGeometry: function (t) { var e = new Float32Array(3 * t.vertices.length); if ((this.setAttribute('position', new Dr(e, 3).copyVector3sArray(t.vertices)), t.normals.length > 0)) { var n = new Float32Array(3 * t.normals.length); this.setAttribute('normal', new Dr(n, 3).copyVector3sArray(t.normals)); } if (t.colors.length > 0) { var i = new Float32Array(3 * t.colors.length); this.setAttribute('color', new Dr(i, 3).copyColorsArray(t.colors)); } if (t.uvs.length > 0) { var r = new Float32Array(2 * t.uvs.length); this.setAttribute('uv', new Dr(r, 2).copyVector2sArray(t.uvs)); } if (t.uvs2.length > 0) { var o = new Float32Array(2 * t.uvs2.length); this.setAttribute('uv2', new Dr(o, 2).copyVector2sArray(t.uvs2)); } for (var a in ((this.groups = t.groups), t.morphTargets)) { for (var s = [], c = t.morphTargets[a], l = 0, u = c.length; l < u; l++) { var d = c[l], p = new Br(3 * d.data.length, 3); (p.name = d.name), s.push(p.copyVector3sArray(d.data)); } this.morphAttributes[a] = s; } if (t.skinIndices.length > 0) { var h = new Br(4 * t.skinIndices.length, 4); this.setAttribute('skinIndex', h.copyVector4sArray(t.skinIndices)); } if (t.skinWeights.length > 0) { var f = new Br(4 * t.skinWeights.length, 4); this.setAttribute('skinWeight', f.copyVector4sArray(t.skinWeights)); } return null !== t.boundingSphere && (this.boundingSphere = t.boundingSphere.clone()), null !== t.boundingBox && (this.boundingBox = t.boundingBox.clone()), this; }, computeBoundingBox: function () { null === this.boundingBox && (this.boundingBox = new Yi()); var t = this.attributes.position, e = this.morphAttributes.position; if (void 0 !== t) { if ((this.boundingBox.setFromBufferAttribute(t), e)) for (var n = 0, i = e.length; n < i; n++) { var r = e[n]; Kr.setFromBufferAttribute(r), this.morphTargetsRelative ? (Jr.addVectors(this.boundingBox.min, Kr.min), this.boundingBox.expandByPoint(Jr), Jr.addVectors(this.boundingBox.max, Kr.max), this.boundingBox.expandByPoint(Jr)) : (this.boundingBox.expandByPoint(Kr.min), this.boundingBox.expandByPoint(Kr.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: function () { null === this.boundingSphere && (this.boundingSphere = new Ji()); var t = this.attributes.position, e = this.morphAttributes.position; if (t) { var n = this.boundingSphere.center; if ((Kr.setFromBufferAttribute(t), e)) for (var i = 0, r = e.length; i < r; i++) { var o = e[i]; Zr.setFromBufferAttribute(o), this.morphTargetsRelative ? (Jr.addVectors(Kr.min, Zr.min), Kr.expandByPoint(Jr), Jr.addVectors(Kr.max, Zr.max), Kr.expandByPoint(Jr)) : (Kr.expandByPoint(Zr.min), Kr.expandByPoint(Zr.max)); } Kr.getCenter(n); var a = 0; for (i = 0, r = t.count; i < r; i++) Jr.fromBufferAttribute(t, i), (a = Math.max(a, n.distanceToSquared(Jr))); if (e) for (i = 0, r = e.length; i < r; i++) { o = e[i]; for (var s = this.morphTargetsRelative, c = 0, l = o.count; c < l; c++) Jr.fromBufferAttribute(o, c), s && (Yr.fromBufferAttribute(t, c), Jr.add(Yr)), (a = Math.max(a, n.distanceToSquared(Jr))); } (this.boundingSphere.radius = Math.sqrt(a)), isNaN(this.boundingSphere.radius) && console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.', this); } }, computeFaceNormals: function () {}, computeVertexNormals: function () { var t = this.index, e = this.attributes; if (e.position) { var n = e.position.array; if (void 0 === e.normal) this.setAttribute('normal', new Dr(new Float32Array(n.length), 3)); else for (var i = e.normal.array, r = 0, o = i.length; r < o; r++) i[r] = 0; var a, s, c, l = e.normal.array, u = new si(), d = new si(), p = new si(), h = new si(), f = new si(); if (t) { var m = t.array; for (r = 0, o = t.count; r < o; r += 3) (a = 3 * m[r + 0]), (s = 3 * m[r + 1]), (c = 3 * m[r + 2]), u.fromArray(n, a), d.fromArray(n, s), p.fromArray(n, c), h.subVectors(p, d), f.subVectors(u, d), h.cross(f), (l[a] += h.x), (l[a + 1] += h.y), (l[a + 2] += h.z), (l[s] += h.x), (l[s + 1] += h.y), (l[s + 2] += h.z), (l[c] += h.x), (l[c + 1] += h.y), (l[c + 2] += h.z); } else for (r = 0, o = n.length; r < o; r += 9) u.fromArray(n, r), d.fromArray(n, r + 3), p.fromArray(n, r + 6), h.subVectors(p, d), f.subVectors(u, d), h.cross(f), (l[r] = h.x), (l[r + 1] = h.y), (l[r + 2] = h.z), (l[r + 3] = h.x), (l[r + 4] = h.y), (l[r + 5] = h.z), (l[r + 6] = h.x), (l[r + 7] = h.y), (l[r + 8] = h.z); this.normalizeNormals(), (e.normal.needsUpdate = !0); } }, merge: function (t, e) { if (t && t.isBufferGeometry) { void 0 === e && ((e = 0), console.warn('THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge.')); var n = this.attributes; for (var i in n) if (void 0 !== t.attributes[i]) for (var r = n[i].array, o = t.attributes[i], a = o.array, s = o.itemSize * e, c = Math.min(a.length, r.length - s), l = 0, u = s; l < c; l++, u++) r[u] = a[l]; return this; } console.error('THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.', t); }, normalizeNormals: function () { for (var t = this.attributes.normal, e = 0, n = t.count; e < n; e++) (Jr.x = t.getX(e)), (Jr.y = t.getY(e)), (Jr.z = t.getZ(e)), Jr.normalize(), t.setXYZ(e, Jr.x, Jr.y, Jr.z); }, toNonIndexed: function () { function t(t, e) { for (var n = t.array, i = t.itemSize, r = new n.constructor(e.length * i), o = 0, a = 0, s = 0, c = e.length; s < c; s++) { o = e[s] * i; for (var l = 0; l < i; l++) r[a++] = n[o++]; } return new Dr(r, i); } if (null === this.index) return console.warn('THREE.BufferGeometry.toNonIndexed(): Geometry is already non-indexed.'), this; var e = new Qr(), n = this.index.array, i = this.attributes; for (var r in i) { var o = t(i[r], n); e.setAttribute(r, o); } var a = this.morphAttributes; for (r in a) { for (var s = [], c = a[r], l = 0, u = c.length; l < u; l++) { o = t(c[l], n); s.push(o); } e.morphAttributes[r] = s; } e.morphTargetsRelative = this.morphTargetsRelative; for (var d = this.groups, p = ((l = 0), d.length); l < p; l++) { var h = d[l]; e.addGroup(h.start, h.count, h.materialIndex); } return e; }, toJSON: function () { var t = { metadata: { version: 4.5, type: 'BufferGeometry', generator: 'BufferGeometry.toJSON', }, }; if (((t.uuid = this.uuid), (t.type = this.type), '' !== this.name && (t.name = this.name), Object.keys(this.userData).length > 0 && (t.userData = this.userData), void 0 !== this.parameters)) { var e = this.parameters; for (var n in e) void 0 !== e[n] && (t[n] = e[n]); return t; } t.data = { attributes: {}, }; var i = this.index; null !== i && (t.data.index = { type: i.array.constructor.name, array: Array.prototype.slice.call(i.array), }); var r = this.attributes; for (var n in r) { var o = (p = r[n]).toJSON(); '' !== p.name && (o.name = p.name), (t.data.attributes[n] = o); } var a = {}, s = !1; for (var n in this.morphAttributes) { for (var c = this.morphAttributes[n], l = [], u = 0, d = c.length; u < d; u++) { var p; o = (p = c[u]).toJSON(); '' !== p.name && (o.name = p.name), l.push(o); } l.length > 0 && ((a[n] = l), (s = !0)); } s && ((t.data.morphAttributes = a), (t.data.morphTargetsRelative = this.morphTargetsRelative)); var h = this.groups; h.length > 0 && (t.data.groups = JSON.parse(JSON.stringify(h))); var f = this.boundingSphere; return ( null !== f && (t.data.boundingSphere = { center: f.center.toArray(), radius: f.radius, }), t ); }, clone: function () { return new Qr().copy(this); }, copy: function (t) { var e, n, i; (this.index = null), (this.attributes = {}), (this.morphAttributes = {}), (this.groups = []), (this.boundingBox = null), (this.boundingSphere = null), (this.name = t.name); var r = t.index; null !== r && this.setIndex(r.clone()); var o = t.attributes; for (e in o) { var a = o[e]; this.setAttribute(e, a.clone()); } var s = t.morphAttributes; for (e in s) { var c = [], l = s[e]; for (n = 0, i = l.length; n < i; n++) c.push(l[n].clone()); this.morphAttributes[e] = c; } this.morphTargetsRelative = t.morphTargetsRelative; var u = t.groups; for (n = 0, i = u.length; n < i; n++) { var d = u[n]; this.addGroup(d.start, d.count, d.materialIndex); } var p = t.boundingBox; null !== p && (this.boundingBox = p.clone()); var h = t.boundingSphere; return null !== h && (this.boundingSphere = h.clone()), (this.drawRange.start = t.drawRange.start), (this.drawRange.count = t.drawRange.count), (this.userData = t.userData), this; }, dispose: function () { this.dispatchEvent({ type: 'dispose', }); }, }); var $r = new mi(), to = new or(), eo = new Ji(), no = new si(), io = new si(), ro = new si(), oo = new si(), ao = new si(), so = new si(), co = new si(), lo = new si(), uo = new si(), po = new Zn(), ho = new Zn(), fo = new Zn(), mo = new si(), go = new si(); function vo(t, e) { Di.call(this), (this.type = 'Mesh'), (this.geometry = void 0 !== t ? t : new Qr()), (this.material = void 0 !== e ? e : new Ir()), this.updateMorphTargets(); } function yo(t, e, n, i, r, o, a, s) { if (null === (e.side === T ? i.intersectTriangle(a, o, r, !0, s) : i.intersectTriangle(r, o, a, e.side !== O, s))) return null; go.copy(s), go.applyMatrix4(t.matrixWorld); var c = n.ray.origin.distanceTo(go); return c < n.near || c > n.far ? null : { distance: c, point: go.clone(), object: t, }; } function bo(t, e, n, i, r, o, a, s, c, l, u, d) { no.fromBufferAttribute(r, l), io.fromBufferAttribute(r, u), ro.fromBufferAttribute(r, d); var p = t.morphTargetInfluences; if (e.morphTargets && o && p) { co.set(0, 0, 0), lo.set(0, 0, 0), uo.set(0, 0, 0); for (var h = 0, f = o.length; h < f; h++) { var m = p[h], g = o[h]; 0 !== m && (oo.fromBufferAttribute(g, l), ao.fromBufferAttribute(g, u), so.fromBufferAttribute(g, d), a ? (co.addScaledVector(oo, m), lo.addScaledVector(ao, m), uo.addScaledVector(so, m)) : (co.addScaledVector(oo.sub(no), m), lo.addScaledVector(ao.sub(io), m), uo.addScaledVector(so.sub(ro), m))); } no.add(co), io.add(lo), ro.add(uo); } var v = yo(t, e, n, i, no, io, ro, mo); if (v) { s && (po.fromBufferAttribute(s, l), ho.fromBufferAttribute(s, u), fo.fromBufferAttribute(s, d), (v.uv = wr.getUV(mo, no, io, ro, po, ho, fo, new Zn()))), c && (po.fromBufferAttribute(c, l), ho.fromBufferAttribute(c, u), fo.fromBufferAttribute(c, d), (v.uv2 = wr.getUV(mo, no, io, ro, po, ho, fo, new Zn()))); var y = new Or(l, u, d); wr.getNormal(no, io, ro, y.normal), (v.face = y); } return v; } vo.prototype = Object.assign(Object.create(Di.prototype), { constructor: vo, isMesh: !0, copy: function (t) { return ( Di.prototype.copy.call(this, t), void 0 !== t.morphTargetInfluences && (this.morphTargetInfluences = t.morphTargetInfluences.slice()), void 0 !== t.morphTargetDictionary && (this.morphTargetDictionary = Object.assign({}, t.morphTargetDictionary)), this ); }, updateMorphTargets: function () { var t, e, n, i = this.geometry; if (i.isBufferGeometry) { var r = i.morphAttributes, o = Object.keys(r); if (o.length > 0) { var a = r[o[0]]; if (void 0 !== a) for (this.morphTargetInfluences = [], this.morphTargetDictionary = {}, t = 0, e = a.length; t < e; t++) (n = a[t].name || String(t)), this.morphTargetInfluences.push(0), (this.morphTargetDictionary[n] = t); } } else { var s = i.morphTargets; void 0 !== s && s.length > 0 && console.error('THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.'); } }, raycast: function (t, e) { var n, i = this.geometry, r = this.material, o = this.matrixWorld; if ( void 0 !== r && (null === i.boundingSphere && i.computeBoundingSphere(), eo.copy(i.boundingSphere), eo.applyMatrix4(o), !1 !== t.ray.intersectsSphere(eo) && ($r.getInverse(o), to.copy(t.ray).applyMatrix4($r), null === i.boundingBox || !1 !== to.intersectsBox(i.boundingBox))) ) if (i.isBufferGeometry) { var a, s, c, l, u, d, p, h, f, m = i.index, g = i.attributes.position, v = i.morphAttributes.position, y = i.morphTargetsRelative, b = i.attributes.uv, w = i.attributes.uv2, S = i.groups, x = i.drawRange; if (null !== m) if (Array.isArray(r)) for (l = 0, d = S.length; l < d; l++) for (f = r[(h = S[l]).materialIndex], u = Math.max(h.start, x.start), p = Math.min(h.start + h.count, x.start + x.count); u < p; u += 3) (a = m.getX(u)), (s = m.getX(u + 1)), (c = m.getX(u + 2)), (n = bo(this, f, t, to, g, v, y, b, w, a, s, c)) && ((n.faceIndex = Math.floor(u / 3)), (n.face.materialIndex = h.materialIndex), e.push(n)); else for (l = Math.max(0, x.start), d = Math.min(m.count, x.start + x.count); l < d; l += 3) (a = m.getX(l)), (s = m.getX(l + 1)), (c = m.getX(l + 2)), (n = bo(this, r, t, to, g, v, y, b, w, a, s, c)) && ((n.faceIndex = Math.floor(l / 3)), e.push(n)); else if (void 0 !== g) if (Array.isArray(r)) for (l = 0, d = S.length; l < d; l++) for (f = r[(h = S[l]).materialIndex], u = Math.max(h.start, x.start), p = Math.min(h.start + h.count, x.start + x.count); u < p; u += 3) (n = bo(this, f, t, to, g, v, y, b, w, (a = u), (s = u + 1), (c = u + 2))) && ((n.faceIndex = Math.floor(u / 3)), (n.face.materialIndex = h.materialIndex), e.push(n)); else for (l = Math.max(0, x.start), d = Math.min(g.count, x.start + x.count); l < d; l += 3) (n = bo(this, r, t, to, g, v, y, b, w, (a = l), (s = l + 1), (c = l + 2))) && ((n.faceIndex = Math.floor(l / 3)), e.push(n)); } else if (i.isGeometry) { var M, E, C, A, T = Array.isArray(r), O = i.vertices, _ = i.faces, P = i.faceVertexUvs[0]; P.length > 0 && (A = P); for (var I = 0, k = _.length; I < k; I++) { var D = _[I], R = T ? r[D.materialIndex] : r; if (void 0 !== R && ((M = O[D.a]), (E = O[D.b]), (C = O[D.c]), (n = yo(this, R, t, to, M, E, C, mo)))) { if (A && A[I]) { var L = A[I]; po.copy(L[0]), ho.copy(L[1]), fo.copy(L[2]), (n.uv = wr.getUV(mo, M, E, C, po, ho, fo, new Zn())); } (n.face = D), (n.faceIndex = I), e.push(n); } } } }, clone: function () { return new this.constructor(this.geometry, this.material).copy(this); }, }); var wo = 0, So = new mi(), xo = new Di(), Mo = new si(); function Eo() { Object.defineProperty(this, 'id', { value: (wo += 2), }), (this.uuid = Kn.generateUUID()), (this.name = ''), (this.type = 'Geometry'), (this.vertices = []), (this.colors = []), (this.faces = []), (this.faceVertexUvs = [[]]), (this.morphTargets = []), (this.morphNormals = []), (this.skinWeights = []), (this.skinIndices = []), (this.lineDistances = []), (this.boundingBox = null), (this.boundingSphere = null), (this.elementsNeedUpdate = !1), (this.verticesNeedUpdate = !1), (this.uvsNeedUpdate = !1), (this.normalsNeedUpdate = !1), (this.colorsNeedUpdate = !1), (this.lineDistancesNeedUpdate = !1), (this.groupsNeedUpdate = !1); } Eo.prototype = Object.assign(Object.create(Wn.prototype), { constructor: Eo, isGeometry: !0, applyMatrix4: function (t) { for (var e = new Jn().getNormalMatrix(t), n = 0, i = this.vertices.length; n < i; n++) { this.vertices[n].applyMatrix4(t); } for (n = 0, i = this.faces.length; n < i; n++) { var r = this.faces[n]; r.normal.applyMatrix3(e).normalize(); for (var o = 0, a = r.vertexNormals.length; o < a; o++) r.vertexNormals[o].applyMatrix3(e).normalize(); } return ( null !== this.boundingBox && this.computeBoundingBox(), null !== this.boundingSphere && this.computeBoundingSphere(), (this.verticesNeedUpdate = !0), (this.normalsNeedUpdate = !0), this ); }, rotateX: function (t) { return So.makeRotationX(t), this.applyMatrix4(So), this; }, rotateY: function (t) { return So.makeRotationY(t), this.applyMatrix4(So), this; }, rotateZ: function (t) { return So.makeRotationZ(t), this.applyMatrix4(So), this; }, translate: function (t, e, n) { return So.makeTranslation(t, e, n), this.applyMatrix4(So), this; }, scale: function (t, e, n) { return So.makeScale(t, e, n), this.applyMatrix4(So), this; }, lookAt: function (t) { return xo.lookAt(t), xo.updateMatrix(), this.applyMatrix4(xo.matrix), this; }, fromBufferGeometry: function (t) { var e = this, n = null !== t.index ? t.index.array : void 0, i = t.attributes; if (void 0 === i.position) return console.error('THREE.Geometry.fromBufferGeometry(): Position attribute required for conversion.'), this; var r = i.position.array, o = void 0 !== i.normal ? i.normal.array : void 0, a = void 0 !== i.color ? i.color.array : void 0, s = void 0 !== i.uv ? i.uv.array : void 0, c = void 0 !== i.uv2 ? i.uv2.array : void 0; void 0 !== c && (this.faceVertexUvs[1] = []); for (var l = 0; l < r.length; l += 3) e.vertices.push(new si().fromArray(r, l)), void 0 !== a && e.colors.push(new Er().fromArray(a, l)); function u(t, n, i, r) { var l = void 0 === a ? [] : [e.colors[t].clone(), e.colors[n].clone(), e.colors[i].clone()], u = new Or(t, n, i, void 0 === o ? [] : [new si().fromArray(o, 3 * t), new si().fromArray(o, 3 * n), new si().fromArray(o, 3 * i)], l, r); e.faces.push(u), void 0 !== s && e.faceVertexUvs[0].push([new Zn().fromArray(s, 2 * t), new Zn().fromArray(s, 2 * n), new Zn().fromArray(s, 2 * i)]), void 0 !== c && e.faceVertexUvs[1].push([new Zn().fromArray(c, 2 * t), new Zn().fromArray(c, 2 * n), new Zn().fromArray(c, 2 * i)]); } var d = t.groups; if (d.length > 0) for (l = 0; l < d.length; l++) for (var p = d[l], h = p.start, f = h, m = h + p.count; f < m; f += 3) void 0 !== n ? u(n[f], n[f + 1], n[f + 2], p.materialIndex) : u(f, f + 1, f + 2, p.materialIndex); else if (void 0 !== n) for (l = 0; l < n.length; l += 3) u(n[l], n[l + 1], n[l + 2]); else for (l = 0; l < r.length / 3; l += 3) u(l, l + 1, l + 2); return this.computeFaceNormals(), null !== t.boundingBox && (this.boundingBox = t.boundingBox.clone()), null !== t.boundingSphere && (this.boundingSphere = t.boundingSphere.clone()), this; }, center: function () { return this.computeBoundingBox(), this.boundingBox.getCenter(Mo).negate(), this.translate(Mo.x, Mo.y, Mo.z), this; }, normalize: function () { this.computeBoundingSphere(); var t = this.boundingSphere.center, e = this.boundingSphere.radius, n = 0 === e ? 1 : 1 / e, i = new mi(); return i.set(n, 0, 0, -n * t.x, 0, n, 0, -n * t.y, 0, 0, n, -n * t.z, 0, 0, 0, 1), this.applyMatrix4(i), this; }, computeFaceNormals: function () { for (var t = new si(), e = new si(), n = 0, i = this.faces.length; n < i; n++) { var r = this.faces[n], o = this.vertices[r.a], a = this.vertices[r.b], s = this.vertices[r.c]; t.subVectors(s, a), e.subVectors(o, a), t.cross(e), t.normalize(), r.normal.copy(t); } }, computeVertexNormals: function (t) { var e, n, i, r, o, a; for (void 0 === t && (t = !0), a = new Array(this.vertices.length), e = 0, n = this.vertices.length; e < n; e++) a[e] = new si(); if (t) { var s, c, l, u = new si(), d = new si(); for (i = 0, r = this.faces.length; i < r; i++) (o = this.faces[i]), (s = this.vertices[o.a]), (c = this.vertices[o.b]), (l = this.vertices[o.c]), u.subVectors(l, c), d.subVectors(s, c), u.cross(d), a[o.a].add(u), a[o.b].add(u), a[o.c].add(u); } else for (this.computeFaceNormals(), i = 0, r = this.faces.length; i < r; i++) a[(o = this.faces[i]).a].add(o.normal), a[o.b].add(o.normal), a[o.c].add(o.normal); for (e = 0, n = this.vertices.length; e < n; e++) a[e].normalize(); for (i = 0, r = this.faces.length; i < r; i++) { var p = (o = this.faces[i]).vertexNormals; 3 === p.length ? (p[0].copy(a[o.a]), p[1].copy(a[o.b]), p[2].copy(a[o.c])) : ((p[0] = a[o.a].clone()), (p[1] = a[o.b].clone()), (p[2] = a[o.c].clone())); } this.faces.length > 0 && (this.normalsNeedUpdate = !0); }, computeFlatVertexNormals: function () { var t, e, n; for (this.computeFaceNormals(), t = 0, e = this.faces.length; t < e; t++) { var i = (n = this.faces[t]).vertexNormals; 3 === i.length ? (i[0].copy(n.normal), i[1].copy(n.normal), i[2].copy(n.normal)) : ((i[0] = n.normal.clone()), (i[1] = n.normal.clone()), (i[2] = n.normal.clone())); } this.faces.length > 0 && (this.normalsNeedUpdate = !0); }, computeMorphNormals: function () { var t, e, n, i, r; for (n = 0, i = this.faces.length; n < i; n++) for ( (r = this.faces[n]).__originalFaceNormal ? r.__originalFaceNormal.copy(r.normal) : (r.__originalFaceNormal = r.normal.clone()), r.__originalVertexNormals || (r.__originalVertexNormals = []), t = 0, e = r.vertexNormals.length; t < e; t++ ) r.__originalVertexNormals[t] ? r.__originalVertexNormals[t].copy(r.vertexNormals[t]) : (r.__originalVertexNormals[t] = r.vertexNormals[t].clone()); var o = new Eo(); for (o.faces = this.faces, t = 0, e = this.morphTargets.length; t < e; t++) { if (!this.morphNormals[t]) { (this.morphNormals[t] = {}), (this.morphNormals[t].faceNormals = []), (this.morphNormals[t].vertexNormals = []); var a = this.morphNormals[t].faceNormals, s = this.morphNormals[t].vertexNormals; for (n = 0, i = this.faces.length; n < i; n++) (c = new si()), (l = { a: new si(), b: new si(), c: new si(), }), a.push(c), s.push(l); } var c, l, u = this.morphNormals[t]; for (o.vertices = this.morphTargets[t].vertices, o.computeFaceNormals(), o.computeVertexNormals(), n = 0, i = this.faces.length; n < i; n++) (r = this.faces[n]), (c = u.faceNormals[n]), (l = u.vertexNormals[n]), c.copy(r.normal), l.a.copy(r.vertexNormals[0]), l.b.copy(r.vertexNormals[1]), l.c.copy(r.vertexNormals[2]); } for (n = 0, i = this.faces.length; n < i; n++) ((r = this.faces[n]).normal = r.__originalFaceNormal), (r.vertexNormals = r.__originalVertexNormals); }, computeBoundingBox: function () { null === this.boundingBox && (this.boundingBox = new Yi()), this.boundingBox.setFromPoints(this.vertices); }, computeBoundingSphere: function () { null === this.boundingSphere && (this.boundingSphere = new Ji()), this.boundingSphere.setFromPoints(this.vertices); }, merge: function (t, e, n) { if (t && t.isGeometry) { var i, r = this.vertices.length, o = this.vertices, a = t.vertices, s = this.faces, c = t.faces, l = this.colors, u = t.colors; void 0 === n && (n = 0), void 0 !== e && (i = new Jn().getNormalMatrix(e)); for (var d = 0, p = a.length; d < p; d++) { var h = a[d].clone(); void 0 !== e && h.applyMatrix4(e), o.push(h); } for (d = 0, p = u.length; d < p; d++) l.push(u[d].clone()); for (d = 0, p = c.length; d < p; d++) { var f, m, g, v = c[d], y = v.vertexNormals, b = v.vertexColors; (f = new Or(v.a + r, v.b + r, v.c + r)).normal.copy(v.normal), void 0 !== i && f.normal.applyMatrix3(i).normalize(); for (var w = 0, S = y.length; w < S; w++) (m = y[w].clone()), void 0 !== i && m.applyMatrix3(i).normalize(), f.vertexNormals.push(m); f.color.copy(v.color); for (w = 0, S = b.length; w < S; w++) (g = b[w]), f.vertexColors.push(g.clone()); (f.materialIndex = v.materialIndex + n), s.push(f); } for (d = 0, p = t.faceVertexUvs.length; d < p; d++) { var x = t.faceVertexUvs[d]; void 0 === this.faceVertexUvs[d] && (this.faceVertexUvs[d] = []); for (w = 0, S = x.length; w < S; w++) { for (var M = x[w], E = [], C = 0, A = M.length; C < A; C++) E.push(M[C].clone()); this.faceVertexUvs[d].push(E); } } } else console.error('THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.', t); }, mergeMesh: function (t) { t && t.isMesh ? (t.matrixAutoUpdate && t.updateMatrix(), this.merge(t.geometry, t.matrix)) : console.error('THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.', t); }, mergeVertices: function () { var t, e, n, i, r, o, a, s, c = {}, l = [], u = [], d = Math.pow(10, 4); for (n = 0, i = this.vertices.length; n < i; n++) (t = this.vertices[n]), void 0 === c[(e = Math.round(t.x * d) + '_' + Math.round(t.y * d) + '_' + Math.round(t.z * d))] ? ((c[e] = n), l.push(this.vertices[n]), (u[n] = l.length - 1)) : (u[n] = u[c[e]]); var p = []; for (n = 0, i = this.faces.length; n < i; n++) { ((r = this.faces[n]).a = u[r.a]), (r.b = u[r.b]), (r.c = u[r.c]), (o = [r.a, r.b, r.c]); for (var h = 0; h < 3; h++) if (o[h] === o[(h + 1) % 3]) { p.push(n); break; } } for (n = p.length - 1; n >= 0; n--) { var f = p[n]; for (this.faces.splice(f, 1), a = 0, s = this.faceVertexUvs.length; a < s; a++) this.faceVertexUvs[a].splice(f, 1); } var m = this.vertices.length - l.length; return (this.vertices = l), m; }, setFromPoints: function (t) { this.vertices = []; for (var e = 0, n = t.length; e < n; e++) { var i = t[e]; this.vertices.push(new si(i.x, i.y, i.z || 0)); } return this; }, sortFacesByMaterialIndex: function () { for (var t = this.faces, e = t.length, n = 0; n < e; n++) t[n]._id = n; t.sort(function (t, e) { return t.materialIndex - e.materialIndex; }); var i, r, o = this.faceVertexUvs[0], a = this.faceVertexUvs[1]; o && o.length === e && (i = []), a && a.length === e && (r = []); for (n = 0; n < e; n++) { var s = t[n]._id; i && i.push(o[s]), r && r.push(a[s]); } i && (this.faceVertexUvs[0] = i), r && (this.faceVertexUvs[1] = r); }, toJSON: function () { var t = { metadata: { version: 4.5, type: 'Geometry', generator: 'Geometry.toJSON', }, }; if (((t.uuid = this.uuid), (t.type = this.type), '' !== this.name && (t.name = this.name), void 0 !== this.parameters)) { var e = this.parameters; for (var n in e) void 0 !== e[n] && (t[n] = e[n]); return t; } for (var i = [], r = 0; r < this.vertices.length; r++) { var o = this.vertices[r]; i.push(o.x, o.y, o.z); } var a = [], s = [], c = {}, l = [], u = {}, d = [], p = {}; for (r = 0; r < this.faces.length; r++) { var h = this.faces[r], f = void 0 !== this.faceVertexUvs[0][r], m = h.normal.length() > 0, g = h.vertexNormals.length > 0, v = 1 !== h.color.r || 1 !== h.color.g || 1 !== h.color.b, y = h.vertexColors.length > 0, b = 0; if ( ((b = M(b, 0, 0)), (b = M(b, 1, !0)), (b = M(b, 2, !1)), (b = M(b, 3, f)), (b = M(b, 4, m)), (b = M(b, 5, g)), (b = M(b, 6, v)), (b = M(b, 7, y)), a.push(b), a.push(h.a, h.b, h.c), a.push(h.materialIndex), f) ) { var w = this.faceVertexUvs[0][r]; a.push(A(w[0]), A(w[1]), A(w[2])); } if ((m && a.push(E(h.normal)), g)) { var S = h.vertexNormals; a.push(E(S[0]), E(S[1]), E(S[2])); } if ((v && a.push(C(h.color)), y)) { var x = h.vertexColors; a.push(C(x[0]), C(x[1]), C(x[2])); } } function M(t, e, n) { return n ? t | (1 << e) : t & ~(1 << e); } function E(t) { var e = t.x.toString() + t.y.toString() + t.z.toString(); return void 0 !== c[e] || ((c[e] = s.length / 3), s.push(t.x, t.y, t.z)), c[e]; } function C(t) { var e = t.r.toString() + t.g.toString() + t.b.toString(); return void 0 !== u[e] || ((u[e] = l.length), l.push(t.getHex())), u[e]; } function A(t) { var e = t.x.toString() + t.y.toString(); return void 0 !== p[e] || ((p[e] = d.length / 2), d.push(t.x, t.y)), p[e]; } return (t.data = {}), (t.data.vertices = i), (t.data.normals = s), l.length > 0 && (t.data.colors = l), d.length > 0 && (t.data.uvs = [d]), (t.data.faces = a), t; }, clone: function () { return new Eo().copy(this); }, copy: function (t) { var e, n, i, r, o, a; (this.vertices = []), (this.colors = []), (this.faces = []), (this.faceVertexUvs = [[]]), (this.morphTargets = []), (this.morphNormals = []), (this.skinWeights = []), (this.skinIndices = []), (this.lineDistances = []), (this.boundingBox = null), (this.boundingSphere = null), (this.name = t.name); var s = t.vertices; for (e = 0, n = s.length; e < n; e++) this.vertices.push(s[e].clone()); var c = t.colors; for (e = 0, n = c.length; e < n; e++) this.colors.push(c[e].clone()); var l = t.faces; for (e = 0, n = l.length; e < n; e++) this.faces.push(l[e].clone()); for (e = 0, n = t.faceVertexUvs.length; e < n; e++) { var u = t.faceVertexUvs[e]; for (void 0 === this.faceVertexUvs[e] && (this.faceVertexUvs[e] = []), i = 0, r = u.length; i < r; i++) { var d = u[i], p = []; for (o = 0, a = d.length; o < a; o++) { var h = d[o]; p.push(h.clone()); } this.faceVertexUvs[e].push(p); } } var f = t.morphTargets; for (e = 0, n = f.length; e < n; e++) { var m = {}; if (((m.name = f[e].name), void 0 !== f[e].vertices)) for (m.vertices = [], i = 0, r = f[e].vertices.length; i < r; i++) m.vertices.push(f[e].vertices[i].clone()); if (void 0 !== f[e].normals) for (m.normals = [], i = 0, r = f[e].normals.length; i < r; i++) m.normals.push(f[e].normals[i].clone()); this.morphTargets.push(m); } var g = t.morphNormals; for (e = 0, n = g.length; e < n; e++) { var v = {}; if (void 0 !== g[e].vertexNormals) for (v.vertexNormals = [], i = 0, r = g[e].vertexNormals.length; i < r; i++) { var y = g[e].vertexNormals[i], b = {}; (b.a = y.a.clone()), (b.b = y.b.clone()), (b.c = y.c.clone()), v.vertexNormals.push(b); } if (void 0 !== g[e].faceNormals) for (v.faceNormals = [], i = 0, r = g[e].faceNormals.length; i < r; i++) v.faceNormals.push(g[e].faceNormals[i].clone()); this.morphNormals.push(v); } var w = t.skinWeights; for (e = 0, n = w.length; e < n; e++) this.skinWeights.push(w[e].clone()); var S = t.skinIndices; for (e = 0, n = S.length; e < n; e++) this.skinIndices.push(S[e].clone()); var x = t.lineDistances; for (e = 0, n = x.length; e < n; e++) this.lineDistances.push(x[e]); var M = t.boundingBox; null !== M && (this.boundingBox = M.clone()); var E = t.boundingSphere; return ( null !== E && (this.boundingSphere = E.clone()), (this.elementsNeedUpdate = t.elementsNeedUpdate), (this.verticesNeedUpdate = t.verticesNeedUpdate), (this.uvsNeedUpdate = t.uvsNeedUpdate), (this.normalsNeedUpdate = t.normalsNeedUpdate), (this.colorsNeedUpdate = t.colorsNeedUpdate), (this.lineDistancesNeedUpdate = t.lineDistancesNeedUpdate), (this.groupsNeedUpdate = t.groupsNeedUpdate), this ); }, dispose: function () { this.dispatchEvent({ type: 'dispose', }); }, }); var Co = (function (t) { s(n, t); var e = l(n); function n(t, i, r, o, s, c) { var l; return ( a(this, n), ((l = e.call(this)).type = 'BoxGeometry'), (l.parameters = { width: t, height: i, depth: r, widthSegments: o, heightSegments: s, depthSegments: c, }), l.fromBufferGeometry(new Ao(t, i, r, o, s, c)), l.mergeVertices(), l ); } return n; })(Eo), Ao = (function (t) { s(n, t); var e = l(n); function n(t, i, r, o, s, c) { var l; a(this, n), ((l = e.call(this)).type = 'BoxBufferGeometry'), (l.parameters = { width: t, height: i, depth: r, widthSegments: o, heightSegments: s, depthSegments: c, }); var u = d(l); (t = t || 1), (i = i || 1), (r = r || 1), (o = Math.floor(o) || 1), (s = Math.floor(s) || 1), (c = Math.floor(c) || 1); var p = [], h = [], f = [], m = [], g = 0, v = 0; function y(t, e, n, i, r, o, a, s, c, l, d) { var y, b, w = o / c, S = a / l, x = o / 2, M = a / 2, E = s / 2, C = c + 1, A = l + 1, T = 0, O = 0, _ = new si(); for (b = 0; b < A; b++) { var P = b * S - M; for (y = 0; y < C; y++) { var I = y * w - x; (_[t] = I * i), (_[e] = P * r), (_[n] = E), h.push(_.x, _.y, _.z), (_[t] = 0), (_[e] = 0), (_[n] = s > 0 ? 1 : -1), f.push(_.x, _.y, _.z), m.push(y / c), m.push(1 - b / l), (T += 1); } } for (b = 0; b < l; b++) for (y = 0; y < c; y++) { var k = g + y + C * b, D = g + y + C * (b + 1), R = g + (y + 1) + C * (b + 1), L = g + (y + 1) + C * b; p.push(k, D, L), p.push(D, R, L), (O += 6); } u.addGroup(v, O, d), (v += O), (g += T); } return ( y('z', 'y', 'x', -1, -1, r, i, t, c, s, 0), y('z', 'y', 'x', 1, -1, r, i, -t, c, s, 1), y('x', 'z', 'y', 1, 1, t, r, i, o, c, 2), y('x', 'z', 'y', 1, -1, t, r, -i, o, c, 3), y('x', 'y', 'z', 1, -1, t, i, r, o, s, 4), y('x', 'y', 'z', -1, -1, t, i, -r, o, s, 5), l.setIndex(p), l.setAttribute('position', new Br(h, 3)), l.setAttribute('normal', new Br(f, 3)), l.setAttribute('uv', new Br(m, 2)), l ); } return n; })(Qr); function To(t) { var e = {}; for (var n in t) for (var i in ((e[n] = {}), t[n])) { var r = t[n][i]; r && (r.isColor || r.isMatrix3 || r.isMatrix4 || r.isVector2 || r.isVector3 || r.isVector4 || r.isTexture) ? (e[n][i] = r.clone()) : Array.isArray(r) ? (e[n][i] = r.slice()) : (e[n][i] = r); } return e; } function Oo(t) { for (var e = {}, n = 0; n < t.length; n++) { var i = To(t[n]); for (var r in i) e[r] = i[r]; } return e; } var _o = { clone: To, merge: Oo, }; function Po(t) { Pr.call(this), (this.type = 'ShaderMaterial'), (this.defines = {}), (this.uniforms = {}), (this.vertexShader = 'void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}'), (this.fragmentShader = 'void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}'), (this.linewidth = 1), (this.wireframe = !1), (this.wireframeLinewidth = 1), (this.fog = !1), (this.lights = !1), (this.clipping = !1), (this.skinning = !1), (this.morphTargets = !1), (this.morphNormals = !1), (this.extensions = { derivatives: !1, fragDepth: !1, drawBuffers: !1, shaderTextureLOD: !1, }), (this.defaultAttributeValues = { color: [1, 1, 1], uv: [0, 0], uv2: [0, 0], }), (this.index0AttributeName = void 0), (this.uniformsNeedUpdate = !1), void 0 !== t && (void 0 !== t.attributes && console.error('THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead.'), this.setValues(t)); } function Io() { Di.call(this), (this.type = 'Camera'), (this.matrixWorldInverse = new mi()), (this.projectionMatrix = new mi()), (this.projectionMatrixInverse = new mi()); } function ko(t, e, n, i) { Io.call(this), (this.type = 'PerspectiveCamera'), (this.fov = void 0 !== t ? t : 50), (this.zoom = 1), (this.near = void 0 !== n ? n : 0.1), (this.far = void 0 !== i ? i : 2e3), (this.focus = 10), (this.aspect = void 0 !== e ? e : 1), (this.view = null), (this.filmGauge = 35), (this.filmOffset = 0), this.updateProjectionMatrix(); } (Po.prototype = Object.create(Pr.prototype)), (Po.prototype.constructor = Po), (Po.prototype.isShaderMaterial = !0), (Po.prototype.copy = function (t) { return ( Pr.prototype.copy.call(this, t), (this.fragmentShader = t.fragmentShader), (this.vertexShader = t.vertexShader), (this.uniforms = To(t.uniforms)), (this.defines = Object.assign({}, t.defines)), (this.wireframe = t.wireframe), (this.wireframeLinewidth = t.wireframeLinewidth), (this.lights = t.lights), (this.clipping = t.clipping), (this.skinning = t.skinning), (this.morphTargets = t.morphTargets), (this.morphNormals = t.morphNormals), (this.extensions = t.extensions), this ); }), (Po.prototype.toJSON = function (t) { var e = Pr.prototype.toJSON.call(this, t); for (var n in ((e.uniforms = {}), this.uniforms)) { var i = this.uniforms[n].value; i && i.isTexture ? (e.uniforms[n] = { type: 't', value: i.toJSON(t).uuid, }) : i && i.isColor ? (e.uniforms[n] = { type: 'c', value: i.getHex(), }) : i && i.isVector2 ? (e.uniforms[n] = { type: 'v2', value: i.toArray(), }) : i && i.isVector3 ? (e.uniforms[n] = { type: 'v3', value: i.toArray(), }) : i && i.isVector4 ? (e.uniforms[n] = { type: 'v4', value: i.toArray(), }) : i && i.isMatrix3 ? (e.uniforms[n] = { type: 'm3', value: i.toArray(), }) : i && i.isMatrix4 ? (e.uniforms[n] = { type: 'm4', value: i.toArray(), }) : (e.uniforms[n] = { value: i, }); } Object.keys(this.defines).length > 0 && (e.defines = this.defines), (e.vertexShader = this.vertexShader), (e.fragmentShader = this.fragmentShader); var r = {}; for (var o in this.extensions) !0 === this.extensions[o] && (r[o] = !0); return Object.keys(r).length > 0 && (e.extensions = r), e; }), (Io.prototype = Object.assign(Object.create(Di.prototype), { constructor: Io, isCamera: !0, copy: function (t, e) { return ( Di.prototype.copy.call(this, t, e), this.matrixWorldInverse.copy(t.matrixWorldInverse), this.projectionMatrix.copy(t.projectionMatrix), this.projectionMatrixInverse.copy(t.projectionMatrixInverse), this ); }, getWorldDirection: function (t) { void 0 === t && (console.warn('THREE.Camera: .getWorldDirection() target is now required'), (t = new si())), this.updateMatrixWorld(!0); var e = this.matrixWorld.elements; return t.set(-e[8], -e[9], -e[10]).normalize(); }, updateMatrixWorld: function (t) { Di.prototype.updateMatrixWorld.call(this, t), this.matrixWorldInverse.getInverse(this.matrixWorld); }, updateWorldMatrix: function (t, e) { Di.prototype.updateWorldMatrix.call(this, t, e), this.matrixWorldInverse.getInverse(this.matrixWorld); }, clone: function () { return new this.constructor().copy(this); }, })), (ko.prototype = Object.assign(Object.create(Io.prototype), { constructor: ko, isPerspectiveCamera: !0, copy: function (t, e) { return ( Io.prototype.copy.call(this, t, e), (this.fov = t.fov), (this.zoom = t.zoom), (this.near = t.near), (this.far = t.far), (this.focus = t.focus), (this.aspect = t.aspect), (this.view = null === t.view ? null : Object.assign({}, t.view)), (this.filmGauge = t.filmGauge), (this.filmOffset = t.filmOffset), this ); }, setFocalLength: function (t) { var e = (0.5 * this.getFilmHeight()) / t; (this.fov = 2 * Kn.RAD2DEG * Math.atan(e)), this.updateProjectionMatrix(); }, getFocalLength: function () { var t = Math.tan(0.5 * Kn.DEG2RAD * this.fov); return (0.5 * this.getFilmHeight()) / t; }, getEffectiveFOV: function () { return 2 * Kn.RAD2DEG * Math.atan(Math.tan(0.5 * Kn.DEG2RAD * this.fov) / this.zoom); }, getFilmWidth: function () { return this.filmGauge * Math.min(this.aspect, 1); }, getFilmHeight: function () { return this.filmGauge / Math.max(this.aspect, 1); }, setViewOffset: function (t, e, n, i, r, o) { (this.aspect = t / e), null === this.view && (this.view = { enabled: !0, fullWidth: 1, fullHeight: 1, offsetX: 0, offsetY: 0, width: 1, height: 1, }), (this.view.enabled = !0), (this.view.fullWidth = t), (this.view.fullHeight = e), (this.view.offsetX = n), (this.view.offsetY = i), (this.view.width = r), (this.view.height = o), this.updateProjectionMatrix(); }, clearViewOffset: function () { null !== this.view && (this.view.enabled = !1), this.updateProjectionMatrix(); }, updateProjectionMatrix: function () { var t = this.near, e = (t * Math.tan(0.5 * Kn.DEG2RAD * this.fov)) / this.zoom, n = 2 * e, i = this.aspect * n, r = -0.5 * i, o = this.view; if (null !== this.view && this.view.enabled) { var a = o.fullWidth, s = o.fullHeight; (r += (o.offsetX * i) / a), (e -= (o.offsetY * n) / s), (i *= o.width / a), (n *= o.height / s); } var c = this.filmOffset; 0 !== c && (r += (t * c) / this.getFilmWidth()), this.projectionMatrix.makePerspective(r, r + i, e, e - n, t, this.far), this.projectionMatrixInverse.getInverse(this.projectionMatrix); }, toJSON: function (t) { var e = Di.prototype.toJSON.call(this, t); return ( (e.object.fov = this.fov), (e.object.zoom = this.zoom), (e.object.near = this.near), (e.object.far = this.far), (e.object.focus = this.focus), (e.object.aspect = this.aspect), null !== this.view && (e.object.view = Object.assign({}, this.view)), (e.object.filmGauge = this.filmGauge), (e.object.filmOffset = this.filmOffset), e ); }, })); function Do(t, e, n, i) { Di.call(this), (this.type = 'CubeCamera'); var r = new ko(90, 1, t, e); r.up.set(0, -1, 0), r.lookAt(new si(1, 0, 0)), this.add(r); var o = new ko(90, 1, t, e); o.up.set(0, -1, 0), o.lookAt(new si(-1, 0, 0)), this.add(o); var a = new ko(90, 1, t, e); a.up.set(0, 0, 1), a.lookAt(new si(0, 1, 0)), this.add(a); var s = new ko(90, 1, t, e); s.up.set(0, 0, -1), s.lookAt(new si(0, -1, 0)), this.add(s); var c = new ko(90, 1, t, e); c.up.set(0, -1, 0), c.lookAt(new si(0, 0, 1)), this.add(c); var l = new ko(90, 1, t, e); l.up.set(0, -1, 0), l.lookAt(new si(0, 0, -1)), this.add(l), (i = i || { format: Zt, magFilter: kt, minFilter: kt, }), (this.renderTarget = new Ro(n, i)), (this.renderTarget.texture.name = 'CubeCamera'), (this.update = function (t, e) { null === this.parent && this.updateMatrixWorld(); var n = t.getRenderTarget(), i = this.renderTarget, u = i.texture.generateMipmaps; (i.texture.generateMipmaps = !1), t.setRenderTarget(i, 0), t.render(e, r), t.setRenderTarget(i, 1), t.render(e, o), t.setRenderTarget(i, 2), t.render(e, a), t.setRenderTarget(i, 3), t.render(e, s), t.setRenderTarget(i, 4), t.render(e, c), (i.texture.generateMipmaps = u), t.setRenderTarget(i, 5), t.render(e, l), t.setRenderTarget(n); }), (this.clear = function (t, e, n, i) { for (var r = t.getRenderTarget(), o = this.renderTarget, a = 0; a < 6; a++) t.setRenderTarget(o, a), t.clear(e, n, i); t.setRenderTarget(r); }); } function Ro(t, e, n) { Number.isInteger(e) && (console.warn('THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )'), (e = n)), ni.call(this, t, t, e); } function Lo(t, e, n, i, r, o, a, s, c, l, u, d) { ti.call(this, null, o, a, s, c, l, i, r, u, d), (this.image = { data: t || null, width: e || 1, height: n || 1, }), (this.magFilter = void 0 !== c ? c : Tt), (this.minFilter = void 0 !== l ? l : Tt), (this.generateMipmaps = !1), (this.flipY = !1), (this.unpackAlignment = 1), (this.needsUpdate = !0); } (Do.prototype = Object.create(Di.prototype)), (Do.prototype.constructor = Do), (Ro.prototype = Object.create(ni.prototype)), (Ro.prototype.constructor = Ro), (Ro.prototype.isWebGLCubeRenderTarget = !0), (Ro.prototype.fromEquirectangularTexture = function (t, e) { (this.texture.type = e.type), (this.texture.format = e.format), (this.texture.encoding = e.encoding); var n = new Ri(), i = { uniforms: { tEquirect: { value: null, }, }, vertexShader: [ 'varying vec3 vWorldDirection;', 'vec3 transformDirection( in vec3 dir, in mat4 matrix ) {', '\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );', '}', 'void main() {', '\tvWorldDirection = transformDirection( position, modelMatrix );', '\t#include ', '\t#include ', '}', ].join('\n'), fragmentShader: [ 'uniform sampler2D tEquirect;', 'varying vec3 vWorldDirection;', '#define RECIPROCAL_PI 0.31830988618', '#define RECIPROCAL_PI2 0.15915494', 'void main() {', '\tvec3 direction = normalize( vWorldDirection );', '\tvec2 sampleUV;', '\tsampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;', '\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;', '\tgl_FragColor = texture2D( tEquirect, sampleUV );', '}', ].join('\n'), }, r = new Po({ type: 'CubemapFromEquirect', uniforms: To(i.uniforms), vertexShader: i.vertexShader, fragmentShader: i.fragmentShader, side: T, blending: I, }); r.uniforms.tEquirect.value = e; var o = new vo(new Ao(5, 5, 5), r); n.add(o); var a = new Do(1, 10, 1); return (a.renderTarget = this), (a.renderTarget.texture.name = 'CubeCameraTexture'), a.update(t, n), o.geometry.dispose(), o.material.dispose(), this; }), (Lo.prototype = Object.create(ti.prototype)), (Lo.prototype.constructor = Lo), (Lo.prototype.isDataTexture = !0); var No = new Ji(), jo = new si(); function Vo(t, e, n, i, r, o) { this.planes = [void 0 !== t ? t : new lr(), void 0 !== e ? e : new lr(), void 0 !== n ? n : new lr(), void 0 !== i ? i : new lr(), void 0 !== r ? r : new lr(), void 0 !== o ? o : new lr()]; } Object.assign(Vo.prototype, { set: function (t, e, n, i, r, o) { var a = this.planes; return a[0].copy(t), a[1].copy(e), a[2].copy(n), a[3].copy(i), a[4].copy(r), a[5].copy(o), this; }, clone: function () { return new this.constructor().copy(this); }, copy: function (t) { for (var e = this.planes, n = 0; n < 6; n++) e[n].copy(t.planes[n]); return this; }, setFromProjectionMatrix: function (t) { var e = this.planes, n = t.elements, i = n[0], r = n[1], o = n[2], a = n[3], s = n[4], c = n[5], l = n[6], u = n[7], d = n[8], p = n[9], h = n[10], f = n[11], m = n[12], g = n[13], v = n[14], y = n[15]; return ( e[0].setComponents(a - i, u - s, f - d, y - m).normalize(), e[1].setComponents(a + i, u + s, f + d, y + m).normalize(), e[2].setComponents(a + r, u + c, f + p, y + g).normalize(), e[3].setComponents(a - r, u - c, f - p, y - g).normalize(), e[4].setComponents(a - o, u - l, f - h, y - v).normalize(), e[5].setComponents(a + o, u + l, f + h, y + v).normalize(), this ); }, intersectsObject: function (t) { var e = t.geometry; return null === e.boundingSphere && e.computeBoundingSphere(), No.copy(e.boundingSphere).applyMatrix4(t.matrixWorld), this.intersectsSphere(No); }, intersectsSprite: function (t) { return No.center.set(0, 0, 0), (No.radius = 0.7071067811865476), No.applyMatrix4(t.matrixWorld), this.intersectsSphere(No); }, intersectsSphere: function (t) { for (var e = this.planes, n = t.center, i = -t.radius, r = 0; r < 6; r++) { if (e[r].distanceToPoint(n) < i) return !1; } return !0; }, intersectsBox: function (t) { for (var e = this.planes, n = 0; n < 6; n++) { var i = e[n]; if (((jo.x = i.normal.x > 0 ? t.max.x : t.min.x), (jo.y = i.normal.y > 0 ? t.max.y : t.min.y), (jo.z = i.normal.z > 0 ? t.max.z : t.min.z), i.distanceToPoint(jo) < 0)) return !1; } return !0; }, containsPoint: function (t) { for (var e = this.planes, n = 0; n < 6; n++) if (e[n].distanceToPoint(t) < 0) return !1; return !0; }, }); var Fo = { common: { diffuse: { value: new Er(15658734), }, opacity: { value: 1, }, map: { value: null, }, uvTransform: { value: new Jn(), }, uv2Transform: { value: new Jn(), }, alphaMap: { value: null, }, }, specularmap: { specularMap: { value: null, }, }, envmap: { envMap: { value: null, }, flipEnvMap: { value: -1, }, reflectivity: { value: 1, }, refractionRatio: { value: 0.98, }, maxMipLevel: { value: 0, }, }, 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 Zn(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 Er(16777215), }, }, lights: { ambientLightColor: { value: [], }, lightProbe: { value: [], }, directionalLights: { value: [], properties: { direction: {}, color: {}, }, }, directionalLightShadows: { value: [], properties: { shadowBias: {}, shadowRadius: {}, shadowMapSize: {}, }, }, directionalShadowMap: { value: [], }, directionalShadowMatrix: { value: [], }, spotLights: { value: [], properties: { color: {}, position: {}, direction: {}, distance: {}, coneCos: {}, penumbraCos: {}, decay: {}, }, }, spotLightShadows: { value: [], properties: { shadowBias: {}, shadowRadius: {}, shadowMapSize: {}, }, }, spotShadowMap: { value: [], }, spotShadowMatrix: { value: [], }, pointLights: { value: [], properties: { color: {}, position: {}, decay: {}, distance: {}, }, }, pointLightShadows: { value: [], properties: { shadowBias: {}, shadowRadius: {}, shadowMapSize: {}, shadowCameraNear: {}, shadowCameraFar: {}, }, }, pointShadowMap: { value: [], }, pointShadowMatrix: { value: [], }, hemisphereLights: { value: [], properties: { direction: {}, skyColor: {}, groundColor: {}, }, }, rectAreaLights: { value: [], properties: { color: {}, position: {}, width: {}, height: {}, }, }, }, points: { diffuse: { value: new Er(15658734), }, opacity: { value: 1, }, size: { value: 1, }, scale: { value: 1, }, map: { value: null, }, alphaMap: { value: null, }, uvTransform: { value: new Jn(), }, }, sprite: { diffuse: { value: new Er(15658734), }, opacity: { value: 1, }, center: { value: new Zn(0.5, 0.5), }, rotation: { value: 0, }, map: { value: null, }, alphaMap: { value: null, }, uvTransform: { value: new Jn(), }, }, }; function Uo() { var t = null, e = !1, n = null; function i(r, o) { !1 !== e && (n(r, o), t.requestAnimationFrame(i)); } return { start: function () { !0 !== e && null !== n && (t.requestAnimationFrame(i), (e = !0)); }, stop: function () { e = !1; }, setAnimationLoop: function (t) { n = t; }, setContext: function (e) { t = e; }, }; } function Bo(t, e) { var n = e.isWebGL2, i = new WeakMap(); return { get: function (t) { return t.isInterleavedBufferAttribute && (t = t.data), i.get(t); }, remove: function (e) { e.isInterleavedBufferAttribute && (e = e.data); var n = i.get(e); n && (t.deleteBuffer(n.buffer), i.delete(e)); }, update: function (e, r) { e.isInterleavedBufferAttribute && (e = e.data); var o = i.get(e); void 0 === o ? i.set( e, (function (e, n) { var i = e.array, r = e.usage, o = t.createBuffer(); t.bindBuffer(n, o), t.bufferData(n, i, r), e.onUploadCallback(); var a = 5126; return ( i instanceof Float32Array ? (a = 5126) : i instanceof Float64Array ? console.warn('THREE.WebGLAttributes: Unsupported data buffer format: Float64Array.') : i instanceof Uint16Array ? (a = 5123) : i instanceof Int16Array ? (a = 5122) : i instanceof Uint32Array ? (a = 5125) : i instanceof Int32Array ? (a = 5124) : i instanceof Int8Array ? (a = 5120) : i instanceof Uint8Array && (a = 5121), { buffer: o, type: a, bytesPerElement: i.BYTES_PER_ELEMENT, version: e.version, } ); })(e, r) ) : o.version < e.version && (!(function (e, i, r) { var o = i.array, a = i.updateRange; t.bindBuffer(r, e), -1 === a.count ? t.bufferSubData(r, 0, o) : (n ? t.bufferSubData(r, a.offset * o.BYTES_PER_ELEMENT, o, a.offset, a.count) : t.bufferSubData(r, a.offset * o.BYTES_PER_ELEMENT, o.subarray(a.offset, a.offset + a.count)), (a.count = -1)); })(o.buffer, e, r), (o.version = e.version)); }, }; } function zo(t, e, n, i) { Eo.call(this), (this.type = 'PlaneGeometry'), (this.parameters = { width: t, height: e, widthSegments: n, heightSegments: i, }), this.fromBufferGeometry(new Go(t, e, n, i)), this.mergeVertices(); } function Go(t, e, n, i) { Qr.call(this), (this.type = 'PlaneBufferGeometry'), (this.parameters = { width: t, height: e, widthSegments: n, heightSegments: i, }); var r, o, a = (t = t || 1) / 2, s = (e = e || 1) / 2, c = Math.floor(n) || 1, l = Math.floor(i) || 1, u = c + 1, d = l + 1, p = t / c, h = e / l, f = [], m = [], g = [], v = []; for (o = 0; o < d; o++) { var y = o * h - s; for (r = 0; r < u; r++) { var b = r * p - a; m.push(b, -y, 0), g.push(0, 0, 1), v.push(r / c), v.push(1 - o / l); } } for (o = 0; o < l; o++) for (r = 0; r < c; r++) { var w = r + u * o, S = r + u * (o + 1), x = r + 1 + u * (o + 1), M = r + 1 + u * o; f.push(w, S, M), f.push(S, x, M); } this.setIndex(f), this.setAttribute('position', new Br(m, 3)), this.setAttribute('normal', new Br(g, 3)), this.setAttribute('uv', new Br(v, 2)); } (zo.prototype = Object.create(Eo.prototype)), (zo.prototype.constructor = zo), (Go.prototype = Object.create(Qr.prototype)), (Go.prototype.constructor = Go); var Ho = { alphamap_fragment: '#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif', alphamap_pars_fragment: '#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif', alphatest_fragment: '#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif', aomap_fragment: '#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.specularRoughness );\n\t#endif\n#endif', aomap_pars_fragment: '#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif', begin_vertex: 'vec3 transformed = vec3( position );', beginnormal_vertex: 'vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif', bsdfs: 'vec2 integrateSpecularBRDF( const in float dotNV, const in float roughness ) {\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\treturn vec2( -1.04, 1.04 ) * a004 + r.zw;\n}\nfloat punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\tif( cutoffDistance > 0.0 ) {\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t}\n\treturn distanceFalloff;\n#else\n\tif( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t}\n\treturn 1.0;\n#endif\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nvec3 F_Schlick_RoughnessDependent( const in vec3 F0, const in float dotNV, const in float roughness ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotNV - 6.98316 ) * dotNV );\n\tvec3 Fr = max( vec3( 1.0 - roughness ), F0 ) - F0;\n\treturn Fr * fresnel + F0;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_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_Specular_GGX( const in IncidentLight incidentLight, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + viewDir );\n\tfloat dotNL = saturate( dot( normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * 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}\nvec3 BRDF_Specular_GGX_Environment( const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\treturn specularColor * brdf.x + brdf.y;\n}\nvoid BRDF_Specular_Multiscattering_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tvec3 F = F_Schlick_RoughnessDependent( specularColor, dotNV, roughness );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\tvec3 FssEss = F * brdf.x + brdf.y;\n\tfloat Ess = brdf.x + brdf.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}\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_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie(float roughness, float NoH) {\n\tfloat invAlpha = 1.0 / roughness;\n\tfloat cos2h = NoH * NoH;\n\tfloat sin2h = max(1.0 - cos2h, 0.0078125);\treturn (2.0 + invAlpha) * pow(sin2h, invAlpha * 0.5) / (2.0 * PI);\n}\nfloat V_Neubelt(float NoV, float NoL) {\n\treturn saturate(1.0 / (4.0 * (NoL + NoV - NoL * NoV)));\n}\nvec3 BRDF_Specular_Sheen( const in float roughness, const in vec3 L, const in GeometricContext geometry, vec3 specularColor ) {\n\tvec3 N = geometry.normal;\n\tvec3 V = geometry.viewDir;\n\tvec3 H = normalize( V + L );\n\tfloat dotNH = saturate( dot( N, H ) );\n\treturn specularColor * D_Charlie( roughness, dotNH ) * V_Neubelt( dot(N, V), dot(N, L) );\n}\n#endif', bumpmap_pars_fragment: '#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 ) {\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 );\n\t\tfDet *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\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', clipping_planes_fragment: '#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', clipping_planes_pars_fragment: '#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif', clipping_planes_pars_vertex: '#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif', clipping_planes_vertex: '#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif', color_fragment: '#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif', color_pars_fragment: '#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif', color_pars_vertex: '#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif', color_vertex: '#ifdef USE_COLOR\n\tvColor.xyz = color.xyz;\n#endif', common: '#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI_HALF 1.5707963267949\n#define RECIPROCAL_PI 0.31830988618\n#define RECIPROCAL_PI2 0.15915494\n#define LOG2 1.442695\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 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 max3( vec3 v ) { return max( max( v.x, v.y ), v.z ); }\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 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}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\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 return m[ 2 ][ 3 ] == - 1.0;\n}', cube_uv_reflection_fragment: '#ifdef ENVMAP_TYPE_CUBE_UV\n#define cubeUV_maxMipLevel 8.0\n#define cubeUV_minMipLevel 4.0\n#define cubeUV_maxTileSize 256.0\n#define cubeUV_minTileSize 16.0\nfloat getFace(vec3 direction) {\n vec3 absDirection = abs(direction);\n float face = -1.0;\n if (absDirection.x > absDirection.z) {\n if (absDirection.x > absDirection.y)\n face = direction.x > 0.0 ? 0.0 : 3.0;\n else\n face = direction.y > 0.0 ? 1.0 : 4.0;\n } else {\n if (absDirection.z > absDirection.y)\n face = direction.z > 0.0 ? 2.0 : 5.0;\n else\n face = direction.y > 0.0 ? 1.0 : 4.0;\n }\n return face;\n}\nvec2 getUV(vec3 direction, float face) {\n vec2 uv;\n if (face == 0.0) {\n uv = vec2(-direction.z, direction.y) / abs(direction.x);\n } else if (face == 1.0) {\n uv = vec2(direction.x, -direction.z) / abs(direction.y);\n } else if (face == 2.0) {\n uv = direction.xy / abs(direction.z);\n } else if (face == 3.0) {\n uv = vec2(direction.z, direction.y) / abs(direction.x);\n } else if (face == 4.0) {\n uv = direction.xz / abs(direction.y);\n } else {\n uv = vec2(-direction.x, direction.y) / abs(direction.z);\n }\n return 0.5 * (uv + 1.0);\n}\nvec3 bilinearCubeUV(sampler2D envMap, vec3 direction, float mipInt) {\n float face = getFace(direction);\n float filterInt = max(cubeUV_minMipLevel - mipInt, 0.0);\n mipInt = max(mipInt, cubeUV_minMipLevel);\n float faceSize = exp2(mipInt);\n float texelSize = 1.0 / (3.0 * cubeUV_maxTileSize);\n vec2 uv = getUV(direction, face) * (faceSize - 1.0);\n vec2 f = fract(uv);\n uv += 0.5 - f;\n if (face > 2.0) {\n uv.y += faceSize;\n face -= 3.0;\n }\n uv.x += face * faceSize;\n if(mipInt < cubeUV_maxMipLevel){\n uv.y += 2.0 * cubeUV_maxTileSize;\n }\n uv.y += filterInt * 2.0 * cubeUV_minTileSize;\n uv.x += 3.0 * max(0.0, cubeUV_maxTileSize - 2.0 * faceSize);\n uv *= texelSize;\n vec3 tl = envMapTexelToLinear(texture2D(envMap, uv)).rgb;\n uv.x += texelSize;\n vec3 tr = envMapTexelToLinear(texture2D(envMap, uv)).rgb;\n uv.y += texelSize;\n vec3 br = envMapTexelToLinear(texture2D(envMap, uv)).rgb;\n uv.x -= texelSize;\n vec3 bl = envMapTexelToLinear(texture2D(envMap, uv)).rgb;\n vec3 tm = mix(tl, tr, f.x);\n vec3 bm = mix(bl, br, f.x);\n return mix(tm, bm, f.y);\n}\n#define r0 1.0\n#define v0 0.339\n#define m0 -2.0\n#define r1 0.8\n#define v1 0.276\n#define m1 -1.0\n#define r4 0.4\n#define v4 0.046\n#define m4 2.0\n#define r5 0.305\n#define v5 0.016\n#define m5 3.0\n#define r6 0.21\n#define v6 0.0038\n#define m6 4.0\nfloat roughnessToMip(float roughness) {\n float mip = 0.0;\n if (roughness >= r1) {\n mip = (r0 - roughness) * (m1 - m0) / (r0 - r1) + m0;\n } else if (roughness >= r4) {\n mip = (r1 - roughness) * (m4 - m1) / (r1 - r4) + m1;\n } else if (roughness >= r5) {\n mip = (r4 - roughness) * (m5 - m4) / (r4 - r5) + m4;\n } else if (roughness >= r6) {\n mip = (r5 - roughness) * (m6 - m5) / (r5 - r6) + m5;\n } else {\n mip = -2.0 * log2(1.16 * roughness); }\n return mip;\n}\nvec4 textureCubeUV(sampler2D envMap, vec3 sampleDir, float roughness) {\n float mip = clamp(roughnessToMip(roughness), m0, cubeUV_maxMipLevel);\n float mipF = fract(mip);\n float mipInt = floor(mip);\n vec3 color0 = bilinearCubeUV(envMap, sampleDir, mipInt);\n if (mipF == 0.0) {\n return vec4(color0, 1.0);\n } else {\n vec3 color1 = bilinearCubeUV(envMap, sampleDir, mipInt + 1.0);\n return vec4(mix(color0, color1, mipF), 1.0);\n }\n}\n#endif', defaultnormal_vertex: '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', displacementmap_pars_vertex: '#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif', displacementmap_vertex: '#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif', emissivemap_fragment: '#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif', emissivemap_pars_fragment: '#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif', encodings_fragment: 'gl_FragColor = linearToOutputTexel( gl_FragColor );', encodings_pars_fragment: '\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\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}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = clamp( floor( D ) / 255.0, 0.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = cLogLuvM * value.rgb;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}', envmap_fragment: '#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\t\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#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\n\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\tvec2 sampleUV;\n\t\treflectVec = normalize( reflectVec );\n\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\tvec4 envColor = texture2D( envMap, sampleUV );\n\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\treflectVec = normalize( reflectVec );\n\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\n\t\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifndef ENVMAP_TYPE_CUBE_UV\n\t\tenvColor = envMapTexelToLinear( envColor );\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', envmap_common_pars_fragment: '#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\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', envmap_pars_fragment: '#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', envmap_pars_vertex: '#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', envmap_physical_pars_fragment: '#if defined( USE_ENVMAP )\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float roughness, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat sigma = PI * roughness * roughness / ( 1.0 + roughness );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + log2( sigma );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t vec3 reflectVec = reflect( -viewDir, normal );\n\t\t reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t#else\n\t\t vec3 reflectVec = refract( -viewDir, normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( roughness, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\t\tvec2 sampleUV;\n\t\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif', envmap_vertex: '#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', fog_vertex: '#ifdef USE_FOG\n\tfogDepth = -mvPosition.z;\n#endif', fog_pars_vertex: '#ifdef USE_FOG\n\tvarying float fogDepth;\n#endif', fog_fragment: '#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif', fog_pars_fragment: '#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\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', gradientmap_pars_fragment: '#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 texture2D( gradientMap, coord ).rgb;\n\t#else\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t#endif\n}', lightmap_fragment: '#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\treflectedLight.indirectDiffuse += PI * lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n#endif', lightmap_pars_fragment: '#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif', lights_lambert_vertex: '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;\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * 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\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * 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\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * 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 );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif', lights_pars_begin: '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 GeometricContext geometry ) {\n\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\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\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\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\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.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\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\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\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.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\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\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\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.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 GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif', lights_toon_fragment: 'ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;', lights_toon_pars_fragment: 'varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct ToonMaterial {\n\tvec3\tdiffuseColor;\n\tvec3\tspecularColor;\n\tfloat\tspecularShininess;\n\tfloat\tspecularStrength;\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\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\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_Diffuse_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)', lights_phong_fragment: 'BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;', lights_phong_pars_fragment: 'varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3\tdiffuseColor;\n\tvec3\tspecularColor;\n\tfloat\tspecularShininess;\n\tfloat\tspecularStrength;\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\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, 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_Diffuse_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)', lights_physical_fragment: '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.specularRoughness = max( roughnessFactor, 0.0525 );material.specularRoughness += geometryRoughness;\nmaterial.specularRoughness = min( material.specularRoughness, 1.0 );\n#ifdef REFLECTIVITY\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#endif\n#ifdef CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\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 = sheen;\n#endif', lights_physical_pars_fragment: 'struct PhysicalMaterial {\n\tvec3\tdiffuseColor;\n\tfloat\tspecularRoughness;\n\tvec3\tspecularColor;\n#ifdef CLEARCOAT\n\tfloat clearcoat;\n\tfloat clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tvec3 sheenColor;\n#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearcoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\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.specularRoughness;\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#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNL = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = ccDotNL * directLight.color;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tccIrradiance *= PI;\n\t\t#endif\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t\treflectedLight.directSpecular += ccIrradiance * material.clearcoat * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_Sheen(\n\t\t\tmaterial.specularRoughness,\n\t\t\tdirectLight.direction,\n\t\t\tgeometry,\n\t\t\tmaterial.sheenColor\n\t\t);\n\t#else\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.normal, material.specularColor, material.specularRoughness);\n\t#endif\n\treflectedLight.directDiffuse += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Diffuse_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_Diffuse_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 CLEARCOAT\n\t\tfloat ccDotNV = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular += clearcoatRadiance * material.clearcoat * BRDF_Specular_GGX_Environment( geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t\tfloat ccDotNL = ccDotNV;\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\tfloat clearcoatInv = 1.0 - clearcoatDHR;\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tBRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += clearcoatInv * 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}', lights_fragment_begin: '\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef 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\tgetPointDirectLightIrradiance( 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\tgetSpotDirectLightIrradiance( 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\tgetDirectionalDirectLightIrradiance( 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 );\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 );\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', lights_fragment_maps: '#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 += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.normal, material.specularRoughness, maxMipLevel );\n\t#ifdef CLEARCOAT\n\t\tclearcoatRadiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness, maxMipLevel );\n\t#endif\n#endif', lights_fragment_end: '#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', logdepthbuf_fragment: '#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif', logdepthbuf_pars_fragment: '#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif', logdepthbuf_pars_vertex: '#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', logdepthbuf_vertex: '#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', map_fragment: '#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif', map_pars_fragment: '#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif', map_particle_fragment: '#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', map_particle_pars_fragment: '#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', metalnessmap_fragment: 'float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif', metalnessmap_pars_fragment: '#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif', morphnormal_vertex: '#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n#endif', morphtarget_pars_vertex: '#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifndef USE_MORPHNORMALS\n\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif', morphtarget_vertex: '#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t#endif\n#endif', normal_fragment_begin: '#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 * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\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 * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t\tbitangent = bitangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\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;', normal_fragment_maps: '#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 * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\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 );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif', normalmap_pars_fragment: '#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 ) {\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\tfloat scale = sign( st1.t * st0.s - st0.t * st1.s );\n\t\tvec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * scale );\n\t\tvec3 T = normalize( ( - q0 * st1.s + q1 * st0.s ) * scale );\n\t\tvec3 N = normalize( surf_norm );\n\t\tmat3 tsn = mat3( S, T, N );\n\t\tmapN.xy *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\treturn normalize( tsn * mapN );\n\t}\n#endif', clearcoat_normal_fragment_begin: '#ifdef CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif', clearcoat_normal_fragment_maps: '#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 );\n\t#endif\n#endif', clearcoat_pars_fragment: '#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', packing: '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}', premultiplied_alpha_fragment: '#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif', project_vertex: 'vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;', dithering_fragment: '#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif', dithering_pars_fragment: '#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', roughnessmap_fragment: 'float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif', roughnessmap_pars_fragment: '#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif', shadowmap_pars_fragment: '#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#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#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#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', shadowmap_pars_vertex: '#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#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#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#endif\n#endif', shadowmap_vertex: '#ifdef USE_SHADOWMAP\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\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\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\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\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\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n#endif', shadowmask_pars_fragment: '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}', skinbase_vertex: '#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', skinning_pars_vertex: '#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', skinning_vertex: '#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', skinnormal_vertex: '#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', specularmap_fragment: 'float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif', specularmap_pars_fragment: '#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif', tonemapping_fragment: '#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif', tonemapping_pars_fragment: '#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nuniform float toneMappingWhitePoint;\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}\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\nvec3 Uncharted2ToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\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 ACESFilmicToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( ( color * ( 2.51 * color + 0.03 ) ) / ( color * ( 2.43 * color + 0.59 ) + 0.14 ) );\n}', uv_pars_fragment: '#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif', uv_pars_vertex: '#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', uv_vertex: '#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif', uv2_pars_fragment: '#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif', uv2_pars_vertex: '#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif', uv2_vertex: '#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif', worldpos_vertex: '#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\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', background_frag: 'uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}', background_vert: '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}', cube_frag: '#include \nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include \n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}', cube_vert: 'varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}', depth_frag: '#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \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}', depth_vert: '#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}', distanceRGBA_frag: '#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}', distanceRGBA_vert: '#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}', equirect_frag: 'uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV;\n\tsampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}', equirect_vert: 'varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}', linedashed_frag: 'uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \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 \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}', linedashed_vert: 'uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}', meshbasic_frag: 'uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\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 \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}', meshbasic_vert: '#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef USE_ENVMAP\n\t#include \n\t#include \n\t#include \n\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}', meshlambert_frag: '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 \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \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 \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\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 \n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_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_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}', meshlambert_vert: '#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}', meshmatcap_frag: '#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \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\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}', meshmatcap_vert: '#define MATCAP\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifndef FLAT_SHADED\n\t\tvNormal = normalize( transformedNormal );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}', meshtoon_frag: '#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \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 \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}', meshtoon_vert: '#define TOON\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}', meshphong_frag: '#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \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 \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}', meshphong_vert: '#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}', meshphysical_frag: '#define STANDARD\n#ifdef PHYSICAL\n\t#define REFLECTIVITY\n\t#define CLEARCOAT\n\t#define TRANSPARENCY\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef TRANSPARENCY\n\tuniform float transparency;\n#endif\n#ifdef REFLECTIVITY\n\tuniform float reflectivity;\n#endif\n#ifdef CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheen;\n#endif\nvarying vec3 vViewPosition;\n#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\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \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 \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#ifdef TRANSPARENCY\n\t\tdiffuseColor.a *= saturate( 1. - transparency + linearToRelativeLuminance( reflectedLight.directSpecular + reflectedLight.indirectSpecular ) );\n\t#endif\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}', meshphysical_vert: '#define STANDARD\nvarying vec3 vViewPosition;\n#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\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#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\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}', normal_frag: '#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#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\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}', normal_vert: '#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#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\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#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\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}', points_frag: 'uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}', points_vert: 'uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \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 \n\t#include \n\t#include \n\t#include \n}', shadow_frag: 'uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}', shadow_vert: '#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}', sprite_frag: 'uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n}', sprite_vert: 'uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \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 \n\t#include \n\t#include \n}', }, Wo = { basic: { uniforms: Oo([Fo.common, Fo.specularmap, Fo.envmap, Fo.aomap, Fo.lightmap, Fo.fog]), vertexShader: Ho.meshbasic_vert, fragmentShader: Ho.meshbasic_frag, }, lambert: { uniforms: Oo([ Fo.common, Fo.specularmap, Fo.envmap, Fo.aomap, Fo.lightmap, Fo.emissivemap, Fo.fog, Fo.lights, { emissive: { value: new Er(0), }, }, ]), vertexShader: Ho.meshlambert_vert, fragmentShader: Ho.meshlambert_frag, }, phong: { uniforms: Oo([ Fo.common, Fo.specularmap, Fo.envmap, Fo.aomap, Fo.lightmap, Fo.emissivemap, Fo.bumpmap, Fo.normalmap, Fo.displacementmap, Fo.fog, Fo.lights, { emissive: { value: new Er(0), }, specular: { value: new Er(1118481), }, shininess: { value: 30, }, }, ]), vertexShader: Ho.meshphong_vert, fragmentShader: Ho.meshphong_frag, }, standard: { uniforms: Oo([ Fo.common, Fo.envmap, Fo.aomap, Fo.lightmap, Fo.emissivemap, Fo.bumpmap, Fo.normalmap, Fo.displacementmap, Fo.roughnessmap, Fo.metalnessmap, Fo.fog, Fo.lights, { emissive: { value: new Er(0), }, roughness: { value: 0.5, }, metalness: { value: 0.5, }, envMapIntensity: { value: 1, }, }, ]), vertexShader: Ho.meshphysical_vert, fragmentShader: Ho.meshphysical_frag, }, toon: { uniforms: Oo([ Fo.common, Fo.specularmap, Fo.aomap, Fo.lightmap, Fo.emissivemap, Fo.bumpmap, Fo.normalmap, Fo.displacementmap, Fo.gradientmap, Fo.fog, Fo.lights, { emissive: { value: new Er(0), }, specular: { value: new Er(1118481), }, shininess: { value: 30, }, }, ]), vertexShader: Ho.meshtoon_vert, fragmentShader: Ho.meshtoon_frag, }, matcap: { uniforms: Oo([ Fo.common, Fo.bumpmap, Fo.normalmap, Fo.displacementmap, Fo.fog, { matcap: { value: null, }, }, ]), vertexShader: Ho.meshmatcap_vert, fragmentShader: Ho.meshmatcap_frag, }, points: { uniforms: Oo([Fo.points, Fo.fog]), vertexShader: Ho.points_vert, fragmentShader: Ho.points_frag, }, dashed: { uniforms: Oo([ Fo.common, Fo.fog, { scale: { value: 1, }, dashSize: { value: 1, }, totalSize: { value: 2, }, }, ]), vertexShader: Ho.linedashed_vert, fragmentShader: Ho.linedashed_frag, }, depth: { uniforms: Oo([Fo.common, Fo.displacementmap]), vertexShader: Ho.depth_vert, fragmentShader: Ho.depth_frag, }, normal: { uniforms: Oo([ Fo.common, Fo.bumpmap, Fo.normalmap, Fo.displacementmap, { opacity: { value: 1, }, }, ]), vertexShader: Ho.normal_vert, fragmentShader: Ho.normal_frag, }, sprite: { uniforms: Oo([Fo.sprite, Fo.fog]), vertexShader: Ho.sprite_vert, fragmentShader: Ho.sprite_frag, }, background: { uniforms: { uvTransform: { value: new Jn(), }, t2D: { value: null, }, }, vertexShader: Ho.background_vert, fragmentShader: Ho.background_frag, }, cube: { uniforms: Oo([ Fo.envmap, { opacity: { value: 1, }, }, ]), vertexShader: Ho.cube_vert, fragmentShader: Ho.cube_frag, }, equirect: { uniforms: { tEquirect: { value: null, }, }, vertexShader: Ho.equirect_vert, fragmentShader: Ho.equirect_frag, }, distanceRGBA: { uniforms: Oo([ Fo.common, Fo.displacementmap, { referencePosition: { value: new si(), }, nearDistance: { value: 1, }, farDistance: { value: 1e3, }, }, ]), vertexShader: Ho.distanceRGBA_vert, fragmentShader: Ho.distanceRGBA_frag, }, shadow: { uniforms: Oo([ Fo.lights, Fo.fog, { color: { value: new Er(0), }, opacity: { value: 1, }, }, ]), vertexShader: Ho.shadow_vert, fragmentShader: Ho.shadow_frag, }, }; function qo(t, e, n, i) { var r, o, a = new Er(0), s = 0, c = null, l = 0, u = null; function d(t, n) { e.buffers.color.setClear(t.r, t.g, t.b, n, i); } return { getClearColor: function () { return a; }, setClearColor: function (t, e) { a.set(t), d(a, (s = void 0 !== e ? e : 1)); }, getClearAlpha: function () { return s; }, setClearAlpha: function (t) { d(a, (s = t)); }, render: function (e, i, p, h) { var f = i.background, m = t.xr, g = m.getSession && m.getSession(); if ( (g && 'additive' === g.environmentBlendMode && (f = null), null === f ? d(a, s) : f && f.isColor && (d(f, 1), (h = !0)), (t.autoClear || h) && t.clear(t.autoClearColor, t.autoClearDepth, t.autoClearStencil), f && (f.isCubeTexture || f.isWebGLCubeRenderTarget || f.mapping === xt)) ) { void 0 === o && ((o = new vo( new Ao(1, 1, 1), new Po({ type: 'BackgroundCubeMaterial', uniforms: To(Wo.cube.uniforms), vertexShader: Wo.cube.vertexShader, fragmentShader: Wo.cube.fragmentShader, side: T, depthTest: !1, depthWrite: !1, fog: !1, }) )).geometry.deleteAttribute('normal'), o.geometry.deleteAttribute('uv'), (o.onBeforeRender = function (t, e, n) { this.matrixWorld.copyPosition(n.matrixWorld); }), Object.defineProperty(o.material, 'envMap', { get: function () { return this.uniforms.envMap.value; }, }), n.update(o)); var v = f.isWebGLCubeRenderTarget ? f.texture : f; (o.material.uniforms.envMap.value = v), (o.material.uniforms.flipEnvMap.value = v.isCubeTexture ? -1 : 1), (c === f && l === v.version && u === t.toneMapping) || ((o.material.needsUpdate = !0), (c = f), (l = v.version), (u = t.toneMapping)), e.unshift(o, o.geometry, o.material, 0, 0, null); } else f && f.isTexture && (void 0 === r && ((r = new vo( new Go(2, 2), new Po({ type: 'BackgroundMaterial', uniforms: To(Wo.background.uniforms), vertexShader: Wo.background.vertexShader, fragmentShader: Wo.background.fragmentShader, side: A, depthTest: !1, depthWrite: !1, fog: !1, }) )).geometry.deleteAttribute('normal'), Object.defineProperty(r.material, 'map', { get: function () { return this.uniforms.t2D.value; }, }), n.update(r)), (r.material.uniforms.t2D.value = f), !0 === f.matrixAutoUpdate && f.updateMatrix(), r.material.uniforms.uvTransform.value.copy(f.matrix), (c === f && l === f.version && u === t.toneMapping) || ((r.material.needsUpdate = !0), (c = f), (l = f.version), (u = t.toneMapping)), e.unshift(r, r.geometry, r.material, 0, 0, null)); }, }; } function Xo(t, e, n, i) { var r, o = i.isWebGL2; (this.setMode = function (t) { r = t; }), (this.render = function (e, i) { t.drawArrays(r, e, i), n.update(i, r); }), (this.renderInstances = function (i, a, s, c) { if (0 !== c) { var l, u; if (o) (l = t), (u = 'drawArraysInstanced'); else if (((u = 'drawArraysInstancedANGLE'), null === (l = e.get('ANGLE_instanced_arrays')))) return void console.error('THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.'); l[u](r, a, s, c), n.update(s, r, c); } }); } function Yo(t, e, n) { var i; function r(e) { if ('highp' === e) { if (t.getShaderPrecisionFormat(35633, 36338).precision > 0 && t.getShaderPrecisionFormat(35632, 36338).precision > 0) return 'highp'; e = 'mediump'; } return 'mediump' === e && t.getShaderPrecisionFormat(35633, 36337).precision > 0 && t.getShaderPrecisionFormat(35632, 36337).precision > 0 ? 'mediump' : 'lowp'; } var o = ('undefined' != typeof WebGL2RenderingContext && t instanceof WebGL2RenderingContext) || ('undefined' != typeof WebGL2ComputeRenderingContext && t instanceof WebGL2ComputeRenderingContext), a = void 0 !== n.precision ? n.precision : 'highp', s = r(a); s !== a && (console.warn('THREE.WebGLRenderer:', a, 'not supported, using', s, 'instead.'), (a = s)); var c = !0 === n.logarithmicDepthBuffer, l = t.getParameter(34930), u = t.getParameter(35660), d = t.getParameter(3379), p = t.getParameter(34076), h = t.getParameter(34921), f = t.getParameter(36347), m = t.getParameter(36348), g = t.getParameter(36349), v = u > 0, y = o || !!e.get('OES_texture_float'); return { isWebGL2: o, getMaxAnisotropy: function () { if (void 0 !== i) return i; var n = e.get('EXT_texture_filter_anisotropic'); return (i = null !== n ? t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT) : 0); }, getMaxPrecision: r, precision: a, logarithmicDepthBuffer: c, maxTextures: l, maxVertexTextures: u, maxTextureSize: d, maxCubemapSize: p, maxAttributes: h, maxVertexUniforms: f, maxVaryings: m, maxFragmentUniforms: g, vertexTextures: v, floatFragmentTextures: y, floatVertexTextures: v && y, maxSamples: o ? t.getParameter(36183) : 0, }; } function Ko() { var t = this, e = null, n = 0, i = !1, r = !1, o = new lr(), a = new Jn(), s = { value: null, needsUpdate: !1, }; function c() { s.value !== e && ((s.value = e), (s.needsUpdate = n > 0)), (t.numPlanes = n), (t.numIntersection = 0); } function l(e, n, i, r) { var c = null !== e ? e.length : 0, l = null; if (0 !== c) { if (((l = s.value), !0 !== r || null === l)) { var u = i + 4 * c, d = n.matrixWorldInverse; a.getNormalMatrix(d), (null === l || l.length < u) && (l = new Float32Array(u)); for (var p = 0, h = i; p !== c; ++p, h += 4) o.copy(e[p]).applyMatrix4(d, a), o.normal.toArray(l, h), (l[h + 3] = o.constant); } (s.value = l), (s.needsUpdate = !0); } return (t.numPlanes = c), (t.numIntersection = 0), l; } (this.uniform = s), (this.numPlanes = 0), (this.numIntersection = 0), (this.init = function (t, r, o) { var a = 0 !== t.length || r || 0 !== n || i; return (i = r), (e = l(t, o, 0)), (n = t.length), a; }), (this.beginShadows = function () { (r = !0), l(null); }), (this.endShadows = function () { (r = !1), c(); }), (this.setState = function (t, o, a, u, d, p) { if (!i || null === t || 0 === t.length || (r && !a)) r ? l(null) : c(); else { var h = r ? 0 : n, f = 4 * h, m = d.clippingState || null; (s.value = m), (m = l(t, u, f, p)); for (var g = 0; g !== f; ++g) m[g] = e[g]; (d.clippingState = m), (this.numIntersection = o ? this.numPlanes : 0), (this.numPlanes += h); } }); } function Zo(t) { var e = {}; return { get: function (n) { if (void 0 !== e[n]) return e[n]; var i; switch (n) { case 'WEBGL_depth_texture': i = t.getExtension('WEBGL_depth_texture') || t.getExtension('MOZ_WEBGL_depth_texture') || t.getExtension('WEBKIT_WEBGL_depth_texture'); break; case 'EXT_texture_filter_anisotropic': i = t.getExtension('EXT_texture_filter_anisotropic') || t.getExtension('MOZ_EXT_texture_filter_anisotropic') || t.getExtension('WEBKIT_EXT_texture_filter_anisotropic'); break; case 'WEBGL_compressed_texture_s3tc': i = t.getExtension('WEBGL_compressed_texture_s3tc') || t.getExtension('MOZ_WEBGL_compressed_texture_s3tc') || t.getExtension('WEBKIT_WEBGL_compressed_texture_s3tc'); break; case 'WEBGL_compressed_texture_pvrtc': i = t.getExtension('WEBGL_compressed_texture_pvrtc') || t.getExtension('WEBKIT_WEBGL_compressed_texture_pvrtc'); break; default: i = t.getExtension(n); } return null === i && console.warn('THREE.WebGLRenderer: ' + n + ' extension not supported.'), (e[n] = i), i; }, }; } function Jo(t, e, n) { var i = new WeakMap(), r = new WeakMap(); function o(t) { var a = t.target, s = i.get(a); for (var c in (null !== s.index && e.remove(s.index), s.attributes)) e.remove(s.attributes[c]); a.removeEventListener('dispose', o), i.delete(a); var l = r.get(s); l && (e.remove(l), r.delete(s)), n.memory.geometries--; } function a(t) { var n = [], i = t.index, o = t.attributes.position, a = 0; if (null !== i) { var s = i.array; a = i.version; for (var c = 0, l = s.length; c < l; c += 3) { var u = s[c + 0], d = s[c + 1], p = s[c + 2]; n.push(u, d, d, p, p, u); } } else { s = o.array; a = o.version; for (c = 0, l = s.length / 3 - 1; c < l; c += 3) { (u = c + 0), (d = c + 1), (p = c + 2); n.push(u, d, d, p, p, u); } } var h = new (Hr(n) > 65535 ? Ur : Vr)(n, 1); (h.version = a), e.update(h, 34963); var f = r.get(t); f && e.remove(f), r.set(t, h); } return { get: function (t, e) { var r = i.get(e); return ( r || (e.addEventListener('dispose', o), e.isBufferGeometry ? (r = e) : e.isGeometry && (void 0 === e._bufferGeometry && (e._bufferGeometry = new Qr().setFromObject(t)), (r = e._bufferGeometry)), i.set(e, r), n.memory.geometries++, r) ); }, update: function (t) { var n = t.index, i = t.attributes; for (var r in (null !== n && e.update(n, 34963), i)) e.update(i[r], 34962); var o = t.morphAttributes; for (var r in o) for (var a = o[r], s = 0, c = a.length; s < c; s++) e.update(a[s], 34962); }, getWireframeAttribute: function (t) { var e = r.get(t); if (e) { var n = t.index; null !== n && e.version < n.version && a(t); } else a(t); return r.get(t); }, }; } function Qo(t, e, n, i) { var r, o, a, s = i.isWebGL2; (this.setMode = function (t) { r = t; }), (this.setIndex = function (t) { (o = t.type), (a = t.bytesPerElement); }), (this.render = function (e, i) { t.drawElements(r, i, o, e * a), n.update(i, r); }), (this.renderInstances = function (i, c, l, u) { if (0 !== u) { var d, p; if (s) (d = t), (p = 'drawElementsInstanced'); else if (((p = 'drawElementsInstancedANGLE'), null === (d = e.get('ANGLE_instanced_arrays')))) return void console.error('THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.'); d[p](r, l, o, c * a, u), n.update(l, r, u); } }); } function $o(t) { var e = { frame: 0, calls: 0, triangles: 0, points: 0, lines: 0, }; return { memory: { geometries: 0, textures: 0, }, render: e, programs: null, autoReset: !0, reset: function () { e.frame++, (e.calls = 0), (e.triangles = 0), (e.points = 0), (e.lines = 0); }, update: function (t, n, i) { switch (((i = i || 1), e.calls++, n)) { case 4: e.triangles += i * (t / 3); break; case 1: e.lines += i * (t / 2); break; case 3: e.lines += i * (t - 1); break; case 2: e.lines += i * t; break; case 0: e.points += i * t; break; default: console.error('THREE.WebGLInfo: Unknown draw mode:', n); } }, }; } function ta(t, e) { return Math.abs(e[1]) - Math.abs(t[1]); } function ea(t) { var e = {}, n = new Float32Array(8); return { update: function (i, r, o, a) { var s = i.morphTargetInfluences, c = void 0 === s ? 0 : s.length, l = e[r.id]; if (void 0 === l) { l = []; for (var u = 0; u < c; u++) l[u] = [u, 0]; e[r.id] = l; } var d = o.morphTargets && r.morphAttributes.position, p = o.morphNormals && r.morphAttributes.normal; for (u = 0; u < c; u++) { 0 !== (f = l[u])[1] && (d && r.deleteAttribute('morphTarget' + u), p && r.deleteAttribute('morphNormal' + u)); } for (u = 0; u < c; u++) { ((f = l[u])[0] = u), (f[1] = s[u]); } l.sort(ta); var h = 0; for (u = 0; u < 8; u++) { var f; if ((f = l[u])) { var m = f[0], g = f[1]; if (g) { d && r.setAttribute('morphTarget' + u, d[m]), p && r.setAttribute('morphNormal' + u, p[m]), (n[u] = g), (h += g); continue; } } n[u] = 0; } var v = r.morphTargetsRelative ? 1 : 1 - h; a.getUniforms().setValue(t, 'morphTargetBaseInfluence', v), a.getUniforms().setValue(t, 'morphTargetInfluences', n); }, }; } function na(t, e, n, i) { var r = new WeakMap(); return { update: function (t) { var o = i.render.frame, a = t.geometry, s = e.get(t, a); return r.get(s) !== o && (a.isGeometry && s.updateFromObject(t), e.update(s), r.set(s, o)), t.isInstancedMesh && n.update(t.instanceMatrix, 34962), s; }, dispose: function () { r = new WeakMap(); }, }; } function ia(t, e, n, i, r, o, a, s, c, l) { (t = void 0 !== t ? t : []), (e = void 0 !== e ? e : vt), (a = void 0 !== a ? a : Zt), ti.call(this, t, e, n, i, r, o, a, s, c, l), (this.flipY = !1); } function ra(t, e, n, i) { ti.call(this, null), (this.image = { data: t || null, width: e || 1, height: n || 1, depth: i || 1, }), (this.magFilter = Tt), (this.minFilter = Tt), (this.wrapR = Ct), (this.generateMipmaps = !1), (this.flipY = !1), (this.needsUpdate = !0); } function oa(t, e, n, i) { ti.call(this, null), (this.image = { data: t || null, width: e || 1, height: n || 1, depth: i || 1, }), (this.magFilter = Tt), (this.minFilter = Tt), (this.wrapR = Ct), (this.generateMipmaps = !1), (this.flipY = !1), (this.needsUpdate = !0); } (Wo.physical = { uniforms: Oo([ Wo.standard.uniforms, { clearcoat: { value: 0, }, clearcoatMap: { value: null, }, clearcoatRoughness: { value: 0, }, clearcoatRoughnessMap: { value: null, }, clearcoatNormalScale: { value: new Zn(1, 1), }, clearcoatNormalMap: { value: null, }, sheen: { value: new Er(0), }, transparency: { value: 0, }, }, ]), vertexShader: Ho.meshphysical_vert, fragmentShader: Ho.meshphysical_frag, }), (ia.prototype = Object.create(ti.prototype)), (ia.prototype.constructor = ia), (ia.prototype.isCubeTexture = !0), Object.defineProperty(ia.prototype, 'images', { get: function () { return this.image; }, set: function (t) { this.image = t; }, }), (ra.prototype = Object.create(ti.prototype)), (ra.prototype.constructor = ra), (ra.prototype.isDataTexture2DArray = !0), (oa.prototype = Object.create(ti.prototype)), (oa.prototype.constructor = oa), (oa.prototype.isDataTexture3D = !0); var aa = new ti(), sa = new ra(), ca = new oa(), la = new ia(), ua = [], da = [], pa = new Float32Array(16), ha = new Float32Array(9), fa = new Float32Array(4); function ma(t, e, n) { var i = t[0]; if (i <= 0 || i > 0) return t; var r = e * n, o = ua[r]; if ((void 0 === o && ((o = new Float32Array(r)), (ua[r] = o)), 0 !== e)) { i.toArray(o, 0); for (var a = 1, s = 0; a !== e; ++a) (s += n), t[a].toArray(o, s); } return o; } function ga(t, e) { if (t.length !== e.length) return !1; for (var n = 0, i = t.length; n < i; n++) if (t[n] !== e[n]) return !1; return !0; } function va(t, e) { for (var n = 0, i = e.length; n < i; n++) t[n] = e[n]; } function ya(t, e) { var n = da[e]; void 0 === n && ((n = new Int32Array(e)), (da[e] = n)); for (var i = 0; i !== e; ++i) n[i] = t.allocateTextureUnit(); return n; } function ba(t, e) { var n = this.cache; n[0] !== e && (t.uniform1f(this.addr, e), (n[0] = e)); } function wa(t, e) { var n = this.cache; if (void 0 !== e.x) (n[0] === e.x && n[1] === e.y) || (t.uniform2f(this.addr, e.x, e.y), (n[0] = e.x), (n[1] = e.y)); else { if (ga(n, e)) return; t.uniform2fv(this.addr, e), va(n, e); } } function Sa(t, e) { var n = this.cache; if (void 0 !== e.x) (n[0] === e.x && n[1] === e.y && n[2] === e.z) || (t.uniform3f(this.addr, e.x, e.y, e.z), (n[0] = e.x), (n[1] = e.y), (n[2] = e.z)); else if (void 0 !== e.r) (n[0] === e.r && n[1] === e.g && n[2] === e.b) || (t.uniform3f(this.addr, e.r, e.g, e.b), (n[0] = e.r), (n[1] = e.g), (n[2] = e.b)); else { if (ga(n, e)) return; t.uniform3fv(this.addr, e), va(n, e); } } function xa(t, e) { var n = this.cache; if (void 0 !== e.x) (n[0] === e.x && n[1] === e.y && n[2] === e.z && n[3] === e.w) || (t.uniform4f(this.addr, e.x, e.y, e.z, e.w), (n[0] = e.x), (n[1] = e.y), (n[2] = e.z), (n[3] = e.w)); else { if (ga(n, e)) return; t.uniform4fv(this.addr, e), va(n, e); } } function Ma(t, e) { var n = this.cache, i = e.elements; if (void 0 === i) { if (ga(n, e)) return; t.uniformMatrix2fv(this.addr, !1, e), va(n, e); } else { if (ga(n, i)) return; fa.set(i), t.uniformMatrix2fv(this.addr, !1, fa), va(n, i); } } function Ea(t, e) { var n = this.cache, i = e.elements; if (void 0 === i) { if (ga(n, e)) return; t.uniformMatrix3fv(this.addr, !1, e), va(n, e); } else { if (ga(n, i)) return; ha.set(i), t.uniformMatrix3fv(this.addr, !1, ha), va(n, i); } } function Ca(t, e) { var n = this.cache, i = e.elements; if (void 0 === i) { if (ga(n, e)) return; t.uniformMatrix4fv(this.addr, !1, e), va(n, e); } else { if (ga(n, i)) return; pa.set(i), t.uniformMatrix4fv(this.addr, !1, pa), va(n, i); } } function Aa(t, e, n) { var i = this.cache, r = n.allocateTextureUnit(); i[0] !== r && (t.uniform1i(this.addr, r), (i[0] = r)), n.safeSetTexture2D(e || aa, r); } function Ta(t, e, n) { var i = this.cache, r = n.allocateTextureUnit(); i[0] !== r && (t.uniform1i(this.addr, r), (i[0] = r)), n.setTexture2DArray(e || sa, r); } function Oa(t, e, n) { var i = this.cache, r = n.allocateTextureUnit(); i[0] !== r && (t.uniform1i(this.addr, r), (i[0] = r)), n.setTexture3D(e || ca, r); } function _a(t, e, n) { var i = this.cache, r = n.allocateTextureUnit(); i[0] !== r && (t.uniform1i(this.addr, r), (i[0] = r)), n.safeSetTextureCube(e || la, r); } function Pa(t, e) { var n = this.cache; n[0] !== e && (t.uniform1i(this.addr, e), (n[0] = e)); } function Ia(t, e) { var n = this.cache; ga(n, e) || (t.uniform2iv(this.addr, e), va(n, e)); } function ka(t, e) { var n = this.cache; ga(n, e) || (t.uniform3iv(this.addr, e), va(n, e)); } function Da(t, e) { var n = this.cache; ga(n, e) || (t.uniform4iv(this.addr, e), va(n, e)); } function Ra(t, e) { var n = this.cache; n[0] !== e && (t.uniform1ui(this.addr, e), (n[0] = e)); } function La(t, e) { t.uniform1fv(this.addr, e); } function Na(t, e) { t.uniform1iv(this.addr, e); } function ja(t, e) { t.uniform2iv(this.addr, e); } function Va(t, e) { t.uniform3iv(this.addr, e); } function Fa(t, e) { t.uniform4iv(this.addr, e); } function Ua(t, e) { var n = ma(e, this.size, 2); t.uniform2fv(this.addr, n); } function Ba(t, e) { var n = ma(e, this.size, 3); t.uniform3fv(this.addr, n); } function za(t, e) { var n = ma(e, this.size, 4); t.uniform4fv(this.addr, n); } function Ga(t, e) { var n = ma(e, this.size, 4); t.uniformMatrix2fv(this.addr, !1, n); } function Ha(t, e) { var n = ma(e, this.size, 9); t.uniformMatrix3fv(this.addr, !1, n); } function Wa(t, e) { var n = ma(e, this.size, 16); t.uniformMatrix4fv(this.addr, !1, n); } function qa(t, e, n) { var i = e.length, r = ya(n, i); t.uniform1iv(this.addr, r); for (var o = 0; o !== i; ++o) n.safeSetTexture2D(e[o] || aa, r[o]); } function Xa(t, e, n) { var i = e.length, r = ya(n, i); t.uniform1iv(this.addr, r); for (var o = 0; o !== i; ++o) n.safeSetTextureCube(e[o] || la, r[o]); } function Ya(t, e, n) { (this.id = t), (this.addr = n), (this.cache = []), (this.setValue = (function (t) { switch (t) { case 5126: return ba; case 35664: return wa; case 35665: return Sa; case 35666: return xa; case 35674: return Ma; case 35675: return Ea; case 35676: return Ca; case 5124: case 35670: return Pa; case 35667: case 35671: return Ia; case 35668: case 35672: return ka; case 35669: case 35673: return Da; case 5125: return Ra; case 35678: case 36198: case 36298: case 36306: case 35682: return Aa; case 35679: case 36299: case 36307: return Oa; case 35680: case 36300: case 36308: case 36293: return _a; case 36289: case 36303: case 36311: case 36292: return Ta; } })(e.type)); } function Ka(t, e, n) { (this.id = t), (this.addr = n), (this.cache = []), (this.size = e.size), (this.setValue = (function (t) { switch (t) { case 5126: return La; case 35664: return Ua; case 35665: return Ba; case 35666: return za; case 35674: return Ga; case 35675: return Ha; case 35676: return Wa; case 5124: case 35670: return Na; case 35667: case 35671: return ja; case 35668: case 35672: return Va; case 35669: case 35673: return Fa; case 35678: case 36198: case 36298: case 36306: case 35682: return qa; case 35680: case 36300: case 36308: case 36293: return Xa; } })(e.type)); } function Za(t) { (this.id = t), (this.seq = []), (this.map = {}); } (Ka.prototype.updateCache = function (t) { var e = this.cache; t instanceof Float32Array && e.length !== t.length && (this.cache = new Float32Array(t.length)), va(e, t); }), (Za.prototype.setValue = function (t, e, n) { for (var i = this.seq, r = 0, o = i.length; r !== o; ++r) { var a = i[r]; a.setValue(t, e[a.id], n); } }); var Ja = /([\w\d_]+)(\])?(\[|\.)?/g; function Qa(t, e) { t.seq.push(e), (t.map[e.id] = e); } function $a(t, e, n) { var i = t.name, r = i.length; for (Ja.lastIndex = 0; ; ) { var o = Ja.exec(i), a = Ja.lastIndex, s = o[1], c = ']' === o[2], l = o[3]; if ((c && (s |= 0), void 0 === l || ('[' === l && a + 2 === r))) { Qa(n, void 0 === l ? new Ya(s, t, e) : new Ka(s, t, e)); break; } var u = n.map[s]; void 0 === u && Qa(n, (u = new Za(s))), (n = u); } } function ts(t, e) { (this.seq = []), (this.map = {}); for (var n = t.getProgramParameter(e, 35718), i = 0; i < n; ++i) { var r = t.getActiveUniform(e, i); $a(r, t.getUniformLocation(e, r.name), this); } } function es(t, e, n) { var i = t.createShader(e); return t.shaderSource(i, n), t.compileShader(i), i; } (ts.prototype.setValue = function (t, e, n, i) { var r = this.map[e]; void 0 !== r && r.setValue(t, n, i); }), (ts.prototype.setOptional = function (t, e, n) { var i = e[n]; void 0 !== i && this.setValue(t, n, i); }), (ts.upload = function (t, e, n, i) { for (var r = 0, o = e.length; r !== o; ++r) { var a = e[r], s = n[a.id]; !1 !== s.needsUpdate && a.setValue(t, s.value, i); } }), (ts.seqWithValue = function (t, e) { for (var n = [], i = 0, r = t.length; i !== r; ++i) { var o = t[i]; o.id in e && n.push(o); } return n; }); var ns = 0; function is(t) { switch (t) { case cn: return ['Linear', '( value )']; case ln: return ['sRGB', '( value )']; case dn: return ['RGBE', '( value )']; case hn: return ['RGBM', '( value, 7.0 )']; case fn: return ['RGBM', '( value, 16.0 )']; case mn: return ['RGBD', '( value, 256.0 )']; case un: return ['Gamma', '( value, float( GAMMA_FACTOR ) )']; case pn: return ['LogLuv', '( value )']; default: throw new Error('unsupported encoding: ' + t); } } function rs(t, e, n) { var i = t.getShaderParameter(e, 35713), r = t.getShaderInfoLog(e).trim(); return i && '' === r ? '' : 'THREE.WebGLShader: gl.getShaderInfoLog() ' + n + '\n' + r + (function (t) { for (var e = t.split('\n'), n = 0; n < e.length; n++) e[n] = n + 1 + ': ' + e[n]; return e.join('\n'); })(t.getShaderSource(e)); } function os(t, e) { var n = is(e); return 'vec4 ' + t + '( vec4 value ) { return ' + n[0] + 'ToLinear' + n[1] + '; }'; } function as(t, e) { var n; switch (e) { case dt: n = 'Linear'; break; case pt: n = 'Reinhard'; break; case ht: n = 'Uncharted2'; break; case ft: n = 'OptimizedCineon'; break; case mt: n = 'ACESFilmic'; break; default: throw new Error('unsupported toneMapping: ' + e); } return 'vec3 ' + t + '( vec3 color ) { return ' + n + 'ToneMapping( color ); }'; } function ss(t) { return '' !== t; } function cs(t, e) { return t .replace(/NUM_DIR_LIGHTS/g, e.numDirLights) .replace(/NUM_SPOT_LIGHTS/g, e.numSpotLights) .replace(/NUM_RECT_AREA_LIGHTS/g, e.numRectAreaLights) .replace(/NUM_POINT_LIGHTS/g, e.numPointLights) .replace(/NUM_HEMI_LIGHTS/g, e.numHemiLights) .replace(/NUM_DIR_LIGHT_SHADOWS/g, e.numDirLightShadows) .replace(/NUM_SPOT_LIGHT_SHADOWS/g, e.numSpotLightShadows) .replace(/NUM_POINT_LIGHT_SHADOWS/g, e.numPointLightShadows); } function ls(t, e) { return t.replace(/NUM_CLIPPING_PLANES/g, e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g, e.numClippingPlanes - e.numClipIntersection); } var us = /^[ \t]*#include +<([\w\d./]+)>/gm; function ds(t) { return t.replace(us, ps); } function ps(t, e) { var n = Ho[e]; if (void 0 === n) throw new Error('Can not resolve #include <' + e + '>'); return ds(n); } var hs = /#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g, fs = /#pragma unroll_loop_start[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}[\s]+?#pragma unroll_loop_end/g; function ms(t) { return t.replace(fs, vs).replace(hs, gs); } function gs(t, e, n, i) { return console.warn('WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead.'), vs(t, e, n, i); } function vs(t, e, n, i) { for (var r = '', o = parseInt(e); o < parseInt(n); o++) r += i.replace(/\[ i \]/g, '[ ' + o + ' ]').replace(/UNROLLED_LOOP_INDEX/g, o); return r; } function ys(t) { var e = 'precision ' + t.precision + ' float;\nprecision ' + t.precision + ' int;'; return ( 'highp' === t.precision ? (e += '\n#define HIGH_PRECISION') : 'mediump' === t.precision ? (e += '\n#define MEDIUM_PRECISION') : 'lowp' === t.precision && (e += '\n#define LOW_PRECISION'), e ); } function bs(t, e, n) { var i, r, o, a, s, c = t.getContext(), l = n.defines, u = n.vertexShader, d = n.fragmentShader, p = (function (t) { var e = 'SHADOWMAP_TYPE_BASIC'; return t.shadowMapType === M ? (e = 'SHADOWMAP_TYPE_PCF') : t.shadowMapType === E ? (e = 'SHADOWMAP_TYPE_PCF_SOFT') : t.shadowMapType === C && (e = 'SHADOWMAP_TYPE_VSM'), e; })(n), h = (function (t) { var e = 'ENVMAP_TYPE_CUBE'; if (t.envMap) switch (t.envMapMode) { case vt: case yt: e = 'ENVMAP_TYPE_CUBE'; break; case xt: case Mt: e = 'ENVMAP_TYPE_CUBE_UV'; break; case bt: case wt: e = 'ENVMAP_TYPE_EQUIREC'; break; case St: e = 'ENVMAP_TYPE_SPHERE'; } return e; })(n), f = (function (t) { var e = 'ENVMAP_MODE_REFLECTION'; if (t.envMap) switch (t.envMapMode) { case yt: case wt: e = 'ENVMAP_MODE_REFRACTION'; } return e; })(n), m = (function (t) { var e = 'ENVMAP_BLENDING_NONE'; if (t.envMap) switch (t.combine) { case st: e = 'ENVMAP_BLENDING_MULTIPLY'; break; case ct: e = 'ENVMAP_BLENDING_MIX'; break; case lt: e = 'ENVMAP_BLENDING_ADD'; } return e; })(n), g = t.gammaFactor > 0 ? t.gammaFactor : 1, v = n.isWebGL2 ? '' : (function (t) { return [ t.extensionDerivatives || t.envMapCubeUV || t.bumpMap || t.tangentSpaceNormalMap || t.clearcoatNormalMap || t.flatShading || 'physical' === t.shaderID ? '#extension GL_OES_standard_derivatives : enable' : '', (t.extensionFragDepth || t.logarithmicDepthBuffer) && t.rendererExtensionFragDepth ? '#extension GL_EXT_frag_depth : enable' : '', t.extensionDrawBuffers && t.rendererExtensionDrawBuffers ? '#extension GL_EXT_draw_buffers : require' : '', (t.extensionShaderTextureLOD || t.envMap) && t.rendererExtensionShaderTextureLod ? '#extension GL_EXT_shader_texture_lod : enable' : '', ] .filter(ss) .join('\n'); })(n), y = (function (t) { var e = []; for (var n in t) { var i = t[n]; !1 !== i && e.push('#define ' + n + ' ' + i); } return e.join('\n'); })(l), b = c.createProgram(); if ( (n.isRawShaderMaterial ? ((i = [y].filter(ss).join('\n')).length > 0 && (i += '\n'), (r = [v, y].filter(ss).join('\n')).length > 0 && (r += '\n')) : ((i = [ ys(n), '#define SHADER_NAME ' + n.shaderName, y, n.instancing ? '#define USE_INSTANCING' : '', n.supportsVertexTextures ? '#define VERTEX_TEXTURES' : '', '#define GAMMA_FACTOR ' + g, '#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 ' + f : '', 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.roughnessMap ? '#define USE_ROUGHNESSMAP' : '', n.metalnessMap ? '#define USE_METALNESSMAP' : '', n.alphaMap ? '#define USE_ALPHAMAP' : '', n.vertexTangents ? '#define USE_TANGENT' : '', n.vertexColors ? '#define USE_COLOR' : '', 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 && !1 === n.flatShading ? '#define USE_MORPHNORMALS' : '', n.doubleSided ? '#define DOUBLE_SIDED' : '', n.flipSided ? '#define FLIP_SIDED' : '', n.shadowMapEnabled ? '#define USE_SHADOWMAP' : '', n.shadowMapEnabled ? '#define ' + p : '', 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', ' attribute mat4 instanceMatrix;', '#endif', 'attribute vec3 position;', 'attribute vec3 normal;', 'attribute vec2 uv;', '#ifdef USE_TANGENT', '\tattribute vec4 tangent;', '#endif', '#ifdef USE_COLOR', '\tattribute vec3 color;', '#endif', '#ifdef USE_MORPHTARGETS', '\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(ss) .join('\n')), (r = [ v, ys(n), '#define SHADER_NAME ' + n.shaderName, y, n.alphaTest ? '#define ALPHATEST ' + n.alphaTest + (n.alphaTest % 1 ? '' : '.0') : '', '#define GAMMA_FACTOR ' + g, 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 ' + h : '', n.envMap ? '#define ' + f : '', n.envMap ? '#define ' + m : '', 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.specularMap ? '#define USE_SPECULARMAP' : '', n.roughnessMap ? '#define USE_ROUGHNESSMAP' : '', n.metalnessMap ? '#define USE_METALNESSMAP' : '', n.alphaMap ? '#define USE_ALPHAMAP' : '', n.sheen ? '#define USE_SHEEN' : '', n.vertexTangents ? '#define USE_TANGENT' : '', n.vertexColors ? '#define USE_COLOR' : '', 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 ' + p : '', 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 !== ut ? '#define TONE_MAPPING' : '', n.toneMapping !== ut ? Ho.tonemapping_pars_fragment : '', n.toneMapping !== ut ? as('toneMapping', n.toneMapping) : '', n.dithering ? '#define DITHERING' : '', n.outputEncoding || n.mapEncoding || n.matcapEncoding || n.envMapEncoding || n.emissiveMapEncoding || n.lightMapEncoding ? Ho.encodings_pars_fragment : '', n.mapEncoding ? os('mapTexelToLinear', n.mapEncoding) : '', n.matcapEncoding ? os('matcapTexelToLinear', n.matcapEncoding) : '', n.envMapEncoding ? os('envMapTexelToLinear', n.envMapEncoding) : '', n.emissiveMapEncoding ? os('emissiveMapTexelToLinear', n.emissiveMapEncoding) : '', n.lightMapEncoding ? os('lightMapTexelToLinear', n.lightMapEncoding) : '', n.outputEncoding ? ((o = 'linearToOutputTexel'), (a = n.outputEncoding), (s = is(a)), 'vec4 ' + o + '( vec4 value ) { return LinearTo' + s[0] + s[1] + '; }') : '', n.depthPacking ? '#define DEPTH_PACKING ' + n.depthPacking : '', '\n', ] .filter(ss) .join('\n'))), (u = ls((u = cs((u = ds(u)), n)), n)), (d = ls((d = cs((d = ds(d)), n)), n)), (u = ms(u)), (d = ms(d)), n.isWebGL2 && !n.isRawShaderMaterial) ) { var w = !1, S = /^\s*#version\s+300\s+es\s*\n/; n.isShaderMaterial && null !== u.match(S) && null !== d.match(S) && ((w = !0), (u = u.replace(S, '')), (d = d.replace(S, ''))), (i = ['#version 300 es\n', '#define attribute in', '#define varying out', '#define texture2D texture'].join('\n') + '\n' + i), (r = [ '#version 300 es\n', '#define varying in', w ? '' : 'out highp vec4 pc_fragColor;', w ? '' : '#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' + r); } var x, A, T = r + d, O = es(c, 35633, i + u), _ = es(c, 35632, T); if ( (c.attachShader(b, O), c.attachShader(b, _), void 0 !== n.index0AttributeName ? c.bindAttribLocation(b, 0, n.index0AttributeName) : !0 === n.morphTargets && c.bindAttribLocation(b, 0, 'position'), c.linkProgram(b), t.debug.checkShaderErrors) ) { var P = c.getProgramInfoLog(b).trim(), I = c.getShaderInfoLog(O).trim(), k = c.getShaderInfoLog(_).trim(), D = !0, R = !0; if (!1 === c.getProgramParameter(b, 35714)) { D = !1; var L = rs(c, O, 'vertex'), N = rs(c, _, 'fragment'); console.error('THREE.WebGLProgram: shader error: ', c.getError(), '35715', c.getProgramParameter(b, 35715), 'gl.getProgramInfoLog', P, L, N); } else '' !== P ? console.warn('THREE.WebGLProgram: gl.getProgramInfoLog()', P) : ('' !== I && '' !== k) || (R = !1); R && (this.diagnostics = { runnable: D, programLog: P, vertexShader: { log: I, prefix: i, }, fragmentShader: { log: k, prefix: r, }, }); } return ( c.detachShader(b, O), c.detachShader(b, _), c.deleteShader(O), c.deleteShader(_), (this.getUniforms = function () { return void 0 === x && (x = new ts(c, b)), x; }), (this.getAttributes = function () { return ( void 0 === A && (A = (function (t, e) { for (var n = {}, i = t.getProgramParameter(e, 35721), r = 0; r < i; r++) { var o = t.getActiveAttrib(e, r).name; n[o] = t.getAttribLocation(e, o); } return n; })(c, b)), A ); }), (this.destroy = function () { c.deleteProgram(b), (this.program = void 0); }), (this.name = n.shaderName), (this.id = ns++), (this.cacheKey = e), (this.usedTimes = 1), (this.program = b), (this.vertexShader = O), (this.fragmentShader = _), this ); } function ws(t, e, n) { var i = [], r = n.isWebGL2, o = n.logarithmicDepthBuffer, a = n.floatVertexTextures, s = n.precision, c = n.maxVertexUniforms, l = n.vertexTextures, u = { 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', }, d = [ 'precision', 'isWebGL2', 'supportsVertexTextures', 'outputEncoding', 'instancing', 'map', 'mapEncoding', 'matcap', 'matcapEncoding', 'envMap', 'envMapMode', 'envMapEncoding', 'envMapCubeUV', 'lightMap', 'lightMapEncoding', 'aoMap', 'emissiveMap', 'emissiveMapEncoding', 'bumpMap', 'normalMap', 'objectSpaceNormalMap', 'tangentSpaceNormalMap', 'clearcoatMap', 'clearcoatRoughnessMap', 'clearcoatNormalMap', 'displacementMap', 'specularMap', 'roughnessMap', 'metalnessMap', 'gradientMap', 'alphaMap', 'combine', 'vertexColors', 'vertexTangents', 'vertexUvs', 'uvsVertexOnly', 'fog', 'useFog', 'fogExp2', 'flatShading', 'sizeAttenuation', 'logarithmicDepthBuffer', 'skinning', 'maxBones', 'useVertexTexture', 'morphTargets', 'morphNormals', 'maxMorphTargets', 'maxMorphNormals', 'premultipliedAlpha', 'numDirLights', 'numPointLights', 'numSpotLights', 'numHemiLights', 'numRectAreaLights', 'numDirLightShadows', 'numPointLightShadows', 'numSpotLightShadows', 'shadowMapEnabled', 'shadowMapType', 'toneMapping', 'physicallyCorrectLights', 'alphaTest', 'doubleSided', 'flipSided', 'numClippingPlanes', 'numClipIntersection', 'depthPacking', 'dithering', 'sheen', ]; function p(t) { var e; return ( t ? t.isTexture ? (e = t.encoding) : t.isWebGLRenderTarget && (console.warn("THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead."), (e = t.texture.encoding)) : (e = cn), e ); } (this.getParameters = function (i, d, h, f, m, g, v) { var y = f.fog, b = i.isMeshStandardMaterial ? f.environment : null, w = i.envMap || b, S = u[i.type], x = v.isSkinnedMesh ? (function (t) { var e = t.skeleton.bones; if (a) return 1024; var n = c, i = Math.floor((n - 20) / 4), r = Math.min(i, e.length); return r < e.length ? (console.warn('THREE.WebGLRenderer: Skeleton has ' + e.length + ' bones. This GPU supports ' + r + '.'), 0) : r; })(v) : 0; null !== i.precision && (s = n.getMaxPrecision(i.precision)) !== i.precision && console.warn('THREE.WebGLProgram.getParameters:', i.precision, 'not supported, using', s, 'instead.'); var M = (function (t, e) { var n; if (e) { var i = Wo[e]; n = { name: t.type, uniforms: _o.clone(i.uniforms), vertexShader: i.vertexShader, fragmentShader: i.fragmentShader, }; } else n = { name: t.type, uniforms: t.uniforms, vertexShader: t.vertexShader, fragmentShader: t.fragmentShader, }; return n; })(i, S); i.onBeforeCompile(M, t); var E = t.getRenderTarget(); return { isWebGL2: r, shaderID: S, shaderName: M.name, uniforms: M.uniforms, vertexShader: M.vertexShader, fragmentShader: M.fragmentShader, defines: i.defines, isRawShaderMaterial: i.isRawShaderMaterial, isShaderMaterial: i.isShaderMaterial, precision: s, instancing: !0 === v.isInstancedMesh, supportsVertexTextures: l, outputEncoding: null !== E ? p(E.texture) : t.outputEncoding, map: !!i.map, mapEncoding: p(i.map), matcap: !!i.matcap, matcapEncoding: p(i.matcap), envMap: !!w, envMapMode: w && w.mapping, envMapEncoding: p(w), envMapCubeUV: !!w && (w.mapping === xt || w.mapping === Mt), lightMap: !!i.lightMap, lightMapEncoding: p(i.lightMap), aoMap: !!i.aoMap, emissiveMap: !!i.emissiveMap, emissiveMapEncoding: p(i.emissiveMap), bumpMap: !!i.bumpMap, normalMap: !!i.normalMap, objectSpaceNormalMap: i.normalMapType === bn, tangentSpaceNormalMap: i.normalMapType === yn, clearcoatMap: !!i.clearcoatMap, clearcoatRoughnessMap: !!i.clearcoatRoughnessMap, clearcoatNormalMap: !!i.clearcoatNormalMap, displacementMap: !!i.displacementMap, roughnessMap: !!i.roughnessMap, metalnessMap: !!i.metalnessMap, specularMap: !!i.specularMap, alphaMap: !!i.alphaMap, gradientMap: !!i.gradientMap, sheen: !!i.sheen, combine: i.combine, vertexTangents: i.normalMap && i.vertexTangents, vertexColors: i.vertexColors, vertexUvs: !!( i.map || i.bumpMap || i.normalMap || i.specularMap || i.alphaMap || i.emissiveMap || i.roughnessMap || i.metalnessMap || i.clearcoatMap || i.clearcoatRoughnessMap || i.clearcoatNormalMap || i.displacementMap ), uvsVertexOnly: !(i.map || i.bumpMap || i.normalMap || i.specularMap || i.alphaMap || i.emissiveMap || i.roughnessMap || i.metalnessMap || i.clearcoatNormalMap || !i.displacementMap), fog: !!y, useFog: i.fog, fogExp2: y && y.isFogExp2, flatShading: i.flatShading, sizeAttenuation: i.sizeAttenuation, logarithmicDepthBuffer: o, skinning: i.skinning && x > 0, maxBones: x, useVertexTexture: a, morphTargets: i.morphTargets, morphNormals: i.morphNormals, maxMorphTargets: t.maxMorphTargets, maxMorphNormals: t.maxMorphNormals, numDirLights: d.directional.length, numPointLights: d.point.length, numSpotLights: d.spot.length, numRectAreaLights: d.rectArea.length, numHemiLights: d.hemi.length, numDirLightShadows: d.directionalShadowMap.length, numPointLightShadows: d.pointShadowMap.length, numSpotLightShadows: d.spotShadowMap.length, numClippingPlanes: m, numClipIntersection: g, dithering: i.dithering, shadowMapEnabled: t.shadowMap.enabled && h.length > 0, shadowMapType: t.shadowMap.type, toneMapping: i.toneMapped ? t.toneMapping : ut, physicallyCorrectLights: t.physicallyCorrectLights, premultipliedAlpha: i.premultipliedAlpha, alphaTest: i.alphaTest, doubleSided: i.side === O, flipSided: i.side === T, depthPacking: void 0 !== i.depthPacking && i.depthPacking, index0AttributeName: i.index0AttributeName, extensionDerivatives: i.extensions && i.extensions.derivatives, extensionFragDepth: i.extensions && i.extensions.fragDepth, extensionDrawBuffers: i.extensions && i.extensions.drawBuffers, extensionShaderTextureLOD: i.extensions && i.extensions.shaderTextureLOD, rendererExtensionFragDepth: r || null !== e.get('EXT_frag_depth'), rendererExtensionDrawBuffers: r || null !== e.get('WEBGL_draw_buffers'), rendererExtensionShaderTextureLod: r || null !== e.get('EXT_shader_texture_lod'), onBeforeCompile: i.onBeforeCompile, }; }), (this.getProgramCacheKey = function (e) { var n = []; if ((e.shaderID ? n.push(e.shaderID) : (n.push(e.fragmentShader), n.push(e.vertexShader)), void 0 !== e.defines)) for (var i in e.defines) n.push(i), n.push(e.defines[i]); if (void 0 === e.isRawShaderMaterial) { for (var r = 0; r < d.length; r++) n.push(e[d[r]]); n.push(t.outputEncoding), n.push(t.gammaFactor); } return n.push(e.onBeforeCompile.toString()), n.join(); }), (this.acquireProgram = function (e, n) { for (var r, o = 0, a = i.length; o < a; o++) { var s = i[o]; if (s.cacheKey === n) { ++(r = s).usedTimes; break; } } return void 0 === r && ((r = new bs(t, n, e)), i.push(r)), r; }), (this.releaseProgram = function (t) { if (0 == --t.usedTimes) { var e = i.indexOf(t); (i[e] = i[i.length - 1]), i.pop(), t.destroy(); } }), (this.programs = i); } function Ss() { var t = new WeakMap(); return { get: function (e) { var n = t.get(e); return void 0 === n && ((n = {}), t.set(e, n)), n; }, remove: function (e) { t.delete(e); }, update: function (e, n, i) { t.get(e)[n] = i; }, dispose: function () { t = new WeakMap(); }, }; } function xs(t, e) { return t.groupOrder !== e.groupOrder ? t.groupOrder - e.groupOrder : t.renderOrder !== e.renderOrder ? t.renderOrder - e.renderOrder : t.program !== e.program ? t.program.id - e.program.id : t.material.id !== e.material.id ? t.material.id - e.material.id : t.z !== e.z ? t.z - e.z : t.id - e.id; } function Ms(t, e) { return t.groupOrder !== e.groupOrder ? t.groupOrder - e.groupOrder : t.renderOrder !== e.renderOrder ? t.renderOrder - e.renderOrder : t.z !== e.z ? e.z - t.z : t.id - e.id; } function Es() { var t = [], e = 0, n = [], i = [], r = { id: -1, }; function o(n, i, o, a, s, c) { var l = t[e]; return ( void 0 === l ? ((l = { id: n.id, object: n, geometry: i, material: o, program: o.program || r, groupOrder: a, renderOrder: n.renderOrder, z: s, group: c, }), (t[e] = l)) : ((l.id = n.id), (l.object = n), (l.geometry = i), (l.material = o), (l.program = o.program || r), (l.groupOrder = a), (l.renderOrder = n.renderOrder), (l.z = s), (l.group = c)), e++, l ); } return { opaque: n, transparent: i, init: function () { (e = 0), (n.length = 0), (i.length = 0); }, push: function (t, e, r, a, s, c) { var l = o(t, e, r, a, s, c); (!0 === r.transparent ? i : n).push(l); }, unshift: function (t, e, r, a, s, c) { var l = o(t, e, r, a, s, c); (!0 === r.transparent ? i : n).unshift(l); }, finish: function () { for (var n = e, i = t.length; n < i; n++) { var r = t[n]; if (null === r.id) break; (r.id = null), (r.object = null), (r.geometry = null), (r.material = null), (r.program = null), (r.group = null); } }, sort: function (t, e) { n.length > 1 && n.sort(t || xs), i.length > 1 && i.sort(e || Ms); }, }; } function Cs() { var t = new WeakMap(); function e(n) { var i = n.target; i.removeEventListener('dispose', e), t.delete(i); } return { get: function (n, i) { var r, o = t.get(n); return void 0 === o ? ((r = new Es()), t.set(n, new WeakMap()), t.get(n).set(i, r), n.addEventListener('dispose', e)) : void 0 === (r = o.get(i)) && ((r = new Es()), o.set(i, r)), r; }, dispose: function () { t = new WeakMap(); }, }; } function As() { var t = {}; return { get: function (e) { if (void 0 !== t[e.id]) return t[e.id]; var n; switch (e.type) { case 'DirectionalLight': n = { direction: new si(), color: new Er(), }; break; case 'SpotLight': n = { position: new si(), direction: new si(), color: new Er(), distance: 0, coneCos: 0, penumbraCos: 0, decay: 0, }; break; case 'PointLight': n = { position: new si(), color: new Er(), distance: 0, decay: 0, }; break; case 'HemisphereLight': n = { direction: new si(), skyColor: new Er(), groundColor: new Er(), }; break; case 'RectAreaLight': n = { color: new Er(), position: new si(), halfWidth: new si(), halfHeight: new si(), }; } return (t[e.id] = n), n; }, }; } var Ts = 0; function Os(t, e) { return (e.castShadow ? 1 : 0) - (t.castShadow ? 1 : 0); } function _s() { for ( var t, e = new As(), n = ((t = {}), { get: function (e) { if (void 0 !== t[e.id]) return t[e.id]; var n; switch (e.type) { case 'DirectionalLight': case 'SpotLight': n = { shadowBias: 0, shadowRadius: 1, shadowMapSize: new Zn(), }; break; case 'PointLight': n = { shadowBias: 0, shadowRadius: 1, shadowMapSize: new Zn(), shadowCameraNear: 1, shadowCameraFar: 1e3, }; } return (t[e.id] = n), n; }, }), 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: [], point: [], pointShadow: [], pointShadowMap: [], pointShadowMatrix: [], hemi: [], }, r = 0; r < 9; r++ ) i.probe.push(new si()); var o = new si(), a = new mi(), s = new mi(); return { setup: function (t, r, c) { for (var l = 0, u = 0, d = 0, p = 0; p < 9; p++) i.probe[p].set(0, 0, 0); var h = 0, f = 0, m = 0, g = 0, v = 0, y = 0, b = 0, w = 0, S = c.matrixWorldInverse; t.sort(Os), (p = 0); for (var x = t.length; p < x; p++) { var M = t[p], E = M.color, C = M.intensity, A = M.distance, T = M.shadow && M.shadow.map ? M.shadow.map.texture : null; if (M.isAmbientLight) (l += E.r * C), (u += E.g * C), (d += E.b * C); else if (M.isLightProbe) for (var O = 0; O < 9; O++) i.probe[O].addScaledVector(M.sh.coefficients[O], C); else if (M.isDirectionalLight) { if ( ((I = e.get(M)).color.copy(M.color).multiplyScalar(M.intensity), I.direction.setFromMatrixPosition(M.matrixWorld), o.setFromMatrixPosition(M.target.matrixWorld), I.direction.sub(o), I.direction.transformDirection(S), M.castShadow) ) { var _ = M.shadow; ((P = n.get(M)).shadowBias = _.bias), (P.shadowRadius = _.radius), (P.shadowMapSize = _.mapSize), (i.directionalShadow[h] = P), (i.directionalShadowMap[h] = T), (i.directionalShadowMatrix[h] = M.shadow.matrix), y++; } (i.directional[h] = I), h++; } else if (M.isSpotLight) { if ( ((I = e.get(M)).position.setFromMatrixPosition(M.matrixWorld), I.position.applyMatrix4(S), I.color.copy(E).multiplyScalar(C), (I.distance = A), I.direction.setFromMatrixPosition(M.matrixWorld), o.setFromMatrixPosition(M.target.matrixWorld), I.direction.sub(o), I.direction.transformDirection(S), (I.coneCos = Math.cos(M.angle)), (I.penumbraCos = Math.cos(M.angle * (1 - M.penumbra))), (I.decay = M.decay), M.castShadow) ) { _ = M.shadow; ((P = n.get(M)).shadowBias = _.bias), (P.shadowRadius = _.radius), (P.shadowMapSize = _.mapSize), (i.spotShadow[m] = P), (i.spotShadowMap[m] = T), (i.spotShadowMatrix[m] = M.shadow.matrix), w++; } (i.spot[m] = I), m++; } else if (M.isRectAreaLight) { (I = e.get(M)).color.copy(E).multiplyScalar(C), I.position.setFromMatrixPosition(M.matrixWorld), I.position.applyMatrix4(S), s.identity(), a.copy(M.matrixWorld), a.premultiply(S), s.extractRotation(a), I.halfWidth.set(0.5 * M.width, 0, 0), I.halfHeight.set(0, 0.5 * M.height, 0), I.halfWidth.applyMatrix4(s), I.halfHeight.applyMatrix4(s), (i.rectArea[g] = I), g++; } else if (M.isPointLight) { if ( ((I = e.get(M)).position.setFromMatrixPosition(M.matrixWorld), I.position.applyMatrix4(S), I.color.copy(M.color).multiplyScalar(M.intensity), (I.distance = M.distance), (I.decay = M.decay), M.castShadow) ) { var P; _ = M.shadow; ((P = n.get(M)).shadowBias = _.bias), (P.shadowRadius = _.radius), (P.shadowMapSize = _.mapSize), (P.shadowCameraNear = _.camera.near), (P.shadowCameraFar = _.camera.far), (i.pointShadow[f] = P), (i.pointShadowMap[f] = T), (i.pointShadowMatrix[f] = M.shadow.matrix), b++; } (i.point[f] = I), f++; } else if (M.isHemisphereLight) { var I; (I = e.get(M)).direction.setFromMatrixPosition(M.matrixWorld), I.direction.transformDirection(S), I.direction.normalize(), I.skyColor.copy(M.color).multiplyScalar(C), I.groundColor.copy(M.groundColor).multiplyScalar(C), (i.hemi[v] = I), v++; } } (i.ambient[0] = l), (i.ambient[1] = u), (i.ambient[2] = d); var k = i.hash; (k.directionalLength === h && k.pointLength === f && k.spotLength === m && k.rectAreaLength === g && k.hemiLength === v && k.numDirectionalShadows === y && k.numPointShadows === b && k.numSpotShadows === w) || ((i.directional.length = h), (i.spot.length = m), (i.rectArea.length = g), (i.point.length = f), (i.hemi.length = v), (i.directionalShadow.length = y), (i.directionalShadowMap.length = y), (i.pointShadow.length = b), (i.pointShadowMap.length = b), (i.spotShadow.length = w), (i.spotShadowMap.length = w), (i.directionalShadowMatrix.length = y), (i.pointShadowMatrix.length = b), (i.spotShadowMatrix.length = w), (k.directionalLength = h), (k.pointLength = f), (k.spotLength = m), (k.rectAreaLength = g), (k.hemiLength = v), (k.numDirectionalShadows = y), (k.numPointShadows = b), (k.numSpotShadows = w), (i.version = Ts++)); }, state: i, }; } function Ps() { var t = new _s(), e = [], n = []; return { init: function () { (e.length = 0), (n.length = 0); }, state: { lightsArray: e, shadowsArray: n, lights: t, }, setupLights: function (i) { t.setup(e, n, i); }, pushLight: function (t) { e.push(t); }, pushShadow: function (t) { n.push(t); }, }; } function Is() { var t = new WeakMap(); function e(n) { var i = n.target; i.removeEventListener('dispose', e), t.delete(i); } return { get: function (n, i) { var r; return ( !1 === t.has(n) ? ((r = new Ps()), t.set(n, new WeakMap()), t.get(n).set(i, r), n.addEventListener('dispose', e)) : !1 === t.get(n).has(i) ? ((r = new Ps()), t.get(n).set(i, r)) : (r = t.get(n).get(i)), r ); }, dispose: function () { t = new WeakMap(); }, }; } function ks(t) { Pr.call(this), (this.type = 'MeshDepthMaterial'), (this.depthPacking = gn), (this.skinning = !1), (this.morphTargets = !1), (this.map = null), (this.alphaMap = null), (this.displacementMap = null), (this.displacementScale = 1), (this.displacementBias = 0), (this.wireframe = !1), (this.wireframeLinewidth = 1), (this.fog = !1), this.setValues(t); } function Ds(t) { Pr.call(this), (this.type = 'MeshDistanceMaterial'), (this.referencePosition = new si()), (this.nearDistance = 1), (this.farDistance = 1e3), (this.skinning = !1), (this.morphTargets = !1), (this.map = null), (this.alphaMap = null), (this.displacementMap = null), (this.displacementScale = 1), (this.displacementBias = 0), (this.fog = !1), this.setValues(t); } (ks.prototype = Object.create(Pr.prototype)), (ks.prototype.constructor = ks), (ks.prototype.isMeshDepthMaterial = !0), (ks.prototype.copy = function (t) { return ( Pr.prototype.copy.call(this, t), (this.depthPacking = t.depthPacking), (this.skinning = t.skinning), (this.morphTargets = t.morphTargets), (this.map = t.map), (this.alphaMap = t.alphaMap), (this.displacementMap = t.displacementMap), (this.displacementScale = t.displacementScale), (this.displacementBias = t.displacementBias), (this.wireframe = t.wireframe), (this.wireframeLinewidth = t.wireframeLinewidth), this ); }), (Ds.prototype = Object.create(Pr.prototype)), (Ds.prototype.constructor = Ds), (Ds.prototype.isMeshDistanceMaterial = !0), (Ds.prototype.copy = function (t) { return ( Pr.prototype.copy.call(this, t), this.referencePosition.copy(t.referencePosition), (this.nearDistance = t.nearDistance), (this.farDistance = t.farDistance), (this.skinning = t.skinning), (this.morphTargets = t.morphTargets), (this.map = t.map), (this.alphaMap = t.alphaMap), (this.displacementMap = t.displacementMap), (this.displacementScale = t.displacementScale), (this.displacementBias = t.displacementBias), this ); }); function Rs(t, e, n) { var i = new Vo(), r = new Zn(), o = new Zn(), a = new ei(), s = [], c = [], l = {}, u = { 0: T, 1: A, 2: O, }, d = new Po({ defines: { SAMPLE_RATE: 2 / 8, HALF_SAMPLE_RATE: 1 / 8, }, uniforms: { shadow_pass: { value: null, }, resolution: { value: new Zn(), }, radius: { value: 4, }, }, vertexShader: 'void main() {\n\tgl_Position = vec4( position, 1.0 );\n}', fragmentShader: 'uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n float mean = 0.0;\n float squared_mean = 0.0;\n\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy ) / resolution ) );\n for ( float i = -1.0; i < 1.0 ; i += SAMPLE_RATE) {\n #ifdef HORIZONAL_PASS\n vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( i, 0.0 ) * radius ) / resolution ) );\n mean += distribution.x;\n squared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n #else\n float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, i ) * radius ) / resolution ) );\n mean += depth;\n squared_mean += depth * depth;\n #endif\n }\n mean = mean * HALF_SAMPLE_RATE;\n squared_mean = squared_mean * HALF_SAMPLE_RATE;\n float std_dev = sqrt( squared_mean - mean * mean );\n gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}', }), p = d.clone(); p.defines.HORIZONAL_PASS = 1; var h = new Qr(); h.setAttribute('position', new Dr(new Float32Array([-1, -1, 0.5, 3, -1, 0.5, -1, 3, 0.5]), 3)); var f = new vo(h, d), m = this; function g(n, i) { var r = e.update(f); (d.uniforms.shadow_pass.value = n.map.texture), (d.uniforms.resolution.value = n.mapSize), (d.uniforms.radius.value = n.radius), t.setRenderTarget(n.mapPass), t.clear(), t.renderBufferDirect(i, null, r, d, f, null), (p.uniforms.shadow_pass.value = n.mapPass.texture), (p.uniforms.resolution.value = n.mapSize), (p.uniforms.radius.value = n.radius), t.setRenderTarget(n.map), t.clear(), t.renderBufferDirect(i, null, r, p, f, null); } function v(t, e, n) { var i = (t << 0) | (e << 1) | (n << 2), r = s[i]; return ( void 0 === r && ((r = new ks({ depthPacking: vn, morphTargets: t, skinning: e, })), (s[i] = r)), r ); } function y(t, e, n) { var i = (t << 0) | (e << 1) | (n << 2), r = c[i]; return ( void 0 === r && ((r = new Ds({ morphTargets: t, skinning: e, })), (c[i] = r)), r ); } function b(e, n, i, r, o, a) { var s = e.geometry, c = null, d = v, p = e.customDepthMaterial; if ((!0 === i.isPointLight && ((d = y), (p = e.customDistanceMaterial)), void 0 === p)) { var h = !1; !0 === n.morphTargets && (!0 === s.isBufferGeometry ? (h = s.morphAttributes && s.morphAttributes.position && s.morphAttributes.position.length > 0) : !0 === s.isGeometry && (h = s.morphTargets && s.morphTargets.length > 0)); var f = !1; !0 === e.isSkinnedMesh && (!0 === n.skinning ? (f = !0) : console.warn('THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:', e)), (c = d(h, f, !0 === e.isInstancedMesh)); } else c = p; if (t.localClippingEnabled && !0 === n.clipShadows && 0 !== n.clippingPlanes.length) { var m = c.uuid, g = n.uuid, b = l[m]; void 0 === b && ((b = {}), (l[m] = b)); var w = b[g]; void 0 === w && ((w = c.clone()), (b[g] = w)), (c = w); } return ( (c.visible = n.visible), (c.wireframe = n.wireframe), (c.side = a === C ? (null !== n.shadowSide ? n.shadowSide : n.side) : null !== n.shadowSide ? n.shadowSide : u[n.side]), (c.clipShadows = n.clipShadows), (c.clippingPlanes = n.clippingPlanes), (c.clipIntersection = n.clipIntersection), (c.wireframeLinewidth = n.wireframeLinewidth), (c.linewidth = n.linewidth), !0 === i.isPointLight && !0 === c.isMeshDistanceMaterial && (c.referencePosition.setFromMatrixPosition(i.matrixWorld), (c.nearDistance = r), (c.farDistance = o)), c ); } function w(n, r, o, a, s) { if (!1 !== n.visible) { if (n.layers.test(r.layers) && (n.isMesh || n.isLine || n.isPoints) && (n.castShadow || (n.receiveShadow && s === C)) && (!n.frustumCulled || i.intersectsObject(n))) { n.modelViewMatrix.multiplyMatrices(o.matrixWorldInverse, n.matrixWorld); var c = e.update(n), l = n.material; if (Array.isArray(l)) for (var u = c.groups, d = 0, p = u.length; d < p; d++) { var h = u[d], f = l[h.materialIndex]; if (f && f.visible) { var m = b(n, f, a, o.near, o.far, s); t.renderBufferDirect(o, null, c, m, n, h); } } else if (l.visible) { m = b(n, l, a, o.near, o.far, s); t.renderBufferDirect(o, null, c, m, n, null); } } for (var g = n.children, v = 0, y = g.length; v < y; v++) w(g[v], r, o, a, s); } } (this.enabled = !1), (this.autoUpdate = !0), (this.needsUpdate = !1), (this.type = M), (this.render = function (e, s, c) { if (!1 !== m.enabled && (!1 !== m.autoUpdate || !1 !== m.needsUpdate) && 0 !== e.length) { var l = t.getRenderTarget(), u = t.getActiveCubeFace(), d = t.getActiveMipmapLevel(), p = t.state; p.setBlending(I), p.buffers.color.setClear(1, 1, 1, 1), p.buffers.depth.setTest(!0), p.setScissorTest(!1); for (var h = 0, f = e.length; h < f; h++) { var v = e[h], y = v.shadow; if (void 0 !== y) { r.copy(y.mapSize); var b = y.getFrameExtents(); if ( (r.multiply(b), o.copy(y.mapSize), (r.x > n || r.y > n) && (console.warn('THREE.WebGLShadowMap:', v, 'has shadow exceeding max texture size, reducing'), r.x > n && ((o.x = Math.floor(n / b.x)), (r.x = o.x * b.x), (y.mapSize.x = o.x)), r.y > n && ((o.y = Math.floor(n / b.y)), (r.y = o.y * b.y), (y.mapSize.y = o.y))), null === y.map && !y.isPointLightShadow && this.type === C) ) { var S = { minFilter: kt, magFilter: kt, format: Jt, }; (y.map = new ni(r.x, r.y, S)), (y.map.texture.name = v.name + '.shadowMap'), (y.mapPass = new ni(r.x, r.y, S)), y.camera.updateProjectionMatrix(); } if (null === y.map) { S = { minFilter: Tt, magFilter: Tt, format: Jt, }; (y.map = new ni(r.x, r.y, S)), (y.map.texture.name = v.name + '.shadowMap'), y.camera.updateProjectionMatrix(); } t.setRenderTarget(y.map), t.clear(); for (var x = y.getViewportCount(), M = 0; M < x; M++) { var E = y.getViewport(M); a.set(o.x * E.x, o.y * E.y, o.x * E.z, o.y * E.w), p.viewport(a), y.updateMatrices(v, M), (i = y.getFrustum()), w(s, c, y.camera, v, this.type); } y.isPointLightShadow || this.type !== C || g(y, c); } else console.warn('THREE.WebGLShadowMap:', v, 'has no shadow.'); } (m.needsUpdate = !1), t.setRenderTarget(l, u, d); } }); } function Ls(t, e, n) { var i, o, a = n.isWebGL2; var s = new (function () { var e = !1, n = new ei(), i = null, r = new ei(0, 0, 0, 0); return { setMask: function (n) { i === n || e || (t.colorMask(n, n, n, n), (i = n)); }, setLocked: function (t) { e = t; }, setClear: function (e, i, o, a, s) { !0 === s && ((e *= a), (i *= a), (o *= a)), n.set(e, i, o, a), !1 === r.equals(n) && (t.clearColor(e, i, o, a), r.copy(n)); }, reset: function () { (e = !1), (i = null), r.set(-1, 0, 0, 0); }, }; })(), c = new (function () { var e = !1, n = null, i = null, r = null; return { setTest: function (t) { t ? xt(2929) : Mt(2929); }, setMask: function (i) { n === i || e || (t.depthMask(i), (n = i)); }, setFunc: function (e) { if (i !== e) { if (e) switch (e) { case $: t.depthFunc(512); break; case tt: t.depthFunc(519); break; case et: t.depthFunc(513); break; case nt: t.depthFunc(515); break; case it: t.depthFunc(514); break; case rt: t.depthFunc(518); break; case ot: t.depthFunc(516); break; case at: t.depthFunc(517); break; default: t.depthFunc(515); } else t.depthFunc(515); i = e; } }, setLocked: function (t) { e = t; }, setClear: function (e) { r !== e && (t.clearDepth(e), (r = e)); }, reset: function () { (e = !1), (n = null), (i = null), (r = null); }, }; })(), l = new (function () { var e = !1, n = null, i = null, r = null, o = null, a = null, s = null, c = null, l = null; return { setTest: function (t) { e || (t ? xt(2960) : Mt(2960)); }, setMask: function (i) { n === i || e || (t.stencilMask(i), (n = i)); }, setFunc: function (e, n, a) { (i === e && r === n && o === a) || (t.stencilFunc(e, n, a), (i = e), (r = n), (o = a)); }, setOp: function (e, n, i) { (a === e && s === n && c === i) || (t.stencilOp(e, n, i), (a = e), (s = n), (c = i)); }, setLocked: function (t) { e = t; }, setClear: function (e) { l !== e && (t.clearStencil(e), (l = e)); }, reset: function () { (e = !1), (n = null), (i = null), (r = null), (o = null), (a = null), (s = null), (c = null), (l = null); }, }; })(), u = t.getParameter(34921), d = new Uint8Array(u), p = new Uint8Array(u), h = new Uint8Array(u), f = {}, m = null, b = null, w = null, S = null, x = null, M = null, E = null, C = null, A = null, _ = !1, P = null, st = null, ct = null, lt = null, ut = null, dt = t.getParameter(35661), pt = !1, ht = 0, ft = t.getParameter(7938); -1 !== ft.indexOf('WebGL') ? ((ht = parseFloat(/^WebGL\ ([0-9])/.exec(ft)[1])), (pt = ht >= 1)) : -1 !== ft.indexOf('OpenGL ES') && ((ht = parseFloat(/^OpenGL\ ES\ ([0-9])/.exec(ft)[1])), (pt = ht >= 2)); var mt = null, gt = {}, vt = new ei(), yt = new ei(); function bt(e, n, i) { var r = new Uint8Array(4), o = t.createTexture(); t.bindTexture(e, o), t.texParameteri(e, 10241, 9728), t.texParameteri(e, 10240, 9728); for (var a = 0; a < i; a++) t.texImage2D(n + a, 0, 6408, 1, 1, 0, 6408, 5121, r); return o; } var wt = {}; function St(n, i) { ((d[n] = 1), 0 === p[n] && (t.enableVertexAttribArray(n), (p[n] = 1)), h[n] !== i) && ((a ? t : e.get('ANGLE_instanced_arrays'))[a ? 'vertexAttribDivisor' : 'vertexAttribDivisorANGLE'](n, i), (h[n] = i)); } function xt(e) { !0 !== f[e] && (t.enable(e), (f[e] = !0)); } function Mt(e) { !1 !== f[e] && (t.disable(e), (f[e] = !1)); } (wt[3553] = bt(3553, 3553, 1)), (wt[34067] = bt(34067, 34069, 6)), s.setClear(0, 0, 0, 1), c.setClear(1), l.setClear(0), xt(2929), c.setFunc(nt), Ot(!1), _t(v), xt(2884), Tt(I); var Et = (r((i = {}), j, 32774), r(i, V, 32778), r(i, F, 32779), i); if (a) (Et[U] = 32775), (Et[B] = 32776); else { var Ct = e.get('EXT_blend_minmax'); null !== Ct && ((Et[U] = Ct.MIN_EXT), (Et[B] = Ct.MAX_EXT)); } var At = (r((o = {}), z, 0), r(o, G, 1), r(o, H, 768), r(o, q, 770), r(o, Q, 776), r(o, Z, 774), r(o, Y, 772), r(o, W, 769), r(o, X, 771), r(o, J, 775), r(o, K, 773), o); function Tt(e, n, i, r, o, a, s, c) { if (e !== I) { if ((b || (xt(3042), (b = !0)), e === N)) (o = o || n), (a = a || i), (s = s || r), (n === S && o === E) || (t.blendEquationSeparate(Et[n], Et[o]), (S = n), (E = o)), (i === x && r === M && a === C && s === A) || (t.blendFuncSeparate(At[i], At[r], At[a], At[s]), (x = i), (M = r), (C = a), (A = s)), (w = e), (_ = null); else if (e !== w || c !== _) { if (((S === j && E === j) || (t.blendEquation(32774), (S = j), (E = j)), c)) switch (e) { case k: t.blendFuncSeparate(1, 771, 1, 771); break; case D: t.blendFunc(1, 1); break; case R: t.blendFuncSeparate(0, 0, 769, 771); break; case L: t.blendFuncSeparate(0, 768, 0, 770); break; default: console.error('THREE.WebGLState: Invalid blending: ', e); } else switch (e) { case k: t.blendFuncSeparate(770, 771, 1, 771); break; case D: t.blendFunc(770, 1); break; case R: t.blendFunc(0, 769); break; case L: t.blendFunc(0, 768); break; default: console.error('THREE.WebGLState: Invalid blending: ', e); } (x = null), (M = null), (C = null), (A = null), (w = e), (_ = c); } } else b && (Mt(3042), (b = !1)); } function Ot(e) { P !== e && (e ? t.frontFace(2304) : t.frontFace(2305), (P = e)); } function _t(e) { e !== g ? (xt(2884), e !== st && (e === v ? t.cullFace(1029) : e === y ? t.cullFace(1028) : t.cullFace(1032))) : Mt(2884), (st = e); } function Pt(e, n, i) { e ? (xt(32823), (lt === n && ut === i) || (t.polygonOffset(n, i), (lt = n), (ut = i))) : Mt(32823); } function It(e) { void 0 === e && (e = 33984 + dt - 1), mt !== e && (t.activeTexture(e), (mt = e)); } return { buffers: { color: s, depth: c, stencil: l, }, initAttributes: function () { for (var t = 0, e = d.length; t < e; t++) d[t] = 0; }, enableAttribute: function (t) { St(t, 0); }, enableAttributeAndDivisor: St, disableUnusedAttributes: function () { for (var e = 0, n = p.length; e !== n; ++e) p[e] !== d[e] && (t.disableVertexAttribArray(e), (p[e] = 0)); }, enable: xt, disable: Mt, useProgram: function (e) { return m !== e && (t.useProgram(e), (m = e), !0); }, setBlending: Tt, setMaterial: function (t, e) { t.side === O ? Mt(2884) : xt(2884); var n = t.side === T; e && (n = !n), Ot(n), t.blending === k && !1 === t.transparent ? Tt(I) : Tt(t.blending, t.blendEquation, t.blendSrc, t.blendDst, t.blendEquationAlpha, t.blendSrcAlpha, t.blendDstAlpha, t.premultipliedAlpha), c.setFunc(t.depthFunc), c.setTest(t.depthTest), c.setMask(t.depthWrite), s.setMask(t.colorWrite); var i = t.stencilWrite; l.setTest(i), i && (l.setMask(t.stencilWriteMask), l.setFunc(t.stencilFunc, t.stencilRef, t.stencilFuncMask), l.setOp(t.stencilFail, t.stencilZFail, t.stencilZPass)), Pt(t.polygonOffset, t.polygonOffsetFactor, t.polygonOffsetUnits); }, setFlipSided: Ot, setCullFace: _t, setLineWidth: function (e) { e !== ct && (pt && t.lineWidth(e), (ct = e)); }, setPolygonOffset: Pt, setScissorTest: function (t) { t ? xt(3089) : Mt(3089); }, activeTexture: It, bindTexture: function (e, n) { null === mt && It(); var i = gt[mt]; void 0 === i && ((i = { type: void 0, texture: void 0, }), (gt[mt] = i)), (i.type === e && i.texture === n) || (t.bindTexture(e, n || wt[e]), (i.type = e), (i.texture = n)); }, unbindTexture: function () { var e = gt[mt]; void 0 !== e && void 0 !== e.type && (t.bindTexture(e.type, null), (e.type = void 0), (e.texture = void 0)); }, compressedTexImage2D: function () { try { t.compressedTexImage2D.apply(t, arguments); } catch (t) { console.error('THREE.WebGLState:', t); } }, texImage2D: function () { try { t.texImage2D.apply(t, arguments); } catch (t) { console.error('THREE.WebGLState:', t); } }, texImage3D: function () { try { t.texImage3D.apply(t, arguments); } catch (t) { console.error('THREE.WebGLState:', t); } }, scissor: function (e) { !1 === vt.equals(e) && (t.scissor(e.x, e.y, e.z, e.w), vt.copy(e)); }, viewport: function (e) { !1 === yt.equals(e) && (t.viewport(e.x, e.y, e.z, e.w), yt.copy(e)); }, reset: function () { for (var e = 0; e < p.length; e++) 1 === p[e] && (t.disableVertexAttribArray(e), (p[e] = 0)); (f = {}), (mt = null), (gt = {}), (m = null), (w = null), (P = null), (st = null), s.reset(), c.reset(), l.reset(); }, }; } function Ns(t, e, n, i, o, a, s) { var c, l, u, d = o.isWebGL2, p = o.maxTextures, h = o.maxCubemapSize, f = o.maxTextureSize, m = o.maxSamples, g = new WeakMap(), v = !1; try { v = 'undefined' != typeof OffscreenCanvas && null !== new OffscreenCanvas(1, 1).getContext('2d'); } catch (t) {} function y(t, e) { return v ? new OffscreenCanvas(t, e) : document.createElementNS('http://www.w3.org/1999/xhtml', 'canvas'); } function b(t, e, n, i) { var r = 1; if (((t.width > i || t.height > i) && (r = i / Math.max(t.width, t.height)), r < 1 || !0 === e)) { if ( ('undefined' != typeof HTMLImageElement && t instanceof HTMLImageElement) || ('undefined' != typeof HTMLCanvasElement && t instanceof HTMLCanvasElement) || ('undefined' != typeof ImageBitmap && t instanceof ImageBitmap) ) { var o = e ? Kn.floorPowerOfTwo : Math.floor, a = o(r * t.width), s = o(r * t.height); void 0 === u && (u = y(a, s)); var c = n ? y(a, s) : u; return ( (c.width = a), (c.height = s), c.getContext('2d').drawImage(t, 0, 0, a, s), console.warn('THREE.WebGLRenderer: Texture has been resized from (' + t.width + 'x' + t.height + ') to (' + a + 'x' + s + ').'), c ); } return 'data' in t && console.warn('THREE.WebGLRenderer: Image in DataTexture is too big (' + t.width + 'x' + t.height + ').'), t; } return t; } function w(t) { return Kn.isPowerOfTwo(t.width) && Kn.isPowerOfTwo(t.height); } function S(t, e) { return t.generateMipmaps && e && t.minFilter !== Tt && t.minFilter !== kt; } function x(e, n, r, o) { t.generateMipmap(e), (i.get(n).__maxMipLevel = Math.log(Math.max(r, o)) * Math.LOG2E); } function M(n, i, r) { if (!1 === d) return i; if (null !== n) { if (void 0 !== t[n]) return t[n]; console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '" + n + "'"); } var o = i; return ( 6403 === i && (5126 === r && (o = 33326), 5131 === r && (o = 33325), 5121 === r && (o = 33321)), 6407 === i && (5126 === r && (o = 34837), 5131 === r && (o = 34843), 5121 === r && (o = 32849)), 6408 === i && (5126 === r && (o = 34836), 5131 === r && (o = 34842), 5121 === r && (o = 32856)), (33325 !== o && 33326 !== o && 34842 !== o && 34836 !== o) || e.get('EXT_color_buffer_float'), o ); } function E(t) { return t === Tt || t === Ot || t === Pt ? 9728 : 9729; } function C(e) { var n = e.target; n.removeEventListener('dispose', C), (function (e) { var n = i.get(e); if (void 0 === n.__webglInit) return; t.deleteTexture(n.__webglTexture), i.remove(e); })(n), n.isVideoTexture && g.delete(n), s.memory.textures--; } function A(e) { var n = e.target; n.removeEventListener('dispose', A), (function (e) { var n = i.get(e), r = i.get(e.texture); if (!e) return; void 0 !== r.__webglTexture && t.deleteTexture(r.__webglTexture); e.depthTexture && e.depthTexture.dispose(); if (e.isWebGLCubeRenderTarget) for (var o = 0; o < 6; o++) t.deleteFramebuffer(n.__webglFramebuffer[o]), n.__webglDepthbuffer && t.deleteRenderbuffer(n.__webglDepthbuffer[o]); else t.deleteFramebuffer(n.__webglFramebuffer), n.__webglDepthbuffer && t.deleteRenderbuffer(n.__webglDepthbuffer), n.__webglMultisampledFramebuffer && t.deleteFramebuffer(n.__webglMultisampledFramebuffer), n.__webglColorRenderbuffer && t.deleteRenderbuffer(n.__webglColorRenderbuffer), n.__webglDepthRenderbuffer && t.deleteRenderbuffer(n.__webglDepthRenderbuffer); i.remove(e.texture), i.remove(e); })(n), s.memory.textures--; } var T = 0; function O(t, e) { var r = i.get(t); if ( (t.isVideoTexture && (function (t) { var e = s.render.frame; g.get(t) !== e && (g.set(t, e), t.update()); })(t), t.version > 0 && r.__version !== t.version) ) { var o = t.image; if (void 0 === o) console.warn('THREE.WebGLRenderer: Texture marked for update but image is undefined'); else { if (!1 !== o.complete) return void L(r, t, e); console.warn('THREE.WebGLRenderer: Texture marked for update but image is incomplete'); } } n.activeTexture(33984 + e), n.bindTexture(3553, r.__webglTexture); } function _(e, r) { if (6 === e.image.length) { var o = i.get(e); if (e.version > 0 && o.__version !== e.version) { R(o, e), n.activeTexture(33984 + r), n.bindTexture(34067, o.__webglTexture), t.pixelStorei(37440, e.flipY); for (var s = e && (e.isCompressedTexture || e.image[0].isCompressedTexture), c = e.image[0] && e.image[0].isDataTexture, l = [], u = 0; u < 6; u++) l[u] = s || c ? (c ? e.image[u].image : e.image[u]) : b(e.image[u], !1, !0, h); var p, f = l[0], m = w(f) || d, g = a.convert(e.format), v = a.convert(e.type), y = M(e.internalFormat, g, v); if ((D(34067, e, m), s)) { for (u = 0; u < 6; u++) { p = l[u].mipmaps; for (var E = 0; E < p.length; E++) { var C = p[E]; e.format !== Jt && e.format !== Zt ? null !== g ? n.compressedTexImage2D(34069 + u, E, y, C.width, C.height, 0, C.data) : console.warn('THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()') : n.texImage2D(34069 + u, E, y, C.width, C.height, 0, g, v, C.data); } } o.__maxMipLevel = p.length - 1; } else { p = e.mipmaps; for (u = 0; u < 6; u++) if (c) { n.texImage2D(34069 + u, 0, y, l[u].width, l[u].height, 0, g, v, l[u].data); for (E = 0; E < p.length; E++) { var A = (C = p[E]).image[u].image; n.texImage2D(34069 + u, E + 1, y, A.width, A.height, 0, g, v, A.data); } } else { n.texImage2D(34069 + u, 0, y, g, v, l[u]); for (E = 0; E < p.length; E++) { C = p[E]; n.texImage2D(34069 + u, E + 1, y, g, v, C.image[u]); } } o.__maxMipLevel = p.length; } S(e, m) && x(34067, e, f.width, f.height), (o.__version = e.version), e.onUpdate && e.onUpdate(e); } else n.activeTexture(33984 + r), n.bindTexture(34067, o.__webglTexture); } } function P(t, e) { n.activeTexture(33984 + e), n.bindTexture(34067, i.get(t).__webglTexture); } var I = (r((c = {}), Et, 10497), r(c, Ct, 33071), r(c, At, 33648), c), k = (r((l = {}), Tt, 9728), r(l, Ot, 9984), r(l, Pt, 9986), r(l, kt, 9729), r(l, Dt, 9985), r(l, Lt, 9987), l); function D(n, r, a) { a ? (t.texParameteri(n, 10242, I[r.wrapS]), t.texParameteri(n, 10243, I[r.wrapT]), (32879 !== n && 35866 !== n) || t.texParameteri(n, 32882, I[r.wrapR]), t.texParameteri(n, 10240, k[r.magFilter]), t.texParameteri(n, 10241, k[r.minFilter])) : (t.texParameteri(n, 10242, 33071), t.texParameteri(n, 10243, 33071), (32879 !== n && 35866 !== n) || t.texParameteri(n, 32882, 33071), (r.wrapS === Ct && r.wrapT === Ct) || console.warn('THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.'), t.texParameteri(n, 10240, E(r.magFilter)), t.texParameteri(n, 10241, E(r.minFilter)), r.minFilter !== Tt && r.minFilter !== kt && console.warn('THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.')); var s = e.get('EXT_texture_filter_anisotropic'); if (s) { if (r.type === Gt && null === e.get('OES_texture_float_linear')) return; if (r.type === Ht && null === (d || e.get('OES_texture_half_float_linear'))) return; (r.anisotropy > 1 || i.get(r).__currentAnisotropy) && (t.texParameterf(n, s.TEXTURE_MAX_ANISOTROPY_EXT, Math.min(r.anisotropy, o.getMaxAnisotropy())), (i.get(r).__currentAnisotropy = r.anisotropy)); } } function R(e, n) { void 0 === e.__webglInit && ((e.__webglInit = !0), n.addEventListener('dispose', C), (e.__webglTexture = t.createTexture()), s.memory.textures++); } function L(e, i, r) { var o = 3553; i.isDataTexture2DArray && (o = 35866), i.isDataTexture3D && (o = 32879), R(e, i), n.activeTexture(33984 + r), n.bindTexture(o, e.__webglTexture), t.pixelStorei(37440, i.flipY), t.pixelStorei(37441, i.premultiplyAlpha), t.pixelStorei(3317, i.unpackAlignment); var s = (function (t) { return !d && (t.wrapS !== Ct || t.wrapT !== Ct || (t.minFilter !== Tt && t.minFilter !== kt)); })(i) && !1 === w(i.image), c = b(i.image, s, !1, f), l = w(c) || d, u = a.convert(i.format), p = a.convert(i.type), h = M(i.internalFormat, u, p); D(o, i, l); var m, g = i.mipmaps; if (i.isDepthTexture) (h = 6402), d ? (h = i.type === Gt ? 36012 : i.type === zt ? 33190 : i.type === Yt ? 35056 : 33189) : i.type === Gt && console.error('WebGLRenderer: Floating point depth texture requires WebGL2.'), i.format === ee && 6402 === h && i.type !== Ut && i.type !== zt && (console.warn('THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.'), (i.type = Ut), (p = a.convert(i.type))), i.format === ne && 6402 === h && ((h = 34041), i.type !== Yt && (console.warn('THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.'), (i.type = Yt), (p = a.convert(i.type)))), n.texImage2D(3553, 0, h, c.width, c.height, 0, u, p, null); else if (i.isDataTexture) if (g.length > 0 && l) { for (var v = 0, y = g.length; v < y; v++) (m = g[v]), n.texImage2D(3553, v, h, m.width, m.height, 0, u, p, m.data); (i.generateMipmaps = !1), (e.__maxMipLevel = g.length - 1); } else n.texImage2D(3553, 0, h, c.width, c.height, 0, u, p, c.data), (e.__maxMipLevel = 0); else if (i.isCompressedTexture) { for (v = 0, y = g.length; v < y; v++) (m = g[v]), i.format !== Jt && i.format !== Zt ? null !== u ? n.compressedTexImage2D(3553, v, h, m.width, m.height, 0, m.data) : console.warn('THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()') : n.texImage2D(3553, v, h, m.width, m.height, 0, u, p, m.data); e.__maxMipLevel = g.length - 1; } else if (i.isDataTexture2DArray) n.texImage3D(35866, 0, h, c.width, c.height, c.depth, 0, u, p, c.data), (e.__maxMipLevel = 0); else if (i.isDataTexture3D) n.texImage3D(32879, 0, h, c.width, c.height, c.depth, 0, u, p, c.data), (e.__maxMipLevel = 0); else if (g.length > 0 && l) { for (v = 0, y = g.length; v < y; v++) (m = g[v]), n.texImage2D(3553, v, h, u, p, m); (i.generateMipmaps = !1), (e.__maxMipLevel = g.length - 1); } else n.texImage2D(3553, 0, h, u, p, c), (e.__maxMipLevel = 0); S(i, l) && x(o, i, c.width, c.height), (e.__version = i.version), i.onUpdate && i.onUpdate(i); } function N(e, r, o, s) { var c = a.convert(r.texture.format), l = a.convert(r.texture.type), u = M(r.texture.internalFormat, c, l); n.texImage2D(s, 0, u, r.width, r.height, 0, c, l, null), t.bindFramebuffer(36160, e), t.framebufferTexture2D(36160, o, s, i.get(r.texture).__webglTexture, 0), t.bindFramebuffer(36160, null); } function j(e, n, i) { if ((t.bindRenderbuffer(36161, e), n.depthBuffer && !n.stencilBuffer)) { var r = 33189; if (i) { var o = n.depthTexture; o && o.isDepthTexture && (o.type === Gt ? (r = 36012) : o.type === zt && (r = 33190)); var s = F(n); t.renderbufferStorageMultisample(36161, s, r, n.width, n.height); } else t.renderbufferStorage(36161, r, n.width, n.height); t.framebufferRenderbuffer(36160, 36096, 36161, e); } else if (n.depthBuffer && n.stencilBuffer) { if (i) { s = F(n); t.renderbufferStorageMultisample(36161, s, 35056, n.width, n.height); } else t.renderbufferStorage(36161, 34041, n.width, n.height); t.framebufferRenderbuffer(36160, 33306, 36161, e); } else { var c = a.convert(n.texture.format), l = a.convert(n.texture.type); r = M(n.texture.internalFormat, c, l); if (i) { s = F(n); t.renderbufferStorageMultisample(36161, s, r, n.width, n.height); } else t.renderbufferStorage(36161, r, n.width, n.height); } t.bindRenderbuffer(36161, null); } function V(e) { var n = i.get(e), r = !0 === e.isWebGLCubeRenderTarget; if (e.depthTexture) { if (r) throw new Error('target.depthTexture not supported in Cube render targets'); !(function (e, n) { if (n && n.isWebGLCubeRenderTarget) throw new Error('Depth Texture with cube render targets is not supported'); if ((t.bindFramebuffer(36160, e), !n.depthTexture || !n.depthTexture.isDepthTexture)) throw new Error('renderTarget.depthTexture must be an instance of THREE.DepthTexture'); (i.get(n.depthTexture).__webglTexture && n.depthTexture.image.width === n.width && n.depthTexture.image.height === n.height) || ((n.depthTexture.image.width = n.width), (n.depthTexture.image.height = n.height), (n.depthTexture.needsUpdate = !0)), O(n.depthTexture, 0); var r = i.get(n.depthTexture).__webglTexture; if (n.depthTexture.format === ee) t.framebufferTexture2D(36160, 36096, 3553, r, 0); else { if (n.depthTexture.format !== ne) throw new Error('Unknown depthTexture format'); t.framebufferTexture2D(36160, 33306, 3553, r, 0); } })(n.__webglFramebuffer, e); } else if (r) { n.__webglDepthbuffer = []; for (var o = 0; o < 6; o++) t.bindFramebuffer(36160, n.__webglFramebuffer[o]), (n.__webglDepthbuffer[o] = t.createRenderbuffer()), j(n.__webglDepthbuffer[o], e, !1); } else t.bindFramebuffer(36160, n.__webglFramebuffer), (n.__webglDepthbuffer = t.createRenderbuffer()), j(n.__webglDepthbuffer, e, !1); t.bindFramebuffer(36160, null); } function F(t) { return d && t.isWebGLMultisampleRenderTarget ? Math.min(m, t.samples) : 0; } var U = !1, B = !1; (this.allocateTextureUnit = function () { var t = T; return t >= p && console.warn('THREE.WebGLTextures: Trying to use ' + t + ' texture units while this GPU supports only ' + p), (T += 1), t; }), (this.resetTextureUnits = function () { T = 0; }), (this.setTexture2D = O), (this.setTexture2DArray = function (t, e) { var r = i.get(t); t.version > 0 && r.__version !== t.version ? L(r, t, e) : (n.activeTexture(33984 + e), n.bindTexture(35866, r.__webglTexture)); }), (this.setTexture3D = function (t, e) { var r = i.get(t); t.version > 0 && r.__version !== t.version ? L(r, t, e) : (n.activeTexture(33984 + e), n.bindTexture(32879, r.__webglTexture)); }), (this.setTextureCube = _), (this.setTextureCubeDynamic = P), (this.setupRenderTarget = function (e) { var r = i.get(e), o = i.get(e.texture); e.addEventListener('dispose', A), (o.__webglTexture = t.createTexture()), s.memory.textures++; var c = !0 === e.isWebGLCubeRenderTarget, l = !0 === e.isWebGLMultisampleRenderTarget, u = w(e) || d; if ( (!d || e.texture.format !== Zt || (e.texture.type !== Gt && e.texture.type !== Ht) || ((e.texture.format = Jt), console.warn('THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.')), c) ) { r.__webglFramebuffer = []; for (var p = 0; p < 6; p++) r.__webglFramebuffer[p] = t.createFramebuffer(); } else if (((r.__webglFramebuffer = t.createFramebuffer()), l)) if (d) { (r.__webglMultisampledFramebuffer = t.createFramebuffer()), (r.__webglColorRenderbuffer = t.createRenderbuffer()), t.bindRenderbuffer(36161, r.__webglColorRenderbuffer); var h = a.convert(e.texture.format), f = a.convert(e.texture.type), m = M(e.texture.internalFormat, h, f), g = F(e); t.renderbufferStorageMultisample(36161, g, m, e.width, e.height), t.bindFramebuffer(36160, r.__webglMultisampledFramebuffer), t.framebufferRenderbuffer(36160, 36064, 36161, r.__webglColorRenderbuffer), t.bindRenderbuffer(36161, null), e.depthBuffer && ((r.__webglDepthRenderbuffer = t.createRenderbuffer()), j(r.__webglDepthRenderbuffer, e, !0)), t.bindFramebuffer(36160, null); } else console.warn('THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.'); if (c) { n.bindTexture(34067, o.__webglTexture), D(34067, e.texture, u); for (p = 0; p < 6; p++) N(r.__webglFramebuffer[p], e, 36064, 34069 + p); S(e.texture, u) && x(34067, e.texture, e.width, e.height), n.bindTexture(34067, null); } else n.bindTexture(3553, o.__webglTexture), D(3553, e.texture, u), N(r.__webglFramebuffer, e, 36064, 3553), S(e.texture, u) && x(3553, e.texture, e.width, e.height), n.bindTexture(3553, null); e.depthBuffer && V(e); }), (this.updateRenderTargetMipmap = function (t) { var e = t.texture; if (S(e, w(t) || d)) { var r = t.isWebGLCubeRenderTarget ? 34067 : 3553, o = i.get(e).__webglTexture; n.bindTexture(r, o), x(r, e, t.width, t.height), n.bindTexture(r, null); } }), (this.updateMultisampleRenderTarget = function (e) { if (e.isWebGLMultisampleRenderTarget) if (d) { var n = i.get(e); t.bindFramebuffer(36008, n.__webglMultisampledFramebuffer), t.bindFramebuffer(36009, n.__webglFramebuffer); var r = e.width, o = e.height, a = 16384; e.depthBuffer && (a |= 256), e.stencilBuffer && (a |= 1024), t.blitFramebuffer(0, 0, r, o, 0, 0, r, o, a, 9728), t.bindFramebuffer(36160, n.__webglMultisampledFramebuffer); } else console.warn('THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.'); }), (this.safeSetTexture2D = function (t, e) { t && t.isWebGLRenderTarget && (!1 === U && (console.warn("THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead."), (U = !0)), (t = t.texture)), O(t, e); }), (this.safeSetTextureCube = function (t, e) { t && t.isWebGLCubeRenderTarget && (!1 === B && (console.warn("THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead."), (B = !0)), (t = t.texture)), (t && t.isCubeTexture) || (Array.isArray(t.image) && 6 === t.image.length) ? _(t, e) : P(t, e); }); } function js(t, e, n) { var i = n.isWebGL2; return { convert: function (t) { var n; if (t === jt) return 5121; if (t === Wt) return 32819; if (t === qt) return 32820; if (t === Xt) return 33635; if (t === Vt) return 5120; if (t === Ft) return 5122; if (t === Ut) return 5123; if (t === Bt) return 5124; if (t === zt) return 5125; if (t === Gt) return 5126; if (t === Ht) return i ? 5131 : null !== (n = e.get('OES_texture_half_float')) ? n.HALF_FLOAT_OES : null; if (t === Kt) return 6406; if (t === Zt) return 6407; if (t === Jt) return 6408; if (t === Qt) return 6409; if (t === $t) return 6410; if (t === ee) return 6402; if (t === ne) return 34041; if (t === ie) return 6403; if (t === re) return 36244; if (t === oe) return 33319; if (t === ae) return 33320; if (t === se) return 36248; if (t === ce) return 36249; if (t === le || t === ue || t === de || t === pe) { if (null === (n = e.get('WEBGL_compressed_texture_s3tc'))) return null; if (t === le) return n.COMPRESSED_RGB_S3TC_DXT1_EXT; if (t === ue) return n.COMPRESSED_RGBA_S3TC_DXT1_EXT; if (t === de) return n.COMPRESSED_RGBA_S3TC_DXT3_EXT; if (t === pe) return n.COMPRESSED_RGBA_S3TC_DXT5_EXT; } if (t === he || t === fe || t === me || t === ge) { if (null === (n = e.get('WEBGL_compressed_texture_pvrtc'))) return null; if (t === he) return n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG; if (t === fe) return n.COMPRESSED_RGB_PVRTC_2BPPV1_IMG; if (t === me) return n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; if (t === ge) return n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG; } if (t === ve) return null !== (n = e.get('WEBGL_compressed_texture_etc1')) ? n.COMPRESSED_RGB_ETC1_WEBGL : null; if ((t === ye || t === be) && null !== (n = e.get('WEBGL_compressed_texture_etc'))) { if (t === ye) return n.COMPRESSED_RGB8_ETC2; if (t === be) return n.COMPRESSED_RGBA8_ETC2_EAC; } return t === we || t === Se || t === xe || t === Me || t === Ee || t === Ce || t === Ae || t === Te || t === Oe || t === _e || t === Pe || t === Ie || t === ke || t === De || t === Le || t === Ne || t === je || t === Ve || t === Fe || t === Ue || t === Be || t === ze || t === Ge || t === He || t === We || t === qe || t === Xe || t === Ye ? null !== (n = e.get('WEBGL_compressed_texture_astc')) ? t : null : t === Re ? null !== (n = e.get('EXT_texture_compression_bptc')) ? t : null : t === Yt ? i ? 34042 : null !== (n = e.get('WEBGL_depth_texture')) ? n.UNSIGNED_INT_24_8_WEBGL : null : void 0; }, }; } function Vs(t) { ko.call(this), (this.cameras = t || []); } function Fs() { Di.call(this), (this.type = 'Group'); } function Us(t, e) { var n = this, i = null, r = 1, o = null, a = 'local-floor', s = null, c = [], l = new Map(), u = new ko(); u.layers.enable(1), (u.viewport = new ei()); var d = new ko(); d.layers.enable(2), (d.viewport = new ei()); var p = new Vs([u, d]); p.layers.enable(1), p.layers.enable(2); var h = null, f = null; function m(t) { var e = l.get(t.inputSource); e && (e.targetRay && e.targetRay.dispatchEvent({ type: t.type, }), e.grip && e.grip.dispatchEvent({ type: t.type, })); } function g() { l.forEach(function (t, e) { t.targetRay && (t.targetRay.dispatchEvent({ type: 'disconnected', data: e, }), (t.targetRay.visible = !1)), t.grip && (t.grip.dispatchEvent({ type: 'disconnected', data: e, }), (t.grip.visible = !1)); }), l.clear(), t.setFramebuffer(null), t.setRenderTarget(t.getRenderTarget()), M.stop(), (n.isPresenting = !1), n.dispatchEvent({ type: 'sessionend', }); } function v(t) { (o = t), M.setContext(i), M.start(), (n.isPresenting = !0), n.dispatchEvent({ type: 'sessionstart', }); } function y(t) { for (var e = i.inputSources, n = 0; n < c.length; n++) l.set(e[n], c[n]); for (n = 0; n < t.removed.length; n++) { var r = t.removed[n]; (o = l.get(r)) && (o.targetRay && o.targetRay.dispatchEvent({ type: 'disconnected', data: r, }), o.grip && o.grip.dispatchEvent({ type: 'disconnected', data: r, }), l.delete(r)); } for (n = 0; n < t.added.length; n++) { var o; r = t.added[n]; (o = l.get(r)) && (o.targetRay && o.targetRay.dispatchEvent({ type: 'connected', data: r, }), o.grip && o.grip.dispatchEvent({ type: 'connected', data: r, })); } } (this.enabled = !1), (this.isPresenting = !1), (this.getController = function (t) { var e = c[t]; return void 0 === e && ((e = {}), (c[t] = e)), void 0 === e.targetRay && ((e.targetRay = new Fs()), (e.targetRay.matrixAutoUpdate = !1), (e.targetRay.visible = !1)), e.targetRay; }), (this.getControllerGrip = function (t) { var e = c[t]; return void 0 === e && ((e = {}), (c[t] = e)), void 0 === e.grip && ((e.grip = new Fs()), (e.grip.matrixAutoUpdate = !1), (e.grip.visible = !1)), e.grip; }), (this.setFramebufferScaleFactor = function (t) { (r = t), 1 == n.isPresenting && console.warn('WebXRManager: Cannot change framebuffer scale while presenting VR content'); }), (this.setReferenceSpaceType = function (t) { a = t; }), (this.getReferenceSpace = function () { return o; }), (this.getSession = function () { return i; }), (this.setSession = function (t) { if (null !== (i = t)) { i.addEventListener('select', m), i.addEventListener('selectstart', m), i.addEventListener('selectend', m), i.addEventListener('squeeze', m), i.addEventListener('squeezestart', m), i.addEventListener('squeezeend', m), i.addEventListener('end', g); var n = e.getContextAttributes(), o = { antialias: n.antialias, alpha: n.alpha, depth: n.depth, stencil: n.stencil, framebufferScaleFactor: r, }, s = new XRWebGLLayer(i, e, o); i.updateRenderState({ baseLayer: s, }), i.requestReferenceSpace(a).then(v), i.addEventListener('inputsourceschange', y); } }); var b = new si(), w = new si(); function S(t, e) { null === e ? t.matrixWorld.copy(t.matrix) : t.matrixWorld.multiplyMatrices(e.matrixWorld, t.matrix), t.matrixWorldInverse.getInverse(t.matrixWorld); } this.getCamera = function (t) { (p.near = d.near = u.near = t.near), (p.far = d.far = u.far = t.far), (h === p.near && f === p.far) || (i.updateRenderState({ depthNear: p.near, depthFar: p.far, }), (h = p.near), (f = p.far)); var e = t.parent, n = p.cameras; S(p, e); for (var r = 0; r < n.length; r++) S(n[r], e); t.matrixWorld.copy(p.matrixWorld); for (var o = t.children, a = ((r = 0), o.length); r < a; r++) o[r].updateMatrixWorld(!0); return ( (function (t, e, n) { b.setFromMatrixPosition(e.matrixWorld), w.setFromMatrixPosition(n.matrixWorld); var i = b.distanceTo(w), r = e.projectionMatrix.elements, o = n.projectionMatrix.elements, a = r[14] / (r[10] - 1), s = r[14] / (r[10] + 1), c = (r[9] + 1) / r[5], l = (r[9] - 1) / r[5], u = (r[8] - 1) / r[0], d = (o[8] + 1) / o[0], p = a * u, h = a * d, f = i / (-u + d), m = f * -u; e.matrixWorld.decompose(t.position, t.quaternion, t.scale), t.translateX(m), t.translateZ(f), t.matrixWorld.compose(t.position, t.quaternion, t.scale), t.matrixWorldInverse.getInverse(t.matrixWorld); var g = a + f, v = s + f, y = p - m, S = h + (i - m), x = ((c * s) / v) * g, M = ((l * s) / v) * g; t.projectionMatrix.makePerspective(y, S, x, M, g, v); })(p, u, d), p ); }; var x = null; var M = new Uo(); M.setAnimationLoop(function (e, n) { if (null !== (s = n.getViewerPose(o))) { var r = s.views, a = i.renderState.baseLayer; t.setFramebuffer(a.framebuffer); for (var l = 0; l < r.length; l++) { var u = r[l], d = a.getViewport(u), h = p.cameras[l]; h.matrix.fromArray(u.transform.matrix), h.projectionMatrix.fromArray(u.projectionMatrix), h.viewport.set(d.x, d.y, d.width, d.height), 0 === l && p.matrix.copy(h.matrix); } } var f = i.inputSources; for (l = 0; l < c.length; l++) { var m = c[l], g = f[l], v = null, y = null; g && (m.targetRay && null !== (v = n.getPose(g.targetRaySpace, o)) && (m.targetRay.matrix.fromArray(v.transform.matrix), m.targetRay.matrix.decompose(m.targetRay.position, m.targetRay.rotation, m.targetRay.scale)), m.grip && g.gripSpace && null !== (y = n.getPose(g.gripSpace, o)) && (m.grip.matrix.fromArray(y.transform.matrix), m.grip.matrix.decompose(m.grip.position, m.grip.rotation, m.grip.scale))), m.targetRay && (m.targetRay.visible = null !== v), m.grip && (m.grip.visible = null !== y); } x && x(e, n); }), (this.setAnimationLoop = function (t) { x = t; }), (this.dispose = function () {}); } function Bs(t) { var e = void 0 !== (t = t || {}).canvas ? t.canvas : document.createElementNS('http://www.w3.org/1999/xhtml', 'canvas'), n = void 0 !== t.context ? t.context : null, i = void 0 !== t.alpha && t.alpha, r = void 0 === t.depth || t.depth, o = void 0 === t.stencil || t.stencil, a = void 0 !== t.antialias && t.antialias, s = void 0 === t.premultipliedAlpha || t.premultipliedAlpha, c = void 0 !== t.preserveDrawingBuffer && t.preserveDrawingBuffer, l = void 0 !== t.powerPreference ? t.powerPreference : 'default', u = void 0 !== t.failIfMajorPerformanceCaveat && t.failIfMajorPerformanceCaveat, d = null, p = null; (this.domElement = e), (this.debug = { checkShaderErrors: !0, }), (this.autoClear = !0), (this.autoClearColor = !0), (this.autoClearDepth = !0), (this.autoClearStencil = !0), (this.sortObjects = !0), (this.clippingPlanes = []), (this.localClippingEnabled = !1), (this.gammaFactor = 2), (this.outputEncoding = cn), (this.physicallyCorrectLights = !1), (this.toneMapping = dt), (this.toneMappingExposure = 1), (this.toneMappingWhitePoint = 1), (this.maxMorphTargets = 8), (this.maxMorphNormals = 4); var h, f, m, g, v, y, b, w, S, x, M, E, C, A, O, _, P, I, k = this, D = !1, R = null, L = 0, N = 0, j = null, V = null, F = -1, U = { geometry: null, program: null, wireframe: !1, }, B = null, z = null, G = new ei(), H = new ei(), W = null, q = e.width, X = e.height, Y = 1, K = null, Z = null, J = new ei(0, 0, q, X), Q = new ei(0, 0, q, X), $ = !1, tt = new Vo(), et = new Ko(), nt = !1, it = !1, rt = new mi(), ot = new si(); function at() { return null === j ? Y : 1; } try { var st = { alpha: i, depth: r, stencil: o, antialias: a, premultipliedAlpha: s, preserveDrawingBuffer: c, powerPreference: l, failIfMajorPerformanceCaveat: u, xrCompatible: !0, }; if ( (e.addEventListener('webglcontextlost', pt, !1), e.addEventListener('webglcontextrestored', ht, !1), null === (h = n || e.getContext('webgl', st) || e.getContext('experimental-webgl', st))) ) throw null !== e.getContext('webgl') ? new Error('Error creating WebGL context with your selected attributes.') : new Error('Error creating WebGL context.'); void 0 === h.getShaderPrecisionFormat && (h.getShaderPrecisionFormat = function () { return { rangeMin: 1, rangeMax: 1, precision: 1, }; }); } catch (t) { throw (console.error('THREE.WebGLRenderer: ' + t.message), t); } function ct() { (f = new Zo(h)), !1 === (m = new Yo(h, f, t)).isWebGL2 && (f.get('WEBGL_depth_texture'), f.get('OES_texture_float'), f.get('OES_texture_half_float'), f.get('OES_texture_half_float_linear'), f.get('OES_standard_derivatives'), f.get('OES_element_index_uint'), f.get('ANGLE_instanced_arrays')), f.get('OES_texture_float_linear'), (I = new js(h, f, m)), (g = new Ls(h, f, m)).scissor(H.copy(Q).multiplyScalar(Y).floor()), g.viewport(G.copy(J).multiplyScalar(Y).floor()), (v = new $o(h)), (y = new Ss()), (b = new Ns(h, f, g, y, m, I, v)), (w = new Bo(h, m)), (S = new Jo(h, w, v)), (x = new na(h, S, w, v)), (O = new ea(h)), (M = new ws(k, f, m)), (E = new Cs()), (C = new Is()), (A = new qo(k, g, x, s)), (_ = new Xo(h, f, v, m)), (P = new Qo(h, f, v, m)), (v.programs = M.programs), (k.capabilities = m), (k.extensions = f), (k.properties = y), (k.renderLists = E), (k.state = g), (k.info = v); } ct(); var lt = new Us(k, h); this.xr = lt; var ut = new Rs(k, x, m.maxTextureSize); function pt(t) { t.preventDefault(), console.log('THREE.WebGLRenderer: Context Lost.'), (D = !0); } function ht() { console.log('THREE.WebGLRenderer: Context Restored.'), (D = !1), ct(); } function ft(t) { var e = t.target; e.removeEventListener('dispose', ft), (function (t) { mt(t), y.remove(t); })(e); } function mt(t) { var e = y.get(t).program; (t.program = void 0), void 0 !== e && M.releaseProgram(e); } (this.shadowMap = ut), (this.getContext = function () { return h; }), (this.getContextAttributes = function () { return h.getContextAttributes(); }), (this.forceContextLoss = function () { var t = f.get('WEBGL_lose_context'); t && t.loseContext(); }), (this.forceContextRestore = function () { var t = f.get('WEBGL_lose_context'); t && t.restoreContext(); }), (this.getPixelRatio = function () { return Y; }), (this.setPixelRatio = function (t) { void 0 !== t && ((Y = t), this.setSize(q, X, !1)); }), (this.getSize = function (t) { return void 0 === t && (console.warn('WebGLRenderer: .getsize() now requires a Vector2 as an argument'), (t = new Zn())), t.set(q, X); }), (this.setSize = function (t, n, i) { lt.isPresenting ? console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.") : ((q = t), (X = n), (e.width = Math.floor(t * Y)), (e.height = Math.floor(n * Y)), !1 !== i && ((e.style.width = t + 'px'), (e.style.height = n + 'px')), this.setViewport(0, 0, t, n)); }), (this.getDrawingBufferSize = function (t) { return void 0 === t && (console.warn('WebGLRenderer: .getdrawingBufferSize() now requires a Vector2 as an argument'), (t = new Zn())), t.set(q * Y, X * Y).floor(); }), (this.setDrawingBufferSize = function (t, n, i) { (q = t), (X = n), (Y = i), (e.width = Math.floor(t * i)), (e.height = Math.floor(n * i)), this.setViewport(0, 0, t, n); }), (this.getCurrentViewport = function (t) { return void 0 === t && (console.warn('WebGLRenderer: .getCurrentViewport() now requires a Vector4 as an argument'), (t = new ei())), t.copy(G); }), (this.getViewport = function (t) { return t.copy(J); }), (this.setViewport = function (t, e, n, i) { t.isVector4 ? J.set(t.x, t.y, t.z, t.w) : J.set(t, e, n, i), g.viewport(G.copy(J).multiplyScalar(Y).floor()); }), (this.getScissor = function (t) { return t.copy(Q); }), (this.setScissor = function (t, e, n, i) { t.isVector4 ? Q.set(t.x, t.y, t.z, t.w) : Q.set(t, e, n, i), g.scissor(H.copy(Q).multiplyScalar(Y).floor()); }), (this.getScissorTest = function () { return $; }), (this.setScissorTest = function (t) { g.setScissorTest(($ = t)); }), (this.setOpaqueSort = function (t) { K = t; }), (this.setTransparentSort = function (t) { Z = t; }), (this.getClearColor = function () { return A.getClearColor(); }), (this.setClearColor = function () { A.setClearColor.apply(A, arguments); }), (this.getClearAlpha = function () { return A.getClearAlpha(); }), (this.setClearAlpha = function () { A.setClearAlpha.apply(A, arguments); }), (this.clear = function (t, e, n) { var i = 0; (void 0 === t || t) && (i |= 16384), (void 0 === e || e) && (i |= 256), (void 0 === n || n) && (i |= 1024), h.clear(i); }), (this.clearColor = function () { this.clear(!0, !1, !1); }), (this.clearDepth = function () { this.clear(!1, !0, !1); }), (this.clearStencil = function () { this.clear(!1, !1, !0); }), (this.dispose = function () { e.removeEventListener('webglcontextlost', pt, !1), e.removeEventListener('webglcontextrestored', ht, !1), E.dispose(), C.dispose(), y.dispose(), x.dispose(), lt.dispose(), yt.stop(), this.forceContextLoss(); }), (this.renderBufferImmediate = function (t, e) { g.initAttributes(); var n = y.get(t); t.hasPositions && !n.position && (n.position = h.createBuffer()), t.hasNormals && !n.normal && (n.normal = h.createBuffer()), t.hasUvs && !n.uv && (n.uv = h.createBuffer()), t.hasColors && !n.color && (n.color = h.createBuffer()); var i = e.getAttributes(); t.hasPositions && (h.bindBuffer(34962, n.position), h.bufferData(34962, t.positionArray, 35048), g.enableAttribute(i.position), h.vertexAttribPointer(i.position, 3, 5126, !1, 0, 0)), t.hasNormals && (h.bindBuffer(34962, n.normal), h.bufferData(34962, t.normalArray, 35048), g.enableAttribute(i.normal), h.vertexAttribPointer(i.normal, 3, 5126, !1, 0, 0)), t.hasUvs && (h.bindBuffer(34962, n.uv), h.bufferData(34962, t.uvArray, 35048), g.enableAttribute(i.uv), h.vertexAttribPointer(i.uv, 2, 5126, !1, 0, 0)), t.hasColors && (h.bindBuffer(34962, n.color), h.bufferData(34962, t.colorArray, 35048), g.enableAttribute(i.color), h.vertexAttribPointer(i.color, 3, 5126, !1, 0, 0)), g.disableUnusedAttributes(), h.drawArrays(4, 0, t.count), (t.count = 0); }); var gt = new Ri(); (this.renderBufferDirect = function (t, e, n, i, r, o) { null === e && (e = gt); var a = r.isMesh && r.matrixWorld.determinant() < 0, s = Mt(t, e, i, r); g.setMaterial(i, a); var c = !1; (U.geometry === n.id && U.program === s.id && U.wireframe === (!0 === i.wireframe)) || ((U.geometry = n.id), (U.program = s.id), (U.wireframe = !0 === i.wireframe), (c = !0)), (i.morphTargets || i.morphNormals) && (O.update(r, n, i, s), (c = !0)); var l = n.index, u = n.attributes.position; if (null === l) { if (void 0 === u || 0 === u.count) return; } else if (0 === l.count) return; var d, p = 1; !0 === i.wireframe && ((l = S.getWireframeAttribute(n)), (p = 2)); var v = _; null !== l && ((d = w.get(l)), (v = P).setIndex(d)), c && (!(function (t, e, n, i) { if (!1 === m.isWebGL2 && (t.isInstancedMesh || e.isInstancedBufferGeometry) && null === f.get('ANGLE_instanced_arrays')) return; g.initAttributes(); var r = e.attributes, o = i.getAttributes(), a = n.defaultAttributeValues; for (var s in o) { var c = o[s]; if (c >= 0) { var l = r[s]; if (void 0 !== l) { var u = l.normalized, d = l.itemSize; if (void 0 === (M = w.get(l))) continue; var p = M.buffer, v = M.type, y = M.bytesPerElement; if (l.isInterleavedBufferAttribute) { var b = l.data, S = b.stride, x = l.offset; b && b.isInstancedInterleavedBuffer ? (g.enableAttributeAndDivisor(c, b.meshPerAttribute), void 0 === e.maxInstancedCount && (e.maxInstancedCount = b.meshPerAttribute * b.count)) : g.enableAttribute(c), h.bindBuffer(34962, p), h.vertexAttribPointer(c, d, v, u, S * y, x * y); } else l.isInstancedBufferAttribute ? (g.enableAttributeAndDivisor(c, l.meshPerAttribute), void 0 === e.maxInstancedCount && (e.maxInstancedCount = l.meshPerAttribute * l.count)) : g.enableAttribute(c), h.bindBuffer(34962, p), h.vertexAttribPointer(c, d, v, u, 0, 0); } else if ('instanceMatrix' === s) { var M; if (void 0 === (M = w.get(t.instanceMatrix))) continue; (p = M.buffer), (v = M.type); g.enableAttributeAndDivisor(c + 0, 1), g.enableAttributeAndDivisor(c + 1, 1), g.enableAttributeAndDivisor(c + 2, 1), g.enableAttributeAndDivisor(c + 3, 1), h.bindBuffer(34962, p), h.vertexAttribPointer(c + 0, 4, v, !1, 64, 0), h.vertexAttribPointer(c + 1, 4, v, !1, 64, 16), h.vertexAttribPointer(c + 2, 4, v, !1, 64, 32), h.vertexAttribPointer(c + 3, 4, v, !1, 64, 48); } else if (void 0 !== a) { var E = a[s]; if (void 0 !== E) switch (E.length) { case 2: h.vertexAttrib2fv(c, E); break; case 3: h.vertexAttrib3fv(c, E); break; case 4: h.vertexAttrib4fv(c, E); break; default: h.vertexAttrib1fv(c, E); } } } } g.disableUnusedAttributes(); })(r, n, i, s), null !== l && h.bindBuffer(34963, d.buffer)); var y = null !== l ? l.count : u.count, b = n.drawRange.start * p, x = n.drawRange.count * p, M = null !== o ? o.start * p : 0, E = null !== o ? o.count * p : 1 / 0, C = Math.max(b, M), A = Math.min(y, b + x, M + E) - 1, T = Math.max(0, A - C + 1); if (0 !== T) { if (r.isMesh) !0 === i.wireframe ? (g.setLineWidth(i.wireframeLinewidth * at()), v.setMode(1)) : v.setMode(4); else if (r.isLine) { var I = i.linewidth; void 0 === I && (I = 1), g.setLineWidth(I * at()), r.isLineSegments ? v.setMode(1) : r.isLineLoop ? v.setMode(2) : v.setMode(3); } else r.isPoints ? v.setMode(0) : r.isSprite && v.setMode(4); r.isInstancedMesh ? v.renderInstances(n, C, T, r.count) : n.isInstancedBufferGeometry ? v.renderInstances(n, C, T, n.maxInstancedCount) : v.render(C, T); } }), (this.compile = function (t, e) { (p = C.get(t, e)).init(), t.traverse(function (t) { t.isLight && (p.pushLight(t), t.castShadow && p.pushShadow(t)); }), p.setupLights(e); var n = {}; t.traverse(function (e) { if (e.material) if (Array.isArray(e.material)) for (var i = 0; i < e.material.length; i++) e.material[i].uuid in n == !1 && (xt(e.material[i], t, e), (n[e.material[i].uuid] = !0)); else e.material.uuid in n == !1 && (xt(e.material, t, e), (n[e.material.uuid] = !0)); }); }); var vt = null; var yt = new Uo(); function bt(t, e, n, i) { if (!1 !== t.visible) { if (t.layers.test(e.layers)) if (t.isGroup) n = t.renderOrder; else if (t.isLOD) !0 === t.autoUpdate && t.update(e); else if (t.isLight) p.pushLight(t), t.castShadow && p.pushShadow(t); else if (t.isSprite) { if (!t.frustumCulled || tt.intersectsSprite(t)) { i && ot.setFromMatrixPosition(t.matrixWorld).applyMatrix4(rt); var r = x.update(t); (o = t.material).visible && d.push(t, r, o, n, ot.z, null); } } else if (t.isImmediateRenderObject) i && ot.setFromMatrixPosition(t.matrixWorld).applyMatrix4(rt), d.push(t, null, t.material, n, ot.z, null); else if ( (t.isMesh || t.isLine || t.isPoints) && (t.isSkinnedMesh && t.skeleton.frame !== v.render.frame && (t.skeleton.update(), (t.skeleton.frame = v.render.frame)), !t.frustumCulled || tt.intersectsObject(t)) ) { i && ot.setFromMatrixPosition(t.matrixWorld).applyMatrix4(rt); r = x.update(t); var o = t.material; if (Array.isArray(o)) for (var a = r.groups, s = 0, c = a.length; s < c; s++) { var l = a[s], u = o[l.materialIndex]; u && u.visible && d.push(t, r, u, n, ot.z, l); } else o.visible && d.push(t, r, o, n, ot.z, null); } var h = t.children; for (s = 0, c = h.length; s < c; s++) bt(h[s], e, n, i); } } function wt(t, e, n, i) { for (var r = 0, o = t.length; r < o; r++) { var a = t[r], s = a.object, c = a.geometry, l = void 0 === i ? a.material : i, u = a.group; if (n.isArrayCamera) { z = n; for (var d = n.cameras, h = 0, f = d.length; h < f; h++) { var m = d[h]; s.layers.test(m.layers) && (g.viewport(G.copy(m.viewport)), p.setupLights(m), St(s, e, m, c, l, u)); } } else (z = null), St(s, e, n, c, l, u); } } function St(t, e, n, i, r, o) { if ( (t.onBeforeRender(k, e, n, i, r, o), (p = C.get(e, z || n)), t.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse, t.matrixWorld), t.normalMatrix.getNormalMatrix(t.modelViewMatrix), t.isImmediateRenderObject) ) { var a = Mt(n, e, r, t); g.setMaterial(r), (U.geometry = null), (U.program = null), (U.wireframe = !1), (function (t, e) { t.render(function (t) { k.renderBufferImmediate(t, e); }); })(t, a); } else k.renderBufferDirect(n, e, i, r, t, o); t.onAfterRender(k, e, n, i, r, o), (p = C.get(e, z || n)); } function xt(t, e, n) { var i = y.get(t), r = p.state.lights, o = p.state.shadowsArray, a = r.state.version, s = M.getParameters(t, r.state, o, e, et.numPlanes, et.numIntersection, n), c = M.getProgramCacheKey(s), l = i.program, u = !0; if (void 0 === l) t.addEventListener('dispose', ft); else if (l.cacheKey !== c) mt(t); else if (i.lightsStateVersion !== a) (i.lightsStateVersion = a), (u = !1); else { if (void 0 !== s.shaderID) return; u = !1; } u && ((l = M.acquireProgram(s, c)), (i.program = l), (i.uniforms = s.uniforms), (i.environment = t.isMeshStandardMaterial ? e.environment : null), (i.outputEncoding = k.outputEncoding), (t.program = l)); var d = l.getAttributes(); if (t.morphTargets) { t.numSupportedMorphTargets = 0; for (var h = 0; h < k.maxMorphTargets; h++) d['morphTarget' + h] >= 0 && t.numSupportedMorphTargets++; } if (t.morphNormals) { t.numSupportedMorphNormals = 0; for (h = 0; h < k.maxMorphNormals; h++) d['morphNormal' + h] >= 0 && t.numSupportedMorphNormals++; } var f = i.uniforms; ((t.isShaderMaterial || t.isRawShaderMaterial) && !0 !== t.clipping) || ((i.numClippingPlanes = et.numPlanes), (i.numIntersection = et.numIntersection), (f.clippingPlanes = et.uniform)), (i.fog = e.fog), (i.needsLights = (function (t) { return t.isMeshLambertMaterial || t.isMeshToonMaterial || t.isMeshPhongMaterial || t.isMeshStandardMaterial || t.isShadowMaterial || (t.isShaderMaterial && !0 === t.lights); })(t)), (i.lightsStateVersion = a), i.needsLights && ((f.ambientLightColor.value = r.state.ambient), (f.lightProbe.value = r.state.probe), (f.directionalLights.value = r.state.directional), (f.directionalLightShadows.value = r.state.directionalShadow), (f.spotLights.value = r.state.spot), (f.spotLightShadows.value = r.state.spotShadow), (f.rectAreaLights.value = r.state.rectArea), (f.pointLights.value = r.state.point), (f.pointLightShadows.value = r.state.pointShadow), (f.hemisphereLights.value = r.state.hemi), (f.directionalShadowMap.value = r.state.directionalShadowMap), (f.directionalShadowMatrix.value = r.state.directionalShadowMatrix), (f.spotShadowMap.value = r.state.spotShadowMap), (f.spotShadowMatrix.value = r.state.spotShadowMatrix), (f.pointShadowMap.value = r.state.pointShadowMap), (f.pointShadowMatrix.value = r.state.pointShadowMatrix)); var m = i.program.getUniforms(), g = ts.seqWithValue(m.seq, f); i.uniformsList = g; } function Mt(t, e, n, i) { b.resetTextureUnits(); var r = e.fog, o = n.isMeshStandardMaterial ? e.environment : null, a = y.get(n), s = p.state.lights; if (nt && (it || t !== B)) { var c = t === B && n.id === F; et.setState(n.clippingPlanes, n.clipIntersection, n.clipShadows, t, a, c); } n.version === a.__version ? void 0 === a.program || (n.fog && a.fog !== r) || a.environment !== o || (a.needsLights && a.lightsStateVersion !== s.state.version) ? xt(n, e, i) : void 0 === a.numClippingPlanes || (a.numClippingPlanes === et.numPlanes && a.numIntersection === et.numIntersection) ? a.outputEncoding !== k.outputEncoding && xt(n, e, i) : xt(n, e, i) : (xt(n, e, i), (a.__version = n.version)); var l, u, d = !1, f = !1, v = !1, w = a.program, S = w.getUniforms(), x = a.uniforms; if ((g.useProgram(w.program) && ((d = !0), (f = !0), (v = !0)), n.id !== F && ((F = n.id), (f = !0)), d || B !== t)) { if ( (S.setValue(h, 'projectionMatrix', t.projectionMatrix), m.logarithmicDepthBuffer && S.setValue(h, 'logDepthBufFC', 2 / (Math.log(t.far + 1) / Math.LN2)), B !== t && ((B = t), (f = !0), (v = !0)), n.isShaderMaterial || n.isMeshPhongMaterial || n.isMeshToonMaterial || n.isMeshStandardMaterial || n.envMap) ) { var M = S.map.cameraPosition; void 0 !== M && M.setValue(h, ot.setFromMatrixPosition(t.matrixWorld)); } (n.isMeshPhongMaterial || n.isMeshToonMaterial || n.isMeshLambertMaterial || n.isMeshBasicMaterial || n.isMeshStandardMaterial || n.isShaderMaterial) && S.setValue(h, 'isOrthographic', !0 === t.isOrthographicCamera), (n.isMeshPhongMaterial || n.isMeshToonMaterial || n.isMeshLambertMaterial || n.isMeshBasicMaterial || n.isMeshStandardMaterial || n.isShaderMaterial || n.skinning) && S.setValue(h, 'viewMatrix', t.matrixWorldInverse); } if (n.skinning) { S.setOptional(h, i, 'bindMatrix'), S.setOptional(h, i, 'bindMatrixInverse'); var E = i.skeleton; if (E) { var C = E.bones; if (m.floatVertexTextures) { if (void 0 === E.boneTexture) { var A = Math.sqrt(4 * C.length); (A = Kn.ceilPowerOfTwo(A)), (A = Math.max(A, 4)); var O = new Float32Array(A * A * 4); O.set(E.boneMatrices); var _ = new Lo(O, A, A, Jt, Gt); (E.boneMatrices = O), (E.boneTexture = _), (E.boneTextureSize = A); } S.setValue(h, 'boneTexture', E.boneTexture, b), S.setValue(h, 'boneTextureSize', E.boneTextureSize); } else S.setOptional(h, E, 'boneMatrices'); } } return ( (f || a.receiveShadow !== i.receiveShadow) && ((a.receiveShadow = i.receiveShadow), S.setValue(h, 'receiveShadow', i.receiveShadow)), f && (S.setValue(h, 'toneMappingExposure', k.toneMappingExposure), S.setValue(h, 'toneMappingWhitePoint', k.toneMappingWhitePoint), a.needsLights && ((u = v), ((l = x).ambientLightColor.needsUpdate = u), (l.lightProbe.needsUpdate = u), (l.directionalLights.needsUpdate = u), (l.directionalLightShadows.needsUpdate = u), (l.pointLights.needsUpdate = u), (l.pointLightShadows.needsUpdate = u), (l.spotLights.needsUpdate = u), (l.spotLightShadows.needsUpdate = u), (l.rectAreaLights.needsUpdate = u), (l.hemisphereLights.needsUpdate = u)), r && n.fog && (function (t, e) { t.fogColor.value.copy(e.color), e.isFog ? ((t.fogNear.value = e.near), (t.fogFar.value = e.far)) : e.isFogExp2 && (t.fogDensity.value = e.density); })(x, r), n.isMeshBasicMaterial ? Et(x, n) : n.isMeshLambertMaterial ? (Et(x, n), (function (t, e) { e.emissiveMap && (t.emissiveMap.value = e.emissiveMap); })(x, n)) : n.isMeshToonMaterial ? (Et(x, n), (function (t, e) { t.specular.value.copy(e.specular), (t.shininess.value = Math.max(e.shininess, 1e-4)), e.gradientMap && (t.gradientMap.value = e.gradientMap); e.emissiveMap && (t.emissiveMap.value = e.emissiveMap); e.bumpMap && ((t.bumpMap.value = e.bumpMap), (t.bumpScale.value = e.bumpScale), e.side === T && (t.bumpScale.value *= -1)); e.normalMap && ((t.normalMap.value = e.normalMap), t.normalScale.value.copy(e.normalScale), e.side === T && t.normalScale.value.negate()); e.displacementMap && ((t.displacementMap.value = e.displacementMap), (t.displacementScale.value = e.displacementScale), (t.displacementBias.value = e.displacementBias)); })(x, n)) : n.isMeshPhongMaterial ? (Et(x, n), (function (t, e) { t.specular.value.copy(e.specular), (t.shininess.value = Math.max(e.shininess, 1e-4)), e.emissiveMap && (t.emissiveMap.value = e.emissiveMap); e.bumpMap && ((t.bumpMap.value = e.bumpMap), (t.bumpScale.value = e.bumpScale), e.side === T && (t.bumpScale.value *= -1)); e.normalMap && ((t.normalMap.value = e.normalMap), t.normalScale.value.copy(e.normalScale), e.side === T && t.normalScale.value.negate()); e.displacementMap && ((t.displacementMap.value = e.displacementMap), (t.displacementScale.value = e.displacementScale), (t.displacementBias.value = e.displacementBias)); })(x, n)) : n.isMeshStandardMaterial ? (Et(x, n, o), n.isMeshPhysicalMaterial ? (function (t, e, n) { Ct(t, e, n), (t.reflectivity.value = e.reflectivity), (t.clearcoat.value = e.clearcoat), (t.clearcoatRoughness.value = e.clearcoatRoughness), e.sheen && t.sheen.value.copy(e.sheen); e.clearcoatMap && (t.clearcoatMap.value = e.clearcoatMap); e.clearcoatRoughnessMap && (t.clearcoatRoughnessMap.value = e.clearcoatRoughnessMap); e.clearcoatNormalMap && (t.clearcoatNormalScale.value.copy(e.clearcoatNormalScale), (t.clearcoatNormalMap.value = e.clearcoatNormalMap), e.side === T && t.clearcoatNormalScale.value.negate()); t.transparency.value = e.transparency; })(x, n, o) : Ct(x, n, o)) : n.isMeshMatcapMaterial ? (Et(x, n), (function (t, e) { e.matcap && (t.matcap.value = e.matcap); e.bumpMap && ((t.bumpMap.value = e.bumpMap), (t.bumpScale.value = e.bumpScale), e.side === T && (t.bumpScale.value *= -1)); e.normalMap && ((t.normalMap.value = e.normalMap), t.normalScale.value.copy(e.normalScale), e.side === T && t.normalScale.value.negate()); e.displacementMap && ((t.displacementMap.value = e.displacementMap), (t.displacementScale.value = e.displacementScale), (t.displacementBias.value = e.displacementBias)); })(x, n)) : n.isMeshDepthMaterial ? (Et(x, n), (function (t, e) { e.displacementMap && ((t.displacementMap.value = e.displacementMap), (t.displacementScale.value = e.displacementScale), (t.displacementBias.value = e.displacementBias)); })(x, n)) : n.isMeshDistanceMaterial ? (Et(x, n), (function (t, e) { e.displacementMap && ((t.displacementMap.value = e.displacementMap), (t.displacementScale.value = e.displacementScale), (t.displacementBias.value = e.displacementBias)); t.referencePosition.value.copy(e.referencePosition), (t.nearDistance.value = e.nearDistance), (t.farDistance.value = e.farDistance); })(x, n)) : n.isMeshNormalMaterial ? (Et(x, n), (function (t, e) { e.bumpMap && ((t.bumpMap.value = e.bumpMap), (t.bumpScale.value = e.bumpScale), e.side === T && (t.bumpScale.value *= -1)); e.normalMap && ((t.normalMap.value = e.normalMap), t.normalScale.value.copy(e.normalScale), e.side === T && t.normalScale.value.negate()); e.displacementMap && ((t.displacementMap.value = e.displacementMap), (t.displacementScale.value = e.displacementScale), (t.displacementBias.value = e.displacementBias)); })(x, n)) : n.isLineBasicMaterial ? ((function (t, e) { t.diffuse.value.copy(e.color), (t.opacity.value = e.opacity); })(x, n), n.isLineDashedMaterial && (function (t, e) { (t.dashSize.value = e.dashSize), (t.totalSize.value = e.dashSize + e.gapSize), (t.scale.value = e.scale); })(x, n)) : n.isPointsMaterial ? (function (t, e) { t.diffuse.value.copy(e.color), (t.opacity.value = e.opacity), (t.size.value = e.size * Y), (t.scale.value = 0.5 * X), e.map && (t.map.value = e.map); e.alphaMap && (t.alphaMap.value = e.alphaMap); var n; e.map ? (n = e.map) : e.alphaMap && (n = e.alphaMap); void 0 !== n && (!0 === n.matrixAutoUpdate && n.updateMatrix(), t.uvTransform.value.copy(n.matrix)); })(x, n) : n.isSpriteMaterial ? (function (t, e) { t.diffuse.value.copy(e.color), (t.opacity.value = e.opacity), (t.rotation.value = e.rotation), e.map && (t.map.value = e.map); e.alphaMap && (t.alphaMap.value = e.alphaMap); var n; e.map ? (n = e.map) : e.alphaMap && (n = e.alphaMap); void 0 !== n && (!0 === n.matrixAutoUpdate && n.updateMatrix(), t.uvTransform.value.copy(n.matrix)); })(x, n) : n.isShadowMaterial && (x.color.value.copy(n.color), (x.opacity.value = n.opacity)), void 0 !== x.ltc_1 && (x.ltc_1.value = Fo.LTC_1), void 0 !== x.ltc_2 && (x.ltc_2.value = Fo.LTC_2), ts.upload(h, a.uniformsList, x, b), n.isShaderMaterial && (n.uniformsNeedUpdate = !1)), n.isShaderMaterial && !0 === n.uniformsNeedUpdate && (ts.upload(h, a.uniformsList, x, b), (n.uniformsNeedUpdate = !1)), n.isSpriteMaterial && S.setValue(h, 'center', i.center), S.setValue(h, 'modelViewMatrix', i.modelViewMatrix), S.setValue(h, 'normalMatrix', i.normalMatrix), S.setValue(h, 'modelMatrix', i.matrixWorld), w ); } function Et(t, e, n) { (t.opacity.value = e.opacity), e.color && t.diffuse.value.copy(e.color), e.emissive && t.emissive.value.copy(e.emissive).multiplyScalar(e.emissiveIntensity), e.map && (t.map.value = e.map), e.alphaMap && (t.alphaMap.value = e.alphaMap), e.specularMap && (t.specularMap.value = e.specularMap); var i, r, o = e.envMap || n; o && ((t.envMap.value = o), (t.flipEnvMap.value = o.isCubeTexture ? -1 : 1), (t.reflectivity.value = e.reflectivity), (t.refractionRatio.value = e.refractionRatio), (t.maxMipLevel.value = y.get(o).__maxMipLevel)), e.lightMap && ((t.lightMap.value = e.lightMap), (t.lightMapIntensity.value = e.lightMapIntensity)), e.aoMap && ((t.aoMap.value = e.aoMap), (t.aoMapIntensity.value = e.aoMapIntensity)), e.map ? (i = e.map) : e.specularMap ? (i = e.specularMap) : e.displacementMap ? (i = e.displacementMap) : e.normalMap ? (i = e.normalMap) : e.bumpMap ? (i = e.bumpMap) : e.roughnessMap ? (i = e.roughnessMap) : e.metalnessMap ? (i = e.metalnessMap) : e.alphaMap ? (i = e.alphaMap) : e.emissiveMap && (i = e.emissiveMap), void 0 !== i && (i.isWebGLRenderTarget && (i = i.texture), !0 === i.matrixAutoUpdate && i.updateMatrix(), t.uvTransform.value.copy(i.matrix)), e.aoMap ? (r = e.aoMap) : e.lightMap && (r = e.lightMap), void 0 !== r && (r.isWebGLRenderTarget && (r = r.texture), !0 === r.matrixAutoUpdate && r.updateMatrix(), t.uv2Transform.value.copy(r.matrix)); } function Ct(t, e, n) { (t.roughness.value = e.roughness), (t.metalness.value = e.metalness), e.roughnessMap && (t.roughnessMap.value = e.roughnessMap), e.metalnessMap && (t.metalnessMap.value = e.metalnessMap), e.emissiveMap && (t.emissiveMap.value = e.emissiveMap), e.bumpMap && ((t.bumpMap.value = e.bumpMap), (t.bumpScale.value = e.bumpScale), e.side === T && (t.bumpScale.value *= -1)), e.normalMap && ((t.normalMap.value = e.normalMap), t.normalScale.value.copy(e.normalScale), e.side === T && t.normalScale.value.negate()), e.displacementMap && ((t.displacementMap.value = e.displacementMap), (t.displacementScale.value = e.displacementScale), (t.displacementBias.value = e.displacementBias)), (e.envMap || n) && (t.envMapIntensity.value = e.envMapIntensity); } yt.setAnimationLoop(function (t) { lt.isPresenting || (vt && vt(t)); }), 'undefined' != typeof window && yt.setContext(window), (this.setAnimationLoop = function (t) { (vt = t), lt.setAnimationLoop(t), yt.start(); }), (this.render = function (t, e) { var n, i; if ( (void 0 !== arguments[2] && (console.warn('THREE.WebGLRenderer.render(): the renderTarget argument has been removed. Use .setRenderTarget() instead.'), (n = arguments[2])), void 0 !== arguments[3] && (console.warn('THREE.WebGLRenderer.render(): the forceClear argument has been removed. Use .clear() instead.'), (i = arguments[3])), e && e.isCamera) ) { if (!D) { (U.geometry = null), (U.program = null), (U.wireframe = !1), (F = -1), (B = null), !0 === t.autoUpdate && t.updateMatrixWorld(), null === e.parent && e.updateMatrixWorld(), lt.enabled && lt.isPresenting && (e = lt.getCamera(e)), (p = C.get(t, e)).init(), t.onBeforeRender(k, t, e, n || j), rt.multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse), tt.setFromProjectionMatrix(rt), (it = this.localClippingEnabled), (nt = et.init(this.clippingPlanes, it, e)), (d = E.get(t, e)).init(), bt(t, e, 0, k.sortObjects), d.finish(), !0 === k.sortObjects && d.sort(K, Z), nt && et.beginShadows(); var r = p.state.shadowsArray; ut.render(r, t, e), p.setupLights(e), nt && et.endShadows(), this.info.autoReset && this.info.reset(), void 0 !== n && this.setRenderTarget(n), A.render(d, t, e, i); var o = d.opaque, a = d.transparent; if (t.overrideMaterial) { var s = t.overrideMaterial; o.length && wt(o, t, e, s), a.length && wt(a, t, e, s); } else o.length && wt(o, t, e), a.length && wt(a, t, e); t.onAfterRender(k, t, e), null !== j && (b.updateRenderTargetMipmap(j), b.updateMultisampleRenderTarget(j)), g.buffers.depth.setTest(!0), g.buffers.depth.setMask(!0), g.buffers.color.setMask(!0), g.setPolygonOffset(!1), (d = null), (p = null); } } else console.error('THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.'); }), (this.setFramebuffer = function (t) { R !== t && null === j && h.bindFramebuffer(36160, t), (R = t); }), (this.getActiveCubeFace = function () { return L; }), (this.getActiveMipmapLevel = function () { return N; }), (this.getRenderTarget = function () { return j; }), (this.setRenderTarget = function (t, e, n) { (j = t), (L = e), (N = n), t && void 0 === y.get(t).__webglFramebuffer && b.setupRenderTarget(t); var i = R, r = !1; if (t) { var o = y.get(t).__webglFramebuffer; t.isWebGLCubeRenderTarget ? ((i = o[e || 0]), (r = !0)) : (i = t.isWebGLMultisampleRenderTarget ? y.get(t).__webglMultisampledFramebuffer : o), G.copy(t.viewport), H.copy(t.scissor), (W = t.scissorTest); } else G.copy(J).multiplyScalar(Y).floor(), H.copy(Q).multiplyScalar(Y).floor(), (W = $); if ((V !== i && (h.bindFramebuffer(36160, i), (V = i)), g.viewport(G), g.scissor(H), g.setScissorTest(W), r)) { var a = y.get(t.texture); h.framebufferTexture2D(36160, 36064, 34069 + (e || 0), a.__webglTexture, n || 0); } }), (this.readRenderTargetPixels = function (t, e, n, i, r, o, a) { if (t && t.isWebGLRenderTarget) { var s = y.get(t).__webglFramebuffer; if ((t.isWebGLCubeRenderTarget && void 0 !== a && (s = s[a]), s)) { var c = !1; s !== V && (h.bindFramebuffer(36160, s), (c = !0)); try { var l = t.texture, u = l.format, d = l.type; if (u !== Jt && I.convert(u) !== h.getParameter(35739)) return void console.error('THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.'); if ( !( d === jt || I.convert(d) === h.getParameter(35738) || (d === Gt && (m.isWebGL2 || f.get('OES_texture_float') || f.get('WEBGL_color_buffer_float'))) || (d === Ht && (m.isWebGL2 ? f.get('EXT_color_buffer_float') : f.get('EXT_color_buffer_half_float'))) ) ) return void console.error('THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.'); 36053 === h.checkFramebufferStatus(36160) ? e >= 0 && e <= t.width - i && n >= 0 && n <= t.height - r && h.readPixels(e, n, i, r, I.convert(u), I.convert(d), o) : console.error('THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.'); } finally { c && h.bindFramebuffer(36160, V); } } } else console.error('THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.'); }), (this.copyFramebufferToTexture = function (t, e, n) { void 0 === n && (n = 0); var i = Math.pow(2, -n), r = Math.floor(e.image.width * i), o = Math.floor(e.image.height * i), a = I.convert(e.format); b.setTexture2D(e, 0), h.copyTexImage2D(3553, n, a, t.x, t.y, r, o, 0), g.unbindTexture(); }), (this.copyTextureToTexture = function (t, e, n, i) { var r = e.image.width, o = e.image.height, a = I.convert(n.format), s = I.convert(n.type); b.setTexture2D(n, 0), e.isDataTexture ? h.texSubImage2D(3553, i || 0, t.x, t.y, r, o, a, s, e.image.data) : h.texSubImage2D(3553, i || 0, t.x, t.y, a, s, e.image), g.unbindTexture(); }), (this.initTexture = function (t) { b.setTexture2D(t, 0), g.unbindTexture(); }), 'undefined' != typeof __THREE_DEVTOOLS__ && __THREE_DEVTOOLS__.dispatchEvent( new CustomEvent('observe', { detail: this, }) ); } function zs(t, e) { (this.name = ''), (this.color = new Er(t)), (this.density = void 0 !== e ? e : 25e-5); } function Gs(t, e, n) { (this.name = ''), (this.color = new Er(t)), (this.near = void 0 !== e ? e : 1), (this.far = void 0 !== n ? n : 1e3); } function Hs(t, e) { (this.array = t), (this.stride = e), (this.count = void 0 !== t ? t.length / e : 0), (this.usage = Nn), (this.updateRange = { offset: 0, count: -1, }), (this.version = 0); } (Vs.prototype = Object.assign(Object.create(ko.prototype), { constructor: Vs, isArrayCamera: !0, })), (Fs.prototype = Object.assign(Object.create(Di.prototype), { constructor: Fs, isGroup: !0, })), Object.assign(Us.prototype, Wn.prototype), Object.assign(zs.prototype, { isFogExp2: !0, clone: function () { return new zs(this.color, this.density); }, toJSON: function () { return { type: 'FogExp2', color: this.color.getHex(), density: this.density, }; }, }), Object.assign(Gs.prototype, { isFog: !0, clone: function () { return new Gs(this.color, this.near, this.far); }, toJSON: function () { return { type: 'Fog', color: this.color.getHex(), near: this.near, far: this.far, }; }, }), Object.defineProperty(Hs.prototype, 'needsUpdate', { set: function (t) { !0 === t && this.version++; }, }), Object.assign(Hs.prototype, { isInterleavedBuffer: !0, onUploadCallback: function () {}, setUsage: function (t) { return (this.usage = t), this; }, copy: function (t) { return (this.array = new t.array.constructor(t.array)), (this.count = t.count), (this.stride = t.stride), (this.usage = t.usage), this; }, copyAt: function (t, e, n) { (t *= this.stride), (n *= e.stride); for (var i = 0, r = this.stride; i < r; i++) this.array[t + i] = e.array[n + i]; return this; }, set: function (t, e) { return void 0 === e && (e = 0), this.array.set(t, e), this; }, clone: function () { return new this.constructor().copy(this); }, onUpload: function (t) { return (this.onUploadCallback = t), this; }, }); var Ws, qs = new si(); function Xs(t, e, n, i) { (this.data = t), (this.itemSize = e), (this.offset = n), (this.normalized = !0 === i); } function Ys(t) { Pr.call(this), (this.type = 'SpriteMaterial'), (this.color = new Er(16777215)), (this.map = null), (this.alphaMap = null), (this.rotation = 0), (this.sizeAttenuation = !0), (this.transparent = !0), this.setValues(t); } Object.defineProperties(Xs.prototype, { count: { get: function () { return this.data.count; }, }, array: { get: function () { return this.data.array; }, }, }), Object.assign(Xs.prototype, { isInterleavedBufferAttribute: !0, applyMatrix4: function (t) { for (var e = 0, n = this.data.count; e < n; e++) (qs.x = this.getX(e)), (qs.y = this.getY(e)), (qs.z = this.getZ(e)), qs.applyMatrix4(t), this.setXYZ(e, qs.x, qs.y, qs.z); return this; }, setX: function (t, e) { return (this.data.array[t * this.data.stride + this.offset] = e), this; }, setY: function (t, e) { return (this.data.array[t * this.data.stride + this.offset + 1] = e), this; }, setZ: function (t, e) { return (this.data.array[t * this.data.stride + this.offset + 2] = e), this; }, setW: function (t, e) { return (this.data.array[t * this.data.stride + this.offset + 3] = e), this; }, getX: function (t) { return this.data.array[t * this.data.stride + this.offset]; }, getY: function (t) { return this.data.array[t * this.data.stride + this.offset + 1]; }, getZ: function (t) { return this.data.array[t * this.data.stride + this.offset + 2]; }, getW: function (t) { return this.data.array[t * this.data.stride + this.offset + 3]; }, setXY: function (t, e, n) { return (t = t * this.data.stride + this.offset), (this.data.array[t + 0] = e), (this.data.array[t + 1] = n), this; }, setXYZ: function (t, e, n, i) { return (t = t * this.data.stride + this.offset), (this.data.array[t + 0] = e), (this.data.array[t + 1] = n), (this.data.array[t + 2] = i), this; }, setXYZW: function (t, e, n, i, r) { return (t = t * this.data.stride + this.offset), (this.data.array[t + 0] = e), (this.data.array[t + 1] = n), (this.data.array[t + 2] = i), (this.data.array[t + 3] = r), this; }, }), (Ys.prototype = Object.create(Pr.prototype)), (Ys.prototype.constructor = Ys), (Ys.prototype.isSpriteMaterial = !0), (Ys.prototype.copy = function (t) { return ( Pr.prototype.copy.call(this, t), this.color.copy(t.color), (this.map = t.map), (this.alphaMap = t.alphaMap), (this.rotation = t.rotation), (this.sizeAttenuation = t.sizeAttenuation), this ); }); var Ks = new si(), Zs = new si(), Js = new si(), Qs = new Zn(), $s = new Zn(), tc = new mi(), ec = new si(), nc = new si(), ic = new si(), rc = new Zn(), oc = new Zn(), ac = new Zn(); function sc(t) { if ((Di.call(this), (this.type = 'Sprite'), void 0 === Ws)) { Ws = new Qr(); var e = new Hs(new Float32Array([-0.5, -0.5, 0, 0, 0, 0.5, -0.5, 0, 1, 0, 0.5, 0.5, 0, 1, 1, -0.5, 0.5, 0, 0, 1]), 5); Ws.setIndex([0, 1, 2, 0, 2, 3]), Ws.setAttribute('position', new Xs(e, 3, 0, !1)), Ws.setAttribute('uv', new Xs(e, 2, 3, !1)); } (this.geometry = Ws), (this.material = void 0 !== t ? t : new Ys()), (this.center = new Zn(0.5, 0.5)); } function cc(t, e, n, i, r, o) { Qs.subVectors(t, n).addScalar(0.5).multiply(i), void 0 !== r ? (($s.x = o * Qs.x - r * Qs.y), ($s.y = r * Qs.x + o * Qs.y)) : $s.copy(Qs), t.copy(e), (t.x += $s.x), (t.y += $s.y), t.applyMatrix4(tc); } sc.prototype = Object.assign(Object.create(Di.prototype), { constructor: sc, isSprite: !0, raycast: function (t, e) { null === t.camera && console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'), Zs.setFromMatrixScale(this.matrixWorld), tc.copy(t.camera.matrixWorld), this.modelViewMatrix.multiplyMatrices(t.camera.matrixWorldInverse, this.matrixWorld), Js.setFromMatrixPosition(this.modelViewMatrix), t.camera.isPerspectiveCamera && !1 === this.material.sizeAttenuation && Zs.multiplyScalar(-Js.z); var n, i, r = this.material.rotation; 0 !== r && ((i = Math.cos(r)), (n = Math.sin(r))); var o = this.center; cc(ec.set(-0.5, -0.5, 0), Js, o, Zs, n, i), cc(nc.set(0.5, -0.5, 0), Js, o, Zs, n, i), cc(ic.set(0.5, 0.5, 0), Js, o, Zs, n, i), rc.set(0, 0), oc.set(1, 0), ac.set(1, 1); var a = t.ray.intersectTriangle(ec, nc, ic, !1, Ks); if (null !== a || (cc(nc.set(-0.5, 0.5, 0), Js, o, Zs, n, i), oc.set(0, 1), null !== (a = t.ray.intersectTriangle(ec, ic, nc, !1, Ks)))) { var s = t.ray.origin.distanceTo(Ks); s < t.near || s > t.far || e.push({ distance: s, point: Ks.clone(), uv: wr.getUV(Ks, ec, nc, ic, rc, oc, ac, new Zn()), face: null, object: this, }); } }, clone: function () { return new this.constructor(this.material).copy(this); }, copy: function (t) { return Di.prototype.copy.call(this, t), void 0 !== t.center && this.center.copy(t.center), this; }, }); var lc = new si(), uc = new si(); function dc() { Di.call(this), (this._currentLevel = 0), (this.type = 'LOD'), Object.defineProperties(this, { levels: { enumerable: !0, value: [], }, }), (this.autoUpdate = !0); } function pc(t, e) { t && t.isGeometry && console.error('THREE.SkinnedMesh no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.'), vo.call(this, t, e), (this.type = 'SkinnedMesh'), (this.bindMode = 'attached'), (this.bindMatrix = new mi()), (this.bindMatrixInverse = new mi()); } (dc.prototype = Object.assign(Object.create(Di.prototype), { constructor: dc, isLOD: !0, copy: function (t) { Di.prototype.copy.call(this, t, !1); for (var e = t.levels, n = 0, i = e.length; n < i; n++) { var r = e[n]; this.addLevel(r.object.clone(), r.distance); } return (this.autoUpdate = t.autoUpdate), this; }, addLevel: function (t, e) { void 0 === e && (e = 0), (e = Math.abs(e)); for (var n = this.levels, i = 0; i < n.length && !(e < n[i].distance); i++); return ( n.splice(i, 0, { distance: e, object: t, }), this.add(t), this ); }, getCurrentLevel: function () { return this._currentLevel; }, getObjectForDistance: function (t) { var e = this.levels; if (e.length > 0) { for (var n = 1, i = e.length; n < i && !(t < e[n].distance); n++); return e[n - 1].object; } return null; }, raycast: function (t, e) { if (this.levels.length > 0) { lc.setFromMatrixPosition(this.matrixWorld); var n = t.ray.origin.distanceTo(lc); this.getObjectForDistance(n).raycast(t, e); } }, update: function (t) { var e = this.levels; if (e.length > 1) { lc.setFromMatrixPosition(t.matrixWorld), uc.setFromMatrixPosition(this.matrixWorld); var n = lc.distanceTo(uc) / t.zoom; e[0].object.visible = !0; for (var i = 1, r = e.length; i < r && n >= e[i].distance; i++) (e[i - 1].object.visible = !1), (e[i].object.visible = !0); for (this._currentLevel = i - 1; i < r; i++) e[i].object.visible = !1; } }, toJSON: function (t) { var e = Di.prototype.toJSON.call(this, t); !1 === this.autoUpdate && (e.object.autoUpdate = !1), (e.object.levels = []); for (var n = this.levels, i = 0, r = n.length; i < r; i++) { var o = n[i]; e.object.levels.push({ object: o.object.uuid, distance: o.distance, }); } return e; }, })), (pc.prototype = Object.assign(Object.create(vo.prototype), { constructor: pc, isSkinnedMesh: !0, bind: function (t, e) { (this.skeleton = t), void 0 === e && (this.updateMatrixWorld(!0), this.skeleton.calculateInverses(), (e = this.matrixWorld)), this.bindMatrix.copy(e), this.bindMatrixInverse.getInverse(e); }, pose: function () { this.skeleton.pose(); }, normalizeSkinWeights: function () { for (var t = new ei(), e = this.geometry.attributes.skinWeight, n = 0, i = e.count; n < i; n++) { (t.x = e.getX(n)), (t.y = e.getY(n)), (t.z = e.getZ(n)), (t.w = e.getW(n)); var r = 1 / t.manhattanLength(); r !== 1 / 0 ? t.multiplyScalar(r) : t.set(1, 0, 0, 0), e.setXYZW(n, t.x, t.y, t.z, t.w); } }, updateMatrixWorld: function (t) { vo.prototype.updateMatrixWorld.call(this, t), 'attached' === this.bindMode ? this.bindMatrixInverse.getInverse(this.matrixWorld) : 'detached' === this.bindMode ? this.bindMatrixInverse.getInverse(this.bindMatrix) : console.warn('THREE.SkinnedMesh: Unrecognized bindMode: ' + this.bindMode); }, clone: function () { return new this.constructor(this.geometry, this.material).copy(this); }, })); var hc = new mi(), fc = new mi(); function mc(t, e) { if (((t = t || []), (this.bones = t.slice(0)), (this.boneMatrices = new Float32Array(16 * this.bones.length)), (this.frame = -1), void 0 === e)) this.calculateInverses(); else if (this.bones.length === e.length) this.boneInverses = e.slice(0); else { console.warn('THREE.Skeleton boneInverses is the wrong length.'), (this.boneInverses = []); for (var n = 0, i = this.bones.length; n < i; n++) this.boneInverses.push(new mi()); } } function gc() { Di.call(this), (this.type = 'Bone'); } Object.assign(mc.prototype, { calculateInverses: function () { this.boneInverses = []; for (var t = 0, e = this.bones.length; t < e; t++) { var n = new mi(); this.bones[t] && n.getInverse(this.bones[t].matrixWorld), this.boneInverses.push(n); } }, pose: function () { var t, e, n; for (e = 0, n = this.bones.length; e < n; e++) (t = this.bones[e]) && t.matrixWorld.getInverse(this.boneInverses[e]); for (e = 0, n = this.bones.length; e < n; e++) (t = this.bones[e]) && (t.parent && t.parent.isBone ? (t.matrix.getInverse(t.parent.matrixWorld), t.matrix.multiply(t.matrixWorld)) : t.matrix.copy(t.matrixWorld), t.matrix.decompose(t.position, t.quaternion, t.scale)); }, update: function () { for (var t = this.bones, e = this.boneInverses, n = this.boneMatrices, i = this.boneTexture, r = 0, o = t.length; r < o; r++) { var a = t[r] ? t[r].matrixWorld : fc; hc.multiplyMatrices(a, e[r]), hc.toArray(n, 16 * r); } void 0 !== i && (i.needsUpdate = !0); }, clone: function () { return new mc(this.bones, this.boneInverses); }, getBoneByName: function (t) { for (var e = 0, n = this.bones.length; e < n; e++) { var i = this.bones[e]; if (i.name === t) return i; } }, dispose: function () { this.boneTexture && (this.boneTexture.dispose(), (this.boneTexture = void 0)); }, }), (gc.prototype = Object.assign(Object.create(Di.prototype), { constructor: gc, isBone: !0, })); var vc = new mi(), yc = new mi(), bc = [], wc = new vo(); function Sc(t, e, n) { vo.call(this, t, e), (this.instanceMatrix = new Dr(new Float32Array(16 * n), 16)), (this.count = n), (this.frustumCulled = !1); } function xc(t) { Pr.call(this), (this.type = 'LineBasicMaterial'), (this.color = new Er(16777215)), (this.linewidth = 1), (this.linecap = 'round'), (this.linejoin = 'round'), this.setValues(t); } (Sc.prototype = Object.assign(Object.create(vo.prototype), { constructor: Sc, isInstancedMesh: !0, getMatrixAt: function (t, e) { e.fromArray(this.instanceMatrix.array, 16 * t); }, raycast: function (t, e) { var n = this.matrixWorld, i = this.count; if (((wc.geometry = this.geometry), (wc.material = this.material), void 0 !== wc.material)) for (var r = 0; r < i; r++) this.getMatrixAt(r, vc), yc.multiplyMatrices(n, vc), (wc.matrixWorld = yc), wc.raycast(t, bc), bc.length > 0 && ((bc[0].instanceId = r), (bc[0].object = this), e.push(bc[0]), (bc.length = 0)); }, setMatrixAt: function (t, e) { e.toArray(this.instanceMatrix.array, 16 * t); }, updateMorphTargets: function () {}, })), (xc.prototype = Object.create(Pr.prototype)), (xc.prototype.constructor = xc), (xc.prototype.isLineBasicMaterial = !0), (xc.prototype.copy = function (t) { return Pr.prototype.copy.call(this, t), this.color.copy(t.color), (this.linewidth = t.linewidth), (this.linecap = t.linecap), (this.linejoin = t.linejoin), this; }); var Mc = new si(), Ec = new si(), Cc = new mi(), Ac = new or(), Tc = new Ji(); function Oc(t, e, n) { 1 === n && console.error('THREE.Line: parameter THREE.LinePieces no longer supported. Use THREE.LineSegments instead.'), Di.call(this), (this.type = 'Line'), (this.geometry = void 0 !== t ? t : new Qr()), (this.material = void 0 !== e ? e : new xc()); } Oc.prototype = Object.assign(Object.create(Di.prototype), { constructor: Oc, isLine: !0, computeLineDistances: function () { var t = this.geometry; if (t.isBufferGeometry) if (null === t.index) { for (var e = t.attributes.position, n = [0], i = 1, r = e.count; i < r; i++) Mc.fromBufferAttribute(e, i - 1), Ec.fromBufferAttribute(e, i), (n[i] = n[i - 1]), (n[i] += Mc.distanceTo(Ec)); t.setAttribute('lineDistance', new Br(n, 1)); } else console.warn('THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.'); else if (t.isGeometry) { var o = t.vertices; (n = t.lineDistances)[0] = 0; for (i = 1, r = o.length; i < r; i++) (n[i] = n[i - 1]), (n[i] += o[i - 1].distanceTo(o[i])); } return this; }, raycast: function (t, e) { var n = this.geometry, i = this.matrixWorld, r = t.params.Line.threshold; if ((null === n.boundingSphere && n.computeBoundingSphere(), Tc.copy(n.boundingSphere), Tc.applyMatrix4(i), (Tc.radius += r), !1 !== t.ray.intersectsSphere(Tc))) { Cc.getInverse(i), Ac.copy(t.ray).applyMatrix4(Cc); var o = r / ((this.scale.x + this.scale.y + this.scale.z) / 3), a = o * o, s = new si(), c = new si(), l = new si(), u = new si(), d = this && this.isLineSegments ? 2 : 1; if (n.isBufferGeometry) { var p = n.index, h = n.attributes.position.array; if (null !== p) for (var f = p.array, m = 0, g = f.length - 1; m < g; m += d) { var v = f[m], y = f[m + 1]; if ((s.fromArray(h, 3 * v), c.fromArray(h, 3 * y), !(Ac.distanceSqToSegment(s, c, u, l) > a))) u.applyMatrix4(this.matrixWorld), (S = t.ray.origin.distanceTo(u)) < t.near || S > t.far || e.push({ distance: S, point: l.clone().applyMatrix4(this.matrixWorld), index: m, face: null, faceIndex: null, object: this, }); } else for (m = 0, g = h.length / 3 - 1; m < g; m += d) { if ((s.fromArray(h, 3 * m), c.fromArray(h, 3 * m + 3), !(Ac.distanceSqToSegment(s, c, u, l) > a))) u.applyMatrix4(this.matrixWorld), (S = t.ray.origin.distanceTo(u)) < t.near || S > t.far || e.push({ distance: S, point: l.clone().applyMatrix4(this.matrixWorld), index: m, face: null, faceIndex: null, object: this, }); } } else if (n.isGeometry) { var b = n.vertices, w = b.length; for (m = 0; m < w - 1; m += d) { var S; if (!(Ac.distanceSqToSegment(b[m], b[m + 1], u, l) > a)) u.applyMatrix4(this.matrixWorld), (S = t.ray.origin.distanceTo(u)) < t.near || S > t.far || e.push({ distance: S, point: l.clone().applyMatrix4(this.matrixWorld), index: m, face: null, faceIndex: null, object: this, }); } } } }, clone: function () { return new this.constructor(this.geometry, this.material).copy(this); }, }); var _c = new si(), Pc = new si(); function Ic(t, e) { Oc.call(this, t, e), (this.type = 'LineSegments'); } function kc(t, e) { Oc.call(this, t, e), (this.type = 'LineLoop'); } function Dc(t) { Pr.call(this), (this.type = 'PointsMaterial'), (this.color = new Er(16777215)), (this.map = null), (this.alphaMap = null), (this.size = 1), (this.sizeAttenuation = !0), (this.morphTargets = !1), this.setValues(t); } (Ic.prototype = Object.assign(Object.create(Oc.prototype), { constructor: Ic, isLineSegments: !0, computeLineDistances: function () { var t = this.geometry; if (t.isBufferGeometry) if (null === t.index) { for (var e = t.attributes.position, n = [], i = 0, r = e.count; i < r; i += 2) _c.fromBufferAttribute(e, i), Pc.fromBufferAttribute(e, i + 1), (n[i] = 0 === i ? 0 : n[i - 1]), (n[i + 1] = n[i] + _c.distanceTo(Pc)); t.setAttribute('lineDistance', new Br(n, 1)); } else console.warn('THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.'); else if (t.isGeometry) { var o = t.vertices; for (n = t.lineDistances, i = 0, r = o.length; i < r; i += 2) _c.copy(o[i]), Pc.copy(o[i + 1]), (n[i] = 0 === i ? 0 : n[i - 1]), (n[i + 1] = n[i] + _c.distanceTo(Pc)); } return this; }, })), (kc.prototype = Object.assign(Object.create(Oc.prototype), { constructor: kc, isLineLoop: !0, })), (Dc.prototype = Object.create(Pr.prototype)), (Dc.prototype.constructor = Dc), (Dc.prototype.isPointsMaterial = !0), (Dc.prototype.copy = function (t) { return ( Pr.prototype.copy.call(this, t), this.color.copy(t.color), (this.map = t.map), (this.alphaMap = t.alphaMap), (this.size = t.size), (this.sizeAttenuation = t.sizeAttenuation), (this.morphTargets = t.morphTargets), this ); }); var Rc = new mi(), Lc = new or(), Nc = new Ji(), jc = new si(); function Vc(t, e) { Di.call(this), (this.type = 'Points'), (this.geometry = void 0 !== t ? t : new Qr()), (this.material = void 0 !== e ? e : new Dc()), this.updateMorphTargets(); } function Fc(t, e, n, i, r, o, a) { var s = Lc.distanceSqToPoint(t); if (s < n) { var c = new si(); Lc.closestPointToPoint(t, c), c.applyMatrix4(i); var l = r.ray.origin.distanceTo(c); if (l < r.near || l > r.far) return; o.push({ distance: l, distanceToRay: Math.sqrt(s), point: c, index: e, face: null, object: a, }); } } function Uc(t, e, n, i, r, o, a, s, c) { ti.call(this, t, e, n, i, r, o, a, s, c), (this.format = void 0 !== a ? a : Zt), (this.minFilter = void 0 !== o ? o : kt), (this.magFilter = void 0 !== r ? r : kt), (this.generateMipmaps = !1); } function Bc(t, e, n, i, r, o, a, s, c, l, u, d) { ti.call(this, null, o, a, s, c, l, i, r, u, d), (this.image = { width: e, height: n, }), (this.mipmaps = t), (this.flipY = !1), (this.generateMipmaps = !1); } function zc(t, e, n, i, r, o, a, s, c) { ti.call(this, t, e, n, i, r, o, a, s, c), (this.needsUpdate = !0); } function Gc(t, e, n, i, r, o, a, s, c, l) { if ((l = void 0 !== l ? l : ee) !== ee && l !== ne) throw new Error('DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat'); void 0 === n && l === ee && (n = Ut), void 0 === n && l === ne && (n = Yt), ti.call(this, null, i, r, o, a, s, l, n, c), (this.image = { width: t, height: e, }), (this.magFilter = void 0 !== a ? a : Tt), (this.minFilter = void 0 !== s ? s : Tt), (this.flipY = !1), (this.generateMipmaps = !1); } function Hc(t) { Qr.call(this), (this.type = 'WireframeGeometry'); var e, n, i, r, o, a, s, c, l, u, d = [], p = [0, 0], h = {}, f = ['a', 'b', 'c']; if (t && t.isGeometry) { var m = t.faces; for (e = 0, i = m.length; e < i; e++) { var g = m[e]; for (n = 0; n < 3; n++) (s = g[f[n]]), (c = g[f[(n + 1) % 3]]), (p[0] = Math.min(s, c)), (p[1] = Math.max(s, c)), void 0 === h[(l = p[0] + ',' + p[1])] && (h[l] = { index1: p[0], index2: p[1], }); } for (l in h) (a = h[l]), (u = t.vertices[a.index1]), d.push(u.x, u.y, u.z), (u = t.vertices[a.index2]), d.push(u.x, u.y, u.z); } else if (t && t.isBufferGeometry) { var v, y, b, w, S, x, M; if (((u = new si()), null !== t.index)) { for ( v = t.attributes.position, y = t.index, 0 === (b = t.groups).length && (b = [ { start: 0, count: y.count, materialIndex: 0, }, ]), r = 0, o = b.length; r < o; ++r ) for (e = S = (w = b[r]).start, i = S + w.count; e < i; e += 3) for (n = 0; n < 3; n++) (s = y.getX(e + n)), (c = y.getX(e + ((n + 1) % 3))), (p[0] = Math.min(s, c)), (p[1] = Math.max(s, c)), void 0 === h[(l = p[0] + ',' + p[1])] && (h[l] = { index1: p[0], index2: p[1], }); for (l in h) (a = h[l]), u.fromBufferAttribute(v, a.index1), d.push(u.x, u.y, u.z), u.fromBufferAttribute(v, a.index2), d.push(u.x, u.y, u.z); } else for (e = 0, i = (v = t.attributes.position).count / 3; e < i; e++) for (n = 0; n < 3; n++) (x = 3 * e + n), u.fromBufferAttribute(v, x), d.push(u.x, u.y, u.z), (M = 3 * e + ((n + 1) % 3)), u.fromBufferAttribute(v, M), d.push(u.x, u.y, u.z); } this.setAttribute('position', new Br(d, 3)); } function Wc(t, e, n) { Eo.call(this), (this.type = 'ParametricGeometry'), (this.parameters = { func: t, slices: e, stacks: n, }), this.fromBufferGeometry(new qc(t, e, n)), this.mergeVertices(); } function qc(t, e, n) { Qr.call(this), (this.type = 'ParametricBufferGeometry'), (this.parameters = { func: t, slices: e, stacks: n, }); var i, r, o = [], a = [], s = [], c = [], l = 1e-5, u = new si(), d = new si(), p = new si(), h = new si(), f = new si(); t.length < 3 && console.error('THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.'); var m = e + 1; for (i = 0; i <= n; i++) { var g = i / n; for (r = 0; r <= e; r++) { var v = r / e; t(v, g, d), a.push(d.x, d.y, d.z), v - l >= 0 ? (t(v - l, g, p), h.subVectors(d, p)) : (t(v + l, g, p), h.subVectors(p, d)), g - l >= 0 ? (t(v, g - l, p), f.subVectors(d, p)) : (t(v, g + l, p), f.subVectors(p, d)), u.crossVectors(h, f).normalize(), s.push(u.x, u.y, u.z), c.push(v, g); } } for (i = 0; i < n; i++) for (r = 0; r < e; r++) { var y = i * m + r, b = i * m + r + 1, w = (i + 1) * m + r + 1, S = (i + 1) * m + r; o.push(y, b, S), o.push(b, w, S); } this.setIndex(o), this.setAttribute('position', new Br(a, 3)), this.setAttribute('normal', new Br(s, 3)), this.setAttribute('uv', new Br(c, 2)); } function Xc(t, e, n, i) { Eo.call(this), (this.type = 'PolyhedronGeometry'), (this.parameters = { vertices: t, indices: e, radius: n, detail: i, }), this.fromBufferGeometry(new Yc(t, e, n, i)), this.mergeVertices(); } function Yc(t, e, n, i) { Qr.call(this), (this.type = 'PolyhedronBufferGeometry'), (this.parameters = { vertices: t, indices: e, radius: n, detail: i, }), (n = n || 1); var r = [], o = []; function a(t, e, n, i) { var r, o, a = Math.pow(2, i), c = []; for (r = 0; r <= a; r++) { c[r] = []; var l = t.clone().lerp(n, r / a), u = e.clone().lerp(n, r / a), d = a - r; for (o = 0; o <= d; o++) c[r][o] = 0 === o && r === a ? l : l.clone().lerp(u, o / d); } for (r = 0; r < a; r++) for (o = 0; o < 2 * (a - r) - 1; o++) { var p = Math.floor(o / 2); o % 2 == 0 ? (s(c[r][p + 1]), s(c[r + 1][p]), s(c[r][p])) : (s(c[r][p + 1]), s(c[r + 1][p + 1]), s(c[r + 1][p])); } } function s(t) { r.push(t.x, t.y, t.z); } function c(e, n) { var i = 3 * e; (n.x = t[i + 0]), (n.y = t[i + 1]), (n.z = t[i + 2]); } function l(t, e, n, i) { i < 0 && 1 === t.x && (o[e] = t.x - 1), 0 === n.x && 0 === n.z && (o[e] = i / 2 / Math.PI + 0.5); } function u(t) { return Math.atan2(t.z, -t.x); } !(function (t) { for (var n = new si(), i = new si(), r = new si(), o = 0; o < e.length; o += 3) c(e[o + 0], n), c(e[o + 1], i), c(e[o + 2], r), a(n, i, r, t); })((i = i || 0)), (function (t) { for (var e = new si(), n = 0; n < r.length; n += 3) (e.x = r[n + 0]), (e.y = r[n + 1]), (e.z = r[n + 2]), e.normalize().multiplyScalar(t), (r[n + 0] = e.x), (r[n + 1] = e.y), (r[n + 2] = e.z); })(n), (function () { for (var t = new si(), e = 0; e < r.length; e += 3) { (t.x = r[e + 0]), (t.y = r[e + 1]), (t.z = r[e + 2]); var n = u(t) / 2 / Math.PI + 0.5, i = ((a = t), Math.atan2(-a.y, Math.sqrt(a.x * a.x + a.z * a.z)) / Math.PI + 0.5); o.push(n, 1 - i); } var a; (function () { for (var t = new si(), e = new si(), n = new si(), i = new si(), a = new Zn(), s = new Zn(), c = new Zn(), d = 0, p = 0; d < r.length; d += 9, p += 6) { t.set(r[d + 0], r[d + 1], r[d + 2]), e.set(r[d + 3], r[d + 4], r[d + 5]), n.set(r[d + 6], r[d + 7], r[d + 8]), a.set(o[p + 0], o[p + 1]), s.set(o[p + 2], o[p + 3]), c.set(o[p + 4], o[p + 5]), i.copy(t).add(e).add(n).divideScalar(3); var h = u(i); l(a, p + 0, t, h), l(s, p + 2, e, h), l(c, p + 4, n, h); } })(), (function () { for (var t = 0; t < o.length; t += 6) { var e = o[t + 0], n = o[t + 2], i = o[t + 4], r = Math.max(e, n, i), a = Math.min(e, n, i); r > 0.9 && a < 0.1 && (e < 0.2 && (o[t + 0] += 1), n < 0.2 && (o[t + 2] += 1), i < 0.2 && (o[t + 4] += 1)); } })(); })(), this.setAttribute('position', new Br(r, 3)), this.setAttribute('normal', new Br(r.slice(), 3)), this.setAttribute('uv', new Br(o, 2)), 0 === i ? this.computeVertexNormals() : this.normalizeNormals(); } function Kc(t, e) { Eo.call(this), (this.type = 'TetrahedronGeometry'), (this.parameters = { radius: t, detail: e, }), this.fromBufferGeometry(new Zc(t, e)), this.mergeVertices(); } function Zc(t, e) { Yc.call(this, [1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1], [2, 1, 0, 0, 3, 2, 1, 3, 0, 2, 3, 1], t, e), (this.type = 'TetrahedronBufferGeometry'), (this.parameters = { radius: t, detail: e, }); } function Jc(t, e) { Eo.call(this), (this.type = 'OctahedronGeometry'), (this.parameters = { radius: t, detail: e, }), this.fromBufferGeometry(new Qc(t, e)), this.mergeVertices(); } function Qc(t, e) { Yc.call(this, [1, 0, 0, -1, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 1, 0, 0, -1], [0, 2, 4, 0, 4, 3, 0, 3, 5, 0, 5, 2, 1, 2, 5, 1, 5, 3, 1, 3, 4, 1, 4, 2], t, e), (this.type = 'OctahedronBufferGeometry'), (this.parameters = { radius: t, detail: e, }); } function $c(t, e) { Eo.call(this), (this.type = 'IcosahedronGeometry'), (this.parameters = { radius: t, detail: e, }), this.fromBufferGeometry(new tl(t, e)), this.mergeVertices(); } function tl(t, e) { var n = (1 + Math.sqrt(5)) / 2, i = [-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]; Yc.call( this, 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], t, e ), (this.type = 'IcosahedronBufferGeometry'), (this.parameters = { radius: t, detail: e, }); } function el(t, e) { Eo.call(this), (this.type = 'DodecahedronGeometry'), (this.parameters = { radius: t, detail: e, }), this.fromBufferGeometry(new nl(t, e)), this.mergeVertices(); } function nl(t, e) { var n = (1 + Math.sqrt(5)) / 2, i = 1 / n, 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, 0, -i, -n, 0, -i, n, 0, i, -n, 0, i, n, -i, -n, 0, -i, n, 0, i, -n, 0, i, n, 0, -n, 0, -i, n, 0, -i, -n, 0, i, n, 0, i, ]; Yc.call( this, r, [ 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, ], t, e ), (this.type = 'DodecahedronBufferGeometry'), (this.parameters = { radius: t, detail: e, }); } function il(t, e, n, i, r, o) { Eo.call(this), (this.type = 'TubeGeometry'), (this.parameters = { path: t, tubularSegments: e, radius: n, radialSegments: i, closed: r, }), void 0 !== o && console.warn('THREE.TubeGeometry: taper has been removed.'); var a = new rl(t, e, n, i, r); (this.tangents = a.tangents), (this.normals = a.normals), (this.binormals = a.binormals), this.fromBufferGeometry(a), this.mergeVertices(); } function rl(t, e, n, i, r) { Qr.call(this), (this.type = 'TubeBufferGeometry'), (this.parameters = { path: t, tubularSegments: e, radius: n, radialSegments: i, closed: r, }), (e = e || 64), (n = n || 1), (i = i || 8), (r = r || !1); var o = t.computeFrenetFrames(e, r); (this.tangents = o.tangents), (this.normals = o.normals), (this.binormals = o.binormals); var a, s, c = new si(), l = new si(), u = new Zn(), d = new si(), p = [], h = [], f = [], m = []; function g(r) { d = t.getPointAt(r / e, d); var a = o.normals[r], u = o.binormals[r]; for (s = 0; s <= i; s++) { var f = (s / i) * Math.PI * 2, m = Math.sin(f), g = -Math.cos(f); (l.x = g * a.x + m * u.x), (l.y = g * a.y + m * u.y), (l.z = g * a.z + m * u.z), l.normalize(), h.push(l.x, l.y, l.z), (c.x = d.x + n * l.x), (c.y = d.y + n * l.y), (c.z = d.z + n * l.z), p.push(c.x, c.y, c.z); } } !(function () { for (a = 0; a < e; a++) g(a); g(!1 === r ? e : 0), (function () { for (a = 0; a <= e; a++) for (s = 0; s <= i; s++) (u.x = a / e), (u.y = s / i), f.push(u.x, u.y); })(), (function () { for (s = 1; s <= e; s++) for (a = 1; a <= i; a++) { var t = (i + 1) * (s - 1) + (a - 1), n = (i + 1) * s + (a - 1), r = (i + 1) * s + a, o = (i + 1) * (s - 1) + a; m.push(t, n, o), m.push(n, r, o); } })(); })(), this.setIndex(m), this.setAttribute('position', new Br(p, 3)), this.setAttribute('normal', new Br(h, 3)), this.setAttribute('uv', new Br(f, 2)); } function ol(t, e, n, i, r, o, a) { Eo.call(this), (this.type = 'TorusKnotGeometry'), (this.parameters = { radius: t, tube: e, tubularSegments: n, radialSegments: i, p: r, q: o, }), void 0 !== a && console.warn('THREE.TorusKnotGeometry: heightScale has been deprecated. Use .scale( x, y, z ) instead.'), this.fromBufferGeometry(new al(t, e, n, i, r, o)), this.mergeVertices(); } function al(t, e, n, i, r, o) { Qr.call(this), (this.type = 'TorusKnotBufferGeometry'), (this.parameters = { radius: t, tube: e, tubularSegments: n, radialSegments: i, p: r, q: o, }), (t = t || 1), (e = e || 0.4), (n = Math.floor(n) || 64), (i = Math.floor(i) || 8), (r = r || 2), (o = o || 3); var a, s, c = [], l = [], u = [], d = [], p = new si(), h = new si(), f = new si(), m = new si(), g = new si(), v = new si(), y = new si(); for (a = 0; a <= n; ++a) { var b = (a / n) * r * Math.PI * 2; for (T(b, r, o, t, f), T(b + 0.01, r, o, t, m), v.subVectors(m, f), y.addVectors(m, f), g.crossVectors(v, y), y.crossVectors(g, v), g.normalize(), y.normalize(), s = 0; s <= i; ++s) { var w = (s / i) * Math.PI * 2, S = -e * Math.cos(w), x = e * Math.sin(w); (p.x = f.x + (S * y.x + x * g.x)), (p.y = f.y + (S * y.y + x * g.y)), (p.z = f.z + (S * y.z + x * g.z)), l.push(p.x, p.y, p.z), h.subVectors(p, f).normalize(), u.push(h.x, h.y, h.z), d.push(a / n), d.push(s / i); } } for (s = 1; s <= n; s++) for (a = 1; a <= i; a++) { var M = (i + 1) * (s - 1) + (a - 1), E = (i + 1) * s + (a - 1), C = (i + 1) * s + a, A = (i + 1) * (s - 1) + a; c.push(M, E, A), c.push(E, C, A); } function T(t, e, n, i, r) { var o = Math.cos(t), a = Math.sin(t), s = (n / e) * t, c = Math.cos(s); (r.x = i * (2 + c) * 0.5 * o), (r.y = i * (2 + c) * a * 0.5), (r.z = i * Math.sin(s) * 0.5); } this.setIndex(c), this.setAttribute('position', new Br(l, 3)), this.setAttribute('normal', new Br(u, 3)), this.setAttribute('uv', new Br(d, 2)); } function sl(t, e, n, i, r) { Eo.call(this), (this.type = 'TorusGeometry'), (this.parameters = { radius: t, tube: e, radialSegments: n, tubularSegments: i, arc: r, }), this.fromBufferGeometry(new cl(t, e, n, i, r)), this.mergeVertices(); } function cl(t, e, n, i, r) { Qr.call(this), (this.type = 'TorusBufferGeometry'), (this.parameters = { radius: t, tube: e, radialSegments: n, tubularSegments: i, arc: r, }), (t = t || 1), (e = e || 0.4), (n = Math.floor(n) || 8), (i = Math.floor(i) || 6), (r = r || 2 * Math.PI); var o, a, s = [], c = [], l = [], u = [], d = new si(), p = new si(), h = new si(); for (o = 0; o <= n; o++) for (a = 0; a <= i; a++) { var f = (a / i) * r, m = (o / n) * Math.PI * 2; (p.x = (t + e * Math.cos(m)) * Math.cos(f)), (p.y = (t + e * Math.cos(m)) * Math.sin(f)), (p.z = e * Math.sin(m)), c.push(p.x, p.y, p.z), (d.x = t * Math.cos(f)), (d.y = t * Math.sin(f)), h.subVectors(p, d).normalize(), l.push(h.x, h.y, h.z), u.push(a / i), u.push(o / n); } for (o = 1; o <= n; o++) for (a = 1; a <= i; a++) { var g = (i + 1) * o + a - 1, v = (i + 1) * (o - 1) + a - 1, y = (i + 1) * (o - 1) + a, b = (i + 1) * o + a; s.push(g, v, b), s.push(v, y, b); } this.setIndex(s), this.setAttribute('position', new Br(c, 3)), this.setAttribute('normal', new Br(l, 3)), this.setAttribute('uv', new Br(u, 2)); } (Vc.prototype = Object.assign(Object.create(Di.prototype), { constructor: Vc, isPoints: !0, raycast: function (t, e) { var n = this.geometry, i = this.matrixWorld, r = t.params.Points.threshold; if ((null === n.boundingSphere && n.computeBoundingSphere(), Nc.copy(n.boundingSphere), Nc.applyMatrix4(i), (Nc.radius += r), !1 !== t.ray.intersectsSphere(Nc))) { Rc.getInverse(i), Lc.copy(t.ray).applyMatrix4(Rc); var o = r / ((this.scale.x + this.scale.y + this.scale.z) / 3), a = o * o; if (n.isBufferGeometry) { var s = n.index, c = n.attributes.position.array; if (null !== s) for (var l = s.array, u = 0, d = l.length; u < d; u++) { var p = l[u]; jc.fromArray(c, 3 * p), Fc(jc, p, a, i, t, e, this); } else { u = 0; for (var h = c.length / 3; u < h; u++) jc.fromArray(c, 3 * u), Fc(jc, u, a, i, t, e, this); } } else { var f = n.vertices; for (u = 0, h = f.length; u < h; u++) Fc(f[u], u, a, i, t, e, this); } } }, updateMorphTargets: function () { var t, e, n, i = this.geometry; if (i.isBufferGeometry) { var r = i.morphAttributes, o = Object.keys(r); if (o.length > 0) { var a = r[o[0]]; if (void 0 !== a) for (this.morphTargetInfluences = [], this.morphTargetDictionary = {}, t = 0, e = a.length; t < e; t++) (n = a[t].name || String(t)), this.morphTargetInfluences.push(0), (this.morphTargetDictionary[n] = t); } } else { var s = i.morphTargets; void 0 !== s && s.length > 0 && console.error('THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.'); } }, clone: function () { return new this.constructor(this.geometry, this.material).copy(this); }, })), (Uc.prototype = Object.assign(Object.create(ti.prototype), { constructor: Uc, isVideoTexture: !0, update: function () { var t = this.image; t.readyState >= t.HAVE_CURRENT_DATA && (this.needsUpdate = !0); }, })), (Bc.prototype = Object.create(ti.prototype)), (Bc.prototype.constructor = Bc), (Bc.prototype.isCompressedTexture = !0), (zc.prototype = Object.create(ti.prototype)), (zc.prototype.constructor = zc), (zc.prototype.isCanvasTexture = !0), (Gc.prototype = Object.create(ti.prototype)), (Gc.prototype.constructor = Gc), (Gc.prototype.isDepthTexture = !0), (Hc.prototype = Object.create(Qr.prototype)), (Hc.prototype.constructor = Hc), (Wc.prototype = Object.create(Eo.prototype)), (Wc.prototype.constructor = Wc), (qc.prototype = Object.create(Qr.prototype)), (qc.prototype.constructor = qc), (Xc.prototype = Object.create(Eo.prototype)), (Xc.prototype.constructor = Xc), (Yc.prototype = Object.create(Qr.prototype)), (Yc.prototype.constructor = Yc), (Kc.prototype = Object.create(Eo.prototype)), (Kc.prototype.constructor = Kc), (Zc.prototype = Object.create(Yc.prototype)), (Zc.prototype.constructor = Zc), (Jc.prototype = Object.create(Eo.prototype)), (Jc.prototype.constructor = Jc), (Qc.prototype = Object.create(Yc.prototype)), (Qc.prototype.constructor = Qc), ($c.prototype = Object.create(Eo.prototype)), ($c.prototype.constructor = $c), (tl.prototype = Object.create(Yc.prototype)), (tl.prototype.constructor = tl), (el.prototype = Object.create(Eo.prototype)), (el.prototype.constructor = el), (nl.prototype = Object.create(Yc.prototype)), (nl.prototype.constructor = nl), (il.prototype = Object.create(Eo.prototype)), (il.prototype.constructor = il), (rl.prototype = Object.create(Qr.prototype)), (rl.prototype.constructor = rl), (rl.prototype.toJSON = function () { var t = Qr.prototype.toJSON.call(this); return (t.path = this.parameters.path.toJSON()), t; }), (ol.prototype = Object.create(Eo.prototype)), (ol.prototype.constructor = ol), (al.prototype = Object.create(Qr.prototype)), (al.prototype.constructor = al), (sl.prototype = Object.create(Eo.prototype)), (sl.prototype.constructor = sl), (cl.prototype = Object.create(Qr.prototype)), (cl.prototype.constructor = cl); var ll = function (t, e, n) { n = n || 2; var i, r, o, a, s, c, l, u = e && e.length, d = u ? e[0] * n : t.length, p = ul(t, 0, d, n, !0), h = []; if (!p || p.next === p.prev) return h; if ( (u && (p = (function (t, e, n, i) { var r, o, a, s, c, l = []; for (r = 0, o = e.length; r < o; r++) (a = e[r] * i), (s = r < o - 1 ? e[r + 1] * i : t.length), (c = ul(t, a, s, i, !1)) === c.next && (c.steiner = !0), l.push(wl(c)); for (l.sort(vl), r = 0; r < l.length; r++) yl(l[r], n), (n = dl(n, n.next)); return n; })(t, e, p, n)), t.length > 80 * n) ) { (i = o = t[0]), (r = a = t[1]); for (var f = n; f < d; f += n) (s = t[f]) < i && (i = s), (c = t[f + 1]) < r && (r = c), s > o && (o = s), c > a && (a = c); l = 0 !== (l = Math.max(o - i, a - r)) ? 1 / l : 0; } return pl(p, h, n, i, r, l), h; }; function ul(t, e, n, i, r) { var o, a; if ( r === (function (t, e, n, i) { for (var r = 0, o = e, a = n - i; o < n; o += i) (r += (t[a] - t[o]) * (t[o + 1] + t[a + 1])), (a = o); return r; })(t, e, n, i) > 0 ) for (o = e; o < n; o += i) a = Ol(o, t[o], t[o + 1], a); else for (o = n - i; o >= e; o -= i) a = Ol(o, t[o], t[o + 1], a); return a && El(a, a.next) && (_l(a), (a = a.next)), a; } function dl(t, e) { if (!t) return t; e || (e = t); var n, i = t; do { if (((n = !1), i.steiner || (!El(i, i.next) && 0 !== Ml(i.prev, i, i.next)))) i = i.next; else { if ((_l(i), (i = e = i.prev) === i.next)) break; n = !0; } } while (n || i !== e); return e; } function pl(t, e, n, i, r, o, a) { if (t) { !a && o && (function (t, e, n, i) { var r = t; do { null === r.z && (r.z = bl(r.x, r.y, e, n, i)), (r.prevZ = r.prev), (r.nextZ = r.next), (r = r.next); } while (r !== t); (r.prevZ.nextZ = null), (r.prevZ = null), (function (t) { var e, n, i, r, o, a, s, c, l = 1; do { for (n = t, t = null, o = null, a = 0; n; ) { for (a++, i = n, s = 0, e = 0; e < l && (s++, (i = i.nextZ)); e++); for (c = l; s > 0 || (c > 0 && i); ) 0 !== s && (0 === c || !i || n.z <= i.z) ? ((r = n), (n = n.nextZ), s--) : ((r = i), (i = i.nextZ), c--), o ? (o.nextZ = r) : (t = r), (r.prevZ = o), (o = r); n = i; } (o.nextZ = null), (l *= 2); } while (a > 1); })(r); })(t, i, r, o); for (var s, c, l = t; t.prev !== t.next; ) if (((s = t.prev), (c = t.next), o ? fl(t, i, r, o) : hl(t))) e.push(s.i / n), e.push(t.i / n), e.push(c.i / n), _l(t), (t = c.next), (l = c.next); else if ((t = c) === l) { a ? (1 === a ? pl((t = ml(t, e, n)), e, n, i, r, o, 2) : 2 === a && gl(t, e, n, i, r, o)) : pl(dl(t), e, n, i, r, o, 1); break; } } } function hl(t) { var e = t.prev, n = t, i = t.next; if (Ml(e, n, i) >= 0) return !1; for (var r = t.next.next; r !== t.prev; ) { if (Sl(e.x, e.y, n.x, n.y, i.x, i.y, r.x, r.y) && Ml(r.prev, r, r.next) >= 0) return !1; r = r.next; } return !0; } function fl(t, e, n, i) { var r = t.prev, o = t, a = t.next; if (Ml(r, o, a) >= 0) return !1; for ( var s = r.x < o.x ? (r.x < a.x ? r.x : a.x) : o.x < a.x ? o.x : a.x, c = r.y < o.y ? (r.y < a.y ? r.y : a.y) : o.y < a.y ? o.y : a.y, l = r.x > o.x ? (r.x > a.x ? r.x : a.x) : o.x > a.x ? o.x : a.x, u = r.y > o.y ? (r.y > a.y ? r.y : a.y) : o.y > a.y ? o.y : a.y, d = bl(s, c, e, n, i), p = bl(l, u, e, n, i), h = t.prevZ, f = t.nextZ; h && h.z >= d && f && f.z <= p; ) { if (h !== t.prev && h !== t.next && Sl(r.x, r.y, o.x, o.y, a.x, a.y, h.x, h.y) && Ml(h.prev, h, h.next) >= 0) return !1; if (((h = h.prevZ), f !== t.prev && f !== t.next && Sl(r.x, r.y, o.x, o.y, a.x, a.y, f.x, f.y) && Ml(f.prev, f, f.next) >= 0)) return !1; f = f.nextZ; } for (; h && h.z >= d; ) { if (h !== t.prev && h !== t.next && Sl(r.x, r.y, o.x, o.y, a.x, a.y, h.x, h.y) && Ml(h.prev, h, h.next) >= 0) return !1; h = h.prevZ; } for (; f && f.z <= p; ) { if (f !== t.prev && f !== t.next && Sl(r.x, r.y, o.x, o.y, a.x, a.y, f.x, f.y) && Ml(f.prev, f, f.next) >= 0) return !1; f = f.nextZ; } return !0; } function ml(t, e, n) { var i = t; do { var r = i.prev, o = i.next.next; !El(r, o) && Cl(r, i, i.next, o) && Al(r, o) && Al(o, r) && (e.push(r.i / n), e.push(i.i / n), e.push(o.i / n), _l(i), _l(i.next), (i = t = o)), (i = i.next); } while (i !== t); return i; } function gl(t, e, n, i, r, o) { var a = t; do { for (var s = a.next.next; s !== a.prev; ) { if (a.i !== s.i && xl(a, s)) { var c = Tl(a, s); return (a = dl(a, a.next)), (c = dl(c, c.next)), pl(a, e, n, i, r, o), void pl(c, e, n, i, r, o); } s = s.next; } a = a.next; } while (a !== t); } function vl(t, e) { return t.x - e.x; } function yl(t, e) { if ( (e = (function (t, e) { var n, i = e, r = t.x, o = t.y, a = -1 / 0; do { if (o <= i.y && o >= i.next.y && i.next.y !== i.y) { var s = i.x + ((o - i.y) * (i.next.x - i.x)) / (i.next.y - i.y); if (s <= r && s > a) { if (((a = s), s === r)) { if (o === i.y) return i; if (o === i.next.y) return i.next; } n = i.x < i.next.x ? i : i.next; } } i = i.next; } while (i !== e); if (!n) return null; if (r === a) return n.prev; var c, l = n, u = n.x, d = n.y, p = 1 / 0; i = n.next; for (; i !== l; ) r >= i.x && i.x >= u && r !== i.x && Sl(o < d ? r : a, o, u, d, o < d ? a : r, o, i.x, i.y) && ((c = Math.abs(o - i.y) / (r - i.x)) < p || (c === p && i.x > n.x)) && Al(i, t) && ((n = i), (p = c)), (i = i.next); return n; })(t, e)) ) { var n = Tl(e, t); dl(n, n.next); } } function bl(t, e, n, i, r) { return ( (t = 1431655765 & ((t = 858993459 & ((t = 252645135 & ((t = 16711935 & ((t = 32767 * (t - n) * r) | (t << 8))) | (t << 4))) | (t << 2))) | (t << 1))) | ((e = 1431655765 & ((e = 858993459 & ((e = 252645135 & ((e = 16711935 & ((e = 32767 * (e - i) * r) | (e << 8))) | (e << 4))) | (e << 2))) | (e << 1))) << 1) ); } function wl(t) { var e = t, n = t; do { (e.x < n.x || (e.x === n.x && e.y < n.y)) && (n = e), (e = e.next); } while (e !== t); return n; } function Sl(t, e, n, i, r, o, a, s) { return (r - a) * (e - s) - (t - a) * (o - s) >= 0 && (t - a) * (i - s) - (n - a) * (e - s) >= 0 && (n - a) * (o - s) - (r - a) * (i - s) >= 0; } function xl(t, e) { return ( t.next.i !== e.i && t.prev.i !== e.i && !(function (t, e) { var n = t; do { if (n.i !== t.i && n.next.i !== t.i && n.i !== e.i && n.next.i !== e.i && Cl(n, n.next, t, e)) return !0; n = n.next; } while (n !== t); return !1; })(t, e) && Al(t, e) && Al(e, t) && (function (t, e) { var n = t, i = !1, r = (t.x + e.x) / 2, o = (t.y + e.y) / 2; do { n.y > o != n.next.y > o && n.next.y !== n.y && r < ((n.next.x - n.x) * (o - n.y)) / (n.next.y - n.y) + n.x && (i = !i), (n = n.next); } while (n !== t); return i; })(t, e) ); } function Ml(t, e, n) { return (e.y - t.y) * (n.x - e.x) - (e.x - t.x) * (n.y - e.y); } function El(t, e) { return t.x === e.x && t.y === e.y; } function Cl(t, e, n, i) { return !!((El(t, n) && El(e, i)) || (El(t, i) && El(n, e))) || (Ml(t, e, n) > 0 != Ml(t, e, i) > 0 && Ml(n, i, t) > 0 != Ml(n, i, e) > 0); } function Al(t, e) { return Ml(t.prev, t, t.next) < 0 ? Ml(t, e, t.next) >= 0 && Ml(t, t.prev, e) >= 0 : Ml(t, e, t.prev) < 0 || Ml(t, t.next, e) < 0; } function Tl(t, e) { var n = new Pl(t.i, t.x, t.y), i = new Pl(e.i, e.x, e.y), r = t.next, o = e.prev; return (t.next = e), (e.prev = t), (n.next = r), (r.prev = n), (i.next = n), (n.prev = i), (o.next = i), (i.prev = o), i; } function Ol(t, e, n, i) { var r = new Pl(t, e, n); return i ? ((r.next = i.next), (r.prev = i), (i.next.prev = r), (i.next = r)) : ((r.prev = r), (r.next = r)), r; } function _l(t) { (t.next.prev = t.prev), (t.prev.next = t.next), t.prevZ && (t.prevZ.nextZ = t.nextZ), t.nextZ && (t.nextZ.prevZ = t.prevZ); } function Pl(t, e, n) { (this.i = t), (this.x = e), (this.y = n), (this.prev = null), (this.next = null), (this.z = null), (this.prevZ = null), (this.nextZ = null), (this.steiner = !1); } var Il = { area: function (t) { for (var e = t.length, n = 0, i = e - 1, r = 0; r < e; i = r++) n += t[i].x * t[r].y - t[r].x * t[i].y; return 0.5 * n; }, isClockWise: function (t) { return Il.area(t) < 0; }, triangulateShape: function (t, e) { var n = [], i = [], r = []; kl(t), Dl(n, t); var o = t.length; e.forEach(kl); for (var a = 0; a < e.length; a++) i.push(o), (o += e[a].length), Dl(n, e[a]); var s = ll(n, i); for (a = 0; a < s.length; a += 3) r.push(s.slice(a, a + 3)); return r; }, }; function kl(t) { var e = t.length; e > 2 && t[e - 1].equals(t[0]) && t.pop(); } function Dl(t, e) { for (var n = 0; n < e.length; n++) t.push(e[n].x), t.push(e[n].y); } function Rl(t, e) { Eo.call(this), (this.type = 'ExtrudeGeometry'), (this.parameters = { shapes: t, options: e, }), this.fromBufferGeometry(new Ll(t, e)), this.mergeVertices(); } function Ll(t, e) { Qr.call(this), (this.type = 'ExtrudeBufferGeometry'), (this.parameters = { shapes: t, options: e, }), (t = Array.isArray(t) ? t : [t]); for (var n = this, i = [], r = [], o = 0, a = t.length; o < a; o++) { s(t[o]); } function s(t) { var o = [], a = void 0 !== e.curveSegments ? e.curveSegments : 12, s = void 0 !== e.steps ? e.steps : 1, c = void 0 !== e.depth ? e.depth : 100, l = void 0 === e.bevelEnabled || e.bevelEnabled, u = void 0 !== e.bevelThickness ? e.bevelThickness : 6, d = void 0 !== e.bevelSize ? e.bevelSize : u - 2, p = void 0 !== e.bevelOffset ? e.bevelOffset : 0, h = void 0 !== e.bevelSegments ? e.bevelSegments : 3, f = e.extrudePath, m = void 0 !== e.UVGenerator ? e.UVGenerator : Nl; void 0 !== e.amount && (console.warn('THREE.ExtrudeBufferGeometry: amount has been renamed to depth.'), (c = e.amount)); var g, v, y, b, w, S, x, M, E = !1; f && ((g = f.getSpacedPoints(s)), (E = !0), (l = !1), (v = f.computeFrenetFrames(s, !1)), (y = new si()), (b = new si()), (w = new si())), l || ((h = 0), (u = 0), (d = 0), (p = 0)); var C = t.extractPoints(a), A = C.shape, T = C.holes; if (!Il.isClockWise(A)) for (A = A.reverse(), x = 0, M = T.length; x < M; x++) (S = T[x]), Il.isClockWise(S) && (T[x] = S.reverse()); var O = Il.triangulateShape(A, T), _ = A; for (x = 0, M = T.length; x < M; x++) (S = T[x]), (A = A.concat(S)); function P(t, e, n) { return e || console.error('THREE.ExtrudeGeometry: vec does not exist'), e.clone().multiplyScalar(n).add(t); } var I, k, D, R, L, N, j = A.length, V = O.length; function F(t, e, n) { var i, r, o, a = t.x - e.x, s = t.y - e.y, c = n.x - t.x, l = n.y - t.y, u = a * a + s * s, d = a * l - s * c; if (Math.abs(d) > Number.EPSILON) { var p = Math.sqrt(u), h = Math.sqrt(c * c + l * l), f = e.x - s / p, m = e.y + a / p, g = ((n.x - l / h - f) * l - (n.y + c / h - m) * c) / (a * l - s * c), v = (i = f + a * g - t.x) * i + (r = m + s * g - t.y) * r; if (v <= 2) return new Zn(i, r); o = Math.sqrt(v / 2); } else { var y = !1; a > Number.EPSILON ? c > Number.EPSILON && (y = !0) : a < -Number.EPSILON ? c < -Number.EPSILON && (y = !0) : Math.sign(s) === Math.sign(l) && (y = !0), y ? ((i = -s), (r = a), (o = Math.sqrt(u))) : ((i = a), (r = s), (o = Math.sqrt(u / 2))); } return new Zn(i / o, r / o); } for (var U = [], B = 0, z = _.length, G = z - 1, H = B + 1; B < z; B++, G++, H++) G === z && (G = 0), H === z && (H = 0), (U[B] = F(_[B], _[G], _[H])); var W, q, X = [], Y = U.concat(); for (x = 0, M = T.length; x < M; x++) { for (S = T[x], W = [], B = 0, G = (z = S.length) - 1, H = B + 1; B < z; B++, G++, H++) G === z && (G = 0), H === z && (H = 0), (W[B] = F(S[B], S[G], S[H])); X.push(W), (Y = Y.concat(W)); } for (I = 0; I < h; I++) { for (D = I / h, R = u * Math.cos((D * Math.PI) / 2), k = d * Math.sin((D * Math.PI) / 2) + p, B = 0, z = _.length; B < z; B++) Z((L = P(_[B], U[B], k)).x, L.y, -R); for (x = 0, M = T.length; x < M; x++) for (S = T[x], W = X[x], B = 0, z = S.length; B < z; B++) Z((L = P(S[B], W[B], k)).x, L.y, -R); } for (k = d + p, B = 0; B < j; B++) (L = l ? P(A[B], Y[B], k) : A[B]), E ? (b.copy(v.normals[0]).multiplyScalar(L.x), y.copy(v.binormals[0]).multiplyScalar(L.y), w.copy(g[0]).add(b).add(y), Z(w.x, w.y, w.z)) : Z(L.x, L.y, 0); for (q = 1; q <= s; q++) for (B = 0; B < j; B++) (L = l ? P(A[B], Y[B], k) : A[B]), E ? (b.copy(v.normals[q]).multiplyScalar(L.x), y.copy(v.binormals[q]).multiplyScalar(L.y), w.copy(g[q]).add(b).add(y), Z(w.x, w.y, w.z)) : Z(L.x, L.y, (c / s) * q); for (I = h - 1; I >= 0; I--) { for (D = I / h, R = u * Math.cos((D * Math.PI) / 2), k = d * Math.sin((D * Math.PI) / 2) + p, B = 0, z = _.length; B < z; B++) Z((L = P(_[B], U[B], k)).x, L.y, c + R); for (x = 0, M = T.length; x < M; x++) for (S = T[x], W = X[x], B = 0, z = S.length; B < z; B++) (L = P(S[B], W[B], k)), E ? Z(L.x, L.y + g[s - 1].y, g[s - 1].x + R) : Z(L.x, L.y, c + R); } function K(t, e) { var n, i; for (B = t.length; --B >= 0; ) { (n = B), (i = B - 1) < 0 && (i = t.length - 1); var r = 0, o = s + 2 * h; for (r = 0; r < o; r++) { var a = j * r, c = j * (r + 1); Q(e + n + a, e + i + a, e + i + c, e + n + c); } } } function Z(t, e, n) { o.push(t), o.push(e), o.push(n); } function J(t, e, r) { $(t), $(e), $(r); var o = i.length / 3, a = m.generateTopUV(n, i, o - 3, o - 2, o - 1); tt(a[0]), tt(a[1]), tt(a[2]); } function Q(t, e, r, o) { $(t), $(e), $(o), $(e), $(r), $(o); var a = i.length / 3, s = m.generateSideWallUV(n, i, a - 6, a - 3, a - 2, a - 1); tt(s[0]), tt(s[1]), tt(s[3]), tt(s[1]), tt(s[2]), tt(s[3]); } function $(t) { i.push(o[3 * t + 0]), i.push(o[3 * t + 1]), i.push(o[3 * t + 2]); } function tt(t) { r.push(t.x), r.push(t.y); } !(function () { var t = i.length / 3; if (l) { var e = 0, r = j * e; for (B = 0; B < V; B++) J((N = O[B])[2] + r, N[1] + r, N[0] + r); for (r = j * (e = s + 2 * h), B = 0; B < V; B++) J((N = O[B])[0] + r, N[1] + r, N[2] + r); } else { for (B = 0; B < V; B++) J((N = O[B])[2], N[1], N[0]); for (B = 0; B < V; B++) J((N = O[B])[0] + j * s, N[1] + j * s, N[2] + j * s); } n.addGroup(t, i.length / 3 - t, 0); })(), (function () { var t = i.length / 3, e = 0; for (K(_, e), e += _.length, x = 0, M = T.length; x < M; x++) K((S = T[x]), e), (e += S.length); n.addGroup(t, i.length / 3 - t, 1); })(); } this.setAttribute('position', new Br(i, 3)), this.setAttribute('uv', new Br(r, 2)), this.computeVertexNormals(); } (Rl.prototype = Object.create(Eo.prototype)), (Rl.prototype.constructor = Rl), (Rl.prototype.toJSON = function () { var t = Eo.prototype.toJSON.call(this); return jl(this.parameters.shapes, this.parameters.options, t); }), (Ll.prototype = Object.create(Qr.prototype)), (Ll.prototype.constructor = Ll), (Ll.prototype.toJSON = function () { var t = Qr.prototype.toJSON.call(this); return jl(this.parameters.shapes, this.parameters.options, t); }); var Nl = { generateTopUV: function (t, e, n, i, r) { var o = e[3 * n], a = e[3 * n + 1], s = e[3 * i], c = e[3 * i + 1], l = e[3 * r], u = e[3 * r + 1]; return [new Zn(o, a), new Zn(s, c), new Zn(l, u)]; }, generateSideWallUV: function (t, e, n, i, r, o) { var a = e[3 * n], s = e[3 * n + 1], c = e[3 * n + 2], l = e[3 * i], u = e[3 * i + 1], d = e[3 * i + 2], p = e[3 * r], h = e[3 * r + 1], f = e[3 * r + 2], m = e[3 * o], g = e[3 * o + 1], v = e[3 * o + 2]; return Math.abs(s - u) < 0.01 ? [new Zn(a, 1 - c), new Zn(l, 1 - d), new Zn(p, 1 - f), new Zn(m, 1 - v)] : [new Zn(s, 1 - c), new Zn(u, 1 - d), new Zn(h, 1 - f), new Zn(g, 1 - v)]; }, }; function jl(t, e, n) { if (((n.shapes = []), Array.isArray(t))) for (var i = 0, r = t.length; i < r; i++) { var o = t[i]; n.shapes.push(o.uuid); } else n.shapes.push(t.uuid); return void 0 !== e.extrudePath && (n.options.extrudePath = e.extrudePath.toJSON()), n; } function Vl(t, e) { Eo.call(this), (this.type = 'TextGeometry'), (this.parameters = { text: t, parameters: e, }), this.fromBufferGeometry(new Fl(t, e)), this.mergeVertices(); } function Fl(t, e) { var n = (e = e || {}).font; if (!n || !n.isFont) return console.error('THREE.TextGeometry: font parameter is not an instance of THREE.Font.'), new Eo(); var i = n.generateShapes(t, e.size); (e.depth = void 0 !== e.height ? e.height : 50), void 0 === e.bevelThickness && (e.bevelThickness = 10), void 0 === e.bevelSize && (e.bevelSize = 8), void 0 === e.bevelEnabled && (e.bevelEnabled = !1), Ll.call(this, i, e), (this.type = 'TextBufferGeometry'); } function Ul(t, e, n, i, r, o, a) { Eo.call(this), (this.type = 'SphereGeometry'), (this.parameters = { radius: t, widthSegments: e, heightSegments: n, phiStart: i, phiLength: r, thetaStart: o, thetaLength: a, }), this.fromBufferGeometry(new Bl(t, e, n, i, r, o, a)), this.mergeVertices(); } function Bl(t, e, n, i, r, o, a) { Qr.call(this), (this.type = 'SphereBufferGeometry'), (this.parameters = { radius: t, widthSegments: e, heightSegments: n, phiStart: i, phiLength: r, thetaStart: o, thetaLength: a, }), (t = t || 1), (e = Math.max(3, Math.floor(e) || 8)), (n = Math.max(2, Math.floor(n) || 6)), (i = void 0 !== i ? i : 0), (r = void 0 !== r ? r : 2 * Math.PI), (o = void 0 !== o ? o : 0), (a = void 0 !== a ? a : Math.PI); var s, c, l = Math.min(o + a, Math.PI), u = 0, d = [], p = new si(), h = new si(), f = [], m = [], g = [], v = []; for (c = 0; c <= n; c++) { var y = [], b = c / n, w = 0; for (0 == c && 0 == o ? (w = 0.5 / e) : c == n && l == Math.PI && (w = -0.5 / e), s = 0; s <= e; s++) { var S = s / e; (p.x = -t * Math.cos(i + S * r) * Math.sin(o + b * a)), (p.y = t * Math.cos(o + b * a)), (p.z = t * Math.sin(i + S * r) * Math.sin(o + b * a)), m.push(p.x, p.y, p.z), h.copy(p).normalize(), g.push(h.x, h.y, h.z), v.push(S + w, 1 - b), y.push(u++); } d.push(y); } for (c = 0; c < n; c++) for (s = 0; s < e; s++) { var x = d[c][s + 1], M = d[c][s], E = d[c + 1][s], C = d[c + 1][s + 1]; (0 !== c || o > 0) && f.push(x, M, C), (c !== n - 1 || l < Math.PI) && f.push(M, E, C); } this.setIndex(f), this.setAttribute('position', new Br(m, 3)), this.setAttribute('normal', new Br(g, 3)), this.setAttribute('uv', new Br(v, 2)); } function zl(t, e, n, i, r, o) { Eo.call(this), (this.type = 'RingGeometry'), (this.parameters = { innerRadius: t, outerRadius: e, thetaSegments: n, phiSegments: i, thetaStart: r, thetaLength: o, }), this.fromBufferGeometry(new Gl(t, e, n, i, r, o)), this.mergeVertices(); } function Gl(t, e, n, i, r, o) { Qr.call(this), (this.type = 'RingBufferGeometry'), (this.parameters = { innerRadius: t, outerRadius: e, thetaSegments: n, phiSegments: i, thetaStart: r, thetaLength: o, }), (t = t || 0.5), (e = e || 1), (r = void 0 !== r ? r : 0), (o = void 0 !== o ? o : 2 * Math.PI), (n = void 0 !== n ? Math.max(3, n) : 8); var a, s, c, l = [], u = [], d = [], p = [], h = t, f = (e - t) / (i = void 0 !== i ? Math.max(1, i) : 1), m = new si(), g = new Zn(); for (s = 0; s <= i; s++) { for (c = 0; c <= n; c++) (a = r + (c / n) * o), (m.x = h * Math.cos(a)), (m.y = h * Math.sin(a)), u.push(m.x, m.y, m.z), d.push(0, 0, 1), (g.x = (m.x / e + 1) / 2), (g.y = (m.y / e + 1) / 2), p.push(g.x, g.y); h += f; } for (s = 0; s < i; s++) { var v = s * (n + 1); for (c = 0; c < n; c++) { var y = (a = c + v), b = a + n + 1, w = a + n + 2, S = a + 1; l.push(y, b, S), l.push(b, w, S); } } this.setIndex(l), this.setAttribute('position', new Br(u, 3)), this.setAttribute('normal', new Br(d, 3)), this.setAttribute('uv', new Br(p, 2)); } function Hl(t, e, n, i) { Eo.call(this), (this.type = 'LatheGeometry'), (this.parameters = { points: t, segments: e, phiStart: n, phiLength: i, }), this.fromBufferGeometry(new Wl(t, e, n, i)), this.mergeVertices(); } function Wl(t, e, n, i) { Qr.call(this), (this.type = 'LatheBufferGeometry'), (this.parameters = { points: t, segments: e, phiStart: n, phiLength: i, }), (e = Math.floor(e) || 12), (n = n || 0), (i = i || 2 * Math.PI), (i = Kn.clamp(i, 0, 2 * Math.PI)); var r, o, a, s = [], c = [], l = [], u = 1 / e, d = new si(), p = new Zn(); for (o = 0; o <= e; o++) { var h = n + o * u * i, f = Math.sin(h), m = Math.cos(h); for (a = 0; a <= t.length - 1; a++) (d.x = t[a].x * f), (d.y = t[a].y), (d.z = t[a].x * m), c.push(d.x, d.y, d.z), (p.x = o / e), (p.y = a / (t.length - 1)), l.push(p.x, p.y); } for (o = 0; o < e; o++) for (a = 0; a < t.length - 1; a++) { var g = (r = a + o * t.length), v = r + t.length, y = r + t.length + 1, b = r + 1; s.push(g, v, b), s.push(v, y, b); } if ((this.setIndex(s), this.setAttribute('position', new Br(c, 3)), this.setAttribute('uv', new Br(l, 2)), this.computeVertexNormals(), i === 2 * Math.PI)) { var w = this.attributes.normal.array, S = new si(), x = new si(), M = new si(); for (r = e * t.length * 3, o = 0, a = 0; o < t.length; o++, a += 3) (S.x = w[a + 0]), (S.y = w[a + 1]), (S.z = w[a + 2]), (x.x = w[r + a + 0]), (x.y = w[r + a + 1]), (x.z = w[r + a + 2]), M.addVectors(S, x).normalize(), (w[a + 0] = w[r + a + 0] = M.x), (w[a + 1] = w[r + a + 1] = M.y), (w[a + 2] = w[r + a + 2] = M.z); } } function ql(t, e) { Eo.call(this), (this.type = 'ShapeGeometry'), 'object' === o(e) && (console.warn('THREE.ShapeGeometry: Options parameter has been removed.'), (e = e.curveSegments)), (this.parameters = { shapes: t, curveSegments: e, }), this.fromBufferGeometry(new Xl(t, e)), this.mergeVertices(); } function Xl(t, e) { Qr.call(this), (this.type = 'ShapeBufferGeometry'), (this.parameters = { shapes: t, curveSegments: e, }), (e = e || 12); var n = [], i = [], r = [], o = [], a = 0, s = 0; if (!1 === Array.isArray(t)) l(t); else for (var c = 0; c < t.length; c++) l(t[c]), this.addGroup(a, s, c), (a += s), (s = 0); function l(t) { var a, c, l, u = i.length / 3, d = t.extractPoints(e), p = d.shape, h = d.holes; for (!1 === Il.isClockWise(p) && (p = p.reverse()), a = 0, c = h.length; a < c; a++) (l = h[a]), !0 === Il.isClockWise(l) && (h[a] = l.reverse()); var f = Il.triangulateShape(p, h); for (a = 0, c = h.length; a < c; a++) (l = h[a]), (p = p.concat(l)); for (a = 0, c = p.length; a < c; a++) { var m = p[a]; i.push(m.x, m.y, 0), r.push(0, 0, 1), o.push(m.x, m.y); } for (a = 0, c = f.length; a < c; a++) { var g = f[a], v = g[0] + u, y = g[1] + u, b = g[2] + u; n.push(v, y, b), (s += 3); } } this.setIndex(n), this.setAttribute('position', new Br(i, 3)), this.setAttribute('normal', new Br(r, 3)), this.setAttribute('uv', new Br(o, 2)); } function Yl(t, e) { if (((e.shapes = []), Array.isArray(t))) for (var n = 0, i = t.length; n < i; n++) { var r = t[n]; e.shapes.push(r.uuid); } else e.shapes.push(t.uuid); return e; } function Kl(t, e) { Qr.call(this), (this.type = 'EdgesGeometry'), (this.parameters = { thresholdAngle: e, }), (e = void 0 !== e ? e : 1); var n, i, r, o, a = [], s = Math.cos(Kn.DEG2RAD * e), c = [0, 0], l = {}, u = ['a', 'b', 'c']; t.isBufferGeometry ? (o = new Eo()).fromBufferGeometry(t) : (o = t.clone()), o.mergeVertices(), o.computeFaceNormals(); for (var d = o.vertices, p = o.faces, h = 0, f = p.length; h < f; h++) for (var m = p[h], g = 0; g < 3; g++) (n = m[u[g]]), (i = m[u[(g + 1) % 3]]), (c[0] = Math.min(n, i)), (c[1] = Math.max(n, i)), void 0 === l[(r = c[0] + ',' + c[1])] ? (l[r] = { index1: c[0], index2: c[1], face1: h, face2: void 0, }) : (l[r].face2 = h); for (r in l) { var v = l[r]; if (void 0 === v.face2 || p[v.face1].normal.dot(p[v.face2].normal) <= s) { var y = d[v.index1]; a.push(y.x, y.y, y.z), (y = d[v.index2]), a.push(y.x, y.y, y.z); } } this.setAttribute('position', new Br(a, 3)); } function Zl(t, e, n, i, r, o, a, s) { Eo.call(this), (this.type = 'CylinderGeometry'), (this.parameters = { radiusTop: t, radiusBottom: e, height: n, radialSegments: i, heightSegments: r, openEnded: o, thetaStart: a, thetaLength: s, }), this.fromBufferGeometry(new Jl(t, e, n, i, r, o, a, s)), this.mergeVertices(); } function Jl(t, e, n, i, r, o, a, s) { Qr.call(this), (this.type = 'CylinderBufferGeometry'), (this.parameters = { radiusTop: t, radiusBottom: e, height: n, radialSegments: i, heightSegments: r, openEnded: o, thetaStart: a, thetaLength: s, }); var c = this; (t = void 0 !== t ? t : 1), (e = void 0 !== e ? e : 1), (n = n || 1), (i = Math.floor(i) || 8), (r = Math.floor(r) || 1), (o = void 0 !== o && o), (a = void 0 !== a ? a : 0), (s = void 0 !== s ? s : 2 * Math.PI); var l = [], u = [], d = [], p = [], h = 0, f = [], m = n / 2, g = 0; function v(n) { var r, o, f, v = new Zn(), y = new si(), b = 0, w = !0 === n ? t : e, S = !0 === n ? 1 : -1; for (o = h, r = 1; r <= i; r++) u.push(0, m * S, 0), d.push(0, S, 0), p.push(0.5, 0.5), h++; for (f = h, r = 0; r <= i; r++) { var x = (r / i) * s + a, M = Math.cos(x), E = Math.sin(x); (y.x = w * E), (y.y = m * S), (y.z = w * M), u.push(y.x, y.y, y.z), d.push(0, S, 0), (v.x = 0.5 * M + 0.5), (v.y = 0.5 * E * S + 0.5), p.push(v.x, v.y), h++; } for (r = 0; r < i; r++) { var C = o + r, A = f + r; !0 === n ? l.push(A, A + 1, C) : l.push(A + 1, A, C), (b += 3); } c.addGroup(g, b, !0 === n ? 1 : 2), (g += b); } !(function () { var o, v, y = new si(), b = new si(), w = 0, S = (e - t) / n; for (v = 0; v <= r; v++) { var x = [], M = v / r, E = M * (e - t) + t; for (o = 0; o <= i; o++) { var C = o / i, A = C * s + a, T = Math.sin(A), O = Math.cos(A); (b.x = E * T), (b.y = -M * n + m), (b.z = E * O), u.push(b.x, b.y, b.z), y.set(T, S, O).normalize(), d.push(y.x, y.y, y.z), p.push(C, 1 - M), x.push(h++); } f.push(x); } for (o = 0; o < i; o++) for (v = 0; v < r; v++) { var _ = f[v][o], P = f[v + 1][o], I = f[v + 1][o + 1], k = f[v][o + 1]; l.push(_, P, k), l.push(P, I, k), (w += 6); } c.addGroup(g, w, 0), (g += w); })(), !1 === o && (t > 0 && v(!0), e > 0 && v(!1)), this.setIndex(l), this.setAttribute('position', new Br(u, 3)), this.setAttribute('normal', new Br(d, 3)), this.setAttribute('uv', new Br(p, 2)); } function Ql(t, e, n, i, r, o, a) { Zl.call(this, 0, t, e, n, i, r, o, a), (this.type = 'ConeGeometry'), (this.parameters = { radius: t, height: e, radialSegments: n, heightSegments: i, openEnded: r, thetaStart: o, thetaLength: a, }); } function $l(t, e, n, i, r, o, a) { Jl.call(this, 0, t, e, n, i, r, o, a), (this.type = 'ConeBufferGeometry'), (this.parameters = { radius: t, height: e, radialSegments: n, heightSegments: i, openEnded: r, thetaStart: o, thetaLength: a, }); } function tu(t, e, n, i) { Eo.call(this), (this.type = 'CircleGeometry'), (this.parameters = { radius: t, segments: e, thetaStart: n, thetaLength: i, }), this.fromBufferGeometry(new eu(t, e, n, i)), this.mergeVertices(); } function eu(t, e, n, i) { Qr.call(this), (this.type = 'CircleBufferGeometry'), (this.parameters = { radius: t, segments: e, thetaStart: n, thetaLength: i, }), (t = t || 1), (e = void 0 !== e ? Math.max(3, e) : 8), (n = void 0 !== n ? n : 0), (i = void 0 !== i ? i : 2 * Math.PI); var r, o, a = [], s = [], c = [], l = [], u = new si(), d = new Zn(); for (s.push(0, 0, 0), c.push(0, 0, 1), l.push(0.5, 0.5), o = 0, r = 3; o <= e; o++, r += 3) { var p = n + (o / e) * i; (u.x = t * Math.cos(p)), (u.y = t * Math.sin(p)), s.push(u.x, u.y, u.z), c.push(0, 0, 1), (d.x = (s[r] / t + 1) / 2), (d.y = (s[r + 1] / t + 1) / 2), l.push(d.x, d.y); } for (r = 1; r <= e; r++) a.push(r, r + 1, 0); this.setIndex(a), this.setAttribute('position', new Br(s, 3)), this.setAttribute('normal', new Br(c, 3)), this.setAttribute('uv', new Br(l, 2)); } (Vl.prototype = Object.create(Eo.prototype)), (Vl.prototype.constructor = Vl), (Fl.prototype = Object.create(Ll.prototype)), (Fl.prototype.constructor = Fl), (Ul.prototype = Object.create(Eo.prototype)), (Ul.prototype.constructor = Ul), (Bl.prototype = Object.create(Qr.prototype)), (Bl.prototype.constructor = Bl), (zl.prototype = Object.create(Eo.prototype)), (zl.prototype.constructor = zl), (Gl.prototype = Object.create(Qr.prototype)), (Gl.prototype.constructor = Gl), (Hl.prototype = Object.create(Eo.prototype)), (Hl.prototype.constructor = Hl), (Wl.prototype = Object.create(Qr.prototype)), (Wl.prototype.constructor = Wl), (ql.prototype = Object.create(Eo.prototype)), (ql.prototype.constructor = ql), (ql.prototype.toJSON = function () { var t = Eo.prototype.toJSON.call(this); return Yl(this.parameters.shapes, t); }), (Xl.prototype = Object.create(Qr.prototype)), (Xl.prototype.constructor = Xl), (Xl.prototype.toJSON = function () { var t = Qr.prototype.toJSON.call(this); return Yl(this.parameters.shapes, t); }), (Kl.prototype = Object.create(Qr.prototype)), (Kl.prototype.constructor = Kl), (Zl.prototype = Object.create(Eo.prototype)), (Zl.prototype.constructor = Zl), (Jl.prototype = Object.create(Qr.prototype)), (Jl.prototype.constructor = Jl), (Ql.prototype = Object.create(Zl.prototype)), (Ql.prototype.constructor = Ql), ($l.prototype = Object.create(Jl.prototype)), ($l.prototype.constructor = $l), (tu.prototype = Object.create(Eo.prototype)), (tu.prototype.constructor = tu), (eu.prototype = Object.create(Qr.prototype)), (eu.prototype.constructor = eu); var nu = Object.freeze({ __proto__: null, WireframeGeometry: Hc, ParametricGeometry: Wc, ParametricBufferGeometry: qc, TetrahedronGeometry: Kc, TetrahedronBufferGeometry: Zc, OctahedronGeometry: Jc, OctahedronBufferGeometry: Qc, IcosahedronGeometry: $c, IcosahedronBufferGeometry: tl, DodecahedronGeometry: el, DodecahedronBufferGeometry: nl, PolyhedronGeometry: Xc, PolyhedronBufferGeometry: Yc, TubeGeometry: il, TubeBufferGeometry: rl, TorusKnotGeometry: ol, TorusKnotBufferGeometry: al, TorusGeometry: sl, TorusBufferGeometry: cl, TextGeometry: Vl, TextBufferGeometry: Fl, SphereGeometry: Ul, SphereBufferGeometry: Bl, RingGeometry: zl, RingBufferGeometry: Gl, PlaneGeometry: zo, PlaneBufferGeometry: Go, LatheGeometry: Hl, LatheBufferGeometry: Wl, ShapeGeometry: ql, ShapeBufferGeometry: Xl, ExtrudeGeometry: Rl, ExtrudeBufferGeometry: Ll, EdgesGeometry: Kl, ConeGeometry: Ql, ConeBufferGeometry: $l, CylinderGeometry: Zl, CylinderBufferGeometry: Jl, CircleGeometry: tu, CircleBufferGeometry: eu, BoxGeometry: Co, BoxBufferGeometry: Ao, }); function iu(t) { Pr.call(this), (this.type = 'ShadowMaterial'), (this.color = new Er(0)), (this.transparent = !0), this.setValues(t); } function ru(t) { Po.call(this, t), (this.type = 'RawShaderMaterial'); } function ou(t) { Pr.call(this), (this.defines = { STANDARD: '', }), (this.type = 'MeshStandardMaterial'), (this.color = new Er(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 Er(0)), (this.emissiveIntensity = 1), (this.emissiveMap = null), (this.bumpMap = null), (this.bumpScale = 1), (this.normalMap = null), (this.normalMapType = yn), (this.normalScale = new Zn(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 = 0.98), (this.wireframe = !1), (this.wireframeLinewidth = 1), (this.wireframeLinecap = 'round'), (this.wireframeLinejoin = 'round'), (this.skinning = !1), (this.morphTargets = !1), (this.morphNormals = !1), (this.vertexTangents = !1), this.setValues(t); } function au(t) { ou.call(this), (this.defines = { STANDARD: '', PHYSICAL: '', }), (this.type = 'MeshPhysicalMaterial'), (this.clearcoat = 0), (this.clearcoatMap = null), (this.clearcoatRoughness = 0), (this.clearcoatRoughnessMap = null), (this.clearcoatNormalScale = new Zn(1, 1)), (this.clearcoatNormalMap = null), (this.reflectivity = 0.5), (this.sheen = null), (this.transparency = 0), this.setValues(t); } function su(t) { Pr.call(this), (this.type = 'MeshPhongMaterial'), (this.color = new Er(16777215)), (this.specular = new Er(1118481)), (this.shininess = 30), (this.map = null), (this.lightMap = null), (this.lightMapIntensity = 1), (this.aoMap = null), (this.aoMapIntensity = 1), (this.emissive = new Er(0)), (this.emissiveIntensity = 1), (this.emissiveMap = null), (this.bumpMap = null), (this.bumpScale = 1), (this.normalMap = null), (this.normalMapType = yn), (this.normalScale = new Zn(1, 1)), (this.displacementMap = null), (this.displacementScale = 1), (this.displacementBias = 0), (this.specularMap = null), (this.alphaMap = null), (this.envMap = null), (this.combine = st), (this.reflectivity = 1), (this.refractionRatio = 0.98), (this.wireframe = !1), (this.wireframeLinewidth = 1), (this.wireframeLinecap = 'round'), (this.wireframeLinejoin = 'round'), (this.skinning = !1), (this.morphTargets = !1), (this.morphNormals = !1), this.setValues(t); } function cu(t) { Pr.call(this), (this.defines = { TOON: '', }), (this.type = 'MeshToonMaterial'), (this.color = new Er(16777215)), (this.specular = new Er(1118481)), (this.shininess = 30), (this.map = null), (this.gradientMap = null), (this.lightMap = null), (this.lightMapIntensity = 1), (this.aoMap = null), (this.aoMapIntensity = 1), (this.emissive = new Er(0)), (this.emissiveIntensity = 1), (this.emissiveMap = null), (this.bumpMap = null), (this.bumpScale = 1), (this.normalMap = null), (this.normalMapType = yn), (this.normalScale = new Zn(1, 1)), (this.displacementMap = null), (this.displacementScale = 1), (this.displacementBias = 0), (this.specularMap = null), (this.alphaMap = null), (this.wireframe = !1), (this.wireframeLinewidth = 1), (this.wireframeLinecap = 'round'), (this.wireframeLinejoin = 'round'), (this.skinning = !1), (this.morphTargets = !1), (this.morphNormals = !1), this.setValues(t); } function lu(t) { Pr.call(this), (this.type = 'MeshNormalMaterial'), (this.bumpMap = null), (this.bumpScale = 1), (this.normalMap = null), (this.normalMapType = yn), (this.normalScale = new Zn(1, 1)), (this.displacementMap = null), (this.displacementScale = 1), (this.displacementBias = 0), (this.wireframe = !1), (this.wireframeLinewidth = 1), (this.fog = !1), (this.skinning = !1), (this.morphTargets = !1), (this.morphNormals = !1), this.setValues(t); } function uu(t) { Pr.call(this), (this.type = 'MeshLambertMaterial'), (this.color = new Er(16777215)), (this.map = null), (this.lightMap = null), (this.lightMapIntensity = 1), (this.aoMap = null), (this.aoMapIntensity = 1), (this.emissive = new Er(0)), (this.emissiveIntensity = 1), (this.emissiveMap = null), (this.specularMap = null), (this.alphaMap = null), (this.envMap = null), (this.combine = st), (this.reflectivity = 1), (this.refractionRatio = 0.98), (this.wireframe = !1), (this.wireframeLinewidth = 1), (this.wireframeLinecap = 'round'), (this.wireframeLinejoin = 'round'), (this.skinning = !1), (this.morphTargets = !1), (this.morphNormals = !1), this.setValues(t); } function du(t) { Pr.call(this), (this.defines = { MATCAP: '', }), (this.type = 'MeshMatcapMaterial'), (this.color = new Er(16777215)), (this.matcap = null), (this.map = null), (this.bumpMap = null), (this.bumpScale = 1), (this.normalMap = null), (this.normalMapType = yn), (this.normalScale = new Zn(1, 1)), (this.displacementMap = null), (this.displacementScale = 1), (this.displacementBias = 0), (this.alphaMap = null), (this.skinning = !1), (this.morphTargets = !1), (this.morphNormals = !1), this.setValues(t); } function pu(t) { xc.call(this), (this.type = 'LineDashedMaterial'), (this.scale = 1), (this.dashSize = 3), (this.gapSize = 1), this.setValues(t); } (iu.prototype = Object.create(Pr.prototype)), (iu.prototype.constructor = iu), (iu.prototype.isShadowMaterial = !0), (iu.prototype.copy = function (t) { return Pr.prototype.copy.call(this, t), this.color.copy(t.color), this; }), (ru.prototype = Object.create(Po.prototype)), (ru.prototype.constructor = ru), (ru.prototype.isRawShaderMaterial = !0), (ou.prototype = Object.create(Pr.prototype)), (ou.prototype.constructor = ou), (ou.prototype.isMeshStandardMaterial = !0), (ou.prototype.copy = function (t) { return ( Pr.prototype.copy.call(this, t), (this.defines = { STANDARD: '', }), this.color.copy(t.color), (this.roughness = t.roughness), (this.metalness = t.metalness), (this.map = t.map), (this.lightMap = t.lightMap), (this.lightMapIntensity = t.lightMapIntensity), (this.aoMap = t.aoMap), (this.aoMapIntensity = t.aoMapIntensity), this.emissive.copy(t.emissive), (this.emissiveMap = t.emissiveMap), (this.emissiveIntensity = t.emissiveIntensity), (this.bumpMap = t.bumpMap), (this.bumpScale = t.bumpScale), (this.normalMap = t.normalMap), (this.normalMapType = t.normalMapType), this.normalScale.copy(t.normalScale), (this.displacementMap = t.displacementMap), (this.displacementScale = t.displacementScale), (this.displacementBias = t.displacementBias), (this.roughnessMap = t.roughnessMap), (this.metalnessMap = t.metalnessMap), (this.alphaMap = t.alphaMap), (this.envMap = t.envMap), (this.envMapIntensity = t.envMapIntensity), (this.refractionRatio = t.refractionRatio), (this.wireframe = t.wireframe), (this.wireframeLinewidth = t.wireframeLinewidth), (this.wireframeLinecap = t.wireframeLinecap), (this.wireframeLinejoin = t.wireframeLinejoin), (this.skinning = t.skinning), (this.morphTargets = t.morphTargets), (this.morphNormals = t.morphNormals), (this.vertexTangents = t.vertexTangents), this ); }), (au.prototype = Object.create(ou.prototype)), (au.prototype.constructor = au), (au.prototype.isMeshPhysicalMaterial = !0), (au.prototype.copy = function (t) { return ( ou.prototype.copy.call(this, t), (this.defines = { STANDARD: '', PHYSICAL: '', }), (this.clearcoat = t.clearcoat), (this.clearcoatMap = t.clearcoatMap), (this.clearcoatRoughness = t.clearcoatRoughness), (this.clearcoatRoughnessMap = t.clearcoatRoughnessMap), (this.clearcoatNormalMap = t.clearcoatNormalMap), this.clearcoatNormalScale.copy(t.clearcoatNormalScale), (this.reflectivity = t.reflectivity), t.sheen ? (this.sheen = (this.sheen || new Er()).copy(t.sheen)) : (this.sheen = null), (this.transparency = t.transparency), this ); }), (su.prototype = Object.create(Pr.prototype)), (su.prototype.constructor = su), (su.prototype.isMeshPhongMaterial = !0), (su.prototype.copy = function (t) { return ( Pr.prototype.copy.call(this, t), this.color.copy(t.color), this.specular.copy(t.specular), (this.shininess = t.shininess), (this.map = t.map), (this.lightMap = t.lightMap), (this.lightMapIntensity = t.lightMapIntensity), (this.aoMap = t.aoMap), (this.aoMapIntensity = t.aoMapIntensity), this.emissive.copy(t.emissive), (this.emissiveMap = t.emissiveMap), (this.emissiveIntensity = t.emissiveIntensity), (this.bumpMap = t.bumpMap), (this.bumpScale = t.bumpScale), (this.normalMap = t.normalMap), (this.normalMapType = t.normalMapType), this.normalScale.copy(t.normalScale), (this.displacementMap = t.displacementMap), (this.displacementScale = t.displacementScale), (this.displacementBias = t.displacementBias), (this.specularMap = t.specularMap), (this.alphaMap = t.alphaMap), (this.envMap = t.envMap), (this.combine = t.combine), (this.reflectivity = t.reflectivity), (this.refractionRatio = t.refractionRatio), (this.wireframe = t.wireframe), (this.wireframeLinewidth = t.wireframeLinewidth), (this.wireframeLinecap = t.wireframeLinecap), (this.wireframeLinejoin = t.wireframeLinejoin), (this.skinning = t.skinning), (this.morphTargets = t.morphTargets), (this.morphNormals = t.morphNormals), this ); }), (cu.prototype = Object.create(Pr.prototype)), (cu.prototype.constructor = cu), (cu.prototype.isMeshToonMaterial = !0), (cu.prototype.copy = function (t) { return ( Pr.prototype.copy.call(this, t), this.color.copy(t.color), this.specular.copy(t.specular), (this.shininess = t.shininess), (this.map = t.map), (this.gradientMap = t.gradientMap), (this.lightMap = t.lightMap), (this.lightMapIntensity = t.lightMapIntensity), (this.aoMap = t.aoMap), (this.aoMapIntensity = t.aoMapIntensity), this.emissive.copy(t.emissive), (this.emissiveMap = t.emissiveMap), (this.emissiveIntensity = t.emissiveIntensity), (this.bumpMap = t.bumpMap), (this.bumpScale = t.bumpScale), (this.normalMap = t.normalMap), (this.normalMapType = t.normalMapType), this.normalScale.copy(t.normalScale), (this.displacementMap = t.displacementMap), (this.displacementScale = t.displacementScale), (this.displacementBias = t.displacementBias), (this.specularMap = t.specularMap), (this.alphaMap = t.alphaMap), (this.wireframe = t.wireframe), (this.wireframeLinewidth = t.wireframeLinewidth), (this.wireframeLinecap = t.wireframeLinecap), (this.wireframeLinejoin = t.wireframeLinejoin), (this.skinning = t.skinning), (this.morphTargets = t.morphTargets), (this.morphNormals = t.morphNormals), this ); }), (lu.prototype = Object.create(Pr.prototype)), (lu.prototype.constructor = lu), (lu.prototype.isMeshNormalMaterial = !0), (lu.prototype.copy = function (t) { return ( Pr.prototype.copy.call(this, t), (this.bumpMap = t.bumpMap), (this.bumpScale = t.bumpScale), (this.normalMap = t.normalMap), (this.normalMapType = t.normalMapType), this.normalScale.copy(t.normalScale), (this.displacementMap = t.displacementMap), (this.displacementScale = t.displacementScale), (this.displacementBias = t.displacementBias), (this.wireframe = t.wireframe), (this.wireframeLinewidth = t.wireframeLinewidth), (this.skinning = t.skinning), (this.morphTargets = t.morphTargets), (this.morphNormals = t.morphNormals), this ); }), (uu.prototype = Object.create(Pr.prototype)), (uu.prototype.constructor = uu), (uu.prototype.isMeshLambertMaterial = !0), (uu.prototype.copy = function (t) { return ( Pr.prototype.copy.call(this, t), this.color.copy(t.color), (this.map = t.map), (this.lightMap = t.lightMap), (this.lightMapIntensity = t.lightMapIntensity), (this.aoMap = t.aoMap), (this.aoMapIntensity = t.aoMapIntensity), this.emissive.copy(t.emissive), (this.emissiveMap = t.emissiveMap), (this.emissiveIntensity = t.emissiveIntensity), (this.specularMap = t.specularMap), (this.alphaMap = t.alphaMap), (this.envMap = t.envMap), (this.combine = t.combine), (this.reflectivity = t.reflectivity), (this.refractionRatio = t.refractionRatio), (this.wireframe = t.wireframe), (this.wireframeLinewidth = t.wireframeLinewidth), (this.wireframeLinecap = t.wireframeLinecap), (this.wireframeLinejoin = t.wireframeLinejoin), (this.skinning = t.skinning), (this.morphTargets = t.morphTargets), (this.morphNormals = t.morphNormals), this ); }), (du.prototype = Object.create(Pr.prototype)), (du.prototype.constructor = du), (du.prototype.isMeshMatcapMaterial = !0), (du.prototype.copy = function (t) { return ( Pr.prototype.copy.call(this, t), (this.defines = { MATCAP: '', }), this.color.copy(t.color), (this.matcap = t.matcap), (this.map = t.map), (this.bumpMap = t.bumpMap), (this.bumpScale = t.bumpScale), (this.normalMap = t.normalMap), (this.normalMapType = t.normalMapType), this.normalScale.copy(t.normalScale), (this.displacementMap = t.displacementMap), (this.displacementScale = t.displacementScale), (this.displacementBias = t.displacementBias), (this.alphaMap = t.alphaMap), (this.skinning = t.skinning), (this.morphTargets = t.morphTargets), (this.morphNormals = t.morphNormals), this ); }), (pu.prototype = Object.create(xc.prototype)), (pu.prototype.constructor = pu), (pu.prototype.isLineDashedMaterial = !0), (pu.prototype.copy = function (t) { return xc.prototype.copy.call(this, t), (this.scale = t.scale), (this.dashSize = t.dashSize), (this.gapSize = t.gapSize), this; }); var hu = Object.freeze({ __proto__: null, ShadowMaterial: iu, SpriteMaterial: Ys, RawShaderMaterial: ru, ShaderMaterial: Po, PointsMaterial: Dc, MeshPhysicalMaterial: au, MeshStandardMaterial: ou, MeshPhongMaterial: su, MeshToonMaterial: cu, MeshNormalMaterial: lu, MeshLambertMaterial: uu, MeshDepthMaterial: ks, MeshDistanceMaterial: Ds, MeshBasicMaterial: Ir, MeshMatcapMaterial: du, LineDashedMaterial: pu, LineBasicMaterial: xc, Material: Pr, }), fu = { arraySlice: function (t, e, n) { return fu.isTypedArray(t) ? new t.constructor(t.subarray(e, void 0 !== n ? n : t.length)) : t.slice(e, n); }, convertArray: function (t, e, n) { return !t || (!n && t.constructor === e) ? t : 'number' == typeof e.BYTES_PER_ELEMENT ? new e(t) : Array.prototype.slice.call(t); }, isTypedArray: function (t) { return ArrayBuffer.isView(t) && !(t instanceof DataView); }, getKeyframeOrder: function (t) { for (var e = t.length, n = new Array(e), i = 0; i !== e; ++i) n[i] = i; return ( n.sort(function (e, n) { return t[e] - t[n]; }), n ); }, sortedArray: function (t, e, n) { for (var i = t.length, r = new t.constructor(i), o = 0, a = 0; a !== i; ++o) for (var s = n[o] * e, c = 0; c !== e; ++c) r[a++] = t[s + c]; return r; }, flattenJSON: function (t, e, n, i) { for (var r = 1, o = t[0]; void 0 !== o && void 0 === o[i]; ) o = t[r++]; if (void 0 !== o) { var a = o[i]; if (void 0 !== a) if (Array.isArray(a)) do { void 0 !== (a = o[i]) && (e.push(o.time), n.push.apply(n, a)), (o = t[r++]); } while (void 0 !== o); else if (void 0 !== a.toArray) do { void 0 !== (a = o[i]) && (e.push(o.time), a.toArray(n, n.length)), (o = t[r++]); } while (void 0 !== o); else do { void 0 !== (a = o[i]) && (e.push(o.time), n.push(a)), (o = t[r++]); } while (void 0 !== o); } }, subclip: function (t, e, n, i, r) { r = r || 30; var o = t.clone(); o.name = e; for (var a = [], s = 0; s < o.tracks.length; ++s) { for (var c = o.tracks[s], l = c.getValueSize(), u = [], d = [], p = 0; p < c.times.length; ++p) { var h = c.times[p] * r; if (!(h < n || h >= i)) { u.push(c.times[p]); for (var f = 0; f < l; ++f) d.push(c.values[p * l + f]); } } 0 !== u.length && ((c.times = fu.convertArray(u, c.times.constructor)), (c.values = fu.convertArray(d, c.values.constructor)), a.push(c)); } o.tracks = a; var m = 1 / 0; for (s = 0; s < o.tracks.length; ++s) m > o.tracks[s].times[0] && (m = o.tracks[s].times[0]); for (s = 0; s < o.tracks.length; ++s) o.tracks[s].shift(-1 * m); return o.resetDuration(), o; }, }; function mu(t, e, n, i) { (this.parameterPositions = t), (this._cachedIndex = 0), (this.resultBuffer = void 0 !== i ? i : new e.constructor(n)), (this.sampleValues = e), (this.valueSize = n); } function gu(t, e, n, i) { mu.call(this, t, e, n, i), (this._weightPrev = -0), (this._offsetPrev = -0), (this._weightNext = -0), (this._offsetNext = -0); } function vu(t, e, n, i) { mu.call(this, t, e, n, i); } function yu(t, e, n, i) { mu.call(this, t, e, n, i); } function bu(t, e, n, i) { if (void 0 === t) throw new Error('THREE.KeyframeTrack: track name is undefined'); if (void 0 === e || 0 === e.length) throw new Error('THREE.KeyframeTrack: no keyframes in track named ' + t); (this.name = t), (this.times = fu.convertArray(e, this.TimeBufferType)), (this.values = fu.convertArray(n, this.ValueBufferType)), this.setInterpolation(i || this.DefaultInterpolation); } function wu(t, e, n) { bu.call(this, t, e, n); } function Su(t, e, n, i) { bu.call(this, t, e, n, i); } function xu(t, e, n, i) { bu.call(this, t, e, n, i); } function Mu(t, e, n, i) { mu.call(this, t, e, n, i); } function Eu(t, e, n, i) { bu.call(this, t, e, n, i); } function Cu(t, e, n, i) { bu.call(this, t, e, n, i); } function Au(t, e, n, i) { bu.call(this, t, e, n, i); } function Tu(t, e, n) { (this.name = t), (this.tracks = n), (this.duration = void 0 !== e ? e : -1), (this.uuid = Kn.generateUUID()), this.duration < 0 && this.resetDuration(); } function Ou(t) { if (void 0 === t.type) throw new Error('THREE.KeyframeTrack: track type undefined, can not parse'); var e = (function (t) { switch (t.toLowerCase()) { case 'scalar': case 'double': case 'float': case 'number': case 'integer': return xu; case 'vector': case 'vector2': case 'vector3': case 'vector4': return Au; case 'color': return Su; case 'quaternion': return Eu; case 'bool': case 'boolean': return wu; case 'string': return Cu; } throw new Error('THREE.KeyframeTrack: Unsupported typeName: ' + t); })(t.type); if (void 0 === t.times) { var n = [], i = []; fu.flattenJSON(t.keys, n, i, 'value'), (t.times = n), (t.values = i); } return void 0 !== e.parse ? e.parse(t) : new e(t.name, t.times, t.values, t.interpolation); } Object.assign(mu.prototype, { evaluate: function (t) { var e = this.parameterPositions, n = this._cachedIndex, i = e[n], r = e[n - 1]; t: { e: { var o; n: { i: if (!(t < i)) { for (var a = n + 2; ; ) { if (void 0 === i) { if (t < r) break i; return (n = e.length), (this._cachedIndex = n), this.afterEnd_(n - 1, t, r); } if (n === a) break; if (((r = i), t < (i = e[++n]))) break e; } o = e.length; break n; } if (t >= r) break t; var s = e[1]; t < s && ((n = 2), (r = s)); for (a = n - 2; ; ) { if (void 0 === r) return (this._cachedIndex = 0), this.beforeStart_(0, t, i); if (n === a) break; if (((i = r), t >= (r = e[--n - 1]))) break e; } (o = n), (n = 0); } for (; n < o; ) { var c = (n + o) >>> 1; t < e[c] ? (o = c) : (n = c + 1); } if (((i = e[n]), void 0 === (r = e[n - 1]))) return (this._cachedIndex = 0), this.beforeStart_(0, t, i); if (void 0 === i) return (n = e.length), (this._cachedIndex = n), this.afterEnd_(n - 1, r, t); } (this._cachedIndex = n), this.intervalChanged_(n, r, i); } return this.interpolate_(n, r, t, i); }, settings: null, DefaultSettings_: {}, getSettings_: function () { return this.settings || this.DefaultSettings_; }, copySampleValue_: function (t) { for (var e = this.resultBuffer, n = this.sampleValues, i = this.valueSize, r = t * i, o = 0; o !== i; ++o) e[o] = n[r + o]; return e; }, interpolate_: function () { throw new Error('call to abstract method'); }, intervalChanged_: function () {}, }), Object.assign(mu.prototype, { beforeStart_: mu.prototype.copySampleValue_, afterEnd_: mu.prototype.copySampleValue_, }), (gu.prototype = Object.assign(Object.create(mu.prototype), { constructor: gu, DefaultSettings_: { endingStart: en, endingEnd: en, }, intervalChanged_: function (t, e, n) { var i = this.parameterPositions, r = t - 2, o = t + 1, a = i[r], s = i[o]; if (void 0 === a) switch (this.getSettings_().endingStart) { case nn: (r = t), (a = 2 * e - n); break; case rn: a = e + i[(r = i.length - 2)] - i[r + 1]; break; default: (r = t), (a = n); } if (void 0 === s) switch (this.getSettings_().endingEnd) { case nn: (o = t), (s = 2 * n - e); break; case rn: (o = 1), (s = n + i[1] - i[0]); break; default: (o = t - 1), (s = e); } var c = 0.5 * (n - e), l = this.valueSize; (this._weightPrev = c / (e - a)), (this._weightNext = c / (s - n)), (this._offsetPrev = r * l), (this._offsetNext = o * l); }, interpolate_: function (t, e, n, i) { for ( var r = this.resultBuffer, o = this.sampleValues, a = this.valueSize, s = t * a, c = s - a, l = this._offsetPrev, u = this._offsetNext, d = this._weightPrev, p = this._weightNext, h = (n - e) / (i - e), f = h * h, m = f * h, g = -d * m + 2 * d * f - d * h, v = (1 + d) * m + (-1.5 - 2 * d) * f + (-0.5 + d) * h + 1, y = (-1 - p) * m + (1.5 + p) * f + 0.5 * h, b = p * m - p * f, w = 0; w !== a; ++w ) r[w] = g * o[l + w] + v * o[c + w] + y * o[s + w] + b * o[u + w]; return r; }, })), (vu.prototype = Object.assign(Object.create(mu.prototype), { constructor: vu, interpolate_: function (t, e, n, i) { for (var r = this.resultBuffer, o = this.sampleValues, a = this.valueSize, s = t * a, c = s - a, l = (n - e) / (i - e), u = 1 - l, d = 0; d !== a; ++d) r[d] = o[c + d] * u + o[s + d] * l; return r; }, })), (yu.prototype = Object.assign(Object.create(mu.prototype), { constructor: yu, interpolate_: function (t) { return this.copySampleValue_(t - 1); }, })), Object.assign(bu, { toJSON: function (t) { var e, n = t.constructor; if (void 0 !== n.toJSON) e = n.toJSON(t); else { e = { name: t.name, times: fu.convertArray(t.times, Array), values: fu.convertArray(t.values, Array), }; var i = t.getInterpolation(); i !== t.DefaultInterpolation && (e.interpolation = i); } return (e.type = t.ValueTypeName), e; }, }), Object.assign(bu.prototype, { constructor: bu, TimeBufferType: Float32Array, ValueBufferType: Float32Array, DefaultInterpolation: $e, InterpolantFactoryMethodDiscrete: function (t) { return new yu(this.times, this.values, this.getValueSize(), t); }, InterpolantFactoryMethodLinear: function (t) { return new vu(this.times, this.values, this.getValueSize(), t); }, InterpolantFactoryMethodSmooth: function (t) { return new gu(this.times, this.values, this.getValueSize(), t); }, setInterpolation: function (t) { var e; switch (t) { case Qe: e = this.InterpolantFactoryMethodDiscrete; break; case $e: e = this.InterpolantFactoryMethodLinear; break; case tn: e = this.InterpolantFactoryMethodSmooth; } if (void 0 === e) { var n = 'unsupported interpolation for ' + this.ValueTypeName + ' keyframe track named ' + this.name; if (void 0 === this.createInterpolant) { if (t === this.DefaultInterpolation) throw new Error(n); this.setInterpolation(this.DefaultInterpolation); } return console.warn('THREE.KeyframeTrack:', n), this; } return (this.createInterpolant = e), this; }, getInterpolation: function () { switch (this.createInterpolant) { case this.InterpolantFactoryMethodDiscrete: return Qe; case this.InterpolantFactoryMethodLinear: return $e; case this.InterpolantFactoryMethodSmooth: return tn; } }, getValueSize: function () { return this.values.length / this.times.length; }, shift: function (t) { if (0 !== t) for (var e = this.times, n = 0, i = e.length; n !== i; ++n) e[n] += t; return this; }, scale: function (t) { if (1 !== t) for (var e = this.times, n = 0, i = e.length; n !== i; ++n) e[n] *= t; return this; }, trim: function (t, e) { for (var n = this.times, i = n.length, r = 0, o = i - 1; r !== i && n[r] < t; ) ++r; for (; -1 !== o && n[o] > e; ) --o; if ((++o, 0 !== r || o !== i)) { r >= o && (r = (o = Math.max(o, 1)) - 1); var a = this.getValueSize(); (this.times = fu.arraySlice(n, r, o)), (this.values = fu.arraySlice(this.values, r * a, o * a)); } return this; }, validate: function () { var t = !0, e = this.getValueSize(); e - Math.floor(e) != 0 && (console.error('THREE.KeyframeTrack: Invalid value size in track.', this), (t = !1)); var n = this.times, i = this.values, r = n.length; 0 === r && (console.error('THREE.KeyframeTrack: Track is empty.', this), (t = !1)); for (var o = null, a = 0; a !== r; a++) { var s = n[a]; if ('number' == typeof s && isNaN(s)) { console.error('THREE.KeyframeTrack: Time is not a valid number.', this, a, s), (t = !1); break; } if (null !== o && o > s) { console.error('THREE.KeyframeTrack: Out of order keys.', this, a, s, o), (t = !1); break; } o = s; } if (void 0 !== i && fu.isTypedArray(i)) { a = 0; for (var c = i.length; a !== c; ++a) { var l = i[a]; if (isNaN(l)) { console.error('THREE.KeyframeTrack: Value is not a valid number.', this, a, l), (t = !1); break; } } } return t; }, optimize: function () { for (var t = fu.arraySlice(this.times), e = fu.arraySlice(this.values), n = this.getValueSize(), i = this.getInterpolation() === tn, r = 1, o = t.length - 1, a = 1; a < o; ++a) { var s = !1, c = t[a]; if (c !== t[a + 1] && (1 !== a || c !== c[0])) if (i) s = !0; else for (var l = a * n, u = l - n, d = l + n, p = 0; p !== n; ++p) { var h = e[l + p]; if (h !== e[u + p] || h !== e[d + p]) { s = !0; break; } } if (s) { if (a !== r) { t[r] = t[a]; var f = a * n, m = r * n; for (p = 0; p !== n; ++p) e[m + p] = e[f + p]; } ++r; } } if (o > 0) { t[r] = t[o]; for (f = o * n, m = r * n, p = 0; p !== n; ++p) e[m + p] = e[f + p]; ++r; } return r !== t.length ? ((this.times = fu.arraySlice(t, 0, r)), (this.values = fu.arraySlice(e, 0, r * n))) : ((this.times = t), (this.values = e)), this; }, clone: function () { var t = fu.arraySlice(this.times, 0), e = fu.arraySlice(this.values, 0), n = new (0, this.constructor)(this.name, t, e); return (n.createInterpolant = this.createInterpolant), n; }, }), (wu.prototype = Object.assign(Object.create(bu.prototype), { constructor: wu, ValueTypeName: 'bool', ValueBufferType: Array, DefaultInterpolation: Qe, InterpolantFactoryMethodLinear: void 0, InterpolantFactoryMethodSmooth: void 0, })), (Su.prototype = Object.assign(Object.create(bu.prototype), { constructor: Su, ValueTypeName: 'color', })), (xu.prototype = Object.assign(Object.create(bu.prototype), { constructor: xu, ValueTypeName: 'number', })), (Mu.prototype = Object.assign(Object.create(mu.prototype), { constructor: Mu, interpolate_: function (t, e, n, i) { for (var r = this.resultBuffer, o = this.sampleValues, a = this.valueSize, s = t * a, c = (n - e) / (i - e), l = s + a; s !== l; s += 4) ri.slerpFlat(r, 0, o, s - a, o, s, c); return r; }, })), (Eu.prototype = Object.assign(Object.create(bu.prototype), { constructor: Eu, ValueTypeName: 'quaternion', DefaultInterpolation: $e, InterpolantFactoryMethodLinear: function (t) { return new Mu(this.times, this.values, this.getValueSize(), t); }, InterpolantFactoryMethodSmooth: void 0, })), (Cu.prototype = Object.assign(Object.create(bu.prototype), { constructor: Cu, ValueTypeName: 'string', ValueBufferType: Array, DefaultInterpolation: Qe, InterpolantFactoryMethodLinear: void 0, InterpolantFactoryMethodSmooth: void 0, })), (Au.prototype = Object.assign(Object.create(bu.prototype), { constructor: Au, ValueTypeName: 'vector', })), Object.assign(Tu, { parse: function (t) { for (var e = [], n = t.tracks, i = 1 / (t.fps || 1), r = 0, o = n.length; r !== o; ++r) e.push(Ou(n[r]).scale(i)); return new Tu(t.name, t.duration, e); }, toJSON: function (t) { for ( var e = [], n = t.tracks, i = { name: t.name, duration: t.duration, tracks: e, uuid: t.uuid, }, r = 0, o = n.length; r !== o; ++r ) e.push(bu.toJSON(n[r])); return i; }, CreateFromMorphTargetSequence: function (t, e, n, i) { for (var r = e.length, o = [], a = 0; a < r; a++) { var s = [], c = []; s.push((a + r - 1) % r, a, (a + 1) % r), c.push(0, 1, 0); var l = fu.getKeyframeOrder(s); (s = fu.sortedArray(s, 1, l)), (c = fu.sortedArray(c, 1, l)), i || 0 !== s[0] || (s.push(r), c.push(c[0])), o.push(new xu('.morphTargetInfluences[' + e[a].name + ']', s, c).scale(1 / n)); } return new Tu(t, -1, o); }, findByName: function (t, e) { var n = t; if (!Array.isArray(t)) { var i = t; n = (i.geometry && i.geometry.animations) || i.animations; } for (var r = 0; r < n.length; r++) if (n[r].name === e) return n[r]; return null; }, CreateClipsFromMorphTargetSequences: function (t, e, n) { for (var i = {}, r = /^([\w-]*?)([\d]+)$/, o = 0, a = t.length; o < a; o++) { var s = t[o], c = s.name.match(r); if (c && c.length > 1) { var l = i[(d = c[1])]; l || (i[d] = l = []), l.push(s); } } var u = []; for (var d in i) u.push(Tu.CreateFromMorphTargetSequence(d, i[d], e, n)); return u; }, parseAnimation: function (t, e) { if (!t) return console.error('THREE.AnimationClip: No animation in JSONLoader data.'), null; for ( var n = function (t, e, n, i, r) { if (0 !== n.length) { var o = [], a = []; fu.flattenJSON(n, o, a, i), 0 !== o.length && r.push(new t(e, o, a)); } }, i = [], r = t.name || 'default', o = t.length || -1, a = t.fps || 30, s = t.hierarchy || [], c = 0; c < s.length; c++ ) { var l = s[c].keys; if (l && 0 !== l.length) if (l[0].morphTargets) { for (var u = {}, d = 0; d < l.length; d++) if (l[d].morphTargets) for (var p = 0; p < l[d].morphTargets.length; p++) u[l[d].morphTargets[p]] = -1; for (var h in u) { var f = [], m = []; for (p = 0; p !== l[d].morphTargets.length; ++p) { var g = l[d]; f.push(g.time), m.push(g.morphTarget === h ? 1 : 0); } i.push(new xu('.morphTargetInfluence[' + h + ']', f, m)); } o = u.length * (a || 1); } else { var v = '.bones[' + e[c].name + ']'; n(Au, v + '.position', l, 'pos', i), n(Eu, v + '.quaternion', l, 'rot', i), n(Au, v + '.scale', l, 'scl', i); } } return 0 === i.length ? null : new Tu(r, o, i); }, }), Object.assign(Tu.prototype, { resetDuration: function () { for (var t = 0, e = 0, n = this.tracks.length; e !== n; ++e) { var i = this.tracks[e]; t = Math.max(t, i.times[i.times.length - 1]); } return (this.duration = t), this; }, trim: function () { for (var t = 0; t < this.tracks.length; t++) this.tracks[t].trim(0, this.duration); return this; }, validate: function () { for (var t = !0, e = 0; e < this.tracks.length; e++) t = t && this.tracks[e].validate(); return t; }, optimize: function () { for (var t = 0; t < this.tracks.length; t++) this.tracks[t].optimize(); return this; }, clone: function () { for (var t = [], e = 0; e < this.tracks.length; e++) t.push(this.tracks[e].clone()); return new Tu(this.name, this.duration, t); }, }); var _u = { enabled: !1, files: {}, add: function (t, e) { !1 !== this.enabled && (this.files[t] = e); }, get: function (t) { if (!1 !== this.enabled) return this.files[t]; }, remove: function (t) { delete this.files[t]; }, clear: function () { this.files = {}; }, }; function Pu(t, e, n) { var i = this, r = !1, o = 0, a = 0, s = void 0, c = []; (this.onStart = void 0), (this.onLoad = t), (this.onProgress = e), (this.onError = n), (this.itemStart = function (t) { a++, !1 === r && void 0 !== i.onStart && i.onStart(t, o, a), (r = !0); }), (this.itemEnd = function (t) { o++, void 0 !== i.onProgress && i.onProgress(t, o, a), o === a && ((r = !1), void 0 !== i.onLoad && i.onLoad()); }), (this.itemError = function (t) { void 0 !== i.onError && i.onError(t); }), (this.resolveURL = function (t) { return s ? s(t) : t; }), (this.setURLModifier = function (t) { return (s = t), this; }), (this.addHandler = function (t, e) { return c.push(t, e), this; }), (this.removeHandler = function (t) { var e = c.indexOf(t); return -1 !== e && c.splice(e, 2), this; }), (this.getHandler = function (t) { for (var e = 0, n = c.length; e < n; e += 2) { var i = c[e], r = c[e + 1]; if ((i.global && (i.lastIndex = 0), i.test(t))) return r; } return null; }); } var Iu = new Pu(); function ku(t) { (this.manager = void 0 !== t ? t : Iu), (this.crossOrigin = 'anonymous'), (this.path = ''), (this.resourcePath = ''); } Object.assign(ku.prototype, { load: function () {}, parse: function () {}, setCrossOrigin: function (t) { return (this.crossOrigin = t), this; }, setPath: function (t) { return (this.path = t), this; }, setResourcePath: function (t) { return (this.resourcePath = t), this; }, }); var Du = {}; function Ru(t) { ku.call(this, t); } function Lu(t) { ku.call(this, t); } function Nu(t) { ku.call(this, t); } function ju(t) { ku.call(this, t); } function Vu(t) { ku.call(this, t); } function Fu(t) { ku.call(this, t); } function Uu(t) { ku.call(this, t); } function Bu() { (this.type = 'Curve'), (this.arcLengthDivisions = 200); } function zu(t, e, n, i, r, o, a, s) { Bu.call(this), (this.type = 'EllipseCurve'), (this.aX = t || 0), (this.aY = e || 0), (this.xRadius = n || 1), (this.yRadius = i || 1), (this.aStartAngle = r || 0), (this.aEndAngle = o || 2 * Math.PI), (this.aClockwise = a || !1), (this.aRotation = s || 0); } function Gu(t, e, n, i, r, o) { zu.call(this, t, e, n, n, i, r, o), (this.type = 'ArcCurve'); } function Hu() { var t = 0, e = 0, n = 0, i = 0; function r(r, o, a, s) { (t = r), (e = a), (n = -3 * r + 3 * o - 2 * a - s), (i = 2 * r - 2 * o + a + s); } return { initCatmullRom: function (t, e, n, i, o) { r(e, n, o * (n - t), o * (i - e)); }, initNonuniformCatmullRom: function (t, e, n, i, o, a, s) { var c = (e - t) / o - (n - t) / (o + a) + (n - e) / a, l = (n - e) / a - (i - e) / (a + s) + (i - n) / s; r(e, n, (c *= a), (l *= a)); }, calc: function (r) { var o = r * r; return t + e * r + n * o + i * (o * r); }, }; } (Ru.prototype = Object.assign(Object.create(ku.prototype), { constructor: Ru, load: function (t, e, n, i) { void 0 === t && (t = ''), void 0 !== this.path && (t = this.path + t), (t = this.manager.resolveURL(t)); var r = this, o = _u.get(t); if (void 0 !== o) return ( r.manager.itemStart(t), setTimeout(function () { e && e(o), r.manager.itemEnd(t); }, 0), o ); if (void 0 === Du[t]) { var a = t.match(/^data:(.*?)(;base64)?,(.*)$/); if (a) { var s = a[1], c = !!a[2], l = a[3]; (l = decodeURIComponent(l)), c && (l = atob(l)); try { var u, d = (this.responseType || '').toLowerCase(); switch (d) { case 'arraybuffer': case 'blob': for (var p = new Uint8Array(l.length), h = 0; h < l.length; h++) p[h] = l.charCodeAt(h); u = 'blob' === d ? new Blob([p.buffer], { type: s, }) : p.buffer; break; case 'document': var f = new DOMParser(); u = f.parseFromString(l, s); break; case 'json': u = JSON.parse(l); break; default: u = l; } setTimeout(function () { e && e(u), r.manager.itemEnd(t); }, 0); } catch (e) { setTimeout(function () { i && i(e), r.manager.itemError(t), r.manager.itemEnd(t); }, 0); } } else { (Du[t] = []), Du[t].push({ onLoad: e, onProgress: n, onError: i, }); var m = new XMLHttpRequest(); for (var g in (m.open('GET', t, !0), m.addEventListener( 'load', function (e) { var n = this.response, i = Du[t]; if ((delete Du[t], 200 === this.status || 0 === this.status)) { 0 === this.status && console.warn('THREE.FileLoader: HTTP Status 0 received.'), _u.add(t, n); for (var o = 0, a = i.length; o < a; o++) { (s = i[o]).onLoad && s.onLoad(n); } r.manager.itemEnd(t); } else { for (o = 0, a = i.length; o < a; o++) { var s; (s = i[o]).onError && s.onError(e); } r.manager.itemError(t), r.manager.itemEnd(t); } }, !1 ), m.addEventListener( 'progress', function (e) { for (var n = Du[t], i = 0, r = n.length; i < r; i++) { var o = n[i]; o.onProgress && o.onProgress(e); } }, !1 ), m.addEventListener( 'error', function (e) { var n = Du[t]; delete Du[t]; for (var i = 0, o = n.length; i < o; i++) { var a = n[i]; a.onError && a.onError(e); } r.manager.itemError(t), r.manager.itemEnd(t); }, !1 ), m.addEventListener( 'abort', function (e) { var n = Du[t]; delete Du[t]; for (var i = 0, o = n.length; i < o; i++) { var a = n[i]; a.onError && a.onError(e); } r.manager.itemError(t), r.manager.itemEnd(t); }, !1 ), void 0 !== this.responseType && (m.responseType = this.responseType), void 0 !== this.withCredentials && (m.withCredentials = this.withCredentials), m.overrideMimeType && m.overrideMimeType(void 0 !== this.mimeType ? this.mimeType : 'text/plain'), this.requestHeader)) m.setRequestHeader(g, this.requestHeader[g]); m.send(null); } return r.manager.itemStart(t), m; } Du[t].push({ onLoad: e, onProgress: n, onError: i, }); }, setResponseType: function (t) { return (this.responseType = t), this; }, setWithCredentials: function (t) { return (this.withCredentials = t), this; }, setMimeType: function (t) { return (this.mimeType = t), this; }, setRequestHeader: function (t) { return (this.requestHeader = t), this; }, })), (Lu.prototype = Object.assign(Object.create(ku.prototype), { constructor: Lu, load: function (t, e, n, i) { var r = this, o = new Ru(r.manager); o.setPath(r.path), o.load( t, function (t) { e(r.parse(JSON.parse(t))); }, n, i ); }, parse: function (t) { for (var e = [], n = 0; n < t.length; n++) { var i = Tu.parse(t[n]); e.push(i); } return e; }, })), (Nu.prototype = Object.assign(Object.create(ku.prototype), { constructor: Nu, load: function (t, e, n, i) { var r = this, o = [], a = new Bc(); a.image = o; var s = new Ru(this.manager); function c(c) { s.load( t[c], function (t) { var n = r.parse(t, !0); (o[c] = { width: n.width, height: n.height, format: n.format, mipmaps: n.mipmaps, }), 6 === (l += 1) && (1 === n.mipmapCount && (a.minFilter = kt), (a.format = n.format), (a.needsUpdate = !0), e && e(a)); }, n, i ); } if ((s.setPath(this.path), s.setResponseType('arraybuffer'), Array.isArray(t))) for (var l = 0, u = 0, d = t.length; u < d; ++u) c(u); else s.load( t, function (t) { var n = r.parse(t, !0); if (n.isCubemap) for (var i = n.mipmaps.length / n.mipmapCount, s = 0; s < i; s++) { o[s] = { mipmaps: [], }; for (var c = 0; c < n.mipmapCount; c++) o[s].mipmaps.push(n.mipmaps[s * n.mipmapCount + c]), (o[s].format = n.format), (o[s].width = n.width), (o[s].height = n.height); } else (a.image.width = n.width), (a.image.height = n.height), (a.mipmaps = n.mipmaps); 1 === n.mipmapCount && (a.minFilter = kt), (a.format = n.format), (a.needsUpdate = !0), e && e(a); }, n, i ); return a; }, })), (ju.prototype = Object.assign(Object.create(ku.prototype), { constructor: ju, load: function (t, e, n, i) { var r = this, o = new Lo(), a = new Ru(this.manager); return ( a.setResponseType('arraybuffer'), a.setPath(this.path), a.load( t, function (t) { var n = r.parse(t); n && (void 0 !== n.image ? (o.image = n.image) : void 0 !== n.data && ((o.image.width = n.width), (o.image.height = n.height), (o.image.data = n.data)), (o.wrapS = void 0 !== n.wrapS ? n.wrapS : Ct), (o.wrapT = void 0 !== n.wrapT ? n.wrapT : Ct), (o.magFilter = void 0 !== n.magFilter ? n.magFilter : kt), (o.minFilter = void 0 !== n.minFilter ? n.minFilter : kt), (o.anisotropy = void 0 !== n.anisotropy ? n.anisotropy : 1), void 0 !== n.format && (o.format = n.format), void 0 !== n.type && (o.type = n.type), void 0 !== n.mipmaps && ((o.mipmaps = n.mipmaps), (o.minFilter = Lt)), 1 === n.mipmapCount && (o.minFilter = kt), (o.needsUpdate = !0), e && e(o, n)); }, n, i ), o ); }, })), (Vu.prototype = Object.assign(Object.create(ku.prototype), { constructor: Vu, load: function (t, e, n, i) { void 0 !== this.path && (t = this.path + t), (t = this.manager.resolveURL(t)); var r = this, o = _u.get(t); if (void 0 !== o) return ( r.manager.itemStart(t), setTimeout(function () { e && e(o), r.manager.itemEnd(t); }, 0), o ); var a = document.createElementNS('http://www.w3.org/1999/xhtml', 'img'); function s() { a.removeEventListener('load', s, !1), a.removeEventListener('error', c, !1), _u.add(t, this), e && e(this), r.manager.itemEnd(t); } function c(e) { a.removeEventListener('load', s, !1), a.removeEventListener('error', c, !1), i && i(e), r.manager.itemError(t), r.manager.itemEnd(t); } return ( a.addEventListener('load', s, !1), a.addEventListener('error', c, !1), 'data:' !== t.substr(0, 5) && void 0 !== this.crossOrigin && (a.crossOrigin = this.crossOrigin), r.manager.itemStart(t), (a.src = t), a ); }, })), (Fu.prototype = Object.assign(Object.create(ku.prototype), { constructor: Fu, load: function (t, e, n, i) { var r = new ia(), o = new Vu(this.manager); o.setCrossOrigin(this.crossOrigin), o.setPath(this.path); var a = 0; function s(n) { o.load( t[n], function (t) { (r.images[n] = t), 6 === ++a && ((r.needsUpdate = !0), e && e(r)); }, void 0, i ); } for (var c = 0; c < t.length; ++c) s(c); return r; }, })), (Uu.prototype = Object.assign(Object.create(ku.prototype), { constructor: Uu, load: function (t, e, n, i) { var r = new ti(), o = new Vu(this.manager); return ( o.setCrossOrigin(this.crossOrigin), o.setPath(this.path), o.load( t, function (n) { r.image = n; var i = t.search(/\.jpe?g($|\?)/i) > 0 || 0 === t.search(/^data\:image\/jpeg/); (r.format = i ? Zt : Jt), (r.needsUpdate = !0), void 0 !== e && e(r); }, n, i ), r ); }, })), Object.assign(Bu.prototype, { getPoint: function () { return console.warn('THREE.Curve: .getPoint() not implemented.'), null; }, getPointAt: function (t, e) { var n = this.getUtoTmapping(t); return this.getPoint(n, e); }, getPoints: function (t) { void 0 === t && (t = 5); for (var e = [], n = 0; n <= t; n++) e.push(this.getPoint(n / t)); return e; }, getSpacedPoints: function (t) { void 0 === t && (t = 5); for (var e = [], n = 0; n <= t; n++) e.push(this.getPointAt(n / t)); return e; }, getLength: function () { var t = this.getLengths(); return t[t.length - 1]; }, getLengths: function (t) { if ((void 0 === t && (t = this.arcLengthDivisions), this.cacheArcLengths && this.cacheArcLengths.length === t + 1 && !this.needsUpdate)) return this.cacheArcLengths; this.needsUpdate = !1; var e, n, i = [], r = this.getPoint(0), o = 0; for (i.push(0), n = 1; n <= t; n++) (o += (e = this.getPoint(n / t)).distanceTo(r)), i.push(o), (r = e); return (this.cacheArcLengths = i), i; }, updateArcLengths: function () { (this.needsUpdate = !0), this.getLengths(); }, getUtoTmapping: function (t, e) { var n, i = this.getLengths(), r = 0, o = i.length; n = e || t * i[o - 1]; for (var a, s = 0, c = o - 1; s <= c; ) if ((a = i[(r = Math.floor(s + (c - s) / 2))] - n) < 0) s = r + 1; else { if (!(a > 0)) { c = r; break; } c = r - 1; } if (i[(r = c)] === n) return r / (o - 1); var l = i[r]; return (r + (n - l) / (i[r + 1] - l)) / (o - 1); }, getTangent: function (t) { var e = t - 1e-4, n = t + 1e-4; e < 0 && (e = 0), n > 1 && (n = 1); var i = this.getPoint(e); return this.getPoint(n).clone().sub(i).normalize(); }, getTangentAt: function (t) { var e = this.getUtoTmapping(t); return this.getTangent(e); }, computeFrenetFrames: function (t, e) { var n, i, r, o = new si(), a = [], s = [], c = [], l = new si(), u = new mi(); for (n = 0; n <= t; n++) (i = n / t), (a[n] = this.getTangentAt(i)), a[n].normalize(); (s[0] = new si()), (c[0] = new si()); var d = Number.MAX_VALUE, p = Math.abs(a[0].x), h = Math.abs(a[0].y), f = Math.abs(a[0].z); for ( p <= d && ((d = p), o.set(1, 0, 0)), h <= d && ((d = h), o.set(0, 1, 0)), f <= d && o.set(0, 0, 1), l.crossVectors(a[0], o).normalize(), s[0].crossVectors(a[0], l), c[0].crossVectors(a[0], s[0]), n = 1; n <= t; n++ ) (s[n] = s[n - 1].clone()), (c[n] = c[n - 1].clone()), l.crossVectors(a[n - 1], a[n]), l.length() > Number.EPSILON && (l.normalize(), (r = Math.acos(Kn.clamp(a[n - 1].dot(a[n]), -1, 1))), s[n].applyMatrix4(u.makeRotationAxis(l, r))), c[n].crossVectors(a[n], s[n]); if (!0 === e) for (r = Math.acos(Kn.clamp(s[0].dot(s[t]), -1, 1)), r /= t, a[0].dot(l.crossVectors(s[0], s[t])) > 0 && (r = -r), n = 1; n <= t; n++) s[n].applyMatrix4(u.makeRotationAxis(a[n], r * n)), c[n].crossVectors(a[n], s[n]); return { tangents: a, normals: s, binormals: c, }; }, clone: function () { return new this.constructor().copy(this); }, copy: function (t) { return (this.arcLengthDivisions = t.arcLengthDivisions), this; }, toJSON: function () { var t = { metadata: { version: 4.5, type: 'Curve', generator: 'Curve.toJSON', }, }; return (t.arcLengthDivisions = this.arcLengthDivisions), (t.type = this.type), t; }, fromJSON: function (t) { return (this.arcLengthDivisions = t.arcLengthDivisions), this; }, }), (zu.prototype = Object.create(Bu.prototype)), (zu.prototype.constructor = zu), (zu.prototype.isEllipseCurve = !0), (zu.prototype.getPoint = function (t, e) { for (var n = e || new Zn(), i = 2 * Math.PI, r = this.aEndAngle - this.aStartAngle, o = Math.abs(r) < Number.EPSILON; r < 0; ) r += i; for (; r > i; ) r -= i; r < Number.EPSILON && (r = o ? 0 : i), !0 !== this.aClockwise || o || (r === i ? (r = -i) : (r -= i)); var a = this.aStartAngle + t * r, s = this.aX + this.xRadius * Math.cos(a), c = this.aY + this.yRadius * Math.sin(a); if (0 !== this.aRotation) { var l = Math.cos(this.aRotation), u = Math.sin(this.aRotation), d = s - this.aX, p = c - this.aY; (s = d * l - p * u + this.aX), (c = d * u + p * l + this.aY); } return n.set(s, c); }), (zu.prototype.copy = function (t) { return ( Bu.prototype.copy.call(this, t), (this.aX = t.aX), (this.aY = t.aY), (this.xRadius = t.xRadius), (this.yRadius = t.yRadius), (this.aStartAngle = t.aStartAngle), (this.aEndAngle = t.aEndAngle), (this.aClockwise = t.aClockwise), (this.aRotation = t.aRotation), this ); }), (zu.prototype.toJSON = function () { var t = Bu.prototype.toJSON.call(this); return ( (t.aX = this.aX), (t.aY = this.aY), (t.xRadius = this.xRadius), (t.yRadius = this.yRadius), (t.aStartAngle = this.aStartAngle), (t.aEndAngle = this.aEndAngle), (t.aClockwise = this.aClockwise), (t.aRotation = this.aRotation), t ); }), (zu.prototype.fromJSON = function (t) { return ( Bu.prototype.fromJSON.call(this, t), (this.aX = t.aX), (this.aY = t.aY), (this.xRadius = t.xRadius), (this.yRadius = t.yRadius), (this.aStartAngle = t.aStartAngle), (this.aEndAngle = t.aEndAngle), (this.aClockwise = t.aClockwise), (this.aRotation = t.aRotation), this ); }), (Gu.prototype = Object.create(zu.prototype)), (Gu.prototype.constructor = Gu), (Gu.prototype.isArcCurve = !0); var Wu = new si(), qu = new Hu(), Xu = new Hu(), Yu = new Hu(); function Ku(t, e, n, i) { Bu.call(this), (this.type = 'CatmullRomCurve3'), (this.points = t || []), (this.closed = e || !1), (this.curveType = n || 'centripetal'), (this.tension = i || 0.5); } function Zu(t, e, n, i, r) { var o = 0.5 * (i - e), a = 0.5 * (r - n), s = t * t; return (2 * n - 2 * i + o + a) * (t * s) + (-3 * n + 3 * i - 2 * o - a) * s + o * t + n; } function Ju(t, e, n, i) { return ( (function (t, e) { var n = 1 - t; return n * n * e; })(t, e) + (function (t, e) { return 2 * (1 - t) * t * e; })(t, n) + (function (t, e) { return t * t * e; })(t, i) ); } function Qu(t, e, n, i, r) { return ( (function (t, e) { var n = 1 - t; return n * n * n * e; })(t, e) + (function (t, e) { var n = 1 - t; return 3 * n * n * t * e; })(t, n) + (function (t, e) { return 3 * (1 - t) * t * t * e; })(t, i) + (function (t, e) { return t * t * t * e; })(t, r) ); } function $u(t, e, n, i) { Bu.call(this), (this.type = 'CubicBezierCurve'), (this.v0 = t || new Zn()), (this.v1 = e || new Zn()), (this.v2 = n || new Zn()), (this.v3 = i || new Zn()); } function td(t, e, n, i) { Bu.call(this), (this.type = 'CubicBezierCurve3'), (this.v0 = t || new si()), (this.v1 = e || new si()), (this.v2 = n || new si()), (this.v3 = i || new si()); } function ed(t, e) { Bu.call(this), (this.type = 'LineCurve'), (this.v1 = t || new Zn()), (this.v2 = e || new Zn()); } function nd(t, e) { Bu.call(this), (this.type = 'LineCurve3'), (this.v1 = t || new si()), (this.v2 = e || new si()); } function id(t, e, n) { Bu.call(this), (this.type = 'QuadraticBezierCurve'), (this.v0 = t || new Zn()), (this.v1 = e || new Zn()), (this.v2 = n || new Zn()); } function rd(t, e, n) { Bu.call(this), (this.type = 'QuadraticBezierCurve3'), (this.v0 = t || new si()), (this.v1 = e || new si()), (this.v2 = n || new si()); } function od(t) { Bu.call(this), (this.type = 'SplineCurve'), (this.points = t || []); } (Ku.prototype = Object.create(Bu.prototype)), (Ku.prototype.constructor = Ku), (Ku.prototype.isCatmullRomCurve3 = !0), (Ku.prototype.getPoint = function (t, e) { var n, i, r, o, a = e || new si(), s = this.points, c = s.length, l = (c - (this.closed ? 0 : 1)) * t, u = Math.floor(l), d = l - u; if ( (this.closed ? (u += u > 0 ? 0 : (Math.floor(Math.abs(u) / c) + 1) * c) : 0 === d && u === c - 1 && ((u = c - 2), (d = 1)), this.closed || u > 0 ? (n = s[(u - 1) % c]) : (Wu.subVectors(s[0], s[1]).add(s[0]), (n = Wu)), (i = s[u % c]), (r = s[(u + 1) % c]), this.closed || u + 2 < c ? (o = s[(u + 2) % c]) : (Wu.subVectors(s[c - 1], s[c - 2]).add(s[c - 1]), (o = Wu)), 'centripetal' === this.curveType || 'chordal' === this.curveType) ) { var p = 'chordal' === this.curveType ? 0.5 : 0.25, h = Math.pow(n.distanceToSquared(i), p), f = Math.pow(i.distanceToSquared(r), p), m = Math.pow(r.distanceToSquared(o), p); f < 1e-4 && (f = 1), h < 1e-4 && (h = f), m < 1e-4 && (m = f), qu.initNonuniformCatmullRom(n.x, i.x, r.x, o.x, h, f, m), Xu.initNonuniformCatmullRom(n.y, i.y, r.y, o.y, h, f, m), Yu.initNonuniformCatmullRom(n.z, i.z, r.z, o.z, h, f, m); } else 'catmullrom' === this.curveType && (qu.initCatmullRom(n.x, i.x, r.x, o.x, this.tension), Xu.initCatmullRom(n.y, i.y, r.y, o.y, this.tension), Yu.initCatmullRom(n.z, i.z, r.z, o.z, this.tension)); return a.set(qu.calc(d), Xu.calc(d), Yu.calc(d)), a; }), (Ku.prototype.copy = function (t) { Bu.prototype.copy.call(this, t), (this.points = []); for (var e = 0, n = t.points.length; e < n; e++) { var i = t.points[e]; this.points.push(i.clone()); } return (this.closed = t.closed), (this.curveType = t.curveType), (this.tension = t.tension), this; }), (Ku.prototype.toJSON = function () { var t = Bu.prototype.toJSON.call(this); t.points = []; for (var e = 0, n = this.points.length; e < n; e++) { var i = this.points[e]; t.points.push(i.toArray()); } return (t.closed = this.closed), (t.curveType = this.curveType), (t.tension = this.tension), t; }), (Ku.prototype.fromJSON = function (t) { Bu.prototype.fromJSON.call(this, t), (this.points = []); for (var e = 0, n = t.points.length; e < n; e++) { var i = t.points[e]; this.points.push(new si().fromArray(i)); } return (this.closed = t.closed), (this.curveType = t.curveType), (this.tension = t.tension), this; }), ($u.prototype = Object.create(Bu.prototype)), ($u.prototype.constructor = $u), ($u.prototype.isCubicBezierCurve = !0), ($u.prototype.getPoint = function (t, e) { var n = e || new Zn(), i = this.v0, r = this.v1, o = this.v2, a = this.v3; return n.set(Qu(t, i.x, r.x, o.x, a.x), Qu(t, i.y, r.y, o.y, a.y)), n; }), ($u.prototype.copy = function (t) { return Bu.prototype.copy.call(this, t), this.v0.copy(t.v0), this.v1.copy(t.v1), this.v2.copy(t.v2), this.v3.copy(t.v3), this; }), ($u.prototype.toJSON = function () { var t = Bu.prototype.toJSON.call(this); return (t.v0 = this.v0.toArray()), (t.v1 = this.v1.toArray()), (t.v2 = this.v2.toArray()), (t.v3 = this.v3.toArray()), t; }), ($u.prototype.fromJSON = function (t) { return Bu.prototype.fromJSON.call(this, t), this.v0.fromArray(t.v0), this.v1.fromArray(t.v1), this.v2.fromArray(t.v2), this.v3.fromArray(t.v3), this; }), (td.prototype = Object.create(Bu.prototype)), (td.prototype.constructor = td), (td.prototype.isCubicBezierCurve3 = !0), (td.prototype.getPoint = function (t, e) { var n = e || new si(), i = this.v0, r = this.v1, o = this.v2, a = this.v3; return n.set(Qu(t, i.x, r.x, o.x, a.x), Qu(t, i.y, r.y, o.y, a.y), Qu(t, i.z, r.z, o.z, a.z)), n; }), (td.prototype.copy = function (t) { return Bu.prototype.copy.call(this, t), this.v0.copy(t.v0), this.v1.copy(t.v1), this.v2.copy(t.v2), this.v3.copy(t.v3), this; }), (td.prototype.toJSON = function () { var t = Bu.prototype.toJSON.call(this); return (t.v0 = this.v0.toArray()), (t.v1 = this.v1.toArray()), (t.v2 = this.v2.toArray()), (t.v3 = this.v3.toArray()), t; }), (td.prototype.fromJSON = function (t) { return Bu.prototype.fromJSON.call(this, t), this.v0.fromArray(t.v0), this.v1.fromArray(t.v1), this.v2.fromArray(t.v2), this.v3.fromArray(t.v3), this; }), (ed.prototype = Object.create(Bu.prototype)), (ed.prototype.constructor = ed), (ed.prototype.isLineCurve = !0), (ed.prototype.getPoint = function (t, e) { var n = e || new Zn(); return 1 === t ? n.copy(this.v2) : (n.copy(this.v2).sub(this.v1), n.multiplyScalar(t).add(this.v1)), n; }), (ed.prototype.getPointAt = function (t, e) { return this.getPoint(t, e); }), (ed.prototype.getTangent = function () { return this.v2.clone().sub(this.v1).normalize(); }), (ed.prototype.copy = function (t) { return Bu.prototype.copy.call(this, t), this.v1.copy(t.v1), this.v2.copy(t.v2), this; }), (ed.prototype.toJSON = function () { var t = Bu.prototype.toJSON.call(this); return (t.v1 = this.v1.toArray()), (t.v2 = this.v2.toArray()), t; }), (ed.prototype.fromJSON = function (t) { return Bu.prototype.fromJSON.call(this, t), this.v1.fromArray(t.v1), this.v2.fromArray(t.v2), this; }), (nd.prototype = Object.create(Bu.prototype)), (nd.prototype.constructor = nd), (nd.prototype.isLineCurve3 = !0), (nd.prototype.getPoint = function (t, e) { var n = e || new si(); return 1 === t ? n.copy(this.v2) : (n.copy(this.v2).sub(this.v1), n.multiplyScalar(t).add(this.v1)), n; }), (nd.prototype.getPointAt = function (t, e) { return this.getPoint(t, e); }), (nd.prototype.copy = function (t) { return Bu.prototype.copy.call(this, t), this.v1.copy(t.v1), this.v2.copy(t.v2), this; }), (nd.prototype.toJSON = function () { var t = Bu.prototype.toJSON.call(this); return (t.v1 = this.v1.toArray()), (t.v2 = this.v2.toArray()), t; }), (nd.prototype.fromJSON = function (t) { return Bu.prototype.fromJSON.call(this, t), this.v1.fromArray(t.v1), this.v2.fromArray(t.v2), this; }), (id.prototype = Object.create(Bu.prototype)), (id.prototype.constructor = id), (id.prototype.isQuadraticBezierCurve = !0), (id.prototype.getPoint = function (t, e) { var n = e || new Zn(), i = this.v0, r = this.v1, o = this.v2; return n.set(Ju(t, i.x, r.x, o.x), Ju(t, i.y, r.y, o.y)), n; }), (id.prototype.copy = function (t) { return Bu.prototype.copy.call(this, t), this.v0.copy(t.v0), this.v1.copy(t.v1), this.v2.copy(t.v2), this; }), (id.prototype.toJSON = function () { var t = Bu.prototype.toJSON.call(this); return (t.v0 = this.v0.toArray()), (t.v1 = this.v1.toArray()), (t.v2 = this.v2.toArray()), t; }), (id.prototype.fromJSON = function (t) { return Bu.prototype.fromJSON.call(this, t), this.v0.fromArray(t.v0), this.v1.fromArray(t.v1), this.v2.fromArray(t.v2), this; }), (rd.prototype = Object.create(Bu.prototype)), (rd.prototype.constructor = rd), (rd.prototype.isQuadraticBezierCurve3 = !0), (rd.prototype.getPoint = function (t, e) { var n = e || new si(), i = this.v0, r = this.v1, o = this.v2; return n.set(Ju(t, i.x, r.x, o.x), Ju(t, i.y, r.y, o.y), Ju(t, i.z, r.z, o.z)), n; }), (rd.prototype.copy = function (t) { return Bu.prototype.copy.call(this, t), this.v0.copy(t.v0), this.v1.copy(t.v1), this.v2.copy(t.v2), this; }), (rd.prototype.toJSON = function () { var t = Bu.prototype.toJSON.call(this); return (t.v0 = this.v0.toArray()), (t.v1 = this.v1.toArray()), (t.v2 = this.v2.toArray()), t; }), (rd.prototype.fromJSON = function (t) { return Bu.prototype.fromJSON.call(this, t), this.v0.fromArray(t.v0), this.v1.fromArray(t.v1), this.v2.fromArray(t.v2), this; }), (od.prototype = Object.create(Bu.prototype)), (od.prototype.constructor = od), (od.prototype.isSplineCurve = !0), (od.prototype.getPoint = function (t, e) { var n = e || new Zn(), i = this.points, r = (i.length - 1) * t, o = Math.floor(r), a = r - o, s = i[0 === o ? o : o - 1], c = i[o], l = i[o > i.length - 2 ? i.length - 1 : o + 1], u = i[o > i.length - 3 ? i.length - 1 : o + 2]; return n.set(Zu(a, s.x, c.x, l.x, u.x), Zu(a, s.y, c.y, l.y, u.y)), n; }), (od.prototype.copy = function (t) { Bu.prototype.copy.call(this, t), (this.points = []); for (var e = 0, n = t.points.length; e < n; e++) { var i = t.points[e]; this.points.push(i.clone()); } return this; }), (od.prototype.toJSON = function () { var t = Bu.prototype.toJSON.call(this); t.points = []; for (var e = 0, n = this.points.length; e < n; e++) { var i = this.points[e]; t.points.push(i.toArray()); } return t; }), (od.prototype.fromJSON = function (t) { Bu.prototype.fromJSON.call(this, t), (this.points = []); for (var e = 0, n = t.points.length; e < n; e++) { var i = t.points[e]; this.points.push(new Zn().fromArray(i)); } return this; }); var ad = Object.freeze({ __proto__: null, ArcCurve: Gu, CatmullRomCurve3: Ku, CubicBezierCurve: $u, CubicBezierCurve3: td, EllipseCurve: zu, LineCurve: ed, LineCurve3: nd, QuadraticBezierCurve: id, QuadraticBezierCurve3: rd, SplineCurve: od, }); function sd() { Bu.call(this), (this.type = 'CurvePath'), (this.curves = []), (this.autoClose = !1); } function cd(t) { sd.call(this), (this.type = 'Path'), (this.currentPoint = new Zn()), t && this.setFromPoints(t); } function ld(t) { cd.call(this, t), (this.uuid = Kn.generateUUID()), (this.type = 'Shape'), (this.holes = []); } function ud(t, e) { Di.call(this), (this.type = 'Light'), (this.color = new Er(t)), (this.intensity = void 0 !== e ? e : 1), (this.receiveShadow = void 0); } function dd(t, e, n) { ud.call(this, t, n), (this.type = 'HemisphereLight'), (this.castShadow = void 0), this.position.copy(Di.DefaultUp), this.updateMatrix(), (this.groundColor = new Er(e)); } function pd(t) { (this.camera = t), (this.bias = 0), (this.radius = 1), (this.mapSize = new Zn(512, 512)), (this.map = null), (this.mapPass = null), (this.matrix = new mi()), (this._frustum = new Vo()), (this._frameExtents = new Zn(1, 1)), (this._viewportCount = 1), (this._viewports = [new ei(0, 0, 1, 1)]); } function hd() { pd.call(this, new ko(50, 1, 0.5, 500)); } function fd(t, e, n, i, r, o) { ud.call(this, t, e), (this.type = 'SpotLight'), this.position.copy(Di.DefaultUp), this.updateMatrix(), (this.target = new Di()), Object.defineProperty(this, 'power', { get: function () { return this.intensity * Math.PI; }, set: function (t) { this.intensity = t / Math.PI; }, }), (this.distance = void 0 !== n ? n : 0), (this.angle = void 0 !== i ? i : Math.PI / 3), (this.penumbra = void 0 !== r ? r : 0), (this.decay = void 0 !== o ? o : 1), (this.shadow = new hd()); } function md() { pd.call(this, new ko(90, 1, 0.5, 500)), (this._frameExtents = new Zn(4, 2)), (this._viewportCount = 6), (this._viewports = [new ei(2, 1, 1, 1), new ei(0, 1, 1, 1), new ei(3, 1, 1, 1), new ei(1, 1, 1, 1), new ei(3, 0, 1, 1), new ei(1, 0, 1, 1)]), (this._cubeDirections = [new si(1, 0, 0), new si(-1, 0, 0), new si(0, 0, 1), new si(0, 0, -1), new si(0, 1, 0), new si(0, -1, 0)]), (this._cubeUps = [new si(0, 1, 0), new si(0, 1, 0), new si(0, 1, 0), new si(0, 1, 0), new si(0, 0, 1), new si(0, 0, -1)]); } function gd(t, e, n, i) { ud.call(this, t, e), (this.type = 'PointLight'), Object.defineProperty(this, 'power', { get: function () { return 4 * this.intensity * Math.PI; }, set: function (t) { this.intensity = t / (4 * Math.PI); }, }), (this.distance = void 0 !== n ? n : 0), (this.decay = void 0 !== i ? i : 1), (this.shadow = new md()); } function vd(t, e, n, i, r, o) { Io.call(this), (this.type = 'OrthographicCamera'), (this.zoom = 1), (this.view = null), (this.left = void 0 !== t ? t : -1), (this.right = void 0 !== e ? e : 1), (this.top = void 0 !== n ? n : 1), (this.bottom = void 0 !== i ? i : -1), (this.near = void 0 !== r ? r : 0.1), (this.far = void 0 !== o ? o : 2e3), this.updateProjectionMatrix(); } function yd() { pd.call(this, new vd(-5, 5, 5, -5, 0.5, 500)); } function bd(t, e) { ud.call(this, t, e), (this.type = 'DirectionalLight'), this.position.copy(Di.DefaultUp), this.updateMatrix(), (this.target = new Di()), (this.shadow = new yd()); } function wd(t, e) { ud.call(this, t, e), (this.type = 'AmbientLight'), (this.castShadow = void 0); } function Sd(t, e, n, i) { ud.call(this, t, e), (this.type = 'RectAreaLight'), (this.width = void 0 !== n ? n : 10), (this.height = void 0 !== i ? i : 10); } function xd(t) { ku.call(this, t), (this.textures = {}); } (sd.prototype = Object.assign(Object.create(Bu.prototype), { constructor: sd, add: function (t) { this.curves.push(t); }, closePath: function () { var t = this.curves[0].getPoint(0), e = this.curves[this.curves.length - 1].getPoint(1); t.equals(e) || this.curves.push(new ed(e, t)); }, getPoint: function (t) { for (var e = t * this.getLength(), n = this.getCurveLengths(), i = 0; i < n.length; ) { if (n[i] >= e) { var r = n[i] - e, o = this.curves[i], a = o.getLength(), s = 0 === a ? 0 : 1 - r / a; return o.getPointAt(s); } i++; } return null; }, getLength: function () { var t = this.getCurveLengths(); return t[t.length - 1]; }, updateArcLengths: function () { (this.needsUpdate = !0), (this.cacheLengths = null), this.getCurveLengths(); }, getCurveLengths: function () { if (this.cacheLengths && this.cacheLengths.length === this.curves.length) return this.cacheLengths; for (var t = [], e = 0, n = 0, i = this.curves.length; n < i; n++) (e += this.curves[n].getLength()), t.push(e); return (this.cacheLengths = t), t; }, getSpacedPoints: function (t) { void 0 === t && (t = 40); for (var e = [], n = 0; n <= t; n++) e.push(this.getPoint(n / t)); return this.autoClose && e.push(e[0]), e; }, getPoints: function (t) { t = t || 12; for (var e, n = [], i = 0, r = this.curves; i < r.length; i++) for ( var o = r[i], a = o && o.isEllipseCurve ? 2 * t : o && (o.isLineCurve || o.isLineCurve3) ? 1 : o && o.isSplineCurve ? t * o.points.length : t, s = o.getPoints(a), c = 0; c < s.length; c++ ) { var l = s[c]; (e && e.equals(l)) || (n.push(l), (e = l)); } return this.autoClose && n.length > 1 && !n[n.length - 1].equals(n[0]) && n.push(n[0]), n; }, copy: function (t) { Bu.prototype.copy.call(this, t), (this.curves = []); for (var e = 0, n = t.curves.length; e < n; e++) { var i = t.curves[e]; this.curves.push(i.clone()); } return (this.autoClose = t.autoClose), this; }, toJSON: function () { var t = Bu.prototype.toJSON.call(this); (t.autoClose = this.autoClose), (t.curves = []); for (var e = 0, n = this.curves.length; e < n; e++) { var i = this.curves[e]; t.curves.push(i.toJSON()); } return t; }, fromJSON: function (t) { Bu.prototype.fromJSON.call(this, t), (this.autoClose = t.autoClose), (this.curves = []); for (var e = 0, n = t.curves.length; e < n; e++) { var i = t.curves[e]; this.curves.push(new ad[i.type]().fromJSON(i)); } return this; }, })), (cd.prototype = Object.assign(Object.create(sd.prototype), { constructor: cd, setFromPoints: function (t) { this.moveTo(t[0].x, t[0].y); for (var e = 1, n = t.length; e < n; e++) this.lineTo(t[e].x, t[e].y); return this; }, moveTo: function (t, e) { return this.currentPoint.set(t, e), this; }, lineTo: function (t, e) { var n = new ed(this.currentPoint.clone(), new Zn(t, e)); return this.curves.push(n), this.currentPoint.set(t, e), this; }, quadraticCurveTo: function (t, e, n, i) { var r = new id(this.currentPoint.clone(), new Zn(t, e), new Zn(n, i)); return this.curves.push(r), this.currentPoint.set(n, i), this; }, bezierCurveTo: function (t, e, n, i, r, o) { var a = new $u(this.currentPoint.clone(), new Zn(t, e), new Zn(n, i), new Zn(r, o)); return this.curves.push(a), this.currentPoint.set(r, o), this; }, splineThru: function (t) { var e = new od([this.currentPoint.clone()].concat(t)); return this.curves.push(e), this.currentPoint.copy(t[t.length - 1]), this; }, arc: function (t, e, n, i, r, o) { var a = this.currentPoint.x, s = this.currentPoint.y; return this.absarc(t + a, e + s, n, i, r, o), this; }, absarc: function (t, e, n, i, r, o) { return this.absellipse(t, e, n, n, i, r, o), this; }, ellipse: function (t, e, n, i, r, o, a, s) { var c = this.currentPoint.x, l = this.currentPoint.y; return this.absellipse(t + c, e + l, n, i, r, o, a, s), this; }, absellipse: function (t, e, n, i, r, o, a, s) { var c = new zu(t, e, n, i, r, o, a, s); if (this.curves.length > 0) { var l = c.getPoint(0); l.equals(this.currentPoint) || this.lineTo(l.x, l.y); } this.curves.push(c); var u = c.getPoint(1); return this.currentPoint.copy(u), this; }, copy: function (t) { return sd.prototype.copy.call(this, t), this.currentPoint.copy(t.currentPoint), this; }, toJSON: function () { var t = sd.prototype.toJSON.call(this); return (t.currentPoint = this.currentPoint.toArray()), t; }, fromJSON: function (t) { return sd.prototype.fromJSON.call(this, t), this.currentPoint.fromArray(t.currentPoint), this; }, })), (ld.prototype = Object.assign(Object.create(cd.prototype), { constructor: ld, getPointsHoles: function (t) { for (var e = [], n = 0, i = this.holes.length; n < i; n++) e[n] = this.holes[n].getPoints(t); return e; }, extractPoints: function (t) { return { shape: this.getPoints(t), holes: this.getPointsHoles(t), }; }, copy: function (t) { cd.prototype.copy.call(this, t), (this.holes = []); for (var e = 0, n = t.holes.length; e < n; e++) { var i = t.holes[e]; this.holes.push(i.clone()); } return this; }, toJSON: function () { var t = cd.prototype.toJSON.call(this); (t.uuid = this.uuid), (t.holes = []); for (var e = 0, n = this.holes.length; e < n; e++) { var i = this.holes[e]; t.holes.push(i.toJSON()); } return t; }, fromJSON: function (t) { cd.prototype.fromJSON.call(this, t), (this.uuid = t.uuid), (this.holes = []); for (var e = 0, n = t.holes.length; e < n; e++) { var i = t.holes[e]; this.holes.push(new cd().fromJSON(i)); } return this; }, })), (ud.prototype = Object.assign(Object.create(Di.prototype), { constructor: ud, isLight: !0, copy: function (t) { return Di.prototype.copy.call(this, t), this.color.copy(t.color), (this.intensity = t.intensity), this; }, toJSON: function (t) { var e = Di.prototype.toJSON.call(this, t); return ( (e.object.color = this.color.getHex()), (e.object.intensity = this.intensity), void 0 !== this.groundColor && (e.object.groundColor = this.groundColor.getHex()), void 0 !== this.distance && (e.object.distance = this.distance), void 0 !== this.angle && (e.object.angle = this.angle), void 0 !== this.decay && (e.object.decay = this.decay), void 0 !== this.penumbra && (e.object.penumbra = this.penumbra), void 0 !== this.shadow && (e.object.shadow = this.shadow.toJSON()), e ); }, })), (dd.prototype = Object.assign(Object.create(ud.prototype), { constructor: dd, isHemisphereLight: !0, copy: function (t) { return ud.prototype.copy.call(this, t), this.groundColor.copy(t.groundColor), this; }, })), Object.assign(pd.prototype, { _projScreenMatrix: new mi(), _lightPositionWorld: new si(), _lookTarget: new si(), getViewportCount: function () { return this._viewportCount; }, getFrustum: function () { return this._frustum; }, updateMatrices: function (t) { var e = this.camera, n = this.matrix, i = this._projScreenMatrix, r = this._lookTarget, o = this._lightPositionWorld; o.setFromMatrixPosition(t.matrixWorld), e.position.copy(o), r.setFromMatrixPosition(t.target.matrixWorld), e.lookAt(r), e.updateMatrixWorld(), i.multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse), this._frustum.setFromProjectionMatrix(i), n.set(0.5, 0, 0, 0.5, 0, 0.5, 0, 0.5, 0, 0, 0.5, 0.5, 0, 0, 0, 1), n.multiply(e.projectionMatrix), n.multiply(e.matrixWorldInverse); }, getViewport: function (t) { return this._viewports[t]; }, getFrameExtents: function () { return this._frameExtents; }, copy: function (t) { return (this.camera = t.camera.clone()), (this.bias = t.bias), (this.radius = t.radius), this.mapSize.copy(t.mapSize), this; }, clone: function () { return new this.constructor().copy(this); }, toJSON: function () { var t = {}; return ( 0 !== this.bias && (t.bias = this.bias), 1 !== this.radius && (t.radius = this.radius), (512 === this.mapSize.x && 512 === this.mapSize.y) || (t.mapSize = this.mapSize.toArray()), (t.camera = this.camera.toJSON(!1).object), delete t.camera.matrix, t ); }, }), (hd.prototype = Object.assign(Object.create(pd.prototype), { constructor: hd, isSpotLightShadow: !0, updateMatrices: function (t) { var e = this.camera, n = 2 * Kn.RAD2DEG * t.angle, i = this.mapSize.width / this.mapSize.height, r = t.distance || e.far; (n === e.fov && i === e.aspect && r === e.far) || ((e.fov = n), (e.aspect = i), (e.far = r), e.updateProjectionMatrix()), pd.prototype.updateMatrices.call(this, t); }, })), (fd.prototype = Object.assign(Object.create(ud.prototype), { constructor: fd, isSpotLight: !0, copy: function (t) { return ( ud.prototype.copy.call(this, t), (this.distance = t.distance), (this.angle = t.angle), (this.penumbra = t.penumbra), (this.decay = t.decay), (this.target = t.target.clone()), (this.shadow = t.shadow.clone()), this ); }, })), (md.prototype = Object.assign(Object.create(pd.prototype), { constructor: md, isPointLightShadow: !0, updateMatrices: function (t, e) { void 0 === e && (e = 0); var n = this.camera, i = this.matrix, r = this._lightPositionWorld, o = this._lookTarget, a = this._projScreenMatrix; r.setFromMatrixPosition(t.matrixWorld), n.position.copy(r), o.copy(n.position), o.add(this._cubeDirections[e]), n.up.copy(this._cubeUps[e]), n.lookAt(o), n.updateMatrixWorld(), i.makeTranslation(-r.x, -r.y, -r.z), a.multiplyMatrices(n.projectionMatrix, n.matrixWorldInverse), this._frustum.setFromProjectionMatrix(a); }, })), (gd.prototype = Object.assign(Object.create(ud.prototype), { constructor: gd, isPointLight: !0, copy: function (t) { return ud.prototype.copy.call(this, t), (this.distance = t.distance), (this.decay = t.decay), (this.shadow = t.shadow.clone()), this; }, })), (vd.prototype = Object.assign(Object.create(Io.prototype), { constructor: vd, isOrthographicCamera: !0, copy: function (t, e) { return ( Io.prototype.copy.call(this, t, e), (this.left = t.left), (this.right = t.right), (this.top = t.top), (this.bottom = t.bottom), (this.near = t.near), (this.far = t.far), (this.zoom = t.zoom), (this.view = null === t.view ? null : Object.assign({}, t.view)), this ); }, setViewOffset: function (t, e, n, i, r, o) { null === this.view && (this.view = { enabled: !0, fullWidth: 1, fullHeight: 1, offsetX: 0, offsetY: 0, width: 1, height: 1, }), (this.view.enabled = !0), (this.view.fullWidth = t), (this.view.fullHeight = e), (this.view.offsetX = n), (this.view.offsetY = i), (this.view.width = r), (this.view.height = o), this.updateProjectionMatrix(); }, clearViewOffset: function () { null !== this.view && (this.view.enabled = !1), this.updateProjectionMatrix(); }, updateProjectionMatrix: function () { var t = (this.right - this.left) / (2 * this.zoom), e = (this.top - this.bottom) / (2 * this.zoom), n = (this.right + this.left) / 2, i = (this.top + this.bottom) / 2, r = n - t, o = n + t, a = i + e, s = i - e; if (null !== this.view && this.view.enabled) { var c = (this.right - this.left) / this.view.fullWidth / this.zoom, l = (this.top - this.bottom) / this.view.fullHeight / this.zoom; (o = (r += c * this.view.offsetX) + c * this.view.width), (s = (a -= l * this.view.offsetY) - l * this.view.height); } this.projectionMatrix.makeOrthographic(r, o, a, s, this.near, this.far), this.projectionMatrixInverse.getInverse(this.projectionMatrix); }, toJSON: function (t) { var e = Di.prototype.toJSON.call(this, t); return ( (e.object.zoom = this.zoom), (e.object.left = this.left), (e.object.right = this.right), (e.object.top = this.top), (e.object.bottom = this.bottom), (e.object.near = this.near), (e.object.far = this.far), null !== this.view && (e.object.view = Object.assign({}, this.view)), e ); }, })), (yd.prototype = Object.assign(Object.create(pd.prototype), { constructor: yd, isDirectionalLightShadow: !0, updateMatrices: function (t) { pd.prototype.updateMatrices.call(this, t); }, })), (bd.prototype = Object.assign(Object.create(ud.prototype), { constructor: bd, isDirectionalLight: !0, copy: function (t) { return ud.prototype.copy.call(this, t), (this.target = t.target.clone()), (this.shadow = t.shadow.clone()), this; }, })), (wd.prototype = Object.assign(Object.create(ud.prototype), { constructor: wd, isAmbientLight: !0, })), (Sd.prototype = Object.assign(Object.create(ud.prototype), { constructor: Sd, isRectAreaLight: !0, copy: function (t) { return ud.prototype.copy.call(this, t), (this.width = t.width), (this.height = t.height), this; }, toJSON: function (t) { var e = ud.prototype.toJSON.call(this, t); return (e.object.width = this.width), (e.object.height = this.height), e; }, })), (xd.prototype = Object.assign(Object.create(ku.prototype), { constructor: xd, load: function (t, e, n, i) { var r = this, o = new Ru(r.manager); o.setPath(r.path), o.load( t, function (t) { e(r.parse(JSON.parse(t))); }, n, i ); }, parse: function (t) { var e = this.textures; function n(t) { return void 0 === e[t] && console.warn('THREE.MaterialLoader: Undefined texture', t), e[t]; } var i = new hu[t.type](); if ( (void 0 !== t.uuid && (i.uuid = t.uuid), void 0 !== t.name && (i.name = t.name), void 0 !== t.color && i.color.setHex(t.color), void 0 !== t.roughness && (i.roughness = t.roughness), void 0 !== t.metalness && (i.metalness = t.metalness), void 0 !== t.sheen && (i.sheen = new Er().setHex(t.sheen)), void 0 !== t.emissive && i.emissive.setHex(t.emissive), void 0 !== t.specular && i.specular.setHex(t.specular), void 0 !== t.shininess && (i.shininess = t.shininess), void 0 !== t.clearcoat && (i.clearcoat = t.clearcoat), void 0 !== t.clearcoatRoughness && (i.clearcoatRoughness = t.clearcoatRoughness), void 0 !== t.fog && (i.fog = t.fog), void 0 !== t.flatShading && (i.flatShading = t.flatShading), void 0 !== t.blending && (i.blending = t.blending), void 0 !== t.combine && (i.combine = t.combine), void 0 !== t.side && (i.side = t.side), void 0 !== t.opacity && (i.opacity = t.opacity), void 0 !== t.transparent && (i.transparent = t.transparent), void 0 !== t.alphaTest && (i.alphaTest = t.alphaTest), void 0 !== t.depthTest && (i.depthTest = t.depthTest), void 0 !== t.depthWrite && (i.depthWrite = t.depthWrite), void 0 !== t.colorWrite && (i.colorWrite = t.colorWrite), void 0 !== t.stencilWrite && (i.stencilWrite = t.stencilWrite), void 0 !== t.stencilWriteMask && (i.stencilWriteMask = t.stencilWriteMask), void 0 !== t.stencilFunc && (i.stencilFunc = t.stencilFunc), void 0 !== t.stencilRef && (i.stencilRef = t.stencilRef), void 0 !== t.stencilFuncMask && (i.stencilFuncMask = t.stencilFuncMask), void 0 !== t.stencilFail && (i.stencilFail = t.stencilFail), void 0 !== t.stencilZFail && (i.stencilZFail = t.stencilZFail), void 0 !== t.stencilZPass && (i.stencilZPass = t.stencilZPass), void 0 !== t.wireframe && (i.wireframe = t.wireframe), void 0 !== t.wireframeLinewidth && (i.wireframeLinewidth = t.wireframeLinewidth), void 0 !== t.wireframeLinecap && (i.wireframeLinecap = t.wireframeLinecap), void 0 !== t.wireframeLinejoin && (i.wireframeLinejoin = t.wireframeLinejoin), void 0 !== t.rotation && (i.rotation = t.rotation), 1 !== t.linewidth && (i.linewidth = t.linewidth), void 0 !== t.dashSize && (i.dashSize = t.dashSize), void 0 !== t.gapSize && (i.gapSize = t.gapSize), void 0 !== t.scale && (i.scale = t.scale), void 0 !== t.polygonOffset && (i.polygonOffset = t.polygonOffset), void 0 !== t.polygonOffsetFactor && (i.polygonOffsetFactor = t.polygonOffsetFactor), void 0 !== t.polygonOffsetUnits && (i.polygonOffsetUnits = t.polygonOffsetUnits), void 0 !== t.skinning && (i.skinning = t.skinning), void 0 !== t.morphTargets && (i.morphTargets = t.morphTargets), void 0 !== t.morphNormals && (i.morphNormals = t.morphNormals), void 0 !== t.dithering && (i.dithering = t.dithering), void 0 !== t.vertexTangents && (i.vertexTangents = t.vertexTangents), void 0 !== t.visible && (i.visible = t.visible), void 0 !== t.toneMapped && (i.toneMapped = t.toneMapped), void 0 !== t.userData && (i.userData = t.userData), void 0 !== t.vertexColors && ('number' == typeof t.vertexColors ? (i.vertexColors = t.vertexColors > 0) : (i.vertexColors = t.vertexColors)), void 0 !== t.uniforms) ) for (var r in t.uniforms) { var o = t.uniforms[r]; switch (((i.uniforms[r] = {}), o.type)) { case 't': i.uniforms[r].value = n(o.value); break; case 'c': i.uniforms[r].value = new Er().setHex(o.value); break; case 'v2': i.uniforms[r].value = new Zn().fromArray(o.value); break; case 'v3': i.uniforms[r].value = new si().fromArray(o.value); break; case 'v4': i.uniforms[r].value = new ei().fromArray(o.value); break; case 'm3': i.uniforms[r].value = new Jn().fromArray(o.value); case 'm4': i.uniforms[r].value = new mi().fromArray(o.value); break; default: i.uniforms[r].value = o.value; } } if ( (void 0 !== t.defines && (i.defines = t.defines), void 0 !== t.vertexShader && (i.vertexShader = t.vertexShader), void 0 !== t.fragmentShader && (i.fragmentShader = t.fragmentShader), void 0 !== t.extensions) ) for (var a in t.extensions) i.extensions[a] = t.extensions[a]; if ( (void 0 !== t.shading && (i.flatShading = 1 === t.shading), void 0 !== t.size && (i.size = t.size), void 0 !== t.sizeAttenuation && (i.sizeAttenuation = t.sizeAttenuation), void 0 !== t.map && (i.map = n(t.map)), void 0 !== t.matcap && (i.matcap = n(t.matcap)), void 0 !== t.alphaMap && (i.alphaMap = n(t.alphaMap)), void 0 !== t.bumpMap && (i.bumpMap = n(t.bumpMap)), void 0 !== t.bumpScale && (i.bumpScale = t.bumpScale), void 0 !== t.normalMap && (i.normalMap = n(t.normalMap)), void 0 !== t.normalMapType && (i.normalMapType = t.normalMapType), void 0 !== t.normalScale) ) { var s = t.normalScale; !1 === Array.isArray(s) && (s = [s, s]), (i.normalScale = new Zn().fromArray(s)); } return ( void 0 !== t.displacementMap && (i.displacementMap = n(t.displacementMap)), void 0 !== t.displacementScale && (i.displacementScale = t.displacementScale), void 0 !== t.displacementBias && (i.displacementBias = t.displacementBias), void 0 !== t.roughnessMap && (i.roughnessMap = n(t.roughnessMap)), void 0 !== t.metalnessMap && (i.metalnessMap = n(t.metalnessMap)), void 0 !== t.emissiveMap && (i.emissiveMap = n(t.emissiveMap)), void 0 !== t.emissiveIntensity && (i.emissiveIntensity = t.emissiveIntensity), void 0 !== t.specularMap && (i.specularMap = n(t.specularMap)), void 0 !== t.envMap && (i.envMap = n(t.envMap)), void 0 !== t.envMapIntensity && (i.envMapIntensity = t.envMapIntensity), void 0 !== t.reflectivity && (i.reflectivity = t.reflectivity), void 0 !== t.refractionRatio && (i.refractionRatio = t.refractionRatio), void 0 !== t.lightMap && (i.lightMap = n(t.lightMap)), void 0 !== t.lightMapIntensity && (i.lightMapIntensity = t.lightMapIntensity), void 0 !== t.aoMap && (i.aoMap = n(t.aoMap)), void 0 !== t.aoMapIntensity && (i.aoMapIntensity = t.aoMapIntensity), void 0 !== t.gradientMap && (i.gradientMap = n(t.gradientMap)), void 0 !== t.clearcoatMap && (i.clearcoatMap = n(t.clearcoatMap)), void 0 !== t.clearcoatRoughnessMap && (i.clearcoatRoughnessMap = n(t.clearcoatRoughnessMap)), void 0 !== t.clearcoatNormalMap && (i.clearcoatNormalMap = n(t.clearcoatNormalMap)), void 0 !== t.clearcoatNormalScale && (i.clearcoatNormalScale = new Zn().fromArray(t.clearcoatNormalScale)), i ); }, setTextures: function (t) { return (this.textures = t), this; }, })); var Md = { decodeText: function (t) { if ('undefined' != typeof TextDecoder) return new TextDecoder().decode(t); for (var e = '', n = 0, i = t.length; n < i; n++) e += String.fromCharCode(t[n]); try { return decodeURIComponent(escape(e)); } catch (t) { return e; } }, extractUrlBase: function (t) { var e = t.lastIndexOf('/'); return -1 === e ? './' : t.substr(0, e + 1); }, }; function Ed() { Qr.call(this), (this.type = 'InstancedBufferGeometry'), (this.maxInstancedCount = void 0); } function Cd(t, e, n, i) { 'number' == typeof n && ((i = n), (n = !1), console.error('THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.')), Dr.call(this, t, e, n), (this.meshPerAttribute = i || 1); } function Ad(t) { ku.call(this, t); } (Ed.prototype = Object.assign(Object.create(Qr.prototype), { constructor: Ed, isInstancedBufferGeometry: !0, copy: function (t) { return Qr.prototype.copy.call(this, t), (this.maxInstancedCount = t.maxInstancedCount), this; }, clone: function () { return new this.constructor().copy(this); }, toJSON: function () { var t = Qr.prototype.toJSON.call(this); return (t.maxInstancedCount = this.maxInstancedCount), (t.isInstancedBufferGeometry = !0), t; }, })), (Cd.prototype = Object.assign(Object.create(Dr.prototype), { constructor: Cd, isInstancedBufferAttribute: !0, copy: function (t) { return Dr.prototype.copy.call(this, t), (this.meshPerAttribute = t.meshPerAttribute), this; }, toJSON: function () { var t = Dr.prototype.toJSON.call(this); return (t.meshPerAttribute = this.meshPerAttribute), (t.isInstancedBufferAttribute = !0), t; }, })), (Ad.prototype = Object.assign(Object.create(ku.prototype), { constructor: Ad, load: function (t, e, n, i) { var r = this, o = new Ru(r.manager); o.setPath(r.path), o.load( t, function (t) { e(r.parse(JSON.parse(t))); }, n, i ); }, parse: function (t) { var e = t.isInstancedBufferGeometry ? new Ed() : new Qr(), n = t.data.index; if (void 0 !== n) { var i = new Td[n.type](n.array); e.setIndex(new Dr(i, 1)); } var r = t.data.attributes; for (var o in r) { var a = r[o], s = ((i = new Td[a.type](a.array)), new (a.isInstancedBufferAttribute ? Cd : Dr)(i, a.itemSize, a.normalized)); void 0 !== a.name && (s.name = a.name), e.setAttribute(o, s); } var c = t.data.morphAttributes; if (c) for (var o in c) { for (var l = c[o], u = [], d = 0, p = l.length; d < p; d++) { (a = l[d]), (s = new Dr((i = new Td[a.type](a.array)), a.itemSize, a.normalized)); void 0 !== a.name && (s.name = a.name), u.push(s); } e.morphAttributes[o] = u; } t.data.morphTargetsRelative && (e.morphTargetsRelative = !0); var h = t.data.groups || t.data.drawcalls || t.data.offsets; if (void 0 !== h) { d = 0; for (var f = h.length; d !== f; ++d) { var m = h[d]; e.addGroup(m.start, m.count, m.materialIndex); } } var g = t.data.boundingSphere; if (void 0 !== g) { var v = new si(); void 0 !== g.center && v.fromArray(g.center), (e.boundingSphere = new Ji(v, g.radius)); } return t.name && (e.name = t.name), t.userData && (e.userData = t.userData), e; }, })); var Td = { Int8Array: Int8Array, Uint8Array: Uint8Array, Uint8ClampedArray: 'undefined' != typeof Uint8ClampedArray ? Uint8ClampedArray : Uint8Array, Int16Array: Int16Array, Uint16Array: Uint16Array, Int32Array: Int32Array, Uint32Array: Uint32Array, Float32Array: Float32Array, Float64Array: Float64Array, }; function Od(t) { ku.call(this, t); } Od.prototype = Object.assign(Object.create(ku.prototype), { constructor: Od, load: function (t, e, n, i) { var r = this, o = '' === this.path ? Md.extractUrlBase(t) : this.path; this.resourcePath = this.resourcePath || o; var a = new Ru(r.manager); a.setPath(this.path), a.load( t, function (n) { var o = null; try { o = JSON.parse(n); } catch (e) { return void 0 !== i && i(e), void console.error("THREE:ObjectLoader: Can't parse " + t + '.', e.message); } var a = o.metadata; void 0 !== a && void 0 !== a.type && 'geometry' !== a.type.toLowerCase() ? r.parse(o, e) : console.error("THREE.ObjectLoader: Can't load " + t); }, n, i ); }, parse: function (t, e) { var n = this.parseShape(t.shapes), i = this.parseGeometries(t.geometries, n), r = this.parseImages(t.images, function () { void 0 !== e && e(s); }), o = this.parseTextures(t.textures, r), a = this.parseMaterials(t.materials, o), s = this.parseObject(t.object, i, a); return t.animations && (s.animations = this.parseAnimations(t.animations)), (void 0 !== t.images && 0 !== t.images.length) || (void 0 !== e && e(s)), s; }, parseShape: function (t) { var e = {}; if (void 0 !== t) for (var n = 0, i = t.length; n < i; n++) { var r = new ld().fromJSON(t[n]); e[r.uuid] = r; } return e; }, parseGeometries: function (t, e) { var n = {}; if (void 0 !== t) for (var i = new Ad(), r = 0, o = t.length; r < o; r++) { var a, s = t[r]; switch (s.type) { case 'PlaneGeometry': case 'PlaneBufferGeometry': a = new nu[s.type](s.width, s.height, s.widthSegments, s.heightSegments); break; case 'BoxGeometry': case 'BoxBufferGeometry': case 'CubeGeometry': a = new nu[s.type](s.width, s.height, s.depth, s.widthSegments, s.heightSegments, s.depthSegments); break; case 'CircleGeometry': case 'CircleBufferGeometry': a = new nu[s.type](s.radius, s.segments, s.thetaStart, s.thetaLength); break; case 'CylinderGeometry': case 'CylinderBufferGeometry': a = new nu[s.type](s.radiusTop, s.radiusBottom, s.height, s.radialSegments, s.heightSegments, s.openEnded, s.thetaStart, s.thetaLength); break; case 'ConeGeometry': case 'ConeBufferGeometry': a = new nu[s.type](s.radius, s.height, s.radialSegments, s.heightSegments, s.openEnded, s.thetaStart, s.thetaLength); break; case 'SphereGeometry': case 'SphereBufferGeometry': a = new nu[s.type](s.radius, s.widthSegments, s.heightSegments, s.phiStart, s.phiLength, s.thetaStart, s.thetaLength); break; case 'DodecahedronGeometry': case 'DodecahedronBufferGeometry': case 'IcosahedronGeometry': case 'IcosahedronBufferGeometry': case 'OctahedronGeometry': case 'OctahedronBufferGeometry': case 'TetrahedronGeometry': case 'TetrahedronBufferGeometry': a = new nu[s.type](s.radius, s.detail); break; case 'RingGeometry': case 'RingBufferGeometry': a = new nu[s.type](s.innerRadius, s.outerRadius, s.thetaSegments, s.phiSegments, s.thetaStart, s.thetaLength); break; case 'TorusGeometry': case 'TorusBufferGeometry': a = new nu[s.type](s.radius, s.tube, s.radialSegments, s.tubularSegments, s.arc); break; case 'TorusKnotGeometry': case 'TorusKnotBufferGeometry': a = new nu[s.type](s.radius, s.tube, s.tubularSegments, s.radialSegments, s.p, s.q); break; case 'TubeGeometry': case 'TubeBufferGeometry': a = new nu[s.type](new ad[s.path.type]().fromJSON(s.path), s.tubularSegments, s.radius, s.radialSegments, s.closed); break; case 'LatheGeometry': case 'LatheBufferGeometry': a = new nu[s.type](s.points, s.segments, s.phiStart, s.phiLength); break; case 'PolyhedronGeometry': case 'PolyhedronBufferGeometry': a = new nu[s.type](s.vertices, s.indices, s.radius, s.details); break; case 'ShapeGeometry': case 'ShapeBufferGeometry': for (var c = [], l = 0, u = s.shapes.length; l < u; l++) { var d = e[s.shapes[l]]; c.push(d); } a = new nu[s.type](c, s.curveSegments); break; case 'ExtrudeGeometry': case 'ExtrudeBufferGeometry': for (c = [], l = 0, u = s.shapes.length; l < u; l++) { d = e[s.shapes[l]]; c.push(d); } var p = s.options.extrudePath; void 0 !== p && (s.options.extrudePath = new ad[p.type]().fromJSON(p)), (a = new nu[s.type](c, s.options)); break; case 'BufferGeometry': case 'InstancedBufferGeometry': a = i.parse(s); break; case 'Geometry': console.error('THREE.ObjectLoader: Loading "Geometry" is not supported anymore.'); break; default: console.warn('THREE.ObjectLoader: Unsupported geometry type "' + s.type + '"'); continue; } (a.uuid = s.uuid), void 0 !== s.name && (a.name = s.name), !0 === a.isBufferGeometry && void 0 !== s.userData && (a.userData = s.userData), (n[s.uuid] = a); } return n; }, parseMaterials: function (t, e) { var n = {}, i = {}; if (void 0 !== t) { var r = new xd(); r.setTextures(e); for (var o = 0, a = t.length; o < a; o++) { var s = t[o]; if ('MultiMaterial' === s.type) { for (var c = [], l = 0; l < s.materials.length; l++) { var u = s.materials[l]; void 0 === n[u.uuid] && (n[u.uuid] = r.parse(u)), c.push(n[u.uuid]); } i[s.uuid] = c; } else void 0 === n[s.uuid] && (n[s.uuid] = r.parse(s)), (i[s.uuid] = n[s.uuid]); } } return i; }, parseAnimations: function (t) { for (var e = [], n = 0; n < t.length; n++) { var i = t[n], r = Tu.parse(i); void 0 !== i.uuid && (r.uuid = i.uuid), e.push(r); } return e; }, parseImages: function (t, e) { var n = this, i = {}; function r(t) { return ( n.manager.itemStart(t), o.load( t, function () { n.manager.itemEnd(t); }, void 0, function () { n.manager.itemError(t), n.manager.itemEnd(t); } ) ); } if (void 0 !== t && t.length > 0) { var o = new Vu(new Pu(e)); o.setCrossOrigin(this.crossOrigin); for (var a = 0, s = t.length; a < s; a++) { var c = t[a], l = c.url; if (Array.isArray(l)) { i[c.uuid] = []; for (var u = 0, d = l.length; u < d; u++) { var p = l[u], h = /^(\/\/)|([a-z]+:(\/\/)?)/i.test(p) ? p : n.resourcePath + p; i[c.uuid].push(r(h)); } } else { h = /^(\/\/)|([a-z]+:(\/\/)?)/i.test(c.url) ? c.url : n.resourcePath + c.url; i[c.uuid] = r(h); } } } return i; }, parseTextures: function (t, e) { function n(t, e) { return 'number' == typeof t ? t : (console.warn('THREE.ObjectLoader.parseTexture: Constant should be in numeric form.', t), e[t]); } var i = {}; if (void 0 !== t) for (var r = 0, o = t.length; r < o; r++) { var a, s = t[r]; void 0 === s.image && console.warn('THREE.ObjectLoader: No "image" specified for', s.uuid), void 0 === e[s.image] && console.warn('THREE.ObjectLoader: Undefined image', s.image), ((a = Array.isArray(e[s.image]) ? new ia(e[s.image]) : new ti(e[s.image])).needsUpdate = !0), (a.uuid = s.uuid), void 0 !== s.name && (a.name = s.name), void 0 !== s.mapping && (a.mapping = n(s.mapping, Pd)), void 0 !== s.offset && a.offset.fromArray(s.offset), void 0 !== s.repeat && a.repeat.fromArray(s.repeat), void 0 !== s.center && a.center.fromArray(s.center), void 0 !== s.rotation && (a.rotation = s.rotation), void 0 !== s.wrap && ((a.wrapS = n(s.wrap[0], Id)), (a.wrapT = n(s.wrap[1], Id))), void 0 !== s.format && (a.format = s.format), void 0 !== s.type && (a.type = s.type), void 0 !== s.encoding && (a.encoding = s.encoding), void 0 !== s.minFilter && (a.minFilter = n(s.minFilter, kd)), void 0 !== s.magFilter && (a.magFilter = n(s.magFilter, kd)), void 0 !== s.anisotropy && (a.anisotropy = s.anisotropy), void 0 !== s.flipY && (a.flipY = s.flipY), void 0 !== s.premultiplyAlpha && (a.premultiplyAlpha = s.premultiplyAlpha), void 0 !== s.unpackAlignment && (a.unpackAlignment = s.unpackAlignment), (i[s.uuid] = a); } return i; }, parseObject: function (t, e, n) { var i; function r(t) { return void 0 === e[t] && console.warn('THREE.ObjectLoader: Undefined geometry', t), e[t]; } function o(t) { if (void 0 !== t) { if (Array.isArray(t)) { for (var e = [], i = 0, r = t.length; i < r; i++) { var o = t[i]; void 0 === n[o] && console.warn('THREE.ObjectLoader: Undefined material', o), e.push(n[o]); } return e; } return void 0 === n[t] && console.warn('THREE.ObjectLoader: Undefined material', t), n[t]; } } switch (t.type) { case 'Scene': (i = new Ri()), void 0 !== t.background && Number.isInteger(t.background) && (i.background = new Er(t.background)), void 0 !== t.fog && ('Fog' === t.fog.type ? (i.fog = new Gs(t.fog.color, t.fog.near, t.fog.far)) : 'FogExp2' === t.fog.type && (i.fog = new zs(t.fog.color, t.fog.density))); break; case 'PerspectiveCamera': (i = new ko(t.fov, t.aspect, t.near, t.far)), void 0 !== t.focus && (i.focus = t.focus), void 0 !== t.zoom && (i.zoom = t.zoom), void 0 !== t.filmGauge && (i.filmGauge = t.filmGauge), void 0 !== t.filmOffset && (i.filmOffset = t.filmOffset), void 0 !== t.view && (i.view = Object.assign({}, t.view)); break; case 'OrthographicCamera': (i = new vd(t.left, t.right, t.top, t.bottom, t.near, t.far)), void 0 !== t.zoom && (i.zoom = t.zoom), void 0 !== t.view && (i.view = Object.assign({}, t.view)); break; case 'AmbientLight': i = new wd(t.color, t.intensity); break; case 'DirectionalLight': i = new bd(t.color, t.intensity); break; case 'PointLight': i = new gd(t.color, t.intensity, t.distance, t.decay); break; case 'RectAreaLight': i = new Sd(t.color, t.intensity, t.width, t.height); break; case 'SpotLight': i = new fd(t.color, t.intensity, t.distance, t.angle, t.penumbra, t.decay); break; case 'HemisphereLight': i = new dd(t.color, t.groundColor, t.intensity); break; case 'SkinnedMesh': console.warn('THREE.ObjectLoader.parseObject() does not support SkinnedMesh yet.'); case 'Mesh': i = new vo((a = r(t.geometry)), (s = o(t.material))); break; case 'InstancedMesh': var a = r(t.geometry), s = o(t.material), c = t.count, l = t.instanceMatrix; (i = new Sc(a, s, c)).instanceMatrix = new Dr(new Float32Array(l.array), 16); break; case 'LOD': i = new dc(); break; case 'Line': i = new Oc(r(t.geometry), o(t.material), t.mode); break; case 'LineLoop': i = new kc(r(t.geometry), o(t.material)); break; case 'LineSegments': i = new Ic(r(t.geometry), o(t.material)); break; case 'PointCloud': case 'Points': i = new Vc(r(t.geometry), o(t.material)); break; case 'Sprite': i = new sc(o(t.material)); break; case 'Group': i = new Fs(); break; default: i = new Di(); } if ( ((i.uuid = t.uuid), void 0 !== t.name && (i.name = t.name), void 0 !== t.matrix ? (i.matrix.fromArray(t.matrix), void 0 !== t.matrixAutoUpdate && (i.matrixAutoUpdate = t.matrixAutoUpdate), i.matrixAutoUpdate && i.matrix.decompose(i.position, i.quaternion, i.scale)) : (void 0 !== t.position && i.position.fromArray(t.position), void 0 !== t.rotation && i.rotation.fromArray(t.rotation), void 0 !== t.quaternion && i.quaternion.fromArray(t.quaternion), void 0 !== t.scale && i.scale.fromArray(t.scale)), void 0 !== t.castShadow && (i.castShadow = t.castShadow), void 0 !== t.receiveShadow && (i.receiveShadow = t.receiveShadow), t.shadow && (void 0 !== t.shadow.bias && (i.shadow.bias = t.shadow.bias), void 0 !== t.shadow.radius && (i.shadow.radius = t.shadow.radius), void 0 !== t.shadow.mapSize && i.shadow.mapSize.fromArray(t.shadow.mapSize), void 0 !== t.shadow.camera && (i.shadow.camera = this.parseObject(t.shadow.camera))), void 0 !== t.visible && (i.visible = t.visible), void 0 !== t.frustumCulled && (i.frustumCulled = t.frustumCulled), void 0 !== t.renderOrder && (i.renderOrder = t.renderOrder), void 0 !== t.userData && (i.userData = t.userData), void 0 !== t.layers && (i.layers.mask = t.layers), void 0 !== t.children) ) for (var u = t.children, d = 0; d < u.length; d++) i.add(this.parseObject(u[d], e, n)); if ('LOD' === t.type) { void 0 !== t.autoUpdate && (i.autoUpdate = t.autoUpdate); for (var p = t.levels, h = 0; h < p.length; h++) { var f = p[h], m = i.getObjectByProperty('uuid', f.object); void 0 !== m && i.addLevel(m, f.distance); } } return i; }, }); var _d, Pd = { UVMapping: gt, CubeReflectionMapping: vt, CubeRefractionMapping: yt, EquirectangularReflectionMapping: bt, EquirectangularRefractionMapping: wt, SphericalReflectionMapping: St, CubeUVReflectionMapping: xt, CubeUVRefractionMapping: Mt, }, Id = { RepeatWrapping: Et, ClampToEdgeWrapping: Ct, MirroredRepeatWrapping: At, }, kd = { NearestFilter: Tt, NearestMipmapNearestFilter: Ot, NearestMipmapLinearFilter: Pt, LinearFilter: kt, LinearMipmapNearestFilter: Dt, LinearMipmapLinearFilter: Lt, }; function Dd(t) { 'undefined' == typeof createImageBitmap && console.warn('THREE.ImageBitmapLoader: createImageBitmap() not supported.'), 'undefined' == typeof fetch && console.warn('THREE.ImageBitmapLoader: fetch() not supported.'), ku.call(this, t), (this.options = void 0); } function Rd() { (this.type = 'ShapePath'), (this.color = new Er()), (this.subPaths = []), (this.currentPath = null); } function Ld(t) { (this.type = 'Font'), (this.data = t); } function Nd(t, e, n, i, r) { var o = r.glyphs[t] || r.glyphs['?']; if (o) { var a, s, c, l, u, d, p, h, f = new Rd(); if (o.o) for (var m = o._cachedOutline || (o._cachedOutline = o.o.split(' ')), g = 0, v = m.length; g < v; ) { switch (m[g++]) { case 'm': (a = m[g++] * e + n), (s = m[g++] * e + i), f.moveTo(a, s); break; case 'l': (a = m[g++] * e + n), (s = m[g++] * e + i), f.lineTo(a, s); break; case 'q': (c = m[g++] * e + n), (l = m[g++] * e + i), (u = m[g++] * e + n), (d = m[g++] * e + i), f.quadraticCurveTo(u, d, c, l); break; case 'b': (c = m[g++] * e + n), (l = m[g++] * e + i), (u = m[g++] * e + n), (d = m[g++] * e + i), (p = m[g++] * e + n), (h = m[g++] * e + i), f.bezierCurveTo(u, d, p, h, c, l); } } return { offsetX: o.ha * e, path: f, }; } console.error('THREE.Font: character "' + t + '" does not exists in font family ' + r.familyName + '.'); } function jd(t) { ku.call(this, t); } (Dd.prototype = Object.assign(Object.create(ku.prototype), { constructor: Dd, setOptions: function (t) { return (this.options = t), this; }, load: function (t, e, n, i) { void 0 === t && (t = ''), void 0 !== this.path && (t = this.path + t), (t = this.manager.resolveURL(t)); var r = this, o = _u.get(t); if (void 0 !== o) return ( r.manager.itemStart(t), setTimeout(function () { e && e(o), r.manager.itemEnd(t); }, 0), o ); fetch(t) .then(function (t) { return t.blob(); }) .then(function (t) { return void 0 === r.options ? createImageBitmap(t) : createImageBitmap(t, r.options); }) .then(function (n) { _u.add(t, n), e && e(n), r.manager.itemEnd(t); }) .catch(function (e) { i && i(e), r.manager.itemError(t), r.manager.itemEnd(t); }), r.manager.itemStart(t); }, })), Object.assign(Rd.prototype, { moveTo: function (t, e) { return (this.currentPath = new cd()), this.subPaths.push(this.currentPath), this.currentPath.moveTo(t, e), this; }, lineTo: function (t, e) { return this.currentPath.lineTo(t, e), this; }, quadraticCurveTo: function (t, e, n, i) { return this.currentPath.quadraticCurveTo(t, e, n, i), this; }, bezierCurveTo: function (t, e, n, i, r, o) { return this.currentPath.bezierCurveTo(t, e, n, i, r, o), this; }, splineThru: function (t) { return this.currentPath.splineThru(t), this; }, toShapes: function (t, e) { function n(t) { for (var e = [], n = 0, i = t.length; n < i; n++) { var r = t[n], o = new ld(); (o.curves = r.curves), e.push(o); } return e; } function i(t, e) { for (var n = e.length, i = !1, r = n - 1, o = 0; o < n; r = o++) { var a = e[r], s = e[o], c = s.x - a.x, l = s.y - a.y; if (Math.abs(l) > Number.EPSILON) { if ((l < 0 && ((a = e[o]), (c = -c), (s = e[r]), (l = -l)), t.y < a.y || t.y > s.y)) continue; if (t.y === a.y) { if (t.x === a.x) return !0; } else { var u = l * (t.x - a.x) - c * (t.y - a.y); if (0 === u) return !0; if (u < 0) continue; i = !i; } } else { if (t.y !== a.y) continue; if ((s.x <= t.x && t.x <= a.x) || (a.x <= t.x && t.x <= s.x)) return !0; } } return i; } var r = Il.isClockWise, o = this.subPaths; if (0 === o.length) return []; if (!0 === e) return n(o); var a, s, c, l = []; if (1 === o.length) return (s = o[0]), ((c = new ld()).curves = s.curves), l.push(c), l; var u = !r(o[0].getPoints()); u = t ? !u : u; var d, p, h = [], f = [], m = [], g = 0; (f[g] = void 0), (m[g] = []); for (var v = 0, y = o.length; v < y; v++) (a = r((d = (s = o[v]).getPoints()))), (a = t ? !a : a) ? (!u && f[g] && g++, (f[g] = { s: new ld(), p: d, }), (f[g].s.curves = s.curves), u && g++, (m[g] = [])) : m[g].push({ h: s, p: d[0], }); if (!f[0]) return n(o); if (f.length > 1) { for (var b = !1, w = [], S = 0, x = f.length; S < x; S++) h[S] = []; for (S = 0, x = f.length; S < x; S++) for (var M = m[S], E = 0; E < M.length; E++) { for (var C = M[E], A = !0, T = 0; T < f.length; T++) i(C.p, f[T].p) && (S !== T && w.push({ froms: S, tos: T, hole: E, }), A ? ((A = !1), h[T].push(C)) : (b = !0)); A && h[S].push(C); } w.length > 0 && (b || (m = h)); } v = 0; for (var O = f.length; v < O; v++) { (c = f[v].s), l.push(c); for (var _ = 0, P = (p = m[v]).length; _ < P; _++) c.holes.push(p[_].h); } return l; }, }), Object.assign(Ld.prototype, { isFont: !0, generateShapes: function (t, e) { void 0 === e && (e = 100); for ( var n = [], i = (function (t, e, n) { for ( var i = Array.from ? Array.from(t) : String(t).split(''), r = e / n.resolution, o = (n.boundingBox.yMax - n.boundingBox.yMin + n.underlineThickness) * r, a = [], s = 0, c = 0, l = 0; l < i.length; l++ ) { var u = i[l]; if ('\n' === u) (s = 0), (c -= o); else { var d = Nd(u, r, s, c, n); (s += d.offsetX), a.push(d.path); } } return a; })(t, e, this.data), r = 0, o = i.length; r < o; r++ ) Array.prototype.push.apply(n, i[r].toShapes()); return n; }, }), (jd.prototype = Object.assign(Object.create(ku.prototype), { constructor: jd, load: function (t, e, n, i) { var r = this, o = new Ru(this.manager); o.setPath(this.path), o.load( t, function (t) { var n; try { n = JSON.parse(t); } catch (e) { console.warn('THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead.'), (n = JSON.parse(t.substring(65, t.length - 2))); } var i = r.parse(n); e && e(i); }, n, i ); }, parse: function (t) { return new Ld(t); }, })); var Vd = { getContext: function () { return void 0 === _d && (_d = new (window.AudioContext || window.webkitAudioContext)()), _d; }, setContext: function (t) { _d = t; }, }; function Fd(t) { ku.call(this, t); } function Ud() { this.coefficients = []; for (var t = 0; t < 9; t++) this.coefficients.push(new si()); } function Bd(t, e) { ud.call(this, void 0, e), (this.sh = void 0 !== t ? t : new Ud()); } function zd(t, e, n) { Bd.call(this, void 0, n); var i = new Er().set(t), r = new Er().set(e), o = new si(i.r, i.g, i.b), a = new si(r.r, r.g, r.b), s = Math.sqrt(Math.PI), c = s * Math.sqrt(0.75); this.sh.coefficients[0].copy(o).add(a).multiplyScalar(s), this.sh.coefficients[1].copy(o).sub(a).multiplyScalar(c); } function Gd(t, e) { Bd.call(this, void 0, e); var n = new Er().set(t); this.sh.coefficients[0].set(n.r, n.g, n.b).multiplyScalar(2 * Math.sqrt(Math.PI)); } (Fd.prototype = Object.assign(Object.create(ku.prototype), { constructor: Fd, load: function (t, e, n, i) { var r = new Ru(this.manager); r.setResponseType('arraybuffer'), r.setPath(this.path), r.load( t, function (t) { var n = t.slice(0); Vd.getContext().decodeAudioData(n, function (t) { e(t); }); }, n, i ); }, })), Object.assign(Ud.prototype, { isSphericalHarmonics3: !0, set: function (t) { for (var e = 0; e < 9; e++) this.coefficients[e].copy(t[e]); return this; }, zero: function () { for (var t = 0; t < 9; t++) this.coefficients[t].set(0, 0, 0); return this; }, getAt: function (t, e) { var n = t.x, i = t.y, r = t.z, o = this.coefficients; return ( e.copy(o[0]).multiplyScalar(0.282095), e.addScaledVector(o[1], 0.488603 * i), e.addScaledVector(o[2], 0.488603 * r), e.addScaledVector(o[3], 0.488603 * n), e.addScaledVector(o[4], n * i * 1.092548), e.addScaledVector(o[5], i * r * 1.092548), e.addScaledVector(o[6], 0.315392 * (3 * r * r - 1)), e.addScaledVector(o[7], n * r * 1.092548), e.addScaledVector(o[8], 0.546274 * (n * n - i * i)), e ); }, getIrradianceAt: function (t, e) { var n = t.x, i = t.y, r = t.z, o = this.coefficients; return ( e.copy(o[0]).multiplyScalar(0.886227), e.addScaledVector(o[1], 1.023328 * i), e.addScaledVector(o[2], 1.023328 * r), e.addScaledVector(o[3], 1.023328 * n), e.addScaledVector(o[4], 0.858086 * n * i), e.addScaledVector(o[5], 0.858086 * i * r), e.addScaledVector(o[6], 0.743125 * r * r - 0.247708), e.addScaledVector(o[7], 0.858086 * n * r), e.addScaledVector(o[8], 0.429043 * (n * n - i * i)), e ); }, add: function (t) { for (var e = 0; e < 9; e++) this.coefficients[e].add(t.coefficients[e]); return this; }, addScaledSH: function (t, e) { for (var n = 0; n < 9; n++) this.coefficients[n].addScaledVector(t.coefficients[n], e); return this; }, scale: function (t) { for (var e = 0; e < 9; e++) this.coefficients[e].multiplyScalar(t); return this; }, lerp: function (t, e) { for (var n = 0; n < 9; n++) this.coefficients[n].lerp(t.coefficients[n], e); return this; }, equals: function (t) { for (var e = 0; e < 9; e++) if (!this.coefficients[e].equals(t.coefficients[e])) return !1; return !0; }, copy: function (t) { return this.set(t.coefficients); }, clone: function () { return new this.constructor().copy(this); }, fromArray: function (t, e) { void 0 === e && (e = 0); for (var n = this.coefficients, i = 0; i < 9; i++) n[i].fromArray(t, e + 3 * i); return this; }, toArray: function (t, e) { void 0 === t && (t = []), void 0 === e && (e = 0); for (var n = this.coefficients, i = 0; i < 9; i++) n[i].toArray(t, e + 3 * i); return t; }, }), Object.assign(Ud, { getBasisAt: function (t, e) { var n = t.x, i = t.y, r = t.z; (e[0] = 0.282095), (e[1] = 0.488603 * i), (e[2] = 0.488603 * r), (e[3] = 0.488603 * n), (e[4] = 1.092548 * n * i), (e[5] = 1.092548 * i * r), (e[6] = 0.315392 * (3 * r * r - 1)), (e[7] = 1.092548 * n * r), (e[8] = 0.546274 * (n * n - i * i)); }, }), (Bd.prototype = Object.assign(Object.create(ud.prototype), { constructor: Bd, isLightProbe: !0, copy: function (t) { return ud.prototype.copy.call(this, t), this.sh.copy(t.sh), (this.intensity = t.intensity), this; }, toJSON: function (t) { return ud.prototype.toJSON.call(this, t); }, })), (zd.prototype = Object.assign(Object.create(Bd.prototype), { constructor: zd, isHemisphereLightProbe: !0, copy: function (t) { return Bd.prototype.copy.call(this, t), this; }, toJSON: function (t) { return Bd.prototype.toJSON.call(this, t); }, })), (Gd.prototype = Object.assign(Object.create(Bd.prototype), { constructor: Gd, isAmbientLightProbe: !0, copy: function (t) { return Bd.prototype.copy.call(this, t), this; }, toJSON: function (t) { return Bd.prototype.toJSON.call(this, t); }, })); var Hd = new mi(), Wd = new mi(); function qd() { (this.type = 'StereoCamera'), (this.aspect = 1), (this.eyeSep = 0.064), (this.cameraL = new ko()), this.cameraL.layers.enable(1), (this.cameraL.matrixAutoUpdate = !1), (this.cameraR = new ko()), this.cameraR.layers.enable(2), (this.cameraR.matrixAutoUpdate = !1), (this._cache = { focus: null, fov: null, aspect: null, near: null, far: null, zoom: null, eyeSep: null, }); } function Xd(t) { (this.autoStart = void 0 === t || t), (this.startTime = 0), (this.oldTime = 0), (this.elapsedTime = 0), (this.running = !1); } Object.assign(qd.prototype, { update: function (t) { var e = this._cache; if (e.focus !== t.focus || e.fov !== t.fov || e.aspect !== t.aspect * this.aspect || e.near !== t.near || e.far !== t.far || e.zoom !== t.zoom || e.eyeSep !== this.eyeSep) { (e.focus = t.focus), (e.fov = t.fov), (e.aspect = t.aspect * this.aspect), (e.near = t.near), (e.far = t.far), (e.zoom = t.zoom), (e.eyeSep = this.eyeSep); var n, i, r = t.projectionMatrix.clone(), o = e.eyeSep / 2, a = (o * e.near) / e.focus, s = (e.near * Math.tan(Kn.DEG2RAD * e.fov * 0.5)) / e.zoom; (Wd.elements[12] = -o), (Hd.elements[12] = o), (n = -s * e.aspect + a), (i = s * e.aspect + a), (r.elements[0] = (2 * e.near) / (i - n)), (r.elements[8] = (i + n) / (i - n)), this.cameraL.projectionMatrix.copy(r), (n = -s * e.aspect - a), (i = s * e.aspect - a), (r.elements[0] = (2 * e.near) / (i - n)), (r.elements[8] = (i + n) / (i - n)), this.cameraR.projectionMatrix.copy(r); } this.cameraL.matrixWorld.copy(t.matrixWorld).multiply(Wd), this.cameraR.matrixWorld.copy(t.matrixWorld).multiply(Hd); }, }), Object.assign(Xd.prototype, { start: function () { (this.startTime = ('undefined' == typeof performance ? Date : performance).now()), (this.oldTime = this.startTime), (this.elapsedTime = 0), (this.running = !0); }, stop: function () { this.getElapsedTime(), (this.running = !1), (this.autoStart = !1); }, getElapsedTime: function () { return this.getDelta(), this.elapsedTime; }, getDelta: function () { var t = 0; if (this.autoStart && !this.running) return this.start(), 0; if (this.running) { var e = ('undefined' == typeof performance ? Date : performance).now(); (t = (e - this.oldTime) / 1e3), (this.oldTime = e), (this.elapsedTime += t); } return t; }, }); var Yd = new si(), Kd = new ri(), Zd = new si(), Jd = new si(); function Qd() { Di.call(this), (this.type = 'AudioListener'), (this.context = Vd.getContext()), (this.gain = this.context.createGain()), this.gain.connect(this.context.destination), (this.filter = null), (this.timeDelta = 0), (this._clock = new Xd()); } function $d(t) { Di.call(this), (this.type = 'Audio'), (this.listener = t), (this.context = t.context), (this.gain = this.context.createGain()), this.gain.connect(t.getInput()), (this.autoplay = !1), (this.buffer = null), (this.detune = 0), (this.loop = !1), (this.loopStart = 0), (this.loopEnd = 0), (this.offset = 0), (this.duration = void 0), (this.playbackRate = 1), (this.isPlaying = !1), (this.hasPlaybackControl = !0), (this.sourceType = 'empty'), (this._startedAt = 0), (this._pausedAt = 0), (this.filters = []); } (Qd.prototype = Object.assign(Object.create(Di.prototype), { constructor: Qd, getInput: function () { return this.gain; }, removeFilter: function () { return null !== this.filter && (this.gain.disconnect(this.filter), this.filter.disconnect(this.context.destination), this.gain.connect(this.context.destination), (this.filter = null)), this; }, getFilter: function () { return this.filter; }, setFilter: function (t) { return ( null !== this.filter ? (this.gain.disconnect(this.filter), this.filter.disconnect(this.context.destination)) : this.gain.disconnect(this.context.destination), (this.filter = t), this.gain.connect(this.filter), this.filter.connect(this.context.destination), this ); }, getMasterVolume: function () { return this.gain.gain.value; }, setMasterVolume: function (t) { return this.gain.gain.setTargetAtTime(t, this.context.currentTime, 0.01), this; }, updateMatrixWorld: function (t) { Di.prototype.updateMatrixWorld.call(this, t); var e = this.context.listener, n = this.up; if (((this.timeDelta = this._clock.getDelta()), this.matrixWorld.decompose(Yd, Kd, Zd), Jd.set(0, 0, -1).applyQuaternion(Kd), e.positionX)) { var i = this.context.currentTime + this.timeDelta; e.positionX.linearRampToValueAtTime(Yd.x, i), e.positionY.linearRampToValueAtTime(Yd.y, i), e.positionZ.linearRampToValueAtTime(Yd.z, i), e.forwardX.linearRampToValueAtTime(Jd.x, i), e.forwardY.linearRampToValueAtTime(Jd.y, i), e.forwardZ.linearRampToValueAtTime(Jd.z, i), e.upX.linearRampToValueAtTime(n.x, i), e.upY.linearRampToValueAtTime(n.y, i), e.upZ.linearRampToValueAtTime(n.z, i); } else e.setPosition(Yd.x, Yd.y, Yd.z), e.setOrientation(Jd.x, Jd.y, Jd.z, n.x, n.y, n.z); }, })), ($d.prototype = Object.assign(Object.create(Di.prototype), { constructor: $d, getOutput: function () { return this.gain; }, setNodeSource: function (t) { return (this.hasPlaybackControl = !1), (this.sourceType = 'audioNode'), (this.source = t), this.connect(), this; }, setMediaElementSource: function (t) { return (this.hasPlaybackControl = !1), (this.sourceType = 'mediaNode'), (this.source = this.context.createMediaElementSource(t)), this.connect(), this; }, setMediaStreamSource: function (t) { return (this.hasPlaybackControl = !1), (this.sourceType = 'mediaStreamNode'), (this.source = this.context.createMediaStreamSource(t)), this.connect(), this; }, setBuffer: function (t) { return (this.buffer = t), (this.sourceType = 'buffer'), this.autoplay && this.play(), this; }, play: function (t) { if ((void 0 === t && (t = 0), !0 !== this.isPlaying)) { if (!1 !== this.hasPlaybackControl) { this._startedAt = this.context.currentTime + t; var e = this.context.createBufferSource(); return ( (e.buffer = this.buffer), (e.loop = this.loop), (e.loopStart = this.loopStart), (e.loopEnd = this.loopEnd), (e.onended = this.onEnded.bind(this)), e.start(this._startedAt, this._pausedAt + this.offset, this.duration), (this.isPlaying = !0), (this.source = e), this.setDetune(this.detune), this.setPlaybackRate(this.playbackRate), this.connect() ); } console.warn('THREE.Audio: this Audio has no playback control.'); } else console.warn('THREE.Audio: Audio is already playing.'); }, pause: function () { if (!1 !== this.hasPlaybackControl) return ( !0 === this.isPlaying && ((this._pausedAt += Math.max(this.context.currentTime - this._startedAt, 0) * this.playbackRate), this.source.stop(), (this.source.onended = null), (this.isPlaying = !1)), this ); console.warn('THREE.Audio: this Audio has no playback control.'); }, stop: function () { if (!1 !== this.hasPlaybackControl) return (this._pausedAt = 0), this.source.stop(), (this.source.onended = null), (this.isPlaying = !1), this; console.warn('THREE.Audio: this Audio has no playback control.'); }, connect: function () { if (this.filters.length > 0) { this.source.connect(this.filters[0]); for (var t = 1, e = this.filters.length; t < e; t++) this.filters[t - 1].connect(this.filters[t]); this.filters[this.filters.length - 1].connect(this.getOutput()); } else this.source.connect(this.getOutput()); return this; }, disconnect: function () { if (this.filters.length > 0) { this.source.disconnect(this.filters[0]); for (var t = 1, e = this.filters.length; t < e; t++) this.filters[t - 1].disconnect(this.filters[t]); this.filters[this.filters.length - 1].disconnect(this.getOutput()); } else this.source.disconnect(this.getOutput()); return this; }, getFilters: function () { return this.filters; }, setFilters: function (t) { return t || (t = []), !0 === this.isPlaying ? (this.disconnect(), (this.filters = t), this.connect()) : (this.filters = t), this; }, setDetune: function (t) { if (((this.detune = t), void 0 !== this.source.detune)) return !0 === this.isPlaying && this.source.detune.setTargetAtTime(this.detune, this.context.currentTime, 0.01), this; }, getDetune: function () { return this.detune; }, getFilter: function () { return this.getFilters()[0]; }, setFilter: function (t) { return this.setFilters(t ? [t] : []); }, setPlaybackRate: function (t) { if (!1 !== this.hasPlaybackControl) return (this.playbackRate = t), !0 === this.isPlaying && this.source.playbackRate.setTargetAtTime(this.playbackRate, this.context.currentTime, 0.01), this; console.warn('THREE.Audio: this Audio has no playback control.'); }, getPlaybackRate: function () { return this.playbackRate; }, onEnded: function () { this.isPlaying = !1; }, getLoop: function () { return !1 === this.hasPlaybackControl ? (console.warn('THREE.Audio: this Audio has no playback control.'), !1) : this.loop; }, setLoop: function (t) { if (!1 !== this.hasPlaybackControl) return (this.loop = t), !0 === this.isPlaying && (this.source.loop = this.loop), this; console.warn('THREE.Audio: this Audio has no playback control.'); }, setLoopStart: function (t) { return (this.loopStart = t), this; }, setLoopEnd: function (t) { return (this.loopEnd = t), this; }, getVolume: function () { return this.gain.gain.value; }, setVolume: function (t) { return this.gain.gain.setTargetAtTime(t, this.context.currentTime, 0.01), this; }, })); var tp = new si(), ep = new ri(), np = new si(), ip = new si(); function rp(t) { $d.call(this, t), (this.panner = this.context.createPanner()), (this.panner.panningModel = 'HRTF'), this.panner.connect(this.gain); } function op(t, e) { (this.analyser = t.context.createAnalyser()), (this.analyser.fftSize = void 0 !== e ? e : 2048), (this.data = new Uint8Array(this.analyser.frequencyBinCount)), t.getOutput().connect(this.analyser); } function ap(t, e, n) { (this.binding = t), (this.valueSize = n); var i, r = Float64Array; switch (e) { case 'quaternion': i = this._slerp; break; case 'string': case 'bool': (r = Array), (i = this._select); break; default: i = this._lerp; } (this.buffer = new r(4 * n)), (this._mixBufferRegion = i), (this.cumulativeWeight = 0), (this.useCount = 0), (this.referenceCount = 0); } (rp.prototype = Object.assign(Object.create($d.prototype), { constructor: rp, getOutput: function () { return this.panner; }, getRefDistance: function () { return this.panner.refDistance; }, setRefDistance: function (t) { return (this.panner.refDistance = t), this; }, getRolloffFactor: function () { return this.panner.rolloffFactor; }, setRolloffFactor: function (t) { return (this.panner.rolloffFactor = t), this; }, getDistanceModel: function () { return this.panner.distanceModel; }, setDistanceModel: function (t) { return (this.panner.distanceModel = t), this; }, getMaxDistance: function () { return this.panner.maxDistance; }, setMaxDistance: function (t) { return (this.panner.maxDistance = t), this; }, setDirectionalCone: function (t, e, n) { return (this.panner.coneInnerAngle = t), (this.panner.coneOuterAngle = e), (this.panner.coneOuterGain = n), this; }, updateMatrixWorld: function (t) { if ((Di.prototype.updateMatrixWorld.call(this, t), !0 !== this.hasPlaybackControl || !1 !== this.isPlaying)) { this.matrixWorld.decompose(tp, ep, np), ip.set(0, 0, 1).applyQuaternion(ep); var e = this.panner; if (e.positionX) { var n = this.context.currentTime + this.listener.timeDelta; e.positionX.linearRampToValueAtTime(tp.x, n), e.positionY.linearRampToValueAtTime(tp.y, n), e.positionZ.linearRampToValueAtTime(tp.z, n), e.orientationX.linearRampToValueAtTime(ip.x, n), e.orientationY.linearRampToValueAtTime(ip.y, n), e.orientationZ.linearRampToValueAtTime(ip.z, n); } else e.setPosition(tp.x, tp.y, tp.z), e.setOrientation(ip.x, ip.y, ip.z); } }, })), Object.assign(op.prototype, { getFrequencyData: function () { return this.analyser.getByteFrequencyData(this.data), this.data; }, getAverageFrequency: function () { for (var t = 0, e = this.getFrequencyData(), n = 0; n < e.length; n++) t += e[n]; return t / e.length; }, }), Object.assign(ap.prototype, { accumulate: function (t, e) { var n = this.buffer, i = this.valueSize, r = t * i + i, o = this.cumulativeWeight; if (0 === o) { for (var a = 0; a !== i; ++a) n[r + a] = n[a]; o = e; } else { var s = e / (o += e); this._mixBufferRegion(n, r, 0, s, i); } this.cumulativeWeight = o; }, apply: function (t) { var e = this.valueSize, n = this.buffer, i = t * e + e, r = this.cumulativeWeight, o = this.binding; if (((this.cumulativeWeight = 0), r < 1)) { var a = 3 * e; this._mixBufferRegion(n, i, a, 1 - r, e); } for (var s = e, c = e + e; s !== c; ++s) if (n[s] !== n[s + e]) { o.setValue(n, i); break; } }, saveOriginalState: function () { var t = this.binding, e = this.buffer, n = this.valueSize, i = 3 * n; t.getValue(e, i); for (var r = n, o = i; r !== o; ++r) e[r] = e[i + (r % n)]; this.cumulativeWeight = 0; }, restoreOriginalState: function () { var t = 3 * this.valueSize; this.binding.setValue(this.buffer, t); }, _select: function (t, e, n, i, r) { if (i >= 0.5) for (var o = 0; o !== r; ++o) t[e + o] = t[n + o]; }, _slerp: function (t, e, n, i) { ri.slerpFlat(t, e, t, e, t, n, i); }, _lerp: function (t, e, n, i, r) { for (var o = 1 - i, a = 0; a !== r; ++a) { var s = e + a; t[s] = t[s] * o + t[n + a] * i; } }, }); var sp = new RegExp('[\\[\\]\\.:\\/]', 'g'), cp = '[^' + '\\[\\]\\.:\\/'.replace('\\.', '') + ']', lp = /((?:WC+[\/:])*)/.source.replace('WC', '[^\\[\\]\\.:\\/]'), up = /(WCOD+)?/.source.replace('WCOD', cp), dp = /(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace('WC', '[^\\[\\]\\.:\\/]'), pp = /\.(WC+)(?:\[(.+)\])?/.source.replace('WC', '[^\\[\\]\\.:\\/]'), hp = new RegExp('^' + lp + up + dp + pp + '$'), fp = ['material', 'materials', 'bones']; function mp(t, e, n) { var i = n || gp.parseTrackName(e); (this._targetGroup = t), (this._bindings = t.subscribe_(e, i)); } function gp(t, e, n) { (this.path = e), (this.parsedPath = n || gp.parseTrackName(e)), (this.node = gp.findNode(t, this.parsedPath.nodeName) || t), (this.rootNode = t); } function vp() { (this.uuid = Kn.generateUUID()), (this._objects = Array.prototype.slice.call(arguments)), (this.nCachedObjects_ = 0); var t = {}; this._indicesByUUID = t; for (var e = 0, n = arguments.length; e !== n; ++e) t[arguments[e].uuid] = e; (this._paths = []), (this._parsedPaths = []), (this._bindings = []), (this._bindingsIndicesByPath = {}); var i = this; this.stats = { objects: { get total() { return i._objects.length; }, get inUse() { return this.total - i.nCachedObjects_; }, }, get bindingsPerObject() { return i._bindings.length; }, }; } function yp(t, e, n) { (this._mixer = t), (this._clip = e), (this._localRoot = n || null); for ( var i = e.tracks, r = i.length, o = new Array(r), a = { endingStart: en, endingEnd: en, }, s = 0; s !== r; ++s ) { var c = i[s].createInterpolant(null); (o[s] = c), (c.settings = a); } (this._interpolantSettings = a), (this._interpolants = o), (this._propertyBindings = new Array(r)), (this._cacheIndex = null), (this._byClipCacheIndex = null), (this._timeScaleInterpolant = null), (this._weightInterpolant = null), (this.loop = Ze), (this._loopCount = -1), (this._startTime = null), (this.time = 0), (this.timeScale = 1), (this._effectiveTimeScale = 1), (this.weight = 1), (this._effectiveWeight = 1), (this.repetitions = 1 / 0), (this.paused = !1), (this.enabled = !0), (this.clampWhenFinished = !1), (this.zeroSlopeAtStart = !0), (this.zeroSlopeAtEnd = !0); } function bp(t) { (this._root = t), this._initMemoryManager(), (this._accuIndex = 0), (this.time = 0), (this.timeScale = 1); } function wp(t) { 'string' == typeof t && (console.warn('THREE.Uniform: Type parameter is no longer needed.'), (t = arguments[1])), (this.value = t); } function Sp(t, e, n) { Hs.call(this, t, e), (this.meshPerAttribute = n || 1); } function xp(t, e, n, i) { (this.ray = new or(t, e)), (this.near = n || 0), (this.far = i || 1 / 0), (this.camera = null), (this.layers = new bi()), (this.params = { Mesh: {}, Line: { threshold: 1, }, LOD: {}, Points: { threshold: 1, }, Sprite: {}, }), Object.defineProperties(this.params, { PointCloud: { get: function () { return console.warn('THREE.Raycaster: params.PointCloud has been renamed to params.Points.'), this.Points; }, }, }); } function Mp(t, e) { return t.distance - e.distance; } function Ep(t, e, n, i) { if ((t.layers.test(e.layers) && t.raycast(e, n), !0 === i)) for (var r = t.children, o = 0, a = r.length; o < a; o++) Ep(r[o], e, n, !0); } function Cp(t, e, n) { return (this.radius = void 0 !== t ? t : 1), (this.phi = void 0 !== e ? e : 0), (this.theta = void 0 !== n ? n : 0), this; } function Ap(t, e, n) { return (this.radius = void 0 !== t ? t : 1), (this.theta = void 0 !== e ? e : 0), (this.y = void 0 !== n ? n : 0), this; } Object.assign(mp.prototype, { getValue: function (t, e) { this.bind(); var n = this._targetGroup.nCachedObjects_, i = this._bindings[n]; void 0 !== i && i.getValue(t, e); }, setValue: function (t, e) { for (var n = this._bindings, i = this._targetGroup.nCachedObjects_, r = n.length; i !== r; ++i) n[i].setValue(t, e); }, bind: function () { for (var t = this._bindings, e = this._targetGroup.nCachedObjects_, n = t.length; e !== n; ++e) t[e].bind(); }, unbind: function () { for (var t = this._bindings, e = this._targetGroup.nCachedObjects_, n = t.length; e !== n; ++e) t[e].unbind(); }, }), Object.assign(gp, { Composite: mp, create: function (t, e, n) { return t && t.isAnimationObjectGroup ? new gp.Composite(t, e, n) : new gp(t, e, n); }, sanitizeNodeName: function (t) { return t.replace(/\s/g, '_').replace(sp, ''); }, parseTrackName: function (t) { var e = hp.exec(t); if (!e) throw new Error('PropertyBinding: Cannot parse trackName: ' + t); var n = { nodeName: e[2], objectName: e[3], objectIndex: e[4], propertyName: e[5], propertyIndex: e[6], }, i = n.nodeName && n.nodeName.lastIndexOf('.'); if (void 0 !== i && -1 !== i) { var r = n.nodeName.substring(i + 1); -1 !== fp.indexOf(r) && ((n.nodeName = n.nodeName.substring(0, i)), (n.objectName = r)); } if (null === n.propertyName || 0 === n.propertyName.length) throw new Error('PropertyBinding: can not parse propertyName from trackName: ' + t); return n; }, findNode: function (t, e) { if (!e || '' === e || '.' === e || -1 === e || e === t.name || e === t.uuid) return t; if (t.skeleton) { var n = t.skeleton.getBoneByName(e); if (void 0 !== n) return n; } if (t.children) { var i = (function t(n) { for (var i = 0; i < n.length; i++) { var r = n[i]; if (r.name === e || r.uuid === e) return r; var o = t(r.children); if (o) return o; } return null; })(t.children); if (i) return i; } return null; }, }), Object.assign(gp.prototype, { _getValue_unavailable: function () {}, _setValue_unavailable: function () {}, BindingType: { Direct: 0, EntireArray: 1, ArrayElement: 2, HasFromToArray: 3, }, Versioning: { None: 0, NeedsUpdate: 1, MatrixWorldNeedsUpdate: 2, }, GetterByBindingType: [ function (t, e) { t[e] = this.node[this.propertyName]; }, function (t, e) { for (var n = this.resolvedProperty, i = 0, r = n.length; i !== r; ++i) t[e++] = n[i]; }, function (t, e) { t[e] = this.resolvedProperty[this.propertyIndex]; }, function (t, e) { this.resolvedProperty.toArray(t, e); }, ], SetterByBindingTypeAndVersioning: [ [ function (t, e) { this.targetObject[this.propertyName] = t[e]; }, function (t, e) { (this.targetObject[this.propertyName] = t[e]), (this.targetObject.needsUpdate = !0); }, function (t, e) { (this.targetObject[this.propertyName] = t[e]), (this.targetObject.matrixWorldNeedsUpdate = !0); }, ], [ function (t, e) { for (var n = this.resolvedProperty, i = 0, r = n.length; i !== r; ++i) n[i] = t[e++]; }, function (t, e) { for (var n = this.resolvedProperty, i = 0, r = n.length; i !== r; ++i) n[i] = t[e++]; this.targetObject.needsUpdate = !0; }, function (t, e) { for (var n = this.resolvedProperty, i = 0, r = n.length; i !== r; ++i) n[i] = t[e++]; this.targetObject.matrixWorldNeedsUpdate = !0; }, ], [ function (t, e) { this.resolvedProperty[this.propertyIndex] = t[e]; }, function (t, e) { (this.resolvedProperty[this.propertyIndex] = t[e]), (this.targetObject.needsUpdate = !0); }, function (t, e) { (this.resolvedProperty[this.propertyIndex] = t[e]), (this.targetObject.matrixWorldNeedsUpdate = !0); }, ], [ function (t, e) { this.resolvedProperty.fromArray(t, e); }, function (t, e) { this.resolvedProperty.fromArray(t, e), (this.targetObject.needsUpdate = !0); }, function (t, e) { this.resolvedProperty.fromArray(t, e), (this.targetObject.matrixWorldNeedsUpdate = !0); }, ], ], getValue: function (t, e) { this.bind(), this.getValue(t, e); }, setValue: function (t, e) { this.bind(), this.setValue(t, e); }, bind: function () { var t = this.node, e = this.parsedPath, n = e.objectName, i = e.propertyName, r = e.propertyIndex; if ((t || ((t = gp.findNode(this.rootNode, e.nodeName) || this.rootNode), (this.node = t)), (this.getValue = this._getValue_unavailable), (this.setValue = this._setValue_unavailable), t)) { if (n) { var o = e.objectIndex; switch (n) { case 'materials': if (!t.material) return void console.error('THREE.PropertyBinding: Can not bind to material as node does not have a material.', this); if (!t.material.materials) return void console.error('THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.', this); t = t.material.materials; break; case 'bones': if (!t.skeleton) return void console.error('THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.', this); t = t.skeleton.bones; for (var a = 0; a < t.length; a++) if (t[a].name === o) { o = a; break; } break; default: if (void 0 === t[n]) return void console.error('THREE.PropertyBinding: Can not bind to objectName of node undefined.', this); t = t[n]; } if (void 0 !== o) { if (void 0 === t[o]) return void console.error('THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.', this, t); t = t[o]; } } var s = t[i]; if (void 0 !== s) { var c = this.Versioning.None; (this.targetObject = t), void 0 !== t.needsUpdate ? (c = this.Versioning.NeedsUpdate) : void 0 !== t.matrixWorldNeedsUpdate && (c = this.Versioning.MatrixWorldNeedsUpdate); var l = this.BindingType.Direct; if (void 0 !== r) { if ('morphTargetInfluences' === i) { if (!t.geometry) return void console.error('THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.', this); if (t.geometry.isBufferGeometry) { if (!t.geometry.morphAttributes) return void console.error('THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.', this); for (a = 0; a < this.node.geometry.morphAttributes.position.length; a++) if (t.geometry.morphAttributes.position[a].name === r) { r = a; break; } } else { if (!t.geometry.morphTargets) return void console.error('THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphTargets.', this); for (a = 0; a < this.node.geometry.morphTargets.length; a++) if (t.geometry.morphTargets[a].name === r) { r = a; break; } } } (l = this.BindingType.ArrayElement), (this.resolvedProperty = s), (this.propertyIndex = r); } else void 0 !== s.fromArray && void 0 !== s.toArray ? ((l = this.BindingType.HasFromToArray), (this.resolvedProperty = s)) : Array.isArray(s) ? ((l = this.BindingType.EntireArray), (this.resolvedProperty = s)) : (this.propertyName = i); (this.getValue = this.GetterByBindingType[l]), (this.setValue = this.SetterByBindingTypeAndVersioning[l][c]); } else { var u = e.nodeName; console.error('THREE.PropertyBinding: Trying to update property for track: ' + u + '.' + i + " but it wasn't found.", t); } } else console.error('THREE.PropertyBinding: Trying to update node for track: ' + this.path + " but it wasn't found."); }, unbind: function () { (this.node = null), (this.getValue = this._getValue_unbound), (this.setValue = this._setValue_unbound); }, }), Object.assign(gp.prototype, { _getValue_unbound: gp.prototype.getValue, _setValue_unbound: gp.prototype.setValue, }), Object.assign(vp.prototype, { isAnimationObjectGroup: !0, add: function () { for ( var t = this._objects, e = t.length, n = this.nCachedObjects_, i = this._indicesByUUID, r = this._paths, o = this._parsedPaths, a = this._bindings, s = a.length, c = void 0, l = 0, u = arguments.length; l !== u; ++l ) { var d = arguments[l], p = d.uuid, h = i[p]; if (void 0 === h) { (h = e++), (i[p] = h), t.push(d); for (var f = 0, m = s; f !== m; ++f) a[f].push(new gp(d, r[f], o[f])); } else if (h < n) { c = t[h]; var g = --n, v = t[g]; (i[v.uuid] = h), (t[h] = v), (i[p] = g), (t[g] = d); for (f = 0, m = s; f !== m; ++f) { var y = a[f], b = y[g], w = y[h]; (y[h] = b), void 0 === w && (w = new gp(d, r[f], o[f])), (y[g] = w); } } else t[h] !== c && console.error('THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.'); } this.nCachedObjects_ = n; }, remove: function () { for (var t = this._objects, e = this.nCachedObjects_, n = this._indicesByUUID, i = this._bindings, r = i.length, o = 0, a = arguments.length; o !== a; ++o) { var s = arguments[o], c = s.uuid, l = n[c]; if (void 0 !== l && l >= e) { var u = e++, d = t[u]; (n[d.uuid] = l), (t[l] = d), (n[c] = u), (t[u] = s); for (var p = 0, h = r; p !== h; ++p) { var f = i[p], m = f[u], g = f[l]; (f[l] = m), (f[u] = g); } } } this.nCachedObjects_ = e; }, uncache: function () { for (var t = this._objects, e = t.length, n = this.nCachedObjects_, i = this._indicesByUUID, r = this._bindings, o = r.length, a = 0, s = arguments.length; a !== s; ++a) { var c = arguments[a], l = c.uuid, u = i[l]; if (void 0 !== u) if ((delete i[l], u < n)) { var d = --n, p = t[d], h = t[(y = --e)]; (i[p.uuid] = u), (t[u] = p), (i[h.uuid] = d), (t[d] = h), t.pop(); for (var f = 0, m = o; f !== m; ++f) { var g = (b = r[f])[d], v = b[y]; (b[u] = g), (b[d] = v), b.pop(); } } else { var y; (i[(h = t[(y = --e)]).uuid] = u), (t[u] = h), t.pop(); for (f = 0, m = o; f !== m; ++f) { var b; ((b = r[f])[u] = b[y]), b.pop(); } } } this.nCachedObjects_ = n; }, subscribe_: function (t, e) { var n = this._bindingsIndicesByPath, i = n[t], r = this._bindings; if (void 0 !== i) return r[i]; var o = this._paths, a = this._parsedPaths, s = this._objects, c = s.length, l = this.nCachedObjects_, u = new Array(c); (i = r.length), (n[t] = i), o.push(t), a.push(e), r.push(u); for (var d = l, p = s.length; d !== p; ++d) { var h = s[d]; u[d] = new gp(h, t, e); } return u; }, unsubscribe_: function (t) { var e = this._bindingsIndicesByPath, n = e[t]; if (void 0 !== n) { var i = this._paths, r = this._parsedPaths, o = this._bindings, a = o.length - 1, s = o[a]; (e[t[a]] = n), (o[n] = s), o.pop(), (r[n] = r[a]), r.pop(), (i[n] = i[a]), i.pop(); } }, }), Object.assign(yp.prototype, { play: function () { return this._mixer._activateAction(this), this; }, stop: function () { return this._mixer._deactivateAction(this), this.reset(); }, reset: function () { return (this.paused = !1), (this.enabled = !0), (this.time = 0), (this._loopCount = -1), (this._startTime = null), this.stopFading().stopWarping(); }, isRunning: function () { return this.enabled && !this.paused && 0 !== this.timeScale && null === this._startTime && this._mixer._isActiveAction(this); }, isScheduled: function () { return this._mixer._isActiveAction(this); }, startAt: function (t) { return (this._startTime = t), this; }, setLoop: function (t, e) { return (this.loop = t), (this.repetitions = e), this; }, setEffectiveWeight: function (t) { return (this.weight = t), (this._effectiveWeight = this.enabled ? t : 0), this.stopFading(); }, getEffectiveWeight: function () { return this._effectiveWeight; }, fadeIn: function (t) { return this._scheduleFading(t, 0, 1); }, fadeOut: function (t) { return this._scheduleFading(t, 1, 0); }, crossFadeFrom: function (t, e, n) { if ((t.fadeOut(e), this.fadeIn(e), n)) { var i = this._clip.duration, r = t._clip.duration, o = r / i, a = i / r; t.warp(1, o, e), this.warp(a, 1, e); } return this; }, crossFadeTo: function (t, e, n) { return t.crossFadeFrom(this, e, n); }, stopFading: function () { var t = this._weightInterpolant; return null !== t && ((this._weightInterpolant = null), this._mixer._takeBackControlInterpolant(t)), this; }, setEffectiveTimeScale: function (t) { return (this.timeScale = t), (this._effectiveTimeScale = this.paused ? 0 : t), this.stopWarping(); }, getEffectiveTimeScale: function () { return this._effectiveTimeScale; }, setDuration: function (t) { return (this.timeScale = this._clip.duration / t), this.stopWarping(); }, syncWith: function (t) { return (this.time = t.time), (this.timeScale = t.timeScale), this.stopWarping(); }, halt: function (t) { return this.warp(this._effectiveTimeScale, 0, t); }, warp: function (t, e, n) { var i = this._mixer, r = i.time, o = this._timeScaleInterpolant, a = this.timeScale; null === o && ((o = i._lendControlInterpolant()), (this._timeScaleInterpolant = o)); var s = o.parameterPositions, c = o.sampleValues; return (s[0] = r), (s[1] = r + n), (c[0] = t / a), (c[1] = e / a), this; }, stopWarping: function () { var t = this._timeScaleInterpolant; return null !== t && ((this._timeScaleInterpolant = null), this._mixer._takeBackControlInterpolant(t)), this; }, getMixer: function () { return this._mixer; }, getClip: function () { return this._clip; }, getRoot: function () { return this._localRoot || this._mixer._root; }, _update: function (t, e, n, i) { if (this.enabled) { var r = this._startTime; if (null !== r) { var o = (t - r) * n; if (o < 0 || 0 === n) return; (this._startTime = null), (e = n * o); } e *= this._updateTimeScale(t); var a = this._updateTime(e), s = this._updateWeight(t); if (s > 0) for (var c = this._interpolants, l = this._propertyBindings, u = 0, d = c.length; u !== d; ++u) c[u].evaluate(a), l[u].accumulate(i, s); } else this._updateWeight(t); }, _updateWeight: function (t) { var e = 0; if (this.enabled) { e = this.weight; var n = this._weightInterpolant; if (null !== n) { var i = n.evaluate(t)[0]; (e *= i), t > n.parameterPositions[1] && (this.stopFading(), 0 === i && (this.enabled = !1)); } } return (this._effectiveWeight = e), e; }, _updateTimeScale: function (t) { var e = 0; if (!this.paused) { e = this.timeScale; var n = this._timeScaleInterpolant; if (null !== n) (e *= n.evaluate(t)[0]), t > n.parameterPositions[1] && (this.stopWarping(), 0 === e ? (this.paused = !0) : (this.timeScale = e)); } return (this._effectiveTimeScale = e), e; }, _updateTime: function (t) { var e = this.time + t, n = this._clip.duration, i = this.loop, r = this._loopCount, o = i === Je; if (0 === t) return -1 === r ? e : o && 1 == (1 & r) ? n - e : e; if (i === Ke) { -1 === r && ((this._loopCount = 0), this._setEndings(!0, !0, !1)); t: { if (e >= n) e = n; else { if (!(e < 0)) { this.time = e; break t; } e = 0; } this.clampWhenFinished ? (this.paused = !0) : (this.enabled = !1), (this.time = e), this._mixer.dispatchEvent({ type: 'finished', action: this, direction: t < 0 ? -1 : 1, }); } } else { if ((-1 === r && (t >= 0 ? ((r = 0), this._setEndings(!0, 0 === this.repetitions, o)) : this._setEndings(0 === this.repetitions, !0, o)), e >= n || e < 0)) { var a = Math.floor(e / n); (e -= n * a), (r += Math.abs(a)); var s = this.repetitions - r; if (s <= 0) this.clampWhenFinished ? (this.paused = !0) : (this.enabled = !1), (e = t > 0 ? n : 0), (this.time = e), this._mixer.dispatchEvent({ type: 'finished', action: this, direction: t > 0 ? 1 : -1, }); else { if (1 === s) { var c = t < 0; this._setEndings(c, !c, o); } else this._setEndings(!1, !1, o); (this._loopCount = r), (this.time = e), this._mixer.dispatchEvent({ type: 'loop', action: this, loopDelta: a, }); } } else this.time = e; if (o && 1 == (1 & r)) return n - e; } return e; }, _setEndings: function (t, e, n) { var i = this._interpolantSettings; n ? ((i.endingStart = nn), (i.endingEnd = nn)) : ((i.endingStart = t ? (this.zeroSlopeAtStart ? nn : en) : rn), (i.endingEnd = e ? (this.zeroSlopeAtEnd ? nn : en) : rn)); }, _scheduleFading: function (t, e, n) { var i = this._mixer, r = i.time, o = this._weightInterpolant; null === o && ((o = i._lendControlInterpolant()), (this._weightInterpolant = o)); var a = o.parameterPositions, s = o.sampleValues; return (a[0] = r), (s[0] = e), (a[1] = r + t), (s[1] = n), this; }, }), (bp.prototype = Object.assign(Object.create(Wn.prototype), { constructor: bp, _bindAction: function (t, e) { var n = t._localRoot || this._root, i = t._clip.tracks, r = i.length, o = t._propertyBindings, a = t._interpolants, s = n.uuid, c = this._bindingsByRootAndName, l = c[s]; void 0 === l && ((l = {}), (c[s] = l)); for (var u = 0; u !== r; ++u) { var d = i[u], p = d.name, h = l[p]; if (void 0 !== h) o[u] = h; else { if (void 0 !== (h = o[u])) { null === h._cacheIndex && (++h.referenceCount, this._addInactiveBinding(h, s, p)); continue; } var f = e && e._propertyBindings[u].binding.parsedPath; ++(h = new ap(gp.create(n, p, f), d.ValueTypeName, d.getValueSize())).referenceCount, this._addInactiveBinding(h, s, p), (o[u] = h); } a[u].resultBuffer = h.buffer; } }, _activateAction: function (t) { if (!this._isActiveAction(t)) { if (null === t._cacheIndex) { var e = (t._localRoot || this._root).uuid, n = t._clip.uuid, i = this._actionsByClip[n]; this._bindAction(t, i && i.knownActions[0]), this._addInactiveAction(t, n, e); } for (var r = t._propertyBindings, o = 0, a = r.length; o !== a; ++o) { var s = r[o]; 0 == s.useCount++ && (this._lendBinding(s), s.saveOriginalState()); } this._lendAction(t); } }, _deactivateAction: function (t) { if (this._isActiveAction(t)) { for (var e = t._propertyBindings, n = 0, i = e.length; n !== i; ++n) { var r = e[n]; 0 == --r.useCount && (r.restoreOriginalState(), this._takeBackBinding(r)); } this._takeBackAction(t); } }, _initMemoryManager: function () { (this._actions = []), (this._nActiveActions = 0), (this._actionsByClip = {}), (this._bindings = []), (this._nActiveBindings = 0), (this._bindingsByRootAndName = {}), (this._controlInterpolants = []), (this._nActiveControlInterpolants = 0); var t = this; this.stats = { actions: { get total() { return t._actions.length; }, get inUse() { return t._nActiveActions; }, }, bindings: { get total() { return t._bindings.length; }, get inUse() { return t._nActiveBindings; }, }, controlInterpolants: { get total() { return t._controlInterpolants.length; }, get inUse() { return t._nActiveControlInterpolants; }, }, }; }, _isActiveAction: function (t) { var e = t._cacheIndex; return null !== e && e < this._nActiveActions; }, _addInactiveAction: function (t, e, n) { var i = this._actions, r = this._actionsByClip, o = r[e]; if (void 0 === o) (o = { knownActions: [t], actionByRoot: {}, }), (t._byClipCacheIndex = 0), (r[e] = o); else { var a = o.knownActions; (t._byClipCacheIndex = a.length), a.push(t); } (t._cacheIndex = i.length), i.push(t), (o.actionByRoot[n] = t); }, _removeInactiveAction: function (t) { var e = this._actions, n = e[e.length - 1], i = t._cacheIndex; (n._cacheIndex = i), (e[i] = n), e.pop(), (t._cacheIndex = null); var r = t._clip.uuid, o = this._actionsByClip, a = o[r], s = a.knownActions, c = s[s.length - 1], l = t._byClipCacheIndex; (c._byClipCacheIndex = l), (s[l] = c), s.pop(), (t._byClipCacheIndex = null), delete a.actionByRoot[(t._localRoot || this._root).uuid], 0 === s.length && delete o[r], this._removeInactiveBindingsForAction(t); }, _removeInactiveBindingsForAction: function (t) { for (var e = t._propertyBindings, n = 0, i = e.length; n !== i; ++n) { var r = e[n]; 0 == --r.referenceCount && this._removeInactiveBinding(r); } }, _lendAction: function (t) { var e = this._actions, n = t._cacheIndex, i = this._nActiveActions++, r = e[i]; (t._cacheIndex = i), (e[i] = t), (r._cacheIndex = n), (e[n] = r); }, _takeBackAction: function (t) { var e = this._actions, n = t._cacheIndex, i = --this._nActiveActions, r = e[i]; (t._cacheIndex = i), (e[i] = t), (r._cacheIndex = n), (e[n] = r); }, _addInactiveBinding: function (t, e, n) { var i = this._bindingsByRootAndName, r = i[e], o = this._bindings; void 0 === r && ((r = {}), (i[e] = r)), (r[n] = t), (t._cacheIndex = o.length), o.push(t); }, _removeInactiveBinding: function (t) { var e = this._bindings, n = t.binding, i = n.rootNode.uuid, r = n.path, o = this._bindingsByRootAndName, a = o[i], s = e[e.length - 1], c = t._cacheIndex; (s._cacheIndex = c), (e[c] = s), e.pop(), delete a[r], 0 === Object.keys(a).length && delete o[i]; }, _lendBinding: function (t) { var e = this._bindings, n = t._cacheIndex, i = this._nActiveBindings++, r = e[i]; (t._cacheIndex = i), (e[i] = t), (r._cacheIndex = n), (e[n] = r); }, _takeBackBinding: function (t) { var e = this._bindings, n = t._cacheIndex, i = --this._nActiveBindings, r = e[i]; (t._cacheIndex = i), (e[i] = t), (r._cacheIndex = n), (e[n] = r); }, _lendControlInterpolant: function () { var t = this._controlInterpolants, e = this._nActiveControlInterpolants++, n = t[e]; return void 0 === n && (((n = new vu(new Float32Array(2), new Float32Array(2), 1, this._controlInterpolantsResultBuffer)).__cacheIndex = e), (t[e] = n)), n; }, _takeBackControlInterpolant: function (t) { var e = this._controlInterpolants, n = t.__cacheIndex, i = --this._nActiveControlInterpolants, r = e[i]; (t.__cacheIndex = i), (e[i] = t), (r.__cacheIndex = n), (e[n] = r); }, _controlInterpolantsResultBuffer: new Float32Array(1), clipAction: function (t, e) { var n = e || this._root, i = n.uuid, r = 'string' == typeof t ? Tu.findByName(n, t) : t, o = null !== r ? r.uuid : t, a = this._actionsByClip[o], s = null; if (void 0 !== a) { var c = a.actionByRoot[i]; if (void 0 !== c) return c; (s = a.knownActions[0]), null === r && (r = s._clip); } if (null === r) return null; var l = new yp(this, r, e); return this._bindAction(l, s), this._addInactiveAction(l, o, i), l; }, existingAction: function (t, e) { var n = e || this._root, i = n.uuid, r = 'string' == typeof t ? Tu.findByName(n, t) : t, o = r ? r.uuid : t, a = this._actionsByClip[o]; return (void 0 !== a && a.actionByRoot[i]) || null; }, stopAllAction: function () { var t = this._actions, e = this._nActiveActions, n = this._bindings, i = this._nActiveBindings; (this._nActiveActions = 0), (this._nActiveBindings = 0); for (var r = 0; r !== e; ++r) t[r].reset(); for (r = 0; r !== i; ++r) n[r].useCount = 0; return this; }, update: function (t) { t *= this.timeScale; for (var e = this._actions, n = this._nActiveActions, i = (this.time += t), r = Math.sign(t), o = (this._accuIndex ^= 1), a = 0; a !== n; ++a) { e[a]._update(i, t, r, o); } var s = this._bindings, c = this._nActiveBindings; for (a = 0; a !== c; ++a) s[a].apply(o); return this; }, setTime: function (t) { this.time = 0; for (var e = 0; e < this._actions.length; e++) this._actions[e].time = 0; return this.update(t); }, getRoot: function () { return this._root; }, uncacheClip: function (t) { var e = this._actions, n = t.uuid, i = this._actionsByClip, r = i[n]; if (void 0 !== r) { for (var o = r.knownActions, a = 0, s = o.length; a !== s; ++a) { var c = o[a]; this._deactivateAction(c); var l = c._cacheIndex, u = e[e.length - 1]; (c._cacheIndex = null), (c._byClipCacheIndex = null), (u._cacheIndex = l), (e[l] = u), e.pop(), this._removeInactiveBindingsForAction(c); } delete i[n]; } }, uncacheRoot: function (t) { var e = t.uuid, n = this._actionsByClip; for (var i in n) { var r = n[i].actionByRoot[e]; void 0 !== r && (this._deactivateAction(r), this._removeInactiveAction(r)); } var o = this._bindingsByRootAndName[e]; if (void 0 !== o) for (var a in o) { var s = o[a]; s.restoreOriginalState(), this._removeInactiveBinding(s); } }, uncacheAction: function (t, e) { var n = this.existingAction(t, e); null !== n && (this._deactivateAction(n), this._removeInactiveAction(n)); }, })), (wp.prototype.clone = function () { return new wp(void 0 === this.value.clone ? this.value : this.value.clone()); }), (Sp.prototype = Object.assign(Object.create(Hs.prototype), { constructor: Sp, isInstancedInterleavedBuffer: !0, copy: function (t) { return Hs.prototype.copy.call(this, t), (this.meshPerAttribute = t.meshPerAttribute), this; }, })), Object.assign(xp.prototype, { set: function (t, e) { this.ray.set(t, e); }, setFromCamera: function (t, e) { e && e.isPerspectiveCamera ? (this.ray.origin.setFromMatrixPosition(e.matrixWorld), this.ray.direction.set(t.x, t.y, 0.5).unproject(e).sub(this.ray.origin).normalize(), (this.camera = e)) : e && e.isOrthographicCamera ? (this.ray.origin.set(t.x, t.y, (e.near + e.far) / (e.near - e.far)).unproject(e), this.ray.direction.set(0, 0, -1).transformDirection(e.matrixWorld), (this.camera = e)) : console.error('THREE.Raycaster: Unsupported camera type.'); }, intersectObject: function (t, e, n) { var i = n || []; return Ep(t, this, i, e), i.sort(Mp), i; }, intersectObjects: function (t, e, n) { var i = n || []; if (!1 === Array.isArray(t)) return console.warn('THREE.Raycaster.intersectObjects: objects is not an Array.'), i; for (var r = 0, o = t.length; r < o; r++) Ep(t[r], this, i, e); return i.sort(Mp), i; }, }), Object.assign(Cp.prototype, { set: function (t, e, n) { return (this.radius = t), (this.phi = e), (this.theta = n), this; }, clone: function () { return new this.constructor().copy(this); }, copy: function (t) { return (this.radius = t.radius), (this.phi = t.phi), (this.theta = t.theta), this; }, makeSafe: function () { return (this.phi = Math.max(1e-6, Math.min(Math.PI - 1e-6, this.phi))), this; }, setFromVector3: function (t) { return this.setFromCartesianCoords(t.x, t.y, t.z); }, setFromCartesianCoords: function (t, e, n) { return ( (this.radius = Math.sqrt(t * t + e * e + n * n)), 0 === this.radius ? ((this.theta = 0), (this.phi = 0)) : ((this.theta = Math.atan2(t, n)), (this.phi = Math.acos(Kn.clamp(e / this.radius, -1, 1)))), this ); }, }), Object.assign(Ap.prototype, { set: function (t, e, n) { return (this.radius = t), (this.theta = e), (this.y = n), this; }, clone: function () { return new this.constructor().copy(this); }, copy: function (t) { return (this.radius = t.radius), (this.theta = t.theta), (this.y = t.y), this; }, setFromVector3: function (t) { return this.setFromCartesianCoords(t.x, t.y, t.z); }, setFromCartesianCoords: function (t, e, n) { return (this.radius = Math.sqrt(t * t + n * n)), (this.theta = Math.atan2(t, n)), (this.y = e), this; }, }); var Tp = new Zn(); function Op(t, e) { (this.min = void 0 !== t ? t : new Zn(1 / 0, 1 / 0)), (this.max = void 0 !== e ? e : new Zn(-1 / 0, -1 / 0)); } Object.assign(Op.prototype, { set: function (t, e) { return this.min.copy(t), this.max.copy(e), this; }, setFromPoints: function (t) { this.makeEmpty(); for (var e = 0, n = t.length; e < n; e++) this.expandByPoint(t[e]); return this; }, setFromCenterAndSize: function (t, e) { var n = Tp.copy(e).multiplyScalar(0.5); return this.min.copy(t).sub(n), this.max.copy(t).add(n), this; }, clone: function () { return new this.constructor().copy(this); }, copy: function (t) { return this.min.copy(t.min), this.max.copy(t.max), this; }, makeEmpty: function () { return (this.min.x = this.min.y = 1 / 0), (this.max.x = this.max.y = -1 / 0), this; }, isEmpty: function () { return this.max.x < this.min.x || this.max.y < this.min.y; }, getCenter: function (t) { return void 0 === t && (console.warn('THREE.Box2: .getCenter() target is now required'), (t = new Zn())), this.isEmpty() ? t.set(0, 0) : t.addVectors(this.min, this.max).multiplyScalar(0.5); }, getSize: function (t) { return void 0 === t && (console.warn('THREE.Box2: .getSize() target is now required'), (t = new Zn())), this.isEmpty() ? t.set(0, 0) : t.subVectors(this.max, this.min); }, expandByPoint: function (t) { return this.min.min(t), this.max.max(t), this; }, expandByVector: function (t) { return this.min.sub(t), this.max.add(t), this; }, expandByScalar: function (t) { return this.min.addScalar(-t), this.max.addScalar(t), this; }, containsPoint: function (t) { return !(t.x < this.min.x || t.x > this.max.x || t.y < this.min.y || t.y > this.max.y); }, containsBox: function (t) { return this.min.x <= t.min.x && t.max.x <= this.max.x && this.min.y <= t.min.y && t.max.y <= this.max.y; }, getParameter: function (t, e) { return ( void 0 === e && (console.warn('THREE.Box2: .getParameter() target is now required'), (e = new Zn())), e.set((t.x - this.min.x) / (this.max.x - this.min.x), (t.y - this.min.y) / (this.max.y - this.min.y)) ); }, intersectsBox: function (t) { return !(t.max.x < this.min.x || t.min.x > this.max.x || t.max.y < this.min.y || t.min.y > this.max.y); }, clampPoint: function (t, e) { return void 0 === e && (console.warn('THREE.Box2: .clampPoint() target is now required'), (e = new Zn())), e.copy(t).clamp(this.min, this.max); }, distanceToPoint: function (t) { return Tp.copy(t).clamp(this.min, this.max).sub(t).length(); }, intersect: function (t) { return this.min.max(t.min), this.max.min(t.max), this; }, union: function (t) { return this.min.min(t.min), this.max.max(t.max), this; }, translate: function (t) { return this.min.add(t), this.max.add(t), this; }, equals: function (t) { return t.min.equals(this.min) && t.max.equals(this.max); }, }); var _p = new si(), Pp = new si(); function Ip(t, e) { (this.start = void 0 !== t ? t : new si()), (this.end = void 0 !== e ? e : new si()); } function kp(t) { Di.call(this), (this.material = t), (this.render = function () {}); } Object.assign(Ip.prototype, { set: function (t, e) { return this.start.copy(t), this.end.copy(e), this; }, clone: function () { return new this.constructor().copy(this); }, copy: function (t) { return this.start.copy(t.start), this.end.copy(t.end), this; }, getCenter: function (t) { return void 0 === t && (console.warn('THREE.Line3: .getCenter() target is now required'), (t = new si())), t.addVectors(this.start, this.end).multiplyScalar(0.5); }, delta: function (t) { return void 0 === t && (console.warn('THREE.Line3: .delta() target is now required'), (t = new si())), t.subVectors(this.end, this.start); }, distanceSq: function () { return this.start.distanceToSquared(this.end); }, distance: function () { return this.start.distanceTo(this.end); }, at: function (t, e) { return void 0 === e && (console.warn('THREE.Line3: .at() target is now required'), (e = new si())), this.delta(e).multiplyScalar(t).add(this.start); }, closestPointToPointParameter: function (t, e) { _p.subVectors(t, this.start), Pp.subVectors(this.end, this.start); var n = Pp.dot(Pp), i = Pp.dot(_p) / n; return e && (i = Kn.clamp(i, 0, 1)), i; }, closestPointToPoint: function (t, e, n) { var i = this.closestPointToPointParameter(t, e); return void 0 === n && (console.warn('THREE.Line3: .closestPointToPoint() target is now required'), (n = new si())), this.delta(n).multiplyScalar(i).add(this.start); }, applyMatrix4: function (t) { return this.start.applyMatrix4(t), this.end.applyMatrix4(t), this; }, equals: function (t) { return t.start.equals(this.start) && t.end.equals(this.end); }, }), (kp.prototype = Object.create(Di.prototype)), (kp.prototype.constructor = kp), (kp.prototype.isImmediateRenderObject = !0); var Dp = new si(); function Rp(t, e) { Di.call(this), (this.light = t), this.light.updateMatrixWorld(), (this.matrix = t.matrixWorld), (this.matrixAutoUpdate = !1), (this.color = e); for (var n = new Qr(), i = [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], r = 0, o = 1; r < 32; r++, o++) { var a = (r / 32) * Math.PI * 2, s = (o / 32) * Math.PI * 2; i.push(Math.cos(a), Math.sin(a), 1, Math.cos(s), Math.sin(s), 1); } n.setAttribute('position', new Br(i, 3)); var c = new xc({ fog: !1, toneMapped: !1, }); (this.cone = new Ic(n, c)), this.add(this.cone), this.update(); } (Rp.prototype = Object.create(Di.prototype)), (Rp.prototype.constructor = Rp), (Rp.prototype.dispose = function () { this.cone.geometry.dispose(), this.cone.material.dispose(); }), (Rp.prototype.update = function () { this.light.updateMatrixWorld(); var t = this.light.distance ? this.light.distance : 1e3, e = t * Math.tan(this.light.angle); this.cone.scale.set(e, e, t), Dp.setFromMatrixPosition(this.light.target.matrixWorld), this.cone.lookAt(Dp), void 0 !== this.color ? this.cone.material.color.set(this.color) : this.cone.material.color.copy(this.light.color); }); var Lp = new si(), Np = new mi(), jp = new mi(); function Vp(t) { for ( var e = (function t(e) { var n = []; e && e.isBone && n.push(e); for (var i = 0; i < e.children.length; i++) n.push.apply(n, t(e.children[i])); return n; })(t), n = new Qr(), i = [], r = [], o = new Er(0, 0, 1), a = new Er(0, 1, 0), s = 0; s < e.length; s++ ) { var c = e[s]; c.parent && c.parent.isBone && (i.push(0, 0, 0), i.push(0, 0, 0), r.push(o.r, o.g, o.b), r.push(a.r, a.g, a.b)); } n.setAttribute('position', new Br(i, 3)), n.setAttribute('color', new Br(r, 3)); var l = new xc({ vertexColors: !0, depthTest: !1, depthWrite: !1, toneMapped: !1, transparent: !0, }); Ic.call(this, n, l), (this.root = t), (this.bones = e), (this.matrix = t.matrixWorld), (this.matrixAutoUpdate = !1); } function Fp(t, e, n) { (this.light = t), this.light.updateMatrixWorld(), (this.color = n); var i = new Bl(e, 4, 2), r = new Ir({ wireframe: !0, fog: !1, toneMapped: !1, }); vo.call(this, i, r), (this.matrix = this.light.matrixWorld), (this.matrixAutoUpdate = !1), this.update(); } (Vp.prototype = Object.create(Ic.prototype)), (Vp.prototype.constructor = Vp), (Vp.prototype.isSkeletonHelper = !0), (Vp.prototype.updateMatrixWorld = function (t) { var e = this.bones, n = this.geometry, i = n.getAttribute('position'); jp.getInverse(this.root.matrixWorld); for (var r = 0, o = 0; r < e.length; r++) { var a = e[r]; a.parent && a.parent.isBone && (Np.multiplyMatrices(jp, a.matrixWorld), Lp.setFromMatrixPosition(Np), i.setXYZ(o, Lp.x, Lp.y, Lp.z), Np.multiplyMatrices(jp, a.parent.matrixWorld), Lp.setFromMatrixPosition(Np), i.setXYZ(o + 1, Lp.x, Lp.y, Lp.z), (o += 2)); } (n.getAttribute('position').needsUpdate = !0), Di.prototype.updateMatrixWorld.call(this, t); }), (Fp.prototype = Object.create(vo.prototype)), (Fp.prototype.constructor = Fp), (Fp.prototype.dispose = function () { this.geometry.dispose(), this.material.dispose(); }), (Fp.prototype.update = function () { void 0 !== this.color ? this.material.color.set(this.color) : this.material.color.copy(this.light.color); }); var Up = new si(), Bp = new Er(), zp = new Er(); function Gp(t, e, n) { Di.call(this), (this.light = t), this.light.updateMatrixWorld(), (this.matrix = t.matrixWorld), (this.matrixAutoUpdate = !1), (this.color = n); var i = new Qc(e); i.rotateY(0.5 * Math.PI), (this.material = new Ir({ wireframe: !0, fog: !1, toneMapped: !1, })), void 0 === this.color && (this.material.vertexColors = !0); var r = i.getAttribute('position'), o = new Float32Array(3 * r.count); i.setAttribute('color', new Dr(o, 3)), this.add(new vo(i, this.material)), this.update(); } function Hp(t, e, n, i) { (t = t || 10), (e = e || 10), (n = new Er(void 0 !== n ? n : 4473924)), (i = new Er(void 0 !== i ? i : 8947848)); for (var r = e / 2, o = t / e, a = t / 2, s = [], c = [], l = 0, u = 0, d = -a; l <= e; l++, d += o) { s.push(-a, 0, d, a, 0, d), s.push(d, 0, -a, d, 0, a); var p = l === r ? n : i; p.toArray(c, u), (u += 3), p.toArray(c, u), (u += 3), p.toArray(c, u), (u += 3), p.toArray(c, u), (u += 3); } var h = new Qr(); h.setAttribute('position', new Br(s, 3)), h.setAttribute('color', new Br(c, 3)); var f = new xc({ vertexColors: !0, toneMapped: !1, }); Ic.call(this, h, f); } function Wp(t, e, n, i, r, o) { (t = t || 10), (e = e || 16), (n = n || 8), (i = i || 64), (r = new Er(void 0 !== r ? r : 4473924)), (o = new Er(void 0 !== o ? o : 8947848)); var a, s, c, l, u, d, p, h = [], f = []; for (l = 0; l <= e; l++) (c = (l / e) * (2 * Math.PI)), (a = Math.sin(c) * t), (s = Math.cos(c) * t), h.push(0, 0, 0), h.push(a, 0, s), (p = 1 & l ? r : o), f.push(p.r, p.g, p.b), f.push(p.r, p.g, p.b); for (l = 0; l <= n; l++) for (p = 1 & l ? r : o, d = t - (t / n) * l, u = 0; u < i; u++) (c = (u / i) * (2 * Math.PI)), (a = Math.sin(c) * d), (s = Math.cos(c) * d), h.push(a, 0, s), f.push(p.r, p.g, p.b), (c = ((u + 1) / i) * (2 * Math.PI)), (a = Math.sin(c) * d), (s = Math.cos(c) * d), h.push(a, 0, s), f.push(p.r, p.g, p.b); var m = new Qr(); m.setAttribute('position', new Br(h, 3)), m.setAttribute('color', new Br(f, 3)); var g = new xc({ vertexColors: !0, toneMapped: !1, }); Ic.call(this, m, g); } (Gp.prototype = Object.create(Di.prototype)), (Gp.prototype.constructor = Gp), (Gp.prototype.dispose = function () { this.children[0].geometry.dispose(), this.children[0].material.dispose(); }), (Gp.prototype.update = function () { var t = this.children[0]; if (void 0 !== this.color) this.material.color.set(this.color); else { var e = t.geometry.getAttribute('color'); Bp.copy(this.light.color), zp.copy(this.light.groundColor); for (var n = 0, i = e.count; n < i; n++) { var r = n < i / 2 ? Bp : zp; e.setXYZ(n, r.r, r.g, r.b); } e.needsUpdate = !0; } t.lookAt(Up.setFromMatrixPosition(this.light.matrixWorld).negate()); }), (Hp.prototype = Object.assign(Object.create(Ic.prototype), { constructor: Hp, copy: function (t) { return Ic.prototype.copy.call(this, t), this.geometry.copy(t.geometry), this.material.copy(t.material), this; }, clone: function () { return new this.constructor().copy(this); }, })), (Wp.prototype = Object.create(Ic.prototype)), (Wp.prototype.constructor = Wp); var qp = new si(), Xp = new si(), Yp = new si(); function Kp(t, e, n) { Di.call(this), (this.light = t), this.light.updateMatrixWorld(), (this.matrix = t.matrixWorld), (this.matrixAutoUpdate = !1), (this.color = n), void 0 === e && (e = 1); var i = new Qr(); i.setAttribute('position', new Br([-e, e, 0, e, e, 0, e, -e, 0, -e, -e, 0, -e, e, 0], 3)); var r = new xc({ fog: !1, toneMapped: !1, }); (this.lightPlane = new Oc(i, r)), this.add(this.lightPlane), (i = new Qr()).setAttribute('position', new Br([0, 0, 0, 0, 0, 1], 3)), (this.targetLine = new Oc(i, r)), this.add(this.targetLine), this.update(); } (Kp.prototype = Object.create(Di.prototype)), (Kp.prototype.constructor = Kp), (Kp.prototype.dispose = function () { this.lightPlane.geometry.dispose(), this.lightPlane.material.dispose(), this.targetLine.geometry.dispose(), this.targetLine.material.dispose(); }), (Kp.prototype.update = function () { qp.setFromMatrixPosition(this.light.matrixWorld), Xp.setFromMatrixPosition(this.light.target.matrixWorld), Yp.subVectors(Xp, qp), this.lightPlane.lookAt(Xp), void 0 !== this.color ? (this.lightPlane.material.color.set(this.color), this.targetLine.material.color.set(this.color)) : (this.lightPlane.material.color.copy(this.light.color), this.targetLine.material.color.copy(this.light.color)), this.targetLine.lookAt(Xp), (this.targetLine.scale.z = Yp.length()); }); var Zp = new si(), Jp = new Io(); function Qp(t) { var e = new Qr(), n = new xc({ color: 16777215, vertexColors: !0, toneMapped: !1, }), i = [], r = [], o = {}, a = new Er(16755200), s = new Er(16711680), c = new Er(43775), l = new Er(16777215), u = new Er(3355443); function d(t, e, n) { p(t, n), p(e, n); } function p(t, e) { i.push(0, 0, 0), r.push(e.r, e.g, e.b), void 0 === o[t] && (o[t] = []), o[t].push(i.length / 3 - 1); } d('n1', 'n2', a), d('n2', 'n4', a), d('n4', 'n3', a), d('n3', 'n1', a), d('f1', 'f2', a), d('f2', 'f4', a), d('f4', 'f3', a), d('f3', 'f1', a), d('n1', 'f1', a), d('n2', 'f2', a), d('n3', 'f3', a), d('n4', 'f4', a), d('p', 'n1', s), d('p', 'n2', s), d('p', 'n3', s), d('p', 'n4', s), d('u1', 'u2', c), d('u2', 'u3', c), d('u3', 'u1', c), d('c', 't', l), d('p', 'c', u), d('cn1', 'cn2', u), d('cn3', 'cn4', u), d('cf1', 'cf2', u), d('cf3', 'cf4', u), e.setAttribute('position', new Br(i, 3)), e.setAttribute('color', new Br(r, 3)), Ic.call(this, e, n), (this.camera = t), this.camera.updateProjectionMatrix && this.camera.updateProjectionMatrix(), (this.matrix = t.matrixWorld), (this.matrixAutoUpdate = !1), (this.pointMap = o), this.update(); } function $p(t, e, n, i, r, o, a) { Zp.set(r, o, a).unproject(i); var s = e[t]; if (void 0 !== s) for (var c = n.getAttribute('position'), l = 0, u = s.length; l < u; l++) c.setXYZ(s[l], Zp.x, Zp.y, Zp.z); } (Qp.prototype = Object.create(Ic.prototype)), (Qp.prototype.constructor = Qp), (Qp.prototype.update = function () { var t = this.geometry, e = this.pointMap; Jp.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse), $p('c', e, t, Jp, 0, 0, -1), $p('t', e, t, Jp, 0, 0, 1), $p('n1', e, t, Jp, -1, -1, -1), $p('n2', e, t, Jp, 1, -1, -1), $p('n3', e, t, Jp, -1, 1, -1), $p('n4', e, t, Jp, 1, 1, -1), $p('f1', e, t, Jp, -1, -1, 1), $p('f2', e, t, Jp, 1, -1, 1), $p('f3', e, t, Jp, -1, 1, 1), $p('f4', e, t, Jp, 1, 1, 1), $p('u1', e, t, Jp, 0.7, 1.1, -1), $p('u2', e, t, Jp, -0.7, 1.1, -1), $p('u3', e, t, Jp, 0, 2, -1), $p('cf1', e, t, Jp, -1, 0, 1), $p('cf2', e, t, Jp, 1, 0, 1), $p('cf3', e, t, Jp, 0, -1, 1), $p('cf4', e, t, Jp, 0, 1, 1), $p('cn1', e, t, Jp, -1, 0, -1), $p('cn2', e, t, Jp, 1, 0, -1), $p('cn3', e, t, Jp, 0, -1, -1), $p('cn4', e, t, Jp, 0, 1, -1), (t.getAttribute('position').needsUpdate = !0); }); var th = new Yi(); function eh(t, e) { (this.object = t), void 0 === e && (e = 16776960); var 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]), i = new Float32Array(24), r = new Qr(); r.setIndex(new Dr(n, 1)), r.setAttribute('position', new Dr(i, 3)), Ic.call( this, r, new xc({ color: e, toneMapped: !1, }) ), (this.matrixAutoUpdate = !1), this.update(); } function nh(t, e) { (this.type = 'Box3Helper'), (this.box = t), (e = e || 16776960); var 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]), i = new Qr(); i.setIndex(new Dr(n, 1)), i.setAttribute('position', new Br([1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1], 3)), Ic.call( this, i, new xc({ color: e, toneMapped: !1, }) ), this.geometry.computeBoundingSphere(); } function ih(t, e, n) { (this.type = 'PlaneHelper'), (this.plane = t), (this.size = void 0 === e ? 1 : e); var i = void 0 !== n ? n : 16776960, r = new Qr(); r.setAttribute('position', new Br([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], 3)), r.computeBoundingSphere(), Oc.call( this, r, new xc({ color: i, toneMapped: !1, }) ); var o = new Qr(); o.setAttribute('position', new Br([1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1], 3)), o.computeBoundingSphere(), this.add( new vo( o, new Ir({ color: i, opacity: 0.2, transparent: !0, depthWrite: !1, toneMapped: !1, }) ) ); } (eh.prototype = Object.create(Ic.prototype)), (eh.prototype.constructor = eh), (eh.prototype.update = function (t) { if ((void 0 !== t && console.warn('THREE.BoxHelper: .update() has no longer arguments.'), void 0 !== this.object && th.setFromObject(this.object), !th.isEmpty())) { var e = th.min, n = th.max, i = this.geometry.attributes.position, r = i.array; (r[0] = n.x), (r[1] = n.y), (r[2] = n.z), (r[3] = e.x), (r[4] = n.y), (r[5] = n.z), (r[6] = e.x), (r[7] = e.y), (r[8] = n.z), (r[9] = n.x), (r[10] = e.y), (r[11] = n.z), (r[12] = n.x), (r[13] = n.y), (r[14] = e.z), (r[15] = e.x), (r[16] = n.y), (r[17] = e.z), (r[18] = e.x), (r[19] = e.y), (r[20] = e.z), (r[21] = n.x), (r[22] = e.y), (r[23] = e.z), (i.needsUpdate = !0), this.geometry.computeBoundingSphere(); } }), (eh.prototype.setFromObject = function (t) { return (this.object = t), this.update(), this; }), (eh.prototype.copy = function (t) { return Ic.prototype.copy.call(this, t), (this.object = t.object), this; }), (eh.prototype.clone = function () { return new this.constructor().copy(this); }), (nh.prototype = Object.create(Ic.prototype)), (nh.prototype.constructor = nh), (nh.prototype.updateMatrixWorld = function (t) { var e = this.box; e.isEmpty() || (e.getCenter(this.position), e.getSize(this.scale), this.scale.multiplyScalar(0.5), Di.prototype.updateMatrixWorld.call(this, t)); }), (ih.prototype = Object.create(Oc.prototype)), (ih.prototype.constructor = ih), (ih.prototype.updateMatrixWorld = function (t) { var e = -this.plane.constant; Math.abs(e) < 1e-8 && (e = 1e-8), this.scale.set(0.5 * this.size, 0.5 * this.size, e), (this.children[0].material.side = e < 0 ? T : A), this.lookAt(this.plane.normal), Di.prototype.updateMatrixWorld.call(this, t); }); var rh, oh, ah = new si(); function sh(t, e, n, i, r, o) { Di.call(this), void 0 === t && (t = new si(0, 0, 1)), void 0 === e && (e = new si(0, 0, 0)), void 0 === n && (n = 1), void 0 === i && (i = 16776960), void 0 === r && (r = 0.2 * n), void 0 === o && (o = 0.2 * r), void 0 === rh && ((rh = new Qr()).setAttribute('position', new Br([0, 0, 0, 0, 1, 0], 3)), (oh = new Jl(0, 0.5, 1, 5, 1)).translate(0, -0.5, 0)), this.position.copy(e), (this.line = new Oc( rh, new xc({ color: i, toneMapped: !1, }) )), (this.line.matrixAutoUpdate = !1), this.add(this.line), (this.cone = new vo( oh, new Ir({ color: i, toneMapped: !1, }) )), (this.cone.matrixAutoUpdate = !1), this.add(this.cone), this.setDirection(t), this.setLength(n, r, o); } function ch(t) { var e = [0, 0, 0, (t = t || 1), 0, 0, 0, 0, 0, 0, t, 0, 0, 0, 0, 0, 0, t], n = new Qr(); n.setAttribute('position', new Br(e, 3)), n.setAttribute('color', new Br([1, 0, 0, 1, 0.6, 0, 0, 1, 0, 0.6, 1, 0, 0, 0, 1, 0, 0.6, 1], 3)); var i = new xc({ vertexColors: !0, toneMapped: !1, }); Ic.call(this, n, i); } (sh.prototype = Object.create(Di.prototype)), (sh.prototype.constructor = sh), (sh.prototype.setDirection = function (t) { if (t.y > 0.99999) this.quaternion.set(0, 0, 0, 1); else if (t.y < -0.99999) this.quaternion.set(1, 0, 0, 0); else { ah.set(t.z, 0, -t.x).normalize(); var e = Math.acos(t.y); this.quaternion.setFromAxisAngle(ah, e); } }), (sh.prototype.setLength = function (t, e, n) { void 0 === e && (e = 0.2 * t), void 0 === n && (n = 0.2 * e), this.line.scale.set(1, Math.max(1e-4, t - e), 1), this.line.updateMatrix(), this.cone.scale.set(n, e, n), (this.cone.position.y = t), this.cone.updateMatrix(); }), (sh.prototype.setColor = function (t) { this.line.material.color.set(t), this.cone.material.color.set(t); }), (sh.prototype.copy = function (t) { return Di.prototype.copy.call(this, t, !1), this.line.copy(t.line), this.cone.copy(t.cone), this; }), (sh.prototype.clone = function () { return new this.constructor().copy(this); }), (ch.prototype = Object.create(Ic.prototype)), (ch.prototype.constructor = ch); var lh, uh, dh, ph, hh = Math.pow(2, 8), fh = [0.125, 0.215, 0.35, 0.446, 0.526, 0.582], mh = 5 + fh.length, gh = (r((i = {}), cn, 0), r(i, ln, 1), r(i, dn, 2), r(i, hn, 3), r(i, fn, 4), r(i, mn, 5), r(i, un, 6), i), vh = new vd(), yh = ((lh = 20), (uh = new Float32Array(lh)), (dh = new si(0, 1, 0)), ((ph = new ru({ defines: { n: lh, }, uniforms: { envMap: { value: null, }, samples: { value: 1, }, weights: { value: uh, }, latitudinal: { value: !1, }, dTheta: { value: 0, }, mipInt: { value: 0, }, poleAxis: { value: dh, }, inputEncoding: { value: gh[cn], }, outputEncoding: { value: gh[cn], }, }, vertexShader: '\nprecision mediump float;\nprecision mediump int;\nattribute vec3 position;\nattribute vec2 uv;\nattribute float faceIndex;\nvarying vec3 vOutputDirection;\nvec3 getDirection(vec2 uv, float face) {\n\tuv = 2.0 * uv - 1.0;\n\tvec3 direction = vec3(uv, 1.0);\n\tif (face == 0.0) {\n\t\tdirection = direction.zyx;\n\t\tdirection.z *= -1.0;\n\t} else if (face == 1.0) {\n\t\tdirection = direction.xzy;\n\t\tdirection.z *= -1.0;\n\t} else if (face == 3.0) {\n\t\tdirection = direction.zyx;\n\t\tdirection.x *= -1.0;\n\t} else if (face == 4.0) {\n\t\tdirection = direction.xzy;\n\t\tdirection.y *= -1.0;\n\t} else if (face == 5.0) {\n\t\tdirection.xz *= -1.0;\n\t}\n\treturn direction;\n}\nvoid main() {\n\tvOutputDirection = getDirection(uv, faceIndex);\n\tgl_Position = vec4( position, 1.0 );\n}\n\t', fragmentShader: '\nprecision mediump float;\nprecision mediump int;\nvarying vec3 vOutputDirection;\nuniform sampler2D envMap;\nuniform int samples;\nuniform float weights[n];\nuniform bool latitudinal;\nuniform float dTheta;\nuniform float mipInt;\nuniform vec3 poleAxis;\n\n'.concat( '\nuniform int inputEncoding;\nuniform int outputEncoding;\n\n#include \n\nvec4 inputTexelToLinear(vec4 value){\n\tif(inputEncoding == 0){\n\t\treturn value;\n\t}else if(inputEncoding == 1){\n\t\treturn sRGBToLinear(value);\n\t}else if(inputEncoding == 2){\n\t\treturn RGBEToLinear(value);\n\t}else if(inputEncoding == 3){\n\t\treturn RGBMToLinear(value, 7.0);\n\t}else if(inputEncoding == 4){\n\t\treturn RGBMToLinear(value, 16.0);\n\t}else if(inputEncoding == 5){\n\t\treturn RGBDToLinear(value, 256.0);\n\t}else{\n\t\treturn GammaToLinear(value, 2.2);\n\t}\n}\n\nvec4 linearToOutputTexel(vec4 value){\n\tif(outputEncoding == 0){\n\t\treturn value;\n\t}else if(outputEncoding == 1){\n\t\treturn LinearTosRGB(value);\n\t}else if(outputEncoding == 2){\n\t\treturn LinearToRGBE(value);\n\t}else if(outputEncoding == 3){\n\t\treturn LinearToRGBM(value, 7.0);\n\t}else if(outputEncoding == 4){\n\t\treturn LinearToRGBM(value, 16.0);\n\t}else if(outputEncoding == 5){\n\t\treturn LinearToRGBD(value, 256.0);\n\t}else{\n\t\treturn LinearToGamma(value, 2.2);\n\t}\n}\n\nvec4 envMapTexelToLinear(vec4 color) {\n\treturn inputTexelToLinear(color);\n}\n\t', "\n\n#define ENVMAP_TYPE_CUBE_UV\n#include \n\nvec3 getSample(float theta, vec3 axis) {\n\tfloat cosTheta = cos(theta);\n\t// Rodrigues' axis-angle rotation\n\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t+ cross(axis, vOutputDirection) * sin(theta)\n\t\t+ axis * dot(axis, vOutputDirection) * (1.0 - cosTheta);\n\treturn bilinearCubeUV(envMap, sampleDirection, mipInt);\n}\n\nvoid main() {\n\tvec3 axis = latitudinal ? poleAxis : cross(poleAxis, vOutputDirection);\n\tif (all(equal(axis, vec3(0.0))))\n\t\taxis = vec3(vOutputDirection.z, 0.0, - vOutputDirection.x);\n\taxis = normalize(axis);\n\tgl_FragColor = vec4(0.0);\n\tgl_FragColor.rgb += weights[0] * getSample(0.0, axis);\n\tfor (int i = 1; i < n; i++) {\n\t\tif (i >= samples)\n\t\t\tbreak;\n\t\tfloat theta = dTheta * float(i);\n\t\tgl_FragColor.rgb += weights[i] * getSample(-1.0 * theta, axis);\n\t\tgl_FragColor.rgb += weights[i] * getSample(theta, axis);\n\t}\n\tgl_FragColor = linearToOutputTexel(gl_FragColor);\n}\n\t\t" ), blending: I, depthTest: !1, depthWrite: !1, })).type = 'SphericalGaussianBlur'), ph), bh = null, wh = null, Sh = (function () { for (var t = [], e = [], n = [], i = 8, r = 0; r < mh; r++) { var o = Math.pow(2, i); e.push(o); var a = 1 / o; r > 4 ? (a = fh[r - 8 + 4 - 1]) : 0 == r && (a = 0), n.push(a); for ( var s = 1 / (o - 1), c = -s / 2, l = 1 + s / 2, u = [c, c, l, c, l, l, c, c, l, l, c, l], d = new Float32Array(108), p = new Float32Array(72), h = new Float32Array(36), f = 0; f < 6; f++ ) { var m = ((f % 3) * 2) / 3 - 1, g = f > 2 ? 0 : -1, v = [m, g, 0, m + 2 / 3, g, 0, m + 2 / 3, g + 1, 0, m, g, 0, m + 2 / 3, g + 1, 0, m, g + 1, 0]; d.set(v, 18 * f), p.set(u, 12 * f); var y = [f, f, f, f, f, f]; h.set(y, 6 * f); } var b = new Qr(); b.setAttribute('position', new Dr(d, 3)), b.setAttribute('uv', new Dr(p, 2)), b.setAttribute('faceIndex', new Dr(h, 1)), t.push(b), i > 4 && i--; } return { _lodPlanes: t, _sizeLods: e, _sigmas: n, }; })(), xh = Sh._lodPlanes, Mh = Sh._sizeLods, Eh = Sh._sigmas, Ch = null, Ah = null, Th = null, Oh = (1 + Math.sqrt(5)) / 2, _h = 1 / Oh, Ph = [ new si(1, 1, 1), new si(-1, 1, 1), new si(1, 1, -1), new si(-1, 1, -1), new si(0, Oh, _h), new si(0, Oh, -_h), new si(_h, 0, Oh), new si(-_h, 0, Oh), new si(Oh, _h, 0), new si(-Oh, _h, 0), ]; function Ih(t) { (Ah = t), Lh(yh); } function kh(t) { var e = { magFilter: Tt, minFilter: Tt, generateMipmaps: !1, type: t ? t.type : jt, format: t ? t.format : te, encoding: t ? t.encoding : dn, depthBuffer: !1, stencilBuffer: !1, }, n = Nh(e); return (n.depthBuffer = !t), (Ch = Nh(e)), n; } function Dh(t) { Ch.dispose(), Ah.setRenderTarget(Th), (t.scissorTest = !1), t.setSize(t.width, t.height); } function Rh(t, e, n, i) { var r = new ko(90, 1, e, n), o = [1, 1, 1, 1, -1, 1], a = [1, 1, -1, -1, -1, 1], s = Ah.outputEncoding, c = Ah.toneMapping, l = Ah.toneMappingExposure, u = Ah.getClearColor(), d = Ah.getClearAlpha(); (Ah.toneMapping = dt), (Ah.toneMappingExposure = 1), (Ah.outputEncoding = cn), (t.scale.z *= -1); var p = t.background; if (p && p.isColor) { p.convertSRGBToLinear(); var h = Math.max(p.r, p.g, p.b), f = Math.min(Math.max(Math.ceil(Math.log2(h)), -128), 127); p = p.multiplyScalar(Math.pow(2, -f)); var m = (f + 128) / 255; Ah.setClearColor(p, m), (t.background = null); } for (var g = 0; g < 6; g++) { var v = g % 3; 0 == v ? (r.up.set(0, o[g], 0), r.lookAt(a[g], 0, 0)) : 1 == v ? (r.up.set(0, 0, o[g]), r.lookAt(0, a[g], 0)) : (r.up.set(0, o[g], 0), r.lookAt(0, 0, a[g])), jh(i, v * hh, g > 2 ? hh : 0, hh, hh), Ah.setRenderTarget(i), Ah.render(t, r); } (Ah.toneMapping = c), (Ah.toneMappingExposure = l), (Ah.outputEncoding = s), Ah.setClearColor(u, d), (t.scale.z *= -1); } function Lh(t) { var e = new Ri(); e.add(new vo(xh[0], t)), Ah.compile(e, vh); } function Nh(t) { var e = new ni(3 * hh, 3 * hh, t); return (e.texture.mapping = xt), (e.texture.name = 'PMREM.cubeUv'), (e.scissorTest = !0), e; } function jh(t, e, n, i, r) { t.viewport.set(e, n, i, r), t.scissor.set(e, n, i, r); } function Vh(t) { var e = Ah.autoClear; Ah.autoClear = !1; for (var n = 1; n < mh; n++) { Fh(t, n - 1, n, Math.sqrt(Eh[n] * Eh[n] - Eh[n - 1] * Eh[n - 1]), Ph[(n - 1) % Ph.length]); } Ah.autoClear = e; } function Fh(t, e, n, i, r) { Uh(t, Ch, e, n, i, 'latitudinal', r), Uh(Ch, t, n, n, i, 'longitudinal', r); } function Uh(t, e, n, i, r, o, a) { 'latitudinal' !== o && 'longitudinal' !== o && console.error('blur direction must be either latitudinal or longitudinal!'); var s = new Ri(); s.add(new vo(xh[i], yh)); var c = yh.uniforms, l = Mh[n] - 1, u = isFinite(r) ? Math.PI / (2 * l) : (2 * Math.PI) / 39, d = r / u, p = isFinite(r) ? 1 + Math.floor(3 * d) : 20; p > 20 && console.warn('sigmaRadians, '.concat(r, ', is too large and will clip, as it requested ').concat(p, ' samples when the maximum is set to ').concat(20)); for (var h = [], f = 0, m = 0; m < 20; ++m) { var g = m / d, v = Math.exp((-g * g) / 2); h.push(v), 0 == m ? (f += v) : m < p && (f += 2 * v); } for (m = 0; m < h.length; m++) h[m] = h[m] / f; (c.envMap.value = t.texture), (c.samples.value = p), (c.weights.value = h), (c.latitudinal.value = 'latitudinal' === o), a && (c.poleAxis.value = a), (c.dTheta.value = u), (c.mipInt.value = 8 - n), (c.inputEncoding.value = gh[t.texture.encoding]), (c.outputEncoding.value = gh[t.texture.encoding]); var y = Mh[i]; jh(e, (g = 3 * Math.max(0, hh - 2 * y)), (0 === i ? 0 : 2 * hh) + 2 * y * (i > 4 ? i - 8 + 4 : 0), 3 * y, 2 * y), Ah.setRenderTarget(e), Ah.render(s, vh); } function Bh() { var t = new ru({ uniforms: { envMap: { value: null, }, texelSize: { value: new Zn(1, 1), }, inputEncoding: { value: gh[cn], }, outputEncoding: { value: gh[cn], }, }, vertexShader: '\nprecision mediump float;\nprecision mediump int;\nattribute vec3 position;\nattribute vec2 uv;\nattribute float faceIndex;\nvarying vec3 vOutputDirection;\nvec3 getDirection(vec2 uv, float face) {\n\tuv = 2.0 * uv - 1.0;\n\tvec3 direction = vec3(uv, 1.0);\n\tif (face == 0.0) {\n\t\tdirection = direction.zyx;\n\t\tdirection.z *= -1.0;\n\t} else if (face == 1.0) {\n\t\tdirection = direction.xzy;\n\t\tdirection.z *= -1.0;\n\t} else if (face == 3.0) {\n\t\tdirection = direction.zyx;\n\t\tdirection.x *= -1.0;\n\t} else if (face == 4.0) {\n\t\tdirection = direction.xzy;\n\t\tdirection.y *= -1.0;\n\t} else if (face == 5.0) {\n\t\tdirection.xz *= -1.0;\n\t}\n\treturn direction;\n}\nvoid main() {\n\tvOutputDirection = getDirection(uv, faceIndex);\n\tgl_Position = vec4( position, 1.0 );\n}\n\t', fragmentShader: '\nprecision mediump float;\nprecision mediump int;\nvarying vec3 vOutputDirection;\nuniform sampler2D envMap;\nuniform vec2 texelSize;\n\n'.concat( '\nuniform int inputEncoding;\nuniform int outputEncoding;\n\n#include \n\nvec4 inputTexelToLinear(vec4 value){\n\tif(inputEncoding == 0){\n\t\treturn value;\n\t}else if(inputEncoding == 1){\n\t\treturn sRGBToLinear(value);\n\t}else if(inputEncoding == 2){\n\t\treturn RGBEToLinear(value);\n\t}else if(inputEncoding == 3){\n\t\treturn RGBMToLinear(value, 7.0);\n\t}else if(inputEncoding == 4){\n\t\treturn RGBMToLinear(value, 16.0);\n\t}else if(inputEncoding == 5){\n\t\treturn RGBDToLinear(value, 256.0);\n\t}else{\n\t\treturn GammaToLinear(value, 2.2);\n\t}\n}\n\nvec4 linearToOutputTexel(vec4 value){\n\tif(outputEncoding == 0){\n\t\treturn value;\n\t}else if(outputEncoding == 1){\n\t\treturn LinearTosRGB(value);\n\t}else if(outputEncoding == 2){\n\t\treturn LinearToRGBE(value);\n\t}else if(outputEncoding == 3){\n\t\treturn LinearToRGBM(value, 7.0);\n\t}else if(outputEncoding == 4){\n\t\treturn LinearToRGBM(value, 16.0);\n\t}else if(outputEncoding == 5){\n\t\treturn LinearToRGBD(value, 256.0);\n\t}else{\n\t\treturn LinearToGamma(value, 2.2);\n\t}\n}\n\nvec4 envMapTexelToLinear(vec4 color) {\n\treturn inputTexelToLinear(color);\n}\n\t', '\n\n#define RECIPROCAL_PI 0.31830988618\n#define RECIPROCAL_PI2 0.15915494\n\nvoid main() {\n\tgl_FragColor = vec4(0.0);\n\tvec3 outputDirection = normalize(vOutputDirection);\n\tvec2 uv;\n\tuv.y = asin(clamp(outputDirection.y, -1.0, 1.0)) * RECIPROCAL_PI + 0.5;\n\tuv.x = atan(outputDirection.z, outputDirection.x) * RECIPROCAL_PI2 + 0.5;\n\tvec2 f = fract(uv / texelSize - 0.5);\n\tuv -= f * texelSize;\n\tvec3 tl = envMapTexelToLinear(texture2D(envMap, uv)).rgb;\n\tuv.x += texelSize.x;\n\tvec3 tr = envMapTexelToLinear(texture2D(envMap, uv)).rgb;\n\tuv.y += texelSize.y;\n\tvec3 br = envMapTexelToLinear(texture2D(envMap, uv)).rgb;\n\tuv.x -= texelSize.x;\n\tvec3 bl = envMapTexelToLinear(texture2D(envMap, uv)).rgb;\n\tvec3 tm = mix(tl, tr, f.x);\n\tvec3 bm = mix(bl, br, f.x);\n\tgl_FragColor.rgb = mix(tm, bm, f.y);\n\tgl_FragColor = linearToOutputTexel(gl_FragColor);\n}\n\t\t' ), blending: I, depthTest: !1, depthWrite: !1, }); return (t.type = 'EquirectangularToCubeUV'), t; } function zh() { var t = new ru({ uniforms: { envMap: { value: null, }, inputEncoding: { value: gh[cn], }, outputEncoding: { value: gh[cn], }, }, vertexShader: '\nprecision mediump float;\nprecision mediump int;\nattribute vec3 position;\nattribute vec2 uv;\nattribute float faceIndex;\nvarying vec3 vOutputDirection;\nvec3 getDirection(vec2 uv, float face) {\n\tuv = 2.0 * uv - 1.0;\n\tvec3 direction = vec3(uv, 1.0);\n\tif (face == 0.0) {\n\t\tdirection = direction.zyx;\n\t\tdirection.z *= -1.0;\n\t} else if (face == 1.0) {\n\t\tdirection = direction.xzy;\n\t\tdirection.z *= -1.0;\n\t} else if (face == 3.0) {\n\t\tdirection = direction.zyx;\n\t\tdirection.x *= -1.0;\n\t} else if (face == 4.0) {\n\t\tdirection = direction.xzy;\n\t\tdirection.y *= -1.0;\n\t} else if (face == 5.0) {\n\t\tdirection.xz *= -1.0;\n\t}\n\treturn direction;\n}\nvoid main() {\n\tvOutputDirection = getDirection(uv, faceIndex);\n\tgl_Position = vec4( position, 1.0 );\n}\n\t', fragmentShader: '\nprecision mediump float;\nprecision mediump int;\nvarying vec3 vOutputDirection;\nuniform samplerCube envMap;\n\n'.concat( '\nuniform int inputEncoding;\nuniform int outputEncoding;\n\n#include \n\nvec4 inputTexelToLinear(vec4 value){\n\tif(inputEncoding == 0){\n\t\treturn value;\n\t}else if(inputEncoding == 1){\n\t\treturn sRGBToLinear(value);\n\t}else if(inputEncoding == 2){\n\t\treturn RGBEToLinear(value);\n\t}else if(inputEncoding == 3){\n\t\treturn RGBMToLinear(value, 7.0);\n\t}else if(inputEncoding == 4){\n\t\treturn RGBMToLinear(value, 16.0);\n\t}else if(inputEncoding == 5){\n\t\treturn RGBDToLinear(value, 256.0);\n\t}else{\n\t\treturn GammaToLinear(value, 2.2);\n\t}\n}\n\nvec4 linearToOutputTexel(vec4 value){\n\tif(outputEncoding == 0){\n\t\treturn value;\n\t}else if(outputEncoding == 1){\n\t\treturn LinearTosRGB(value);\n\t}else if(outputEncoding == 2){\n\t\treturn LinearToRGBE(value);\n\t}else if(outputEncoding == 3){\n\t\treturn LinearToRGBM(value, 7.0);\n\t}else if(outputEncoding == 4){\n\t\treturn LinearToRGBM(value, 16.0);\n\t}else if(outputEncoding == 5){\n\t\treturn LinearToRGBD(value, 256.0);\n\t}else{\n\t\treturn LinearToGamma(value, 2.2);\n\t}\n}\n\nvec4 envMapTexelToLinear(vec4 color) {\n\treturn inputTexelToLinear(color);\n}\n\t', '\n\nvoid main() {\n\tgl_FragColor = vec4(0.0);\n\tgl_FragColor.rgb = envMapTexelToLinear(textureCube(envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ))).rgb;\n\tgl_FragColor = linearToOutputTexel(gl_FragColor);\n}\n\t\t' ), blending: I, depthTest: !1, depthWrite: !1, }); return (t.type = 'CubemapToCubeUV'), t; } function Gh(t, e, n, i, r, o, a) { return console.warn('THREE.Face4 has been removed. A THREE.Face3 will be created instead.'), new Or(t, e, n, r, o, a); } Ih.prototype = { constructor: Ih, fromScene: function (t) { var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0, n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0.1, i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 100; Th = Ah.getRenderTarget(); var r = kh(); return Rh(t, n, i, r), e > 0 && Fh(r, 0, 0, e), Vh(r), Dh(r), r; }, fromEquirectangular: function (t) { return (t.magFilter = Tt), (t.minFilter = Tt), (t.generateMipmaps = !1), this.fromCubemap(t); }, fromCubemap: function (t) { Th = Ah.getRenderTarget(); var e = kh(t); return ( (function (t, e) { var n = new Ri(); t.isCubeTexture ? null == wh && (wh = zh()) : null == bh && (bh = Bh()); var i = t.isCubeTexture ? wh : bh; n.add(new vo(xh[0], i)); var r = i.uniforms; (r.envMap.value = t), t.isCubeTexture || r.texelSize.value.set(1 / t.image.width, 1 / t.image.height); (r.inputEncoding.value = gh[t.encoding]), (r.outputEncoding.value = gh[t.encoding]), jh(e, 0, 0, 3 * hh, 2 * hh), Ah.setRenderTarget(e), Ah.render(n, vh); })(t, e), Vh(e), Dh(e), e ); }, compileCubemapShader: function () { null == wh && Lh((wh = zh())); }, compileEquirectangularShader: function () { null == bh && Lh((bh = Bh())); }, dispose: function () { yh.dispose(), null != wh && wh.dispose(), null != bh && bh.dispose(); for (var t = 0; t < xh.length; t++) xh[t].dispose(); }, }; var Hh = 0, Wh = 1, qh = 0, Xh = 1, Yh = 2; function Kh(t) { return console.warn('THREE.MeshFaceMaterial has been removed. Use an Array instead.'), t; } function Zh(t) { return ( void 0 === t && (t = []), console.warn('THREE.MultiMaterial has been removed. Use an Array instead.'), (t.isMultiMaterial = !0), (t.materials = t), (t.clone = function () { return t.slice(); }), t ); } function Jh(t, e) { return console.warn('THREE.PointCloud has been renamed to THREE.Points.'), new Vc(t, e); } function Qh(t) { return console.warn('THREE.Particle has been renamed to THREE.Sprite.'), new sc(t); } function $h(t, e) { return console.warn('THREE.ParticleSystem has been renamed to THREE.Points.'), new Vc(t, e); } function tf(t) { return console.warn('THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial.'), new Dc(t); } function ef(t) { return console.warn('THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial.'), new Dc(t); } function nf(t) { return console.warn('THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial.'), new Dc(t); } function rf(t, e, n) { return console.warn('THREE.Vertex has been removed. Use THREE.Vector3 instead.'), new si(t, e, n); } function of(t, e) { return console.warn('THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead.'), new Dr(t, e).setUsage(jn); } function af(t, e) { return console.warn('THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead.'), new Rr(t, e); } function sf(t, e) { return console.warn('THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead.'), new Lr(t, e); } function cf(t, e) { return console.warn('THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead.'), new Nr(t, e); } function lf(t, e) { return console.warn('THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead.'), new jr(t, e); } function uf(t, e) { return console.warn('THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead.'), new Vr(t, e); } function df(t, e) { return console.warn('THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead.'), new Fr(t, e); } function pf(t, e) { return console.warn('THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead.'), new Ur(t, e); } function hf(t, e) { return console.warn('THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead.'), new Br(t, e); } function ff(t, e) { return console.warn('THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead.'), new zr(t, e); } function mf(t) { console.warn('THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.'), Ku.call(this, t), (this.type = 'catmullrom'), (this.closed = !0); } function gf(t) { console.warn('THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.'), Ku.call(this, t), (this.type = 'catmullrom'); } function vf(t) { console.warn('THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead.'), Ku.call(this, t), (this.type = 'catmullrom'); } function yf(t) { return console.warn('THREE.AxisHelper has been renamed to THREE.AxesHelper.'), new ch(t); } function bf(t, e) { return console.warn('THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead.'), new eh(t, e); } function wf(t, e) { return ( console.warn('THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead.'), new Ic( new Kl(t.geometry), new xc({ color: void 0 !== e ? e : 16777215, }) ) ); } function Sf(t, e) { return ( console.warn('THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead.'), new Ic( new Hc(t.geometry), new xc({ color: void 0 !== e ? e : 16777215, }) ) ); } function xf(t) { return console.warn('THREE.XHRLoader has been renamed to THREE.FileLoader.'), new Ru(t); } function Mf(t) { return console.warn('THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader.'), new ju(t); } function Ef(t, e, n) { return console.warn('THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options ).'), new Ro(t, n); } (Bu.create = function (t, e) { return console.log('THREE.Curve.create() has been deprecated'), (t.prototype = Object.create(Bu.prototype)), (t.prototype.constructor = t), (t.prototype.getPoint = e), t; }), Object.assign(sd.prototype, { createPointsGeometry: function (t) { console.warn('THREE.CurvePath: .createPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.'); var e = this.getPoints(t); return this.createGeometry(e); }, createSpacedPointsGeometry: function (t) { console.warn('THREE.CurvePath: .createSpacedPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.'); var e = this.getSpacedPoints(t); return this.createGeometry(e); }, createGeometry: function (t) { console.warn('THREE.CurvePath: .createGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.'); for (var e = new Eo(), n = 0, i = t.length; n < i; n++) { var r = t[n]; e.vertices.push(new si(r.x, r.y, r.z || 0)); } return e; }, }), Object.assign(cd.prototype, { fromPoints: function (t) { return console.warn('THREE.Path: .fromPoints() has been renamed to .setFromPoints().'), this.setFromPoints(t); }, }), (mf.prototype = Object.create(Ku.prototype)), (gf.prototype = Object.create(Ku.prototype)), (vf.prototype = Object.create(Ku.prototype)), Object.assign(vf.prototype, { initFromArray: function () { console.error('THREE.Spline: .initFromArray() has been removed.'); }, getControlPointsArray: function () { console.error('THREE.Spline: .getControlPointsArray() has been removed.'); }, reparametrizeByArcLength: function () { console.error('THREE.Spline: .reparametrizeByArcLength() has been removed.'); }, }), (Hp.prototype.setColors = function () { console.error('THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.'); }), (Vp.prototype.update = function () { console.error('THREE.SkeletonHelper: update() no longer needs to be called.'); }), Object.assign(ku.prototype, { extractUrlBase: function (t) { return console.warn('THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead.'), Md.extractUrlBase(t); }, }), (ku.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.'); }, }), Object.assign(Od.prototype, { setTexturePath: function (t) { return console.warn('THREE.ObjectLoader: .setTexturePath() has been renamed to .setResourcePath().'), this.setResourcePath(t); }, }), Object.assign(Op.prototype, { center: function (t) { return console.warn('THREE.Box2: .center() has been renamed to .getCenter().'), this.getCenter(t); }, empty: function () { return console.warn('THREE.Box2: .empty() has been renamed to .isEmpty().'), this.isEmpty(); }, isIntersectionBox: function (t) { return console.warn('THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox().'), this.intersectsBox(t); }, size: function (t) { return console.warn('THREE.Box2: .size() has been renamed to .getSize().'), this.getSize(t); }, }), Object.assign(Yi.prototype, { center: function (t) { return console.warn('THREE.Box3: .center() has been renamed to .getCenter().'), this.getCenter(t); }, empty: function () { return console.warn('THREE.Box3: .empty() has been renamed to .isEmpty().'), this.isEmpty(); }, isIntersectionBox: function (t) { return console.warn('THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox().'), this.intersectsBox(t); }, isIntersectionSphere: function (t) { return console.warn('THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().'), this.intersectsSphere(t); }, size: function (t) { return console.warn('THREE.Box3: .size() has been renamed to .getSize().'), this.getSize(t); }, }), (Vo.prototype.setFromMatrix = function (t) { return console.warn('THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix().'), this.setFromProjectionMatrix(t); }), (Ip.prototype.center = function (t) { return console.warn('THREE.Line3: .center() has been renamed to .getCenter().'), this.getCenter(t); }), Object.assign(Kn, { random16: function () { return console.warn('THREE.Math: .random16() has been deprecated. Use Math.random() instead.'), Math.random(); }, nearestPowerOfTwo: function (t) { return console.warn('THREE.Math: .nearestPowerOfTwo() has been renamed to .floorPowerOfTwo().'), Kn.floorPowerOfTwo(t); }, nextPowerOfTwo: function (t) { return console.warn('THREE.Math: .nextPowerOfTwo() has been renamed to .ceilPowerOfTwo().'), Kn.ceilPowerOfTwo(t); }, }), Object.assign(Jn.prototype, { flattenToArrayOffset: function (t, e) { return console.warn('THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.'), this.toArray(t, e); }, multiplyVector3: function (t) { return console.warn('THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.'), t.applyMatrix3(this); }, multiplyVector3Array: function () { console.error('THREE.Matrix3: .multiplyVector3Array() has been removed.'); }, applyToBufferAttribute: function (t) { return console.warn('THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead.'), t.applyMatrix3(this); }, applyToVector3Array: function () { console.error('THREE.Matrix3: .applyToVector3Array() has been removed.'); }, }), Object.assign(mi.prototype, { extractPosition: function (t) { return console.warn('THREE.Matrix4: .extractPosition() has been renamed to .copyPosition().'), this.copyPosition(t); }, flattenToArrayOffset: function (t, e) { return console.warn('THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.'), this.toArray(t, e); }, getPosition: function () { return console.warn('THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead.'), new si().setFromMatrixColumn(this, 3); }, setRotationFromQuaternion: function (t) { return console.warn('THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion().'), this.makeRotationFromQuaternion(t); }, multiplyToArray: function () { console.warn('THREE.Matrix4: .multiplyToArray() has been removed.'); }, multiplyVector3: function (t) { return console.warn('THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead.'), t.applyMatrix4(this); }, multiplyVector4: function (t) { return console.warn('THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead.'), t.applyMatrix4(this); }, multiplyVector3Array: function () { console.error('THREE.Matrix4: .multiplyVector3Array() has been removed.'); }, rotateAxis: function (t) { console.warn('THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead.'), t.transformDirection(this); }, crossVector: function (t) { return console.warn('THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead.'), t.applyMatrix4(this); }, translate: function () { console.error('THREE.Matrix4: .translate() has been removed.'); }, rotateX: function () { console.error('THREE.Matrix4: .rotateX() has been removed.'); }, rotateY: function () { console.error('THREE.Matrix4: .rotateY() has been removed.'); }, rotateZ: function () { console.error('THREE.Matrix4: .rotateZ() has been removed.'); }, rotateByAxis: function () { console.error('THREE.Matrix4: .rotateByAxis() has been removed.'); }, applyToBufferAttribute: function (t) { return console.warn('THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead.'), t.applyMatrix4(this); }, applyToVector3Array: function () { console.error('THREE.Matrix4: .applyToVector3Array() has been removed.'); }, makeFrustum: function (t, e, n, i, r, o) { return console.warn('THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead.'), this.makePerspective(t, e, i, n, r, o); }, }), (lr.prototype.isIntersectionLine = function (t) { return console.warn('THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine().'), this.intersectsLine(t); }), (ri.prototype.multiplyVector3 = function (t) { return console.warn('THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.'), t.applyQuaternion(this); }), Object.assign(or.prototype, { isIntersectionBox: function (t) { return console.warn('THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox().'), this.intersectsBox(t); }, isIntersectionPlane: function (t) { return console.warn('THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane().'), this.intersectsPlane(t); }, isIntersectionSphere: function (t) { return console.warn('THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere().'), this.intersectsSphere(t); }, }), Object.assign(wr.prototype, { area: function () { return console.warn('THREE.Triangle: .area() has been renamed to .getArea().'), this.getArea(); }, barycoordFromPoint: function (t, e) { return console.warn('THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().'), this.getBarycoord(t, e); }, midpoint: function (t) { return console.warn('THREE.Triangle: .midpoint() has been renamed to .getMidpoint().'), this.getMidpoint(t); }, normal: function (t) { return console.warn('THREE.Triangle: .normal() has been renamed to .getNormal().'), this.getNormal(t); }, plane: function (t) { return console.warn('THREE.Triangle: .plane() has been renamed to .getPlane().'), this.getPlane(t); }, }), Object.assign(wr, { barycoordFromPoint: function (t, e, n, i, r) { return console.warn('THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().'), wr.getBarycoord(t, e, n, i, r); }, normal: function (t, e, n, i) { return console.warn('THREE.Triangle: .normal() has been renamed to .getNormal().'), wr.getNormal(t, e, n, i); }, }), Object.assign(ld.prototype, { extractAllPoints: function (t) { return console.warn('THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead.'), this.extractPoints(t); }, extrude: function (t) { return console.warn('THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead.'), new Rl(this, t); }, makeGeometry: function (t) { return console.warn('THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead.'), new ql(this, t); }, }), Object.assign(Zn.prototype, { fromAttribute: function (t, e, n) { return console.warn('THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute().'), this.fromBufferAttribute(t, e, n); }, distanceToManhattan: function (t) { return console.warn('THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo().'), this.manhattanDistanceTo(t); }, lengthManhattan: function () { return console.warn('THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength().'), this.manhattanLength(); }, }), Object.assign(si.prototype, { setEulerFromRotationMatrix: function () { console.error('THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.'); }, setEulerFromQuaternion: function () { console.error('THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.'); }, getPositionFromMatrix: function (t) { return console.warn('THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition().'), this.setFromMatrixPosition(t); }, getScaleFromMatrix: function (t) { return console.warn('THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale().'), this.setFromMatrixScale(t); }, getColumnFromMatrix: function (t, e) { return console.warn('THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn().'), this.setFromMatrixColumn(e, t); }, applyProjection: function (t) { return console.warn('THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead.'), this.applyMatrix4(t); }, fromAttribute: function (t, e, n) { return console.warn('THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute().'), this.fromBufferAttribute(t, e, n); }, distanceToManhattan: function (t) { return console.warn('THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo().'), this.manhattanDistanceTo(t); }, lengthManhattan: function () { return console.warn('THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength().'), this.manhattanLength(); }, }), Object.assign(ei.prototype, { fromAttribute: function (t, e, n) { return console.warn('THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute().'), this.fromBufferAttribute(t, e, n); }, lengthManhattan: function () { return console.warn('THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength().'), this.manhattanLength(); }, }), Object.assign(Eo.prototype, { computeTangents: function () { console.error('THREE.Geometry: .computeTangents() has been removed.'); }, computeLineDistances: function () { console.error('THREE.Geometry: .computeLineDistances() has been removed. Use THREE.Line.computeLineDistances() instead.'); }, applyMatrix: function (t) { return console.warn('THREE.Geometry: .applyMatrix() has been renamed to .applyMatrix4().'), this.applyMatrix4(t); }, }), Object.assign(Di.prototype, { getChildByName: function (t) { return console.warn('THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().'), this.getObjectByName(t); }, renderDepth: function () { console.warn('THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.'); }, translate: function (t, e) { return console.warn('THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.'), this.translateOnAxis(e, t); }, getWorldRotation: function () { console.error('THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.'); }, applyMatrix: function (t) { return console.warn('THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4().'), this.applyMatrix4(t); }, }), Object.defineProperties(Di.prototype, { eulerOrder: { get: function () { return console.warn('THREE.Object3D: .eulerOrder is now .rotation.order.'), this.rotation.order; }, set: function (t) { console.warn('THREE.Object3D: .eulerOrder is now .rotation.order.'), (this.rotation.order = t); }, }, 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.'); }, }, }), Object.assign(vo.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(vo.prototype, { drawMode: { get: function () { return console.error('THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode.'), on; }, 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.' ); }, }, }), Object.defineProperties(dc.prototype, { objects: { get: function () { return console.warn('THREE.LOD: .objects has been renamed to .levels.'), this.levels; }, }, }), Object.defineProperty(mc.prototype, 'useVertexTexture', { get: function () { console.warn('THREE.Skeleton: useVertexTexture has been removed.'); }, set: function () { console.warn('THREE.Skeleton: useVertexTexture has been removed.'); }, }), (pc.prototype.initBones = function () { console.error('THREE.SkinnedMesh: initBones() has been removed.'); }), Object.defineProperty(Bu.prototype, '__arcLengthDivisions', { get: function () { return console.warn('THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions.'), this.arcLengthDivisions; }, set: function (t) { console.warn('THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions.'), (this.arcLengthDivisions = t); }, }), (ko.prototype.setLens = function (t, e) { console.warn('THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup.'), void 0 !== e && (this.filmGauge = e), this.setFocalLength(t); }), Object.defineProperties(ud.prototype, { onlyShadow: { set: function () { console.warn('THREE.Light: .onlyShadow has been removed.'); }, }, shadowCameraFov: { set: function (t) { console.warn('THREE.Light: .shadowCameraFov is now .shadow.camera.fov.'), (this.shadow.camera.fov = t); }, }, shadowCameraLeft: { set: function (t) { console.warn('THREE.Light: .shadowCameraLeft is now .shadow.camera.left.'), (this.shadow.camera.left = t); }, }, shadowCameraRight: { set: function (t) { console.warn('THREE.Light: .shadowCameraRight is now .shadow.camera.right.'), (this.shadow.camera.right = t); }, }, shadowCameraTop: { set: function (t) { console.warn('THREE.Light: .shadowCameraTop is now .shadow.camera.top.'), (this.shadow.camera.top = t); }, }, shadowCameraBottom: { set: function (t) { console.warn('THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom.'), (this.shadow.camera.bottom = t); }, }, shadowCameraNear: { set: function (t) { console.warn('THREE.Light: .shadowCameraNear is now .shadow.camera.near.'), (this.shadow.camera.near = t); }, }, shadowCameraFar: { set: function (t) { console.warn('THREE.Light: .shadowCameraFar is now .shadow.camera.far.'), (this.shadow.camera.far = t); }, }, shadowCameraVisible: { set: function () { console.warn('THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.'); }, }, shadowBias: { set: function (t) { console.warn('THREE.Light: .shadowBias is now .shadow.bias.'), (this.shadow.bias = t); }, }, shadowDarkness: { set: function () { console.warn('THREE.Light: .shadowDarkness has been removed.'); }, }, shadowMapWidth: { set: function (t) { console.warn('THREE.Light: .shadowMapWidth is now .shadow.mapSize.width.'), (this.shadow.mapSize.width = t); }, }, shadowMapHeight: { set: function (t) { console.warn('THREE.Light: .shadowMapHeight is now .shadow.mapSize.height.'), (this.shadow.mapSize.height = t); }, }, }), Object.defineProperties(Dr.prototype, { length: { get: function () { return console.warn('THREE.BufferAttribute: .length has been deprecated. Use .count instead.'), this.array.length; }, }, dynamic: { get: function () { return console.warn('THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead.'), this.usage === jn; }, set: function () { console.warn('THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead.'), this.setUsage(jn); }, }, }), Object.assign(Dr.prototype, { setDynamic: function (t) { return console.warn('THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead.'), this.setUsage(!0 === t ? jn : Nn), this; }, copyIndicesArray: function () { console.error('THREE.BufferAttribute: .copyIndicesArray() has been removed.'); }, setArray: function () { console.error('THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers'); }, }), Object.assign(Qr.prototype, { addIndex: function (t) { console.warn('THREE.BufferGeometry: .addIndex() has been renamed to .setIndex().'), this.setIndex(t); }, addAttribute: function (t, e) { return ( console.warn('THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute().'), (e && e.isBufferAttribute) || (e && e.isInterleavedBufferAttribute) ? 'index' === t ? (console.warn('THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute.'), this.setIndex(e), this) : this.setAttribute(t, e) : (console.warn('THREE.BufferGeometry: .addAttribute() now expects ( name, attribute ).'), this.setAttribute(t, new Dr(arguments[1], arguments[2]))) ); }, addDrawCall: function (t, e, n) { void 0 !== n && console.warn('THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset.'), console.warn('THREE.BufferGeometry: .addDrawCall() is now .addGroup().'), this.addGroup(t, e); }, clearDrawCalls: function () { console.warn('THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups().'), this.clearGroups(); }, computeTangents: function () { console.warn('THREE.BufferGeometry: .computeTangents() has been removed.'); }, computeOffsets: function () { console.warn('THREE.BufferGeometry: .computeOffsets() has been removed.'); }, removeAttribute: function (t) { return console.warn('THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute().'), this.deleteAttribute(t); }, applyMatrix: function (t) { return console.warn('THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4().'), this.applyMatrix4(t); }, }), Object.defineProperties(Qr.prototype, { drawcalls: { get: function () { return console.error('THREE.BufferGeometry: .drawcalls has been renamed to .groups.'), this.groups; }, }, offsets: { get: function () { return console.warn('THREE.BufferGeometry: .offsets has been renamed to .groups.'), this.groups; }, }, }), Object.defineProperties(xp.prototype, { linePrecision: { get: function () { return console.warn('THREE.Raycaster: .linePrecision has been deprecated. Use .params.Line.threshold instead.'), this.params.Line.threshold; }, set: function (t) { console.warn('THREE.Raycaster: .linePrecision has been deprecated. Use .params.Line.threshold instead.'), (this.params.Line.threshold = t); }, }, }), Object.defineProperties(Hs.prototype, { dynamic: { get: function () { return console.warn('THREE.InterleavedBuffer: .length has been deprecated. Use .usage instead.'), this.usage === jn; }, set: function (t) { console.warn('THREE.InterleavedBuffer: .length has been deprecated. Use .usage instead.'), this.setUsage(t); }, }, }), Object.assign(Hs.prototype, { setDynamic: function (t) { return console.warn('THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead.'), this.setUsage(!0 === t ? jn : Nn), this; }, setArray: function () { console.error('THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers'); }, }), Object.assign(Ll.prototype, { getArrays: function () { console.error('THREE.ExtrudeBufferGeometry: .getArrays() has been removed.'); }, addShapeList: function () { console.error('THREE.ExtrudeBufferGeometry: .addShapeList() has been removed.'); }, addShape: function () { console.error('THREE.ExtrudeBufferGeometry: .addShape() has been removed.'); }, }), Object.defineProperties(wp.prototype, { dynamic: { set: function () { console.warn('THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.'); }, }, onUpdate: { value: function () { return console.warn('THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead.'), this; }, }, }), Object.defineProperties(Pr.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 () { return console.warn('THREE.Material: .wrapRGB has been removed.'), new Er(); }, }, shading: { get: function () { console.error('THREE.' + this.type + ': .shading has been removed. Use the boolean .flatShading instead.'); }, set: function (t) { console.warn('THREE.' + this.type + ': .shading has been removed. Use the boolean .flatShading instead.'), (this.flatShading = t === _); }, }, stencilMask: { get: function () { return console.warn('THREE.' + this.type + ': .stencilMask has been removed. Use .stencilFuncMask instead.'), this.stencilFuncMask; }, set: function (t) { console.warn('THREE.' + this.type + ': .stencilMask has been removed. Use .stencilFuncMask instead.'), (this.stencilFuncMask = t); }, }, }), Object.defineProperties(su.prototype, { metal: { get: function () { return console.warn('THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead.'), !1; }, set: function () { console.warn('THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead'); }, }, }), Object.defineProperties(Po.prototype, { derivatives: { get: function () { return console.warn('THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives.'), this.extensions.derivatives; }, set: function (t) { console.warn('THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives.'), (this.extensions.derivatives = t); }, }, }), Object.assign(Bs.prototype, { clearTarget: function (t, e, n, i) { console.warn('THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead.'), this.setRenderTarget(t), this.clear(e, n, i); }, animate: function (t) { console.warn('THREE.WebGLRenderer: .animate() is now .setAnimationLoop().'), this.setAnimationLoop(t); }, getCurrentRenderTarget: function () { return console.warn('THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget().'), this.getRenderTarget(); }, getMaxAnisotropy: function () { return console.warn('THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy().'), this.capabilities.getMaxAnisotropy(); }, getPrecision: function () { return console.warn('THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision.'), this.capabilities.precision; }, resetGLState: function () { return console.warn('THREE.WebGLRenderer: .resetGLState() is now .state.reset().'), this.state.reset(); }, supportsFloatTextures: function () { return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."), this.extensions.get('OES_texture_float'); }, supportsHalfFloatTextures: function () { return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."), this.extensions.get('OES_texture_half_float'); }, supportsStandardDerivatives: function () { return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."), this.extensions.get('OES_standard_derivatives'); }, supportsCompressedTextureS3TC: function () { return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."), this.extensions.get('WEBGL_compressed_texture_s3tc'); }, supportsCompressedTexturePVRTC: function () { return ( console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."), this.extensions.get('WEBGL_compressed_texture_pvrtc') ); }, supportsBlendMinMax: function () { return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."), this.extensions.get('EXT_blend_minmax'); }, supportsVertexTextures: function () { return console.warn('THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures.'), this.capabilities.vertexTextures; }, supportsInstancedArrays: function () { return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."), this.extensions.get('ANGLE_instanced_arrays'); }, enableScissorTest: function (t) { console.warn('THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest().'), this.setScissorTest(t); }, initMaterial: function () { console.warn('THREE.WebGLRenderer: .initMaterial() has been removed.'); }, addPrePlugin: function () { console.warn('THREE.WebGLRenderer: .addPrePlugin() has been removed.'); }, addPostPlugin: function () { console.warn('THREE.WebGLRenderer: .addPostPlugin() has been removed.'); }, updateShadowMap: function () { console.warn('THREE.WebGLRenderer: .updateShadowMap() has been removed.'); }, setFaceCulling: function () { console.warn('THREE.WebGLRenderer: .setFaceCulling() has been removed.'); }, allocTextureUnit: function () { console.warn('THREE.WebGLRenderer: .allocTextureUnit() has been removed.'); }, setTexture: function () { console.warn('THREE.WebGLRenderer: .setTexture() has been removed.'); }, setTexture2D: function () { console.warn('THREE.WebGLRenderer: .setTexture2D() has been removed.'); }, setTextureCube: function () { console.warn('THREE.WebGLRenderer: .setTextureCube() has been removed.'); }, getActiveMipMapLevel: function () { return console.warn('THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel().'), this.getActiveMipmapLevel(); }, }), Object.defineProperties(Bs.prototype, { shadowMapEnabled: { get: function () { return this.shadowMap.enabled; }, set: function (t) { console.warn('THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled.'), (this.shadowMap.enabled = t); }, }, shadowMapType: { get: function () { return this.shadowMap.type; }, set: function (t) { console.warn('THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type.'), (this.shadowMap.type = t); }, }, 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 () { return console.warn('THREE.WebGLRenderer: .context has been removed. Use .getContext() instead.'), this.getContext(); }, }, vr: { get: function () { return console.warn('THREE.WebGLRenderer: .vr has been renamed to .xr'), this.xr; }, }, gammaInput: { get: function () { return console.warn('THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.'), !1; }, set: function () { console.warn('THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.'); }, }, gammaOutput: { get: function () { return console.warn('THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead.'), !1; }, set: function (t) { console.warn('THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead.'), (this.outputEncoding = !0 === t ? ln : cn); }, }, }), Object.defineProperties(Rs.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.'); }, }, }), Object.defineProperties(ni.prototype, { wrapS: { get: function () { return console.warn('THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.'), this.texture.wrapS; }, set: function (t) { console.warn('THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.'), (this.texture.wrapS = t); }, }, wrapT: { get: function () { return console.warn('THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.'), this.texture.wrapT; }, set: function (t) { console.warn('THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.'), (this.texture.wrapT = t); }, }, magFilter: { get: function () { return console.warn('THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.'), this.texture.magFilter; }, set: function (t) { console.warn('THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.'), (this.texture.magFilter = t); }, }, minFilter: { get: function () { return console.warn('THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.'), this.texture.minFilter; }, set: function (t) { console.warn('THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.'), (this.texture.minFilter = t); }, }, anisotropy: { get: function () { return console.warn('THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.'), this.texture.anisotropy; }, set: function (t) { console.warn('THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.'), (this.texture.anisotropy = t); }, }, offset: { get: function () { return console.warn('THREE.WebGLRenderTarget: .offset is now .texture.offset.'), this.texture.offset; }, set: function (t) { console.warn('THREE.WebGLRenderTarget: .offset is now .texture.offset.'), (this.texture.offset = t); }, }, repeat: { get: function () { return console.warn('THREE.WebGLRenderTarget: .repeat is now .texture.repeat.'), this.texture.repeat; }, set: function (t) { console.warn('THREE.WebGLRenderTarget: .repeat is now .texture.repeat.'), (this.texture.repeat = t); }, }, format: { get: function () { return console.warn('THREE.WebGLRenderTarget: .format is now .texture.format.'), this.texture.format; }, set: function (t) { console.warn('THREE.WebGLRenderTarget: .format is now .texture.format.'), (this.texture.format = t); }, }, type: { get: function () { return console.warn('THREE.WebGLRenderTarget: .type is now .texture.type.'), this.texture.type; }, set: function (t) { console.warn('THREE.WebGLRenderTarget: .type is now .texture.type.'), (this.texture.type = t); }, }, generateMipmaps: { get: function () { return console.warn('THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.'), this.texture.generateMipmaps; }, set: function (t) { console.warn('THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.'), (this.texture.generateMipmaps = t); }, }, }), Object.defineProperties($d.prototype, { load: { value: function (t) { console.warn('THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.'); var e = this; return ( new Fd().load(t, function (t) { e.setBuffer(t); }), this ); }, }, startTime: { set: function () { console.warn('THREE.Audio: .startTime is now .play( delay ).'); }, }, }), (op.prototype.getData = function () { return console.warn('THREE.AudioAnalyser: .getData() is now .getFrequencyData().'), this.getFrequencyData(); }), (Do.prototype.updateCubeMap = function (t, e) { return console.warn('THREE.CubeCamera: .updateCubeMap() is now .update().'), this.update(t, e); }); var Cf = { merge: function (t, e, n) { var i; console.warn('THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead.'), e.isMesh && (e.matrixAutoUpdate && e.updateMatrix(), (i = e.matrix), (e = e.geometry)), t.merge(e, i, n); }, center: function (t) { return console.warn('THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead.'), t.center(); }, }; function Af() { console.error('THREE.CanvasRenderer has been removed'); } function Tf() { console.error('THREE.JSONLoader has been removed.'); } (Qn.crossOrigin = void 0), (Qn.loadTexture = function (t, e, n, i) { console.warn('THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.'); var r = new Uu(); r.setCrossOrigin(this.crossOrigin); var o = r.load(t, n, void 0, i); return e && (o.mapping = e), o; }), (Qn.loadTextureCube = function (t, e, n, i) { console.warn('THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.'); var r = new Fu(); r.setCrossOrigin(this.crossOrigin); var o = r.load(t, n, void 0, i); return e && (o.mapping = e), o; }), (Qn.loadCompressedTexture = function () { console.error('THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.'); }), (Qn.loadCompressedTextureCube = function () { console.error('THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.'); }); var Of = { 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 _f() { console.error('THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js'); } 'undefined' != typeof __THREE_DEVTOOLS__ && __THREE_DEVTOOLS__.dispatchEvent( new CustomEvent('register', { detail: { revision: h, }, }) ); }, function (t, e, n) { var i = n(34), r = n(82).f, o = n(88), a = n(98), s = n(350), c = n(465), l = n(289); t.exports = function (t, e) { var n, u, d, p, h, f = t.target, m = t.global, g = t.stat; if ((n = m ? i : g ? i[f] || s(f, {}) : (i[f] || {}).prototype)) for (u in e) { if (((p = e[u]), (d = t.noTargetGet ? (h = r(n, u)) && h.value : n[u]), !l(m ? u : f + (g ? '.' : '#') + u, t.forced) && void 0 !== d)) { if (typeof p == typeof d) continue; c(p, d); } (t.sham || (d && d.sham)) && o(p, 'sham', !0), a(n, u, p, t); } }; }, function (t, e, n) { 'use strict'; n.r(e), n.d(e, 'UpgradeComponent', function () { return $; }), n.d(e, 'UpgradeModule', function () { return tt; }), n.d(e, 'VERSION', function () { return R; }), n.d(e, 'downgradeComponent', function () { return I; }), n.d(e, 'downgradeInjectable', function () { return D; }), n.d(e, 'downgradeModule', function () { return H; }), n.d(e, 'getAngularJSGlobal', function () { return p; }), n.d(e, 'getAngularLib', function () { return u; }), n.d(e, 'setAngularJSGlobal', function () { return d; }), n.d(e, 'setAngularLib', function () { return l; }), n.d(e, 'ɵangular_packages_upgrade_static_static_a', function () { return j; }), n.d(e, 'ɵangular_packages_upgrade_static_static_b', function () { return V; }), n.d(e, 'ɵangular_packages_upgrade_static_static_c', function () { return F; }), n.d(e, 'ɵangular_packages_upgrade_static_static_d', function () { return U; }), n.d(e, 'ɵangular_packages_upgrade_static_static_e', function () { return B; }); var i = n(1), r = n(0), o = n(125); /** * @license Angular v9.1.9 * (c) 2010-2020 Google LLC. https://angular.io/ * License: MIT */ /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function a() { throw new Error('AngularJS v1.x is not loaded!'); } var s = function () { return a(); }; s.cleanData = a; var c = { bootstrap: a, module: a, element: s, injector: a, version: void 0, resumeBootstrap: a, getTestability: a, }; try { window.hasOwnProperty('angular') && (c = window.angular); } catch (t) {} function l(t) { d(t); } function u() { return p(); } function d(t) { c = t; } function p() { return c; } var h = function (t, e) { return c.module(t, e); }, f = function (t) { return c.element(t); }; f.cleanData = function (t) { return c.element.cleanData(t); }; var m = '$$angularInjector', g = (function () { function t(t, e) { (this.prop = t), (this.attr = e), this.parseBinding(); } return ( (t.prototype.parseBinding = function () { (this.bracketAttr = '[' + this.attr + ']'), (this.parenAttr = '(' + this.attr + ')'), (this.bracketParenAttr = '[(' + this.attr + ')]'); var t = this.attr.charAt(0).toUpperCase() + this.attr.substr(1); (this.onAttr = 'on' + t), (this.bindAttr = 'bind' + t), (this.bindonAttr = 'bindon' + t); }), t ); })(), v = /^(?:x|data)[:\-_]/i, y = /[:\-_]+(.)/g; function b(t) { return '$' + t + 'Controller'; } function w(t) { return t.overriddenName || t.name || t.toString().split('\n')[0]; } function S(t) { return t.has('$$angularDowngradedModuleCount') ? t.get('$$angularDowngradedModuleCount') : 0; } function x(t) { return t.has('$$angularUpgradeAppType') ? t.get('$$angularUpgradeAppType') : 0; } function M(t) { return 'function' == typeof t; } function E(t, e, n, i) { var r = x(t), o = S(t); switch (r) { case 1: case 2: if (e) throw new Error( 'Error while ' + i + ": 'downgradedModule' unexpectedly specified.\nYou should not specify a value for 'downgradedModule', unless you are downgrading more than one Angular module (via 'downgradeModule()')." ); break; case 3: if (!e && o >= 2) throw new Error( 'Error while ' + i + ": 'downgradedModule' not specified.\nThis application contains more than one downgraded Angular module, thus you need to always specify 'downgradedModule' when downgrading components and injectables." ); if (!t.has(n)) throw new Error('Error while ' + i + ': Unable to find the specified downgraded module.\nDid you forget to downgrade an Angular module or include it in the AngularJS application?'); break; default: throw new Error('Error while ' + i + ": Not a valid '@angular/upgrade' application.\nDid you forget to downgrade an Angular module or include it in the AngularJS application?"); } } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var C, A = { __UNINITIALIZED__: !0, }, T = (function () { function t(t, e, n, i, r, o, a, s, c, l) { (this.element = t), (this.attrs = e), (this.scope = n), (this.ngModel = i), (this.parentInjector = r), (this.$injector = o), (this.$compile = a), (this.$parse = s), (this.componentFactory = c), (this.wrapCallback = l), (this.implementsOnChanges = !1), (this.inputChangeCount = 0), (this.inputChanges = {}), (this.componentScope = n.$new()); } return ( (t.prototype.compileContents = function () { var t = this, e = [], n = this.groupProjectableNodes().map(function (e) { return t.$compile(e); }); return ( this.element.empty(), n.forEach(function (n) { n(t.scope, function (n) { e.push(n), t.element.append(n); }); }), e ); }), (t.prototype.createComponent = function (t) { var e = [ { provide: '$scope', useValue: this.componentScope, }, ], n = r.Injector.create({ providers: e, parent: this.parentInjector, name: 'DowngradeComponentAdapter', }); (this.componentRef = this.componentFactory.create(n, t, this.element[0])), (this.viewChangeDetector = this.componentRef.injector.get(r.ChangeDetectorRef)), (this.changeDetector = this.componentRef.changeDetectorRef), (this.component = this.componentRef.instance); var i, o, a = this.componentRef.injector.get(r.Testability, null); a && this.componentRef.injector.get(r.TestabilityRegistry).registerApplication(this.componentRef.location.nativeElement, a), (i = this.ngModel), (o = this.component), i && (function (t) { return 'function' == typeof t.writeValue && 'function' == typeof t.registerOnChange; })(o) && ((i.$render = function () { o.writeValue(i.$viewValue); }), o.registerOnChange(i.$setViewValue.bind(i)), 'function' == typeof o.registerOnTouched && o.registerOnTouched(i.$setTouched.bind(i))); }), (t.prototype.setupInputs = function (t, e) { var n = this; void 0 === e && (e = !0); for ( var i = this.attrs, o = this.componentFactory.inputs || [], a = function (t) { var e, r, a = new g(o[t].propName, o[t].templateName), c = null; if (i.hasOwnProperty(a.attr)) { var l = ((e = a.prop), (r = A), function (t) { var i, o; (i = r) === (o = t) || (i != i && o != o) || (r === A && (r = t), n.updateInput(e, r, t), (r = t)); }); i.$observe(a.attr, l); var u = s.componentScope.$watch(function () { u(), (u = null), l(i[a.attr]); }); } else i.hasOwnProperty(a.bindAttr) ? (c = i[a.bindAttr]) : i.hasOwnProperty(a.bracketAttr) ? (c = i[a.bracketAttr]) : i.hasOwnProperty(a.bindonAttr) ? (c = i[a.bindonAttr]) : i.hasOwnProperty(a.bracketParenAttr) && (c = i[a.bracketParenAttr]); if (null != c) { var d = (function (t) { return function (e, i) { return n.updateInput(t, i, e); }; })(a.prop); s.componentScope.$watch(c, d); } }, s = this, c = 0; c < o.length; c++ ) a(c); var l = function () { return n.changeDetector.detectChanges(); }, u = this.componentFactory.componentType.prototype; if ( ((this.implementsOnChanges = !(!u || !u.ngOnChanges)), this.componentScope.$watch( function () { return n.inputChangeCount; }, this.wrapCallback(function () { if (n.implementsOnChanges) { var t = n.inputChanges; (n.inputChanges = {}), n.component.ngOnChanges(t); } n.viewChangeDetector.markForCheck(), e || l(); }) ), e && this.componentScope.$watch(this.wrapCallback(l)), t || !e) ) var d = this.componentScope.$watch(function () { d(), (d = null), n.parentInjector.get(r.ApplicationRef).attachView(n.componentRef.hostView); }); }), (t.prototype.setupOutputs = function () { for (var t = this.attrs, e = this.componentFactory.outputs || [], n = 0; n < e.length; n++) { var i = new g(e[n].propName, e[n].templateName), r = i.bindonAttr.substring(0, i.bindonAttr.length - 6), o = '[(' + i.bracketParenAttr.substring(2, i.bracketParenAttr.length - 8) + ')]'; t.hasOwnProperty(r) && this.subscribeToOutput(i, t[r], !0), t.hasOwnProperty(o) && this.subscribeToOutput(i, t[o], !0), t.hasOwnProperty(i.onAttr) && this.subscribeToOutput(i, t[i.onAttr]), t.hasOwnProperty(i.parenAttr) && this.subscribeToOutput(i, t[i.parenAttr]); } }), (t.prototype.subscribeToOutput = function (t, e, n) { var i = this; void 0 === n && (n = !1); var r = this.$parse(e), o = r.assign; if (n && !o) throw new Error("Expression '" + e + "' is not assignable!"); var a = this.component[t.prop]; if (!a) throw new Error("Missing emitter '" + t.prop + "' on component '" + w(this.componentFactory.componentType) + "'!"); a.subscribe({ next: n ? function (t) { return o(i.scope, t); } : function (t) { return r(i.scope, { $event: t, }); }, }); }), (t.prototype.registerCleanup = function () { var t = this, e = this.componentRef.injector.get(r.TestabilityRegistry), n = this.wrapCallback(function () { return t.componentRef.destroy(); }), i = !1; this.element.on('$destroy', function () { return t.componentScope.$destroy(); }), this.componentScope.$on('$destroy', function () { i || ((i = !0), e.unregisterApplication(t.componentRef.location.nativeElement), n()); }); }), (t.prototype.getInjector = function () { return this.componentRef.injector; }), (t.prototype.updateInput = function (t, e, n) { this.implementsOnChanges && (this.inputChanges[t] = new r.SimpleChange(e, n, e === n)), this.inputChangeCount++, (this.component[t] = n); }), (t.prototype.groupProjectableNodes = function () { return (function (t, e) { for (var n = [], i = 0, r = t.length; i < r; ++i) n[i] = []; for (var o = 0, a = e.length; o < a; ++o) { var s = e[o], c = O(s, t); null != c && n[c].push(s); } return n; })(this.componentFactory.ngContentSelectors, this.element.contents()); }), t ); })(); function O(t, e) { for (var n = [], i = -1, r = 0; r < e.length; r++) { var o = e[r]; '*' === o ? (i = r) : _(t, o) && n.push(r); } return n.sort(), -1 !== i && n.push(i), n.length ? n[0] : null; } function _(t, e) { if (!C) { var n = Element.prototype; C = n.matches || n.matchesSelector || n.mozMatchesSelector || n.msMatchesSelector || n.oMatchesSelector || n.webkitMatchesSelector; } return t.nodeType === Node.ELEMENT_NODE && C.call(t, e); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var P = (function () { function t() { (this.resolved = !1), (this.callbacks = []); } return ( (t.all = function (e) { var n = new t(), i = 0, r = [], o = function (t, o) { (r[t] = o), ++i === e.length && n.resolve(r); }; return ( e.forEach(function (t, e) { var n; (n = t) && M(n.then) ? t.then(function (t) { return o(e, t); }) : o(e, t); }), n ); }), (t.prototype.resolve = function (t) { this.resolved || ((this.value = t), (this.resolved = !0), this.callbacks.forEach(function (e) { return e(t); }), (this.callbacks.length = 0)); }), (t.prototype.then = function (t) { this.resolved ? t(this.value) : this.callbacks.push(t); }), t ); })(); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function I(t) { var e = function (e, n, o) { var a, s = 3 === x(n), c = s ? function (t) { return function () { return r.NgZone.isInAngularZone() ? t() : a.run(t); }; } : function (t) { return t; }, l = s && S(n) > 1; return { restrict: 'E', terminal: !0, require: ['?^^$$angularInjector', '?ngModel'], link: function (u, d, p, h) { var f = h[1], m = h[0], g = void 0, v = !1; if (!m || l) { var y = t.downgradedModule || '', b = '$$angularLazyModuleRef' + y, S = "instantiating component '" + w(t.component) + "'"; E(n, y, b, S); var x = n.get(b); g = x.injector || x.promise; } var M = m || g, C = g || m, A = function (i, a) { var l = a.get(r.ComponentFactoryResolver).resolveComponentFactory(t.component); if (!l) throw new Error('Expecting ComponentFactory for: ' + w(t.component)); var h = new k(d), m = new T(d, p, u, f, i, n, e, o, l, c), g = m.compileContents(); m.createComponent(g), m.setupInputs(s, t.propagateDigest), m.setupOutputs(), m.registerCleanup(), h.resolve(m.getInjector()), v && u.$evalAsync(function () {}); }, O = s ? function (t, e) { a || (a = t.get(r.NgZone)), c(function () { return A(t, e); })(); } : A; P.all([M, C]).then(function (t) { var e = Object(i.f)(t, 2), n = e[0], r = e[1]; return O(n, r); }), (v = !0); }, }; }; return (e.$inject = ['$compile', '$injector', '$parse']), e; } var k = (function (t) { function e(e) { var n = t.call(this) || this; return (n.element = e), (n.injectorKey = b(m)), e.data(n.injectorKey, n), n; } return ( Object(i.c)(e, t), (e.prototype.resolve = function (e) { this.element.data(this.injectorKey, e), (this.element = null), t.prototype.resolve.call(this, e); }), e ); })(P); /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function D(t, e) { void 0 === e && (e = ''); var n = function (n) { var i = '' + m + e, r = M(t) ? w(t) : String(t); return E(n, e, i, "instantiating injectable '" + r + "'"), n.get(i).get(t); }; return (n.$inject = ['$injector']), n; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var R = new r.Version('9.1.9'), L = null; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function N(t) { L = t; } function j() { if (!L) throw new Error('Trying to get the AngularJS injector before it being set.'); var t = L; return (L = null), t; } function V(t) { return t.get('$rootScope'); } function F(t) { return t.get('$compile'); } function U(t) { return t.get('$parse'); } var B = [ { provide: '$injector', useFactory: j, deps: [], }, { provide: '$rootScope', useFactory: V, deps: ['$injector'], }, { provide: '$compile', useFactory: F, deps: ['$injector'], }, { provide: '$parse', useFactory: U, deps: ['$injector'], }, ], z = (function () { function t(t) { this.modInjector = t; } return ( (t.prototype.get = function (t, e) { return e === r['ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR'] ? e : this.modInjector.get(t, e); }), t ); })(), G = 0; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function H(t) { var e, n = '$$UpgradeModule.lazy' + ++G, i = '$$angularLazyModuleRef' + n, r = '' + m + n, a = M(t) ? t : function (e) { return Object(o.platformBrowser)(e).bootstrapModuleFactory(t); }; return ( h(n, []) .constant('$$angularUpgradeAppType', 3) .factory(m, [r, W]) .factory(r, function () { if (!e) throw new Error('Trying to get the Angular injector before bootstrapping the corresponding Angular module.'); return e; }) .factory('$$angularLazyModuleRef', [i, W]) .factory(i, [ '$injector', function (t) { N(t); var n = { promise: a(B).then(function (t) { return (e = n.injector = new z(t.injector)).get('$injector'), e; }), }; return n; }, ]) .config([ '$injector', '$provide', function (t, e) { e.constant('$$angularDowngradedModuleCount', S(t) + 1); }, ]), n ); } function W(t) { return t; } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var q = /^(\^\^?)?(\?)?(\^\^?)?/, X = (function () { function t(e, n, i, r) { (this.injector = e), (this.name = n), (this.$injector = e.get('$injector')), (this.$compile = this.$injector.get('$compile')), (this.$controller = this.$injector.get('$controller')), (this.element = i.nativeElement), (this.$element = f(this.element)), (this.directive = r || t.getDirective(this.$injector, n)); } return ( (t.getDirective = function (t, e) { var n = t.get(e + 'Directive'); if (n.length > 1) throw new Error('Only support single directive definition for: ' + e); var i = n[0]; return i.compile && !i.link && Z(e, 'compile'), i.replace && Z(e, 'replace'), i.terminal && Z(e, 'terminal'), i; }), (t.getTemplate = function (t, e, n, i) { if ((void 0 === n && (n = !1), void 0 !== e.template)) return Y(e.template, i); if (e.templateUrl) { var r = t.get('$templateCache'), o = Y(e.templateUrl, i), a = r.get(o); if (void 0 !== a) return a; if (!n) throw new Error('loading directive templates asynchronously is not supported'); return new Promise(function (e, n) { t.get('$httpBackend')('GET', o, null, function (t, i) { 200 === t ? e(r.put(o, i)) : n("GET component template from '" + o + "' returned '" + t + ': ' + i + "'"); }); }); } throw new Error("Directive '" + e.name + "' is not a component, it is missing template."); }), (t.prototype.buildController = function (t, e) { var n = { $scope: e, $element: this.$element, }, i = this.$controller(t, n, null, this.directive.controllerAs); return this.$element.data(b(this.directive.name), i), i; }), (t.prototype.compileTemplate = function (e) { return void 0 === e && (e = t.getTemplate(this.$injector, this.directive, !1, this.$element)), this.compileHtml(e); }), (t.prototype.onDestroy = function (t, e) { e && M(e.$onDestroy) && e.$onDestroy(), t.$destroy(), f.cleanData([this.element]), f.cleanData(this.element.querySelectorAll('*')); }), (t.prototype.prepareTransclusion = function () { var t = this, e = this.directive.transclude, n = this.extractChildNodes(), i = function (t, e) { return e( r, (t = t || { $destroy: function () {}, }) ); }, r = n; if (e) { var o = Object.create(null); if ('object' == typeof e) { r = []; var a = Object.create(null), s = Object.create(null); Object.keys(e).forEach(function (t) { var n = e[t], i = '?' === n.charAt(0); (n = i ? n.substring(1) : n), (a[n] = t), (o[t] = null), (s[t] = i); }), n.forEach(function (t) { var e = a[ (function (t) { return t.replace(v, '').replace(y, function (t, e) { return e.toUpperCase(); }); })(t.nodeName.toLowerCase()) ]; e ? ((s[e] = !0), (o[e] = o[e] || []), o[e].push(t)) : r.push(t); }), Object.keys(s).forEach(function (e) { if (!s[e]) throw new Error("Required transclusion slot '" + e + "' on directive: " + t.name); }), Object.keys(o) .filter(function (t) { return o[t]; }) .forEach(function (t) { var e = o[t]; o[t] = function (t, n) { return n(e, t); }; }); } (i.$$slots = o), r.forEach(function (t) { t.nodeType !== Node.TEXT_NODE || t.nodeValue || (t.nodeValue = '‌'); }); } return i; }), (t.prototype.resolveAndBindRequiredControllers = function (t) { var e = this.getDirectiveRequire(), n = this.resolveRequire(e); if (t && this.directive.bindToController && K(e)) { var i = n; Object.keys(i).forEach(function (e) { t[e] = i[e]; }); } return n; }), (t.prototype.compileHtml = function (t) { return (this.element.innerHTML = t), this.$compile(this.element.childNodes); }), (t.prototype.extractChildNodes = function () { for (var t, e = []; (t = this.element.firstChild); ) this.element.removeChild(t), e.push(t); return e; }), (t.prototype.getDirectiveRequire = function () { var t = this.directive.require || (this.directive.controller && this.directive.name); return ( K(t) && Object.keys(t).forEach(function (e) { var n = t[e], i = n.match(q); n.substring(i[0].length) || (t[e] = i[0] + e); }), t ); }), (t.prototype.resolveRequire = function (t, e) { var n = this; if (t) { if (Array.isArray(t)) return t.map(function (t) { return n.resolveRequire(t); }); if ('object' == typeof t) { var i = {}; return ( Object.keys(t).forEach(function (e) { return (i[e] = n.resolveRequire(t[e])); }), i ); } if ('string' == typeof t) { var r = t.match(q), o = r[1] || r[3], a = t.substring(r[0].length), s = !!r[2], c = !!o, l = '^^' === o, u = b(a), d = l ? this.$element.parent() : this.$element, p = c ? d.inheritedData(u) : d.data(u); if (!p && !s) throw new Error("Unable to find required '" + t + "' in upgraded directive '" + this.name + "'."); return p; } throw new Error("Unrecognized 'require' syntax on upgraded directive '" + this.name + "': " + t); } return null; }), t ); })(); function Y(t) { for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n]; return M(t) ? t.apply(void 0, Object(i.h)(e)) : t; } function K(t) { return t && !Array.isArray(t) && 'object' == typeof t; } function Z(t, e) { throw new Error("Upgraded directive '" + t + "' contains unsupported feature: '" + e + "'."); } /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var J = { __UNINITIALIZED__: !0, }, Q = function () { (this.twoWayBoundProperties = []), (this.twoWayBoundLastValues = []), (this.expressionBoundProperties = []), (this.propertyToOutputMap = {}); }, $ = (function () { function t(t, e, n) { (this.name = t), (this.elementRef = e), (this.injector = n), (this.helper = new X(n, t, e)), (this.$injector = this.helper.$injector), (this.element = this.helper.element), (this.$element = this.helper.$element), (this.directive = this.helper.directive), (this.bindings = this.initializeBindings(this.directive)); var i = n.get('$scope'); (this.$componentScope = i.$new(!!this.directive.scope)), this.initializeOutputs(); } return ( (t.prototype.ngOnInit = function () { var t = this, e = this.helper.prepareTransclusion(), n = this.helper.compileTemplate(), i = this.directive.controller, r = this.directive.bindToController; if (i) this.controllerInstance = this.helper.buildController(i, this.$componentScope); else if (r) throw new Error("Upgraded directive '" + this.directive.name + "' specifies 'bindToController' but no controller."); (this.bindingDestination = r ? this.controllerInstance : this.$componentScope), this.bindOutputs(); var o = this.helper.resolveAndBindRequiredControllers(this.controllerInstance); if ( (this.pendingChanges && (this.forwardChanges(this.pendingChanges), (this.pendingChanges = null)), this.controllerInstance && M(this.controllerInstance.$onInit) && this.controllerInstance.$onInit(), this.controllerInstance && M(this.controllerInstance.$doCheck)) ) { var a = function () { return t.controllerInstance.$doCheck(); }; (this.unregisterDoCheckWatcher = this.$componentScope.$parent.$watch(a)), a(); } var s = this.directive.link, c = 'object' == typeof s && s.pre, l = 'object' == typeof s ? s.post : s; c && c(this.$componentScope, this.$element, 'NOT_SUPPORTED', o, 'NOT_SUPPORTED'), n(this.$componentScope, null, { parentBoundTranscludeFn: e, }), l && l(this.$componentScope, this.$element, 'NOT_SUPPORTED', o, 'NOT_SUPPORTED'), this.controllerInstance && M(this.controllerInstance.$postLink) && this.controllerInstance.$postLink(); }), (t.prototype.ngOnChanges = function (t) { this.bindingDestination ? this.forwardChanges(t) : (this.pendingChanges = t); }), (t.prototype.ngDoCheck = function () { var t = this, e = this.bindings.twoWayBoundProperties, n = this.bindings.twoWayBoundLastValues, i = this.bindings.propertyToOutputMap; e.forEach(function (e, o) { var a = t.bindingDestination[e], s = n[o]; if (!Object(r['ɵlooseIdentical'])(a, s)) { var c = i[e]; t[c].emit(a), (n[o] = a); } }); }), (t.prototype.ngOnDestroy = function () { M(this.unregisterDoCheckWatcher) && this.unregisterDoCheckWatcher(), this.helper.onDestroy(this.$componentScope, this.controllerInstance); }), (t.prototype.initializeBindings = function (t) { var e = this, n = 'object' == typeof t.bindToController; if (n && Object.keys(t.scope).length) throw new Error('Binding definitions on scope and controller at the same time is not supported.'); var i = n ? t.bindToController : t.scope, r = new Q(); return ( 'object' == typeof i && Object.keys(i).forEach(function (t) { var n = i[t].charAt(0); switch (n) { case '@': case '<': break; case '=': r.twoWayBoundProperties.push(t), r.twoWayBoundLastValues.push(J), (r.propertyToOutputMap[t] = t + 'Change'); break; case '&': r.expressionBoundProperties.push(t), (r.propertyToOutputMap[t] = t); break; default: var o = JSON.stringify(i); throw new Error("Unexpected mapping '" + n + "' in '" + o + "' in '" + e.name + "' directive."); } }), r ); }), (t.prototype.initializeOutputs = function () { var t = this; this.bindings.twoWayBoundProperties.concat(this.bindings.expressionBoundProperties).forEach(function (e) { var n = t.bindings.propertyToOutputMap[e]; t[n] = new r.EventEmitter(); }); }), (t.prototype.bindOutputs = function () { var t = this; this.bindings.expressionBoundProperties.forEach(function (e) { var n = t.bindings.propertyToOutputMap[e], i = t[n]; t.bindingDestination[e] = function (t) { return i.emit(t); }; }); }), (t.prototype.forwardChanges = function (t) { var e = this; Object.keys(t).forEach(function (n) { return (e.bindingDestination[n] = t[n].currentValue); }), M(this.bindingDestination.$onChanges) && this.bindingDestination.$onChanges(t); }), (t.ɵfac = function (t) { r['ɵɵinvalidFactory'](); }), (t.ɵdir = r['ɵɵdefineDirective']({ type: t, features: [r['ɵɵNgOnChangesFeature']], })), t ); })(), tt = (function () { function t(t, e) { (this.ngZone = e), (this.injector = new z(t)); } return ( (t.prototype.bootstrap = function (t, e, n) { var o = this; void 0 === e && (e = []); var a = '$$UpgradeModule.init', s = (h(a, []) .constant('$$angularUpgradeAppType', 2) .value(m, this.injector) .factory('$$angularLazyModuleRef', [ m, function (t) { return { injector: t, }; }, ]) .config([ '$provide', '$injector', function (t, e) { e.has('$$testability') && t.decorator('$$testability', [ '$delegate', function (t) { var e = t.whenStable, n = o.injector, i = function (o) { e.call(t, function () { var e = n.get(r.Testability); e.isStable() ? o() : e.whenStable(i.bind(t, o)); }); }; return (t.whenStable = i), t; }, ]), e.has('$interval') && t.decorator('$interval', [ '$delegate', function (t) { var e = function (e, n, r, a) { for (var s = [], c = 4; c < arguments.length; c++) s[c - 4] = arguments[c]; return o.ngZone.runOutsideAngular(function () { return t.apply( void 0, Object(i.h)( [ function () { for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n]; setTimeout(function () { o.ngZone.run(function () { return e.apply(void 0, Object(i.h)(t)); }); }); }, n, r, a, ], s ) ); }); }; return (e.cancel = t.cancel), e; }, ]); }, ]) .run([ '$injector', function (e) { (o.$injector = e), N(e), o.injector.get('$injector'), f(t).data(b(m), o.injector), setTimeout(function () { var t = e.get('$rootScope'), n = o.ngZone.onMicrotaskEmpty.subscribe(function () { return t.$$phase ? (Object(r.isDevMode)() && console.warn('A digest was triggered while one was already in progress. This may mean that something is triggering digests outside the Angular zone.'), t.$evalAsync()) : t.$digest(); }); t.$on('$destroy', function () { n.unsubscribe(); }); }, 0); }, ]), h('$$UpgradeModule', [a].concat(e))), l = window.angular; if ( ((l.resumeBootstrap = void 0), this.ngZone.run(function () { !(function (t, e, n) { c.bootstrap(t, e, n); })(t, [s.name], n); }), l.resumeBootstrap) ) { var u = l.resumeBootstrap, d = this.ngZone; l.resumeBootstrap = function () { var t = this, e = arguments; return ( (l.resumeBootstrap = u), d.run(function () { return l.resumeBootstrap.apply(t, e); }) ); }; } }), ((t = Object(i.b)([Object(i.d)('design:paramtypes', [r.Injector, r.NgZone])], t)).ɵmod = r['ɵɵdefineNgModule']({ type: t, })), (t.ɵinj = r['ɵɵdefineInjector']({ factory: function (e) { return new (e || t)(r['ɵɵinject'](r.Injector), r['ɵɵinject'](r.NgZone)); }, providers: [B], })), t ); })(); }, function (t, e, n) { (function (t, i) { var r; /** * @license * Lodash * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors */ (function () { var o = 'Expected a function', a = '__lodash_placeholder__', s = [ ['ary', 128], ['bind', 1], ['bindKey', 2], ['curry', 8], ['curryRight', 16], ['flip', 512], ['partial', 32], ['partialRight', 64], ['rearg', 256], ], c = '[object Arguments]', l = '[object Array]', u = '[object Boolean]', d = '[object Date]', p = '[object Error]', h = '[object Function]', f = '[object GeneratorFunction]', m = '[object Map]', g = '[object Number]', v = '[object Object]', y = '[object RegExp]', b = '[object Set]', w = '[object String]', S = '[object Symbol]', x = '[object WeakMap]', M = '[object ArrayBuffer]', E = '[object DataView]', C = '[object Float32Array]', A = '[object Float64Array]', T = '[object Int8Array]', O = '[object Int16Array]', _ = '[object Int32Array]', P = '[object Uint8Array]', I = '[object Uint16Array]', k = '[object Uint32Array]', D = /\b__p \+= '';/g, R = /\b(__p \+=) '' \+/g, L = /(__e\(.*?\)|\b__t\)) \+\n'';/g, N = /&(?:amp|lt|gt|quot|#39);/g, j = /[&<>"']/g, V = RegExp(N.source), F = RegExp(j.source), U = /<%-([\s\S]+?)%>/g, B = /<%([\s\S]+?)%>/g, z = /<%=([\s\S]+?)%>/g, G = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, H = /^\w*$/, W = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, q = /[\\^$.*+?()[\]{}|]/g, X = RegExp(q.source), Y = /^\s+|\s+$/g, K = /^\s+/, Z = /\s+$/, J = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, Q = /\{\n\/\* \[wrapped with (.+)\] \*/, $ = /,? & /, tt = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g, et = /\\(\\)?/g, nt = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g, it = /\w*$/, rt = /^[-+]0x[0-9a-f]+$/i, ot = /^0b[01]+$/i, at = /^\[object .+?Constructor\]$/, st = /^0o[0-7]+$/i, ct = /^(?:0|[1-9]\d*)$/, lt = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g, ut = /($^)/, dt = /['\n\r\u2028\u2029\\]/g, pt = '\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff', ht = '\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000', ft = '[\\ud800-\\udfff]', mt = '[' + ht + ']', gt = '[' + pt + ']', vt = '\\d+', yt = '[\\u2700-\\u27bf]', bt = '[a-z\\xdf-\\xf6\\xf8-\\xff]', wt = '[^\\ud800-\\udfff' + ht + vt + '\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]', St = '\\ud83c[\\udffb-\\udfff]', xt = '[^\\ud800-\\udfff]', Mt = '(?:\\ud83c[\\udde6-\\uddff]){2}', Et = '[\\ud800-\\udbff][\\udc00-\\udfff]', Ct = '[A-Z\\xc0-\\xd6\\xd8-\\xde]', At = '(?:' + bt + '|' + wt + ')', Tt = '(?:' + Ct + '|' + wt + ')', Ot = '(?:' + gt + '|' + St + ')' + '?', _t = '[\\ufe0e\\ufe0f]?' + Ot + ('(?:\\u200d(?:' + [xt, Mt, Et].join('|') + ')[\\ufe0e\\ufe0f]?' + Ot + ')*'), Pt = '(?:' + [yt, Mt, Et].join('|') + ')' + _t, It = '(?:' + [xt + gt + '?', gt, Mt, Et, ft].join('|') + ')', kt = RegExp("['’]", 'g'), Dt = RegExp(gt, 'g'), Rt = RegExp(St + '(?=' + St + ')|' + It + _t, 'g'), Lt = RegExp( [ Ct + '?' + bt + "+(?:['’](?:d|ll|m|re|s|t|ve))?(?=" + [mt, Ct, '$'].join('|') + ')', Tt + "+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=" + [mt, Ct + At, '$'].join('|') + ')', Ct + '?' + At + "+(?:['’](?:d|ll|m|re|s|t|ve))?", Ct + "+(?:['’](?:D|LL|M|RE|S|T|VE))?", '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])', '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])', vt, Pt, ].join('|'), 'g' ), Nt = RegExp('[\\u200d\\ud800-\\udfff' + pt + '\\ufe0e\\ufe0f]'), jt = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/, Vt = [ 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array', 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object', 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array', 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap', '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout', ], Ft = -1, Ut = {}; (Ut[C] = Ut[A] = Ut[T] = Ut[O] = Ut[_] = Ut[P] = Ut['[object Uint8ClampedArray]'] = Ut[I] = Ut[k] = !0), (Ut[c] = Ut[l] = Ut[M] = Ut[u] = Ut[E] = Ut[d] = Ut[p] = Ut[h] = Ut[m] = Ut[g] = Ut[v] = Ut[y] = Ut[b] = Ut[w] = Ut[x] = !1); var Bt = {}; (Bt[c] = Bt[l] = Bt[M] = Bt[E] = Bt[u] = Bt[d] = Bt[C] = Bt[A] = Bt[T] = Bt[O] = Bt[_] = Bt[m] = Bt[g] = Bt[v] = Bt[y] = Bt[b] = Bt[w] = Bt[S] = Bt[P] = Bt['[object Uint8ClampedArray]'] = Bt[I] = Bt[k] = !0), (Bt[p] = Bt[h] = Bt[x] = !1); var zt = { '\\': '\\', "'": "'", '\n': 'n', '\r': 'r', '\u2028': 'u2028', '\u2029': 'u2029', }, Gt = parseFloat, Ht = parseInt, Wt = 'object' == typeof t && t && t.Object === Object && t, qt = 'object' == typeof self && self && self.Object === Object && self, Xt = Wt || qt || Function('return this')(), Yt = e && !e.nodeType && e, Kt = Yt && 'object' == typeof i && i && !i.nodeType && i, Zt = Kt && Kt.exports === Yt, Jt = Zt && Wt.process, Qt = (function () { try { var t = Kt && Kt.require && Kt.require('util').types; return t || (Jt && Jt.binding && Jt.binding('util')); } catch (t) {} })(), $t = Qt && Qt.isArrayBuffer, te = Qt && Qt.isDate, ee = Qt && Qt.isMap, ne = Qt && Qt.isRegExp, ie = Qt && Qt.isSet, re = Qt && Qt.isTypedArray; function oe(t, e, n) { switch (n.length) { case 0: return t.call(e); case 1: return t.call(e, n[0]); case 2: return t.call(e, n[0], n[1]); case 3: return t.call(e, n[0], n[1], n[2]); } return t.apply(e, n); } function ae(t, e, n, i) { for (var r = -1, o = null == t ? 0 : t.length; ++r < o; ) { var a = t[r]; e(i, a, n(a), t); } return i; } function se(t, e) { for (var n = -1, i = null == t ? 0 : t.length; ++n < i && !1 !== e(t[n], n, t); ); return t; } function ce(t, e) { for (var n = null == t ? 0 : t.length; n-- && !1 !== e(t[n], n, t); ); return t; } function le(t, e) { for (var n = -1, i = null == t ? 0 : t.length; ++n < i; ) if (!e(t[n], n, t)) return !1; return !0; } function ue(t, e) { for (var n = -1, i = null == t ? 0 : t.length, r = 0, o = []; ++n < i; ) { var a = t[n]; e(a, n, t) && (o[r++] = a); } return o; } function de(t, e) { return !!(null == t ? 0 : t.length) && Se(t, e, 0) > -1; } function pe(t, e, n) { for (var i = -1, r = null == t ? 0 : t.length; ++i < r; ) if (n(e, t[i])) return !0; return !1; } function he(t, e) { for (var n = -1, i = null == t ? 0 : t.length, r = Array(i); ++n < i; ) r[n] = e(t[n], n, t); return r; } function fe(t, e) { for (var n = -1, i = e.length, r = t.length; ++n < i; ) t[r + n] = e[n]; return t; } function me(t, e, n, i) { var r = -1, o = null == t ? 0 : t.length; for (i && o && (n = t[++r]); ++r < o; ) n = e(n, t[r], r, t); return n; } function ge(t, e, n, i) { var r = null == t ? 0 : t.length; for (i && r && (n = t[--r]); r--; ) n = e(n, t[r], r, t); return n; } function ve(t, e) { for (var n = -1, i = null == t ? 0 : t.length; ++n < i; ) if (e(t[n], n, t)) return !0; return !1; } var ye = Ce('length'); function be(t, e, n) { var i; return ( n(t, function (t, n, r) { if (e(t, n, r)) return (i = n), !1; }), i ); } function we(t, e, n, i) { for (var r = t.length, o = n + (i ? 1 : -1); i ? o-- : ++o < r; ) if (e(t[o], o, t)) return o; return -1; } function Se(t, e, n) { return e == e ? (function (t, e, n) { var i = n - 1, r = t.length; for (; ++i < r; ) if (t[i] === e) return i; return -1; })(t, e, n) : we(t, Me, n); } function xe(t, e, n, i) { for (var r = n - 1, o = t.length; ++r < o; ) if (i(t[r], e)) return r; return -1; } function Me(t) { return t != t; } function Ee(t, e) { var n = null == t ? 0 : t.length; return n ? Oe(t, e) / n : NaN; } function Ce(t) { return function (e) { return null == e ? void 0 : e[t]; }; } function Ae(t) { return function (e) { return null == t ? void 0 : t[e]; }; } function Te(t, e, n, i, r) { return ( r(t, function (t, r, o) { n = i ? ((i = !1), t) : e(n, t, r, o); }), n ); } function Oe(t, e) { for (var n, i = -1, r = t.length; ++i < r; ) { var o = e(t[i]); void 0 !== o && (n = void 0 === n ? o : n + o); } return n; } function _e(t, e) { for (var n = -1, i = Array(t); ++n < t; ) i[n] = e(n); return i; } function Pe(t) { return function (e) { return t(e); }; } function Ie(t, e) { return he(e, function (e) { return t[e]; }); } function ke(t, e) { return t.has(e); } function De(t, e) { for (var n = -1, i = t.length; ++n < i && Se(e, t[n], 0) > -1; ); return n; } function Re(t, e) { for (var n = t.length; n-- && Se(e, t[n], 0) > -1; ); return n; } function Le(t, e) { for (var n = t.length, i = 0; n--; ) t[n] === e && ++i; return i; } var Ne = Ae({ À: 'A', Á: 'A', Â: 'A', Ã: 'A', Ä: 'A', Å: 'A', à: 'a', á: 'a', â: 'a', ã: 'a', ä: 'a', å: 'a', Ç: 'C', ç: 'c', Ð: 'D', ð: 'd', È: 'E', É: 'E', Ê: 'E', Ë: 'E', è: 'e', é: 'e', ê: 'e', ë: 'e', Ì: 'I', Í: 'I', Î: 'I', Ï: 'I', ì: 'i', í: 'i', î: 'i', ï: 'i', Ñ: 'N', ñ: 'n', Ò: 'O', Ó: 'O', Ô: 'O', Õ: 'O', Ö: 'O', Ø: 'O', ò: 'o', ó: 'o', ô: 'o', õ: 'o', ö: 'o', ø: 'o', Ù: 'U', Ú: 'U', Û: 'U', Ü: 'U', ù: 'u', ú: 'u', û: 'u', ü: 'u', Ý: 'Y', ý: 'y', ÿ: 'y', Æ: 'Ae', æ: 'ae', Þ: 'Th', þ: 'th', ß: 'ss', Ā: 'A', Ă: 'A', Ą: 'A', ā: 'a', ă: 'a', ą: 'a', Ć: 'C', Ĉ: 'C', Ċ: 'C', Č: 'C', ć: 'c', ĉ: 'c', ċ: 'c', č: 'c', Ď: 'D', Đ: 'D', ď: 'd', đ: 'd', Ē: 'E', Ĕ: 'E', Ė: 'E', Ę: 'E', Ě: 'E', ē: 'e', ĕ: 'e', ė: 'e', ę: 'e', ě: 'e', Ĝ: 'G', Ğ: 'G', Ġ: 'G', Ģ: 'G', ĝ: 'g', ğ: 'g', ġ: 'g', ģ: 'g', Ĥ: 'H', Ħ: 'H', ĥ: 'h', ħ: 'h', Ĩ: 'I', Ī: 'I', Ĭ: 'I', Į: 'I', İ: 'I', ĩ: 'i', ī: 'i', ĭ: 'i', į: 'i', ı: 'i', Ĵ: 'J', ĵ: 'j', Ķ: 'K', ķ: 'k', ĸ: 'k', Ĺ: 'L', Ļ: 'L', Ľ: 'L', Ŀ: 'L', Ł: 'L', ĺ: 'l', ļ: 'l', ľ: 'l', ŀ: 'l', ł: 'l', Ń: 'N', Ņ: 'N', Ň: 'N', Ŋ: 'N', ń: 'n', ņ: 'n', ň: 'n', ŋ: 'n', Ō: 'O', Ŏ: 'O', Ő: 'O', ō: 'o', ŏ: 'o', ő: 'o', Ŕ: 'R', Ŗ: 'R', Ř: 'R', ŕ: 'r', ŗ: 'r', ř: 'r', Ś: 'S', Ŝ: 'S', Ş: 'S', Š: 'S', ś: 's', ŝ: 's', ş: 's', š: 's', Ţ: 'T', Ť: 'T', Ŧ: 'T', ţ: 't', ť: 't', ŧ: 't', Ũ: 'U', Ū: 'U', Ŭ: 'U', Ů: 'U', Ű: 'U', Ų: 'U', ũ: 'u', ū: 'u', ŭ: 'u', ů: 'u', ű: 'u', ų: 'u', Ŵ: 'W', ŵ: 'w', Ŷ: 'Y', ŷ: 'y', Ÿ: 'Y', Ź: 'Z', Ż: 'Z', Ž: 'Z', ź: 'z', ż: 'z', ž: 'z', IJ: 'IJ', ij: 'ij', Œ: 'Oe', œ: 'oe', ʼn: "'n", ſ: 's', }), je = Ae({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''', }); function Ve(t) { return '\\' + zt[t]; } function Fe(t) { return Nt.test(t); } function Ue(t) { var e = -1, n = Array(t.size); return ( t.forEach(function (t, i) { n[++e] = [i, t]; }), n ); } function Be(t, e) { return function (n) { return t(e(n)); }; } function ze(t, e) { for (var n = -1, i = t.length, r = 0, o = []; ++n < i; ) { var s = t[n]; (s !== e && s !== a) || ((t[n] = a), (o[r++] = n)); } return o; } function Ge(t) { var e = -1, n = Array(t.size); return ( t.forEach(function (t) { n[++e] = t; }), n ); } function He(t) { var e = -1, n = Array(t.size); return ( t.forEach(function (t) { n[++e] = [t, t]; }), n ); } function We(t) { return Fe(t) ? (function (t) { var e = (Rt.lastIndex = 0); for (; Rt.test(t); ) ++e; return e; })(t) : ye(t); } function qe(t) { return Fe(t) ? (function (t) { return t.match(Rt) || []; })(t) : (function (t) { return t.split(''); })(t); } var Xe = Ae({ '&': '&', '<': '<', '>': '>', '"': '"', ''': "'", }); var Ye = (function t(e) { var n, i = (e = null == e ? Xt : Ye.defaults(Xt.Object(), e, Ye.pick(Xt, Vt))).Array, r = e.Date, pt = e.Error, ht = e.Function, ft = e.Math, mt = e.Object, gt = e.RegExp, vt = e.String, yt = e.TypeError, bt = i.prototype, wt = ht.prototype, St = mt.prototype, xt = e['__core-js_shared__'], Mt = wt.toString, Et = St.hasOwnProperty, Ct = 0, At = (n = /[^.]+$/.exec((xt && xt.keys && xt.keys.IE_PROTO) || '')) ? 'Symbol(src)_1.' + n : '', Tt = St.toString, Ot = Mt.call(mt), _t = Xt._, Pt = gt( '^' + Mt.call(Et) .replace(q, '\\$&') .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' ), It = Zt ? e.Buffer : void 0, Rt = e.Symbol, Nt = e.Uint8Array, zt = It ? It.allocUnsafe : void 0, Wt = Be(mt.getPrototypeOf, mt), qt = mt.create, Yt = St.propertyIsEnumerable, Kt = bt.splice, Jt = Rt ? Rt.isConcatSpreadable : void 0, Qt = Rt ? Rt.iterator : void 0, ye = Rt ? Rt.toStringTag : void 0, Ae = (function () { try { var t = $r(mt, 'defineProperty'); return t({}, '', {}), t; } catch (t) {} })(), Ke = e.clearTimeout !== Xt.clearTimeout && e.clearTimeout, Ze = r && r.now !== Xt.Date.now && r.now, Je = e.setTimeout !== Xt.setTimeout && e.setTimeout, Qe = ft.ceil, $e = ft.floor, tn = mt.getOwnPropertySymbols, en = It ? It.isBuffer : void 0, nn = e.isFinite, rn = bt.join, on = Be(mt.keys, mt), an = ft.max, sn = ft.min, cn = r.now, ln = e.parseInt, un = ft.random, dn = bt.reverse, pn = $r(e, 'DataView'), hn = $r(e, 'Map'), fn = $r(e, 'Promise'), mn = $r(e, 'Set'), gn = $r(e, 'WeakMap'), vn = $r(mt, 'create'), yn = gn && new gn(), bn = {}, wn = To(pn), Sn = To(hn), xn = To(fn), Mn = To(mn), En = To(gn), Cn = Rt ? Rt.prototype : void 0, An = Cn ? Cn.valueOf : void 0, Tn = Cn ? Cn.toString : void 0; function On(t) { if (Ha(t) && !Da(t) && !(t instanceof kn)) { if (t instanceof In) return t; if (Et.call(t, '__wrapped__')) return Oo(t); } return new In(t); } var _n = (function () { function t() {} return function (e) { if (!Ga(e)) return {}; if (qt) return qt(e); t.prototype = e; var n = new t(); return (t.prototype = void 0), n; }; })(); function Pn() {} function In(t, e) { (this.__wrapped__ = t), (this.__actions__ = []), (this.__chain__ = !!e), (this.__index__ = 0), (this.__values__ = void 0); } function kn(t) { (this.__wrapped__ = t), (this.__actions__ = []), (this.__dir__ = 1), (this.__filtered__ = !1), (this.__iteratees__ = []), (this.__takeCount__ = 4294967295), (this.__views__ = []); } function Dn(t) { var e = -1, n = null == t ? 0 : t.length; for (this.clear(); ++e < n; ) { var i = t[e]; this.set(i[0], i[1]); } } function Rn(t) { var e = -1, n = null == t ? 0 : t.length; for (this.clear(); ++e < n; ) { var i = t[e]; this.set(i[0], i[1]); } } function Ln(t) { var e = -1, n = null == t ? 0 : t.length; for (this.clear(); ++e < n; ) { var i = t[e]; this.set(i[0], i[1]); } } function Nn(t) { var e = -1, n = null == t ? 0 : t.length; for (this.__data__ = new Ln(); ++e < n; ) this.add(t[e]); } function jn(t) { var e = (this.__data__ = new Rn(t)); this.size = e.size; } function Vn(t, e) { var n = Da(t), i = !n && ka(t), r = !n && !i && ja(t), o = !n && !i && !r && Qa(t), a = n || i || r || o, s = a ? _e(t.length, vt) : [], c = s.length; for (var l in t) (!e && !Et.call(t, l)) || (a && ('length' == l || (r && ('offset' == l || 'parent' == l)) || (o && ('buffer' == l || 'byteLength' == l || 'byteOffset' == l)) || ao(l, c))) || s.push(l); return s; } function Fn(t) { var e = t.length; return e ? t[Ni(0, e - 1)] : void 0; } function Un(t, e) { return Eo(vr(t), Kn(e, 0, t.length)); } function Bn(t) { return Eo(vr(t)); } function zn(t, e, n) { ((void 0 !== n && !_a(t[e], n)) || (void 0 === n && !(e in t))) && Xn(t, e, n); } function Gn(t, e, n) { var i = t[e]; (Et.call(t, e) && _a(i, n) && (void 0 !== n || e in t)) || Xn(t, e, n); } function Hn(t, e) { for (var n = t.length; n--; ) if (_a(t[n][0], e)) return n; return -1; } function Wn(t, e, n, i) { return ( ti(t, function (t, r, o) { e(i, t, n(t), o); }), i ); } function qn(t, e) { return t && yr(e, ws(e), t); } function Xn(t, e, n) { '__proto__' == e && Ae ? Ae(t, e, { configurable: !0, enumerable: !0, value: n, writable: !0, }) : (t[e] = n); } function Yn(t, e) { for (var n = -1, r = e.length, o = i(r), a = null == t; ++n < r; ) o[n] = a ? void 0 : ms(t, e[n]); return o; } function Kn(t, e, n) { return t == t && (void 0 !== n && (t = t <= n ? t : n), void 0 !== e && (t = t >= e ? t : e)), t; } function Zn(t, e, n, i, r, o) { var a, s = 1 & e, l = 2 & e, p = 4 & e; if ((n && (a = r ? n(t, i, r, o) : n(t)), void 0 !== a)) return a; if (!Ga(t)) return t; var x = Da(t); if (x) { if ( ((a = (function (t) { var e = t.length, n = new t.constructor(e); e && 'string' == typeof t[0] && Et.call(t, 'index') && ((n.index = t.index), (n.input = t.input)); return n; })(t)), !s) ) return vr(t, a); } else { var D = no(t), R = D == h || D == f; if (ja(t)) return dr(t, s); if (D == v || D == c || (R && !r)) { if (((a = l || R ? {} : ro(t)), !s)) return l ? (function (t, e) { return yr(t, eo(t), e); })( t, (function (t, e) { return t && yr(e, Ss(e), t); })(a, t) ) : (function (t, e) { return yr(t, to(t), e); })(t, qn(a, t)); } else { if (!Bt[D]) return r ? t : {}; a = (function (t, e, n) { var i = t.constructor; switch (e) { case M: return pr(t); case u: case d: return new i(+t); case E: return (function (t, e) { var n = e ? pr(t.buffer) : t.buffer; return new t.constructor(n, t.byteOffset, t.byteLength); })(t, n); case C: case A: case T: case O: case _: case P: case '[object Uint8ClampedArray]': case I: case k: return hr(t, n); case m: return new i(); case g: case w: return new i(t); case y: return (function (t) { var e = new t.constructor(t.source, it.exec(t)); return (e.lastIndex = t.lastIndex), e; })(t); case b: return new i(); case S: return (r = t), An ? mt(An.call(r)) : {}; } var r; })(t, D, s); } } o || (o = new jn()); var L = o.get(t); if (L) return L; o.set(t, a), Ka(t) ? t.forEach(function (i) { a.add(Zn(i, e, n, i, t, o)); }) : Wa(t) && t.forEach(function (i, r) { a.set(r, Zn(i, e, n, r, t, o)); }); var N = x ? void 0 : (p ? (l ? qr : Wr) : l ? Ss : ws)(t); return ( se(N || t, function (i, r) { N && (i = t[(r = i)]), Gn(a, r, Zn(i, e, n, r, t, o)); }), a ); } function Jn(t, e, n) { var i = n.length; if (null == t) return !i; for (t = mt(t); i--; ) { var r = n[i], o = e[r], a = t[r]; if ((void 0 === a && !(r in t)) || !o(a)) return !1; } return !0; } function Qn(t, e, n) { if ('function' != typeof t) throw new yt(o); return wo(function () { t.apply(void 0, n); }, e); } function $n(t, e, n, i) { var r = -1, o = de, a = !0, s = t.length, c = [], l = e.length; if (!s) return c; n && (e = he(e, Pe(n))), i ? ((o = pe), (a = !1)) : e.length >= 200 && ((o = ke), (a = !1), (e = new Nn(e))); t: for (; ++r < s; ) { var u = t[r], d = null == n ? u : n(u); if (((u = i || 0 !== u ? u : 0), a && d == d)) { for (var p = l; p--; ) if (e[p] === d) continue t; c.push(u); } else o(e, d, i) || c.push(u); } return c; } (On.templateSettings = { escape: U, evaluate: B, interpolate: z, variable: '', imports: { _: On, }, }), (On.prototype = Pn.prototype), (On.prototype.constructor = On), (In.prototype = _n(Pn.prototype)), (In.prototype.constructor = In), (kn.prototype = _n(Pn.prototype)), (kn.prototype.constructor = kn), (Dn.prototype.clear = function () { (this.__data__ = vn ? vn(null) : {}), (this.size = 0); }), (Dn.prototype.delete = function (t) { var e = this.has(t) && delete this.__data__[t]; return (this.size -= e ? 1 : 0), e; }), (Dn.prototype.get = function (t) { var e = this.__data__; if (vn) { var n = e[t]; return '__lodash_hash_undefined__' === n ? void 0 : n; } return Et.call(e, t) ? e[t] : void 0; }), (Dn.prototype.has = function (t) { var e = this.__data__; return vn ? void 0 !== e[t] : Et.call(e, t); }), (Dn.prototype.set = function (t, e) { var n = this.__data__; return (this.size += this.has(t) ? 0 : 1), (n[t] = vn && void 0 === e ? '__lodash_hash_undefined__' : e), this; }), (Rn.prototype.clear = function () { (this.__data__ = []), (this.size = 0); }), (Rn.prototype.delete = function (t) { var e = this.__data__, n = Hn(e, t); return !(n < 0) && (n == e.length - 1 ? e.pop() : Kt.call(e, n, 1), --this.size, !0); }), (Rn.prototype.get = function (t) { var e = this.__data__, n = Hn(e, t); return n < 0 ? void 0 : e[n][1]; }), (Rn.prototype.has = function (t) { return Hn(this.__data__, t) > -1; }), (Rn.prototype.set = function (t, e) { var n = this.__data__, i = Hn(n, t); return i < 0 ? (++this.size, n.push([t, e])) : (n[i][1] = e), this; }), (Ln.prototype.clear = function () { (this.size = 0), (this.__data__ = { hash: new Dn(), map: new (hn || Rn)(), string: new Dn(), }); }), (Ln.prototype.delete = function (t) { var e = Jr(this, t).delete(t); return (this.size -= e ? 1 : 0), e; }), (Ln.prototype.get = function (t) { return Jr(this, t).get(t); }), (Ln.prototype.has = function (t) { return Jr(this, t).has(t); }), (Ln.prototype.set = function (t, e) { var n = Jr(this, t), i = n.size; return n.set(t, e), (this.size += n.size == i ? 0 : 1), this; }), (Nn.prototype.add = Nn.prototype.push = function (t) { return this.__data__.set(t, '__lodash_hash_undefined__'), this; }), (Nn.prototype.has = function (t) { return this.__data__.has(t); }), (jn.prototype.clear = function () { (this.__data__ = new Rn()), (this.size = 0); }), (jn.prototype.delete = function (t) { var e = this.__data__, n = e.delete(t); return (this.size = e.size), n; }), (jn.prototype.get = function (t) { return this.__data__.get(t); }), (jn.prototype.has = function (t) { return this.__data__.has(t); }), (jn.prototype.set = function (t, e) { var n = this.__data__; if (n instanceof Rn) { var i = n.__data__; if (!hn || i.length < 199) return i.push([t, e]), (this.size = ++n.size), this; n = this.__data__ = new Ln(i); } return n.set(t, e), (this.size = n.size), this; }); var ti = Sr(ci), ei = Sr(li, !0); function ni(t, e) { var n = !0; return ( ti(t, function (t, i, r) { return (n = !!e(t, i, r)); }), n ); } function ii(t, e, n) { for (var i = -1, r = t.length; ++i < r; ) { var o = t[i], a = e(o); if (null != a && (void 0 === s ? a == a && !Ja(a) : n(a, s))) var s = a, c = o; } return c; } function ri(t, e) { var n = []; return ( ti(t, function (t, i, r) { e(t, i, r) && n.push(t); }), n ); } function oi(t, e, n, i, r) { var o = -1, a = t.length; for (n || (n = oo), r || (r = []); ++o < a; ) { var s = t[o]; e > 0 && n(s) ? (e > 1 ? oi(s, e - 1, n, i, r) : fe(r, s)) : i || (r[r.length] = s); } return r; } var ai = xr(), si = xr(!0); function ci(t, e) { return t && ai(t, e, ws); } function li(t, e) { return t && si(t, e, ws); } function ui(t, e) { return ue(e, function (e) { return Ua(t[e]); }); } function di(t, e) { for (var n = 0, i = (e = sr(e, t)).length; null != t && n < i; ) t = t[Ao(e[n++])]; return n && n == i ? t : void 0; } function pi(t, e, n) { var i = e(t); return Da(t) ? i : fe(i, n(t)); } function hi(t) { return null == t ? void 0 === t ? '[object Undefined]' : '[object Null]' : ye && ye in mt(t) ? (function (t) { var e = Et.call(t, ye), n = t[ye]; try { t[ye] = void 0; var i = !0; } catch (t) {} var r = Tt.call(t); i && (e ? (t[ye] = n) : delete t[ye]); return r; })(t) : (function (t) { return Tt.call(t); })(t); } function fi(t, e) { return t > e; } function mi(t, e) { return null != t && Et.call(t, e); } function gi(t, e) { return null != t && e in mt(t); } function vi(t, e, n) { for (var r = n ? pe : de, o = t[0].length, a = t.length, s = a, c = i(a), l = 1 / 0, u = []; s--; ) { var d = t[s]; s && e && (d = he(d, Pe(e))), (l = sn(d.length, l)), (c[s] = !n && (e || (o >= 120 && d.length >= 120)) ? new Nn(s && d) : void 0); } d = t[0]; var p = -1, h = c[0]; t: for (; ++p < o && u.length < l; ) { var f = d[p], m = e ? e(f) : f; if (((f = n || 0 !== f ? f : 0), !(h ? ke(h, m) : r(u, m, n)))) { for (s = a; --s; ) { var g = c[s]; if (!(g ? ke(g, m) : r(t[s], m, n))) continue t; } h && h.push(m), u.push(f); } } return u; } function yi(t, e, n) { var i = null == (t = go(t, (e = sr(e, t)))) ? t : t[Ao(Fo(e))]; return null == i ? void 0 : oe(i, t, n); } function bi(t) { return Ha(t) && hi(t) == c; } function wi(t, e, n, i, r) { return ( t === e || (null == t || null == e || (!Ha(t) && !Ha(e)) ? t != t && e != e : (function (t, e, n, i, r, o) { var a = Da(t), s = Da(e), h = a ? l : no(t), f = s ? l : no(e), x = (h = h == c ? v : h) == v, C = (f = f == c ? v : f) == v, A = h == f; if (A && ja(t)) { if (!ja(e)) return !1; (a = !0), (x = !1); } if (A && !x) return ( o || (o = new jn()), a || Qa(t) ? Gr(t, e, n, i, r, o) : (function (t, e, n, i, r, o, a) { switch (n) { case E: if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset) return !1; (t = t.buffer), (e = e.buffer); case M: return !(t.byteLength != e.byteLength || !o(new Nt(t), new Nt(e))); case u: case d: case g: return _a(+t, +e); case p: return t.name == e.name && t.message == e.message; case y: case w: return t == e + ''; case m: var s = Ue; case b: var c = 1 & i; if ((s || (s = Ge), t.size != e.size && !c)) return !1; var l = a.get(t); if (l) return l == e; (i |= 2), a.set(t, e); var h = Gr(s(t), s(e), i, r, o, a); return a.delete(t), h; case S: if (An) return An.call(t) == An.call(e); } return !1; })(t, e, h, n, i, r, o) ); if (!(1 & n)) { var T = x && Et.call(t, '__wrapped__'), O = C && Et.call(e, '__wrapped__'); if (T || O) { var _ = T ? t.value() : t, P = O ? e.value() : e; return o || (o = new jn()), r(_, P, n, i, o); } } if (!A) return !1; return ( o || (o = new jn()), (function (t, e, n, i, r, o) { var a = 1 & n, s = Wr(t), c = s.length, l = Wr(e).length; if (c != l && !a) return !1; var u = c; for (; u--; ) { var d = s[u]; if (!(a ? d in e : Et.call(e, d))) return !1; } var p = o.get(t), h = o.get(e); if (p && h) return p == e && h == t; var f = !0; o.set(t, e), o.set(e, t); var m = a; for (; ++u < c; ) { d = s[u]; var g = t[d], v = e[d]; if (i) var y = a ? i(v, g, d, e, t, o) : i(g, v, d, t, e, o); if (!(void 0 === y ? g === v || r(g, v, n, i, o) : y)) { f = !1; break; } m || (m = 'constructor' == d); } if (f && !m) { var b = t.constructor, w = e.constructor; b == w || !('constructor' in t) || !('constructor' in e) || ('function' == typeof b && b instanceof b && 'function' == typeof w && w instanceof w) || (f = !1); } return o.delete(t), o.delete(e), f; })(t, e, n, i, r, o) ); })(t, e, n, i, wi, r)) ); } function Si(t, e, n, i) { var r = n.length, o = r, a = !i; if (null == t) return !o; for (t = mt(t); r--; ) { var s = n[r]; if (a && s[2] ? s[1] !== t[s[0]] : !(s[0] in t)) return !1; } for (; ++r < o; ) { var c = (s = n[r])[0], l = t[c], u = s[1]; if (a && s[2]) { if (void 0 === l && !(c in t)) return !1; } else { var d = new jn(); if (i) var p = i(l, u, c, t, e, d); if (!(void 0 === p ? wi(u, l, 3, i, d) : p)) return !1; } } return !0; } function xi(t) { return !(!Ga(t) || ((e = t), At && At in e)) && (Ua(t) ? Pt : at).test(To(t)); var e; } function Mi(t) { return 'function' == typeof t ? t : null == t ? qs : 'object' == typeof t ? (Da(t) ? _i(t[0], t[1]) : Oi(t)) : ec(t); } function Ei(t) { if (!po(t)) return on(t); var e = []; for (var n in mt(t)) Et.call(t, n) && 'constructor' != n && e.push(n); return e; } function Ci(t) { if (!Ga(t)) return (function (t) { var e = []; if (null != t) for (var n in mt(t)) e.push(n); return e; })(t); var e = po(t), n = []; for (var i in t) ('constructor' != i || (!e && Et.call(t, i))) && n.push(i); return n; } function Ai(t, e) { return t < e; } function Ti(t, e) { var n = -1, r = La(t) ? i(t.length) : []; return ( ti(t, function (t, i, o) { r[++n] = e(t, i, o); }), r ); } function Oi(t) { var e = Qr(t); return 1 == e.length && e[0][2] ? fo(e[0][0], e[0][1]) : function (n) { return n === t || Si(n, t, e); }; } function _i(t, e) { return co(t) && ho(e) ? fo(Ao(t), e) : function (n) { var i = ms(n, t); return void 0 === i && i === e ? gs(n, t) : wi(e, i, 3); }; } function Pi(t, e, n, i, r) { t !== e && ai( e, function (o, a) { if ((r || (r = new jn()), Ga(o))) !(function (t, e, n, i, r, o, a) { var s = yo(t, n), c = yo(e, n), l = a.get(c); if (l) return void zn(t, n, l); var u = o ? o(s, c, n + '', t, e, a) : void 0, d = void 0 === u; if (d) { var p = Da(c), h = !p && ja(c), f = !p && !h && Qa(c); (u = c), p || h || f ? Da(s) ? (u = s) : Na(s) ? (u = vr(s)) : h ? ((d = !1), (u = dr(c, !0))) : f ? ((d = !1), (u = hr(c, !0))) : (u = []) : Xa(c) || ka(c) ? ((u = s), ka(s) ? (u = as(s)) : (Ga(s) && !Ua(s)) || (u = ro(c))) : (d = !1); } d && (a.set(c, u), r(u, c, i, o, a), a.delete(c)); zn(t, n, u); })(t, e, a, n, Pi, i, r); else { var s = i ? i(yo(t, a), o, a + '', t, e, r) : void 0; void 0 === s && (s = o), zn(t, a, s); } }, Ss ); } function Ii(t, e) { var n = t.length; if (n) return ao((e += e < 0 ? n : 0), n) ? t[e] : void 0; } function ki(t, e, n) { e = e.length ? he(e, function (t) { return Da(t) ? function (e) { return di(e, 1 === t.length ? t[0] : t); } : t; }) : [qs]; var i = -1; return ( (e = he(e, Pe(Zr()))), (function (t, e) { var n = t.length; for (t.sort(e); n--; ) t[n] = t[n].value; return t; })( Ti(t, function (t, n, r) { return { criteria: he(e, function (e) { return e(t); }), index: ++i, value: t, }; }), function (t, e) { return (function (t, e, n) { var i = -1, r = t.criteria, o = e.criteria, a = r.length, s = n.length; for (; ++i < a; ) { var c = fr(r[i], o[i]); if (c) { if (i >= s) return c; var l = n[i]; return c * ('desc' == l ? -1 : 1); } } return t.index - e.index; })(t, e, n); } ) ); } function Di(t, e, n) { for (var i = -1, r = e.length, o = {}; ++i < r; ) { var a = e[i], s = di(t, a); n(s, a) && Bi(o, sr(a, t), s); } return o; } function Ri(t, e, n, i) { var r = i ? xe : Se, o = -1, a = e.length, s = t; for (t === e && (e = vr(e)), n && (s = he(t, Pe(n))); ++o < a; ) for (var c = 0, l = e[o], u = n ? n(l) : l; (c = r(s, u, c, i)) > -1; ) s !== t && Kt.call(s, c, 1), Kt.call(t, c, 1); return t; } function Li(t, e) { for (var n = t ? e.length : 0, i = n - 1; n--; ) { var r = e[n]; if (n == i || r !== o) { var o = r; ao(r) ? Kt.call(t, r, 1) : $i(t, r); } } return t; } function Ni(t, e) { return t + $e(un() * (e - t + 1)); } function ji(t, e) { var n = ''; if (!t || e < 1 || e > 9007199254740991) return n; do { e % 2 && (n += t), (e = $e(e / 2)) && (t += t); } while (e); return n; } function Vi(t, e) { return So(mo(t, e, qs), t + ''); } function Fi(t) { return Fn(_s(t)); } function Ui(t, e) { var n = _s(t); return Eo(n, Kn(e, 0, n.length)); } function Bi(t, e, n, i) { if (!Ga(t)) return t; for (var r = -1, o = (e = sr(e, t)).length, a = o - 1, s = t; null != s && ++r < o; ) { var c = Ao(e[r]), l = n; if ('__proto__' === c || 'constructor' === c || 'prototype' === c) return t; if (r != a) { var u = s[c]; void 0 === (l = i ? i(u, c, s) : void 0) && (l = Ga(u) ? u : ao(e[r + 1]) ? [] : {}); } Gn(s, c, l), (s = s[c]); } return t; } var zi = yn ? function (t, e) { return yn.set(t, e), t; } : qs, Gi = Ae ? function (t, e) { return Ae(t, 'toString', { configurable: !0, enumerable: !1, value: Gs(e), writable: !0, }); } : qs; function Hi(t) { return Eo(_s(t)); } function Wi(t, e, n) { var r = -1, o = t.length; e < 0 && (e = -e > o ? 0 : o + e), (n = n > o ? o : n) < 0 && (n += o), (o = e > n ? 0 : (n - e) >>> 0), (e >>>= 0); for (var a = i(o); ++r < o; ) a[r] = t[r + e]; return a; } function qi(t, e) { var n; return ( ti(t, function (t, i, r) { return !(n = e(t, i, r)); }), !!n ); } function Xi(t, e, n) { var i = 0, r = null == t ? i : t.length; if ('number' == typeof e && e == e && r <= 2147483647) { for (; i < r; ) { var o = (i + r) >>> 1, a = t[o]; null !== a && !Ja(a) && (n ? a <= e : a < e) ? (i = o + 1) : (r = o); } return r; } return Yi(t, e, qs, n); } function Yi(t, e, n, i) { var r = 0, o = null == t ? 0 : t.length; if (0 === o) return 0; for (var a = (e = n(e)) != e, s = null === e, c = Ja(e), l = void 0 === e; r < o; ) { var u = $e((r + o) / 2), d = n(t[u]), p = void 0 !== d, h = null === d, f = d == d, m = Ja(d); if (a) var g = i || f; else g = l ? f && (i || p) : s ? f && p && (i || !h) : c ? f && p && !h && (i || !m) : !h && !m && (i ? d <= e : d < e); g ? (r = u + 1) : (o = u); } return sn(o, 4294967294); } function Ki(t, e) { for (var n = -1, i = t.length, r = 0, o = []; ++n < i; ) { var a = t[n], s = e ? e(a) : a; if (!n || !_a(s, c)) { var c = s; o[r++] = 0 === a ? 0 : a; } } return o; } function Zi(t) { return 'number' == typeof t ? t : Ja(t) ? NaN : +t; } function Ji(t) { if ('string' == typeof t) return t; if (Da(t)) return he(t, Ji) + ''; if (Ja(t)) return Tn ? Tn.call(t) : ''; var e = t + ''; return '0' == e && 1 / t == -1 / 0 ? '-0' : e; } function Qi(t, e, n) { var i = -1, r = de, o = t.length, a = !0, s = [], c = s; if (n) (a = !1), (r = pe); else if (o >= 200) { var l = e ? null : jr(t); if (l) return Ge(l); (a = !1), (r = ke), (c = new Nn()); } else c = e ? [] : s; t: for (; ++i < o; ) { var u = t[i], d = e ? e(u) : u; if (((u = n || 0 !== u ? u : 0), a && d == d)) { for (var p = c.length; p--; ) if (c[p] === d) continue t; e && c.push(d), s.push(u); } else r(c, d, n) || (c !== s && c.push(d), s.push(u)); } return s; } function $i(t, e) { return null == (t = go(t, (e = sr(e, t)))) || delete t[Ao(Fo(e))]; } function tr(t, e, n, i) { return Bi(t, e, n(di(t, e)), i); } function er(t, e, n, i) { for (var r = t.length, o = i ? r : -1; (i ? o-- : ++o < r) && e(t[o], o, t); ); return n ? Wi(t, i ? 0 : o, i ? o + 1 : r) : Wi(t, i ? o + 1 : 0, i ? r : o); } function nr(t, e) { var n = t; return ( n instanceof kn && (n = n.value()), me( e, function (t, e) { return e.func.apply(e.thisArg, fe([t], e.args)); }, n ) ); } function ir(t, e, n) { var r = t.length; if (r < 2) return r ? Qi(t[0]) : []; for (var o = -1, a = i(r); ++o < r; ) for (var s = t[o], c = -1; ++c < r; ) c != o && (a[o] = $n(a[o] || s, t[c], e, n)); return Qi(oi(a, 1), e, n); } function rr(t, e, n) { for (var i = -1, r = t.length, o = e.length, a = {}; ++i < r; ) { var s = i < o ? e[i] : void 0; n(a, t[i], s); } return a; } function or(t) { return Na(t) ? t : []; } function ar(t) { return 'function' == typeof t ? t : qs; } function sr(t, e) { return Da(t) ? t : co(t, e) ? [t] : Co(ss(t)); } var cr = Vi; function lr(t, e, n) { var i = t.length; return (n = void 0 === n ? i : n), !e && n >= i ? t : Wi(t, e, n); } var ur = Ke || function (t) { return Xt.clearTimeout(t); }; function dr(t, e) { if (e) return t.slice(); var n = t.length, i = zt ? zt(n) : new t.constructor(n); return t.copy(i), i; } function pr(t) { var e = new t.constructor(t.byteLength); return new Nt(e).set(new Nt(t)), e; } function hr(t, e) { var n = e ? pr(t.buffer) : t.buffer; return new t.constructor(n, t.byteOffset, t.length); } function fr(t, e) { if (t !== e) { var n = void 0 !== t, i = null === t, r = t == t, o = Ja(t), a = void 0 !== e, s = null === e, c = e == e, l = Ja(e); if ((!s && !l && !o && t > e) || (o && a && c && !s && !l) || (i && a && c) || (!n && c) || !r) return 1; if ((!i && !o && !l && t < e) || (l && n && r && !i && !o) || (s && n && r) || (!a && r) || !c) return -1; } return 0; } function mr(t, e, n, r) { for (var o = -1, a = t.length, s = n.length, c = -1, l = e.length, u = an(a - s, 0), d = i(l + u), p = !r; ++c < l; ) d[c] = e[c]; for (; ++o < s; ) (p || o < a) && (d[n[o]] = t[o]); for (; u--; ) d[c++] = t[o++]; return d; } function gr(t, e, n, r) { for (var o = -1, a = t.length, s = -1, c = n.length, l = -1, u = e.length, d = an(a - c, 0), p = i(d + u), h = !r; ++o < d; ) p[o] = t[o]; for (var f = o; ++l < u; ) p[f + l] = e[l]; for (; ++s < c; ) (h || o < a) && (p[f + n[s]] = t[o++]); return p; } function vr(t, e) { var n = -1, r = t.length; for (e || (e = i(r)); ++n < r; ) e[n] = t[n]; return e; } function yr(t, e, n, i) { var r = !n; n || (n = {}); for (var o = -1, a = e.length; ++o < a; ) { var s = e[o], c = i ? i(n[s], t[s], s, n, t) : void 0; void 0 === c && (c = t[s]), r ? Xn(n, s, c) : Gn(n, s, c); } return n; } function br(t, e) { return function (n, i) { var r = Da(n) ? ae : Wn, o = e ? e() : {}; return r(n, t, Zr(i, 2), o); }; } function wr(t) { return Vi(function (e, n) { var i = -1, r = n.length, o = r > 1 ? n[r - 1] : void 0, a = r > 2 ? n[2] : void 0; for (o = t.length > 3 && 'function' == typeof o ? (r--, o) : void 0, a && so(n[0], n[1], a) && ((o = r < 3 ? void 0 : o), (r = 1)), e = mt(e); ++i < r; ) { var s = n[i]; s && t(e, s, i, o); } return e; }); } function Sr(t, e) { return function (n, i) { if (null == n) return n; if (!La(n)) return t(n, i); for (var r = n.length, o = e ? r : -1, a = mt(n); (e ? o-- : ++o < r) && !1 !== i(a[o], o, a); ); return n; }; } function xr(t) { return function (e, n, i) { for (var r = -1, o = mt(e), a = i(e), s = a.length; s--; ) { var c = a[t ? s : ++r]; if (!1 === n(o[c], c, o)) break; } return e; }; } function Mr(t) { return function (e) { var n = Fe((e = ss(e))) ? qe(e) : void 0, i = n ? n[0] : e.charAt(0), r = n ? lr(n, 1).join('') : e.slice(1); return i[t]() + r; }; } function Er(t) { return function (e) { return me(Us(ks(e).replace(kt, '')), t, ''); }; } function Cr(t) { return function () { var e = arguments; switch (e.length) { case 0: return new t(); case 1: return new t(e[0]); case 2: return new t(e[0], e[1]); case 3: return new t(e[0], e[1], e[2]); case 4: return new t(e[0], e[1], e[2], e[3]); case 5: return new t(e[0], e[1], e[2], e[3], e[4]); case 6: return new t(e[0], e[1], e[2], e[3], e[4], e[5]); case 7: return new t(e[0], e[1], e[2], e[3], e[4], e[5], e[6]); } var n = _n(t.prototype), i = t.apply(n, e); return Ga(i) ? i : n; }; } function Ar(t) { return function (e, n, i) { var r = mt(e); if (!La(e)) { var o = Zr(n, 3); (e = ws(e)), (n = function (t) { return o(r[t], t, r); }); } var a = t(e, n, i); return a > -1 ? r[o ? e[a] : a] : void 0; }; } function Tr(t) { return Hr(function (e) { var n = e.length, i = n, r = In.prototype.thru; for (t && e.reverse(); i--; ) { var a = e[i]; if ('function' != typeof a) throw new yt(o); if (r && !s && 'wrapper' == Yr(a)) var s = new In([], !0); } for (i = s ? i : n; ++i < n; ) { var c = Yr((a = e[i])), l = 'wrapper' == c ? Xr(a) : void 0; s = l && lo(l[0]) && 424 == l[1] && !l[4].length && 1 == l[9] ? s[Yr(l[0])].apply(s, l[3]) : 1 == a.length && lo(a) ? s[c]() : s.thru(a); } return function () { var t = arguments, i = t[0]; if (s && 1 == t.length && Da(i)) return s.plant(i).value(); for (var r = 0, o = n ? e[r].apply(this, t) : i; ++r < n; ) o = e[r].call(this, o); return o; }; }); } function Or(t, e, n, r, o, a, s, c, l, u) { var d = 128 & e, p = 1 & e, h = 2 & e, f = 24 & e, m = 512 & e, g = h ? void 0 : Cr(t); return function v() { for (var y = arguments.length, b = i(y), w = y; w--; ) b[w] = arguments[w]; if (f) var S = Kr(v), x = Le(b, S); if ((r && (b = mr(b, r, o, f)), a && (b = gr(b, a, s, f)), (y -= x), f && y < u)) { var M = ze(b, S); return Lr(t, e, Or, v.placeholder, n, b, M, c, l, u - y); } var E = p ? n : this, C = h ? E[t] : t; return (y = b.length), c ? (b = vo(b, c)) : m && y > 1 && b.reverse(), d && l < y && (b.length = l), this && this !== Xt && this instanceof v && (C = g || Cr(C)), C.apply(E, b); }; } function _r(t, e) { return function (n, i) { return (function (t, e, n, i) { return ( ci(t, function (t, r, o) { e(i, n(t), r, o); }), i ); })(n, t, e(i), {}); }; } function Pr(t, e) { return function (n, i) { var r; if (void 0 === n && void 0 === i) return e; if ((void 0 !== n && (r = n), void 0 !== i)) { if (void 0 === r) return i; 'string' == typeof n || 'string' == typeof i ? ((n = Ji(n)), (i = Ji(i))) : ((n = Zi(n)), (i = Zi(i))), (r = t(n, i)); } return r; }; } function Ir(t) { return Hr(function (e) { return ( (e = he(e, Pe(Zr()))), Vi(function (n) { var i = this; return t(e, function (t) { return oe(t, i, n); }); }) ); }); } function kr(t, e) { var n = (e = void 0 === e ? ' ' : Ji(e)).length; if (n < 2) return n ? ji(e, t) : e; var i = ji(e, Qe(t / We(e))); return Fe(e) ? lr(qe(i), 0, t).join('') : i.slice(0, t); } function Dr(t) { return function (e, n, r) { return ( r && 'number' != typeof r && so(e, n, r) && (n = r = void 0), (e = ns(e)), void 0 === n ? ((n = e), (e = 0)) : (n = ns(n)), (function (t, e, n, r) { for (var o = -1, a = an(Qe((e - t) / (n || 1)), 0), s = i(a); a--; ) (s[r ? a : ++o] = t), (t += n); return s; })(e, n, (r = void 0 === r ? (e < n ? 1 : -1) : ns(r)), t) ); }; } function Rr(t) { return function (e, n) { return ('string' == typeof e && 'string' == typeof n) || ((e = os(e)), (n = os(n))), t(e, n); }; } function Lr(t, e, n, i, r, o, a, s, c, l) { var u = 8 & e; (e |= u ? 32 : 64), 4 & (e &= ~(u ? 64 : 32)) || (e &= -4); var d = [t, e, r, u ? o : void 0, u ? a : void 0, u ? void 0 : o, u ? void 0 : a, s, c, l], p = n.apply(void 0, d); return lo(t) && bo(p, d), (p.placeholder = i), xo(p, t, e); } function Nr(t) { var e = ft[t]; return function (t, n) { if (((t = os(t)), (n = null == n ? 0 : sn(is(n), 292)) && nn(t))) { var i = (ss(t) + 'e').split('e'); return +((i = (ss(e(i[0] + 'e' + (+i[1] + n))) + 'e').split('e'))[0] + 'e' + (+i[1] - n)); } return e(t); }; } var jr = mn && 1 / Ge(new mn([, -0]))[1] == 1 / 0 ? function (t) { return new mn(t); } : Js; function Vr(t) { return function (e) { var n = no(e); return n == m ? Ue(e) : n == b ? He(e) : (function (t, e) { return he(e, function (e) { return [e, t[e]]; }); })(e, t(e)); }; } function Fr(t, e, n, r, s, c, l, u) { var d = 2 & e; if (!d && 'function' != typeof t) throw new yt(o); var p = r ? r.length : 0; if ((p || ((e &= -97), (r = s = void 0)), (l = void 0 === l ? l : an(is(l), 0)), (u = void 0 === u ? u : is(u)), (p -= s ? s.length : 0), 64 & e)) { var h = r, f = s; r = s = void 0; } var m = d ? void 0 : Xr(t), g = [t, e, n, r, s, h, f, c, l, u]; if ( (m && (function (t, e) { var n = t[1], i = e[1], r = n | i, o = r < 131, s = (128 == i && 8 == n) || (128 == i && 256 == n && t[7].length <= e[8]) || (384 == i && e[7].length <= e[8] && 8 == n); if (!o && !s) return t; 1 & i && ((t[2] = e[2]), (r |= 1 & n ? 0 : 4)); var c = e[3]; if (c) { var l = t[3]; (t[3] = l ? mr(l, c, e[4]) : c), (t[4] = l ? ze(t[3], a) : e[4]); } (c = e[5]) && ((l = t[5]), (t[5] = l ? gr(l, c, e[6]) : c), (t[6] = l ? ze(t[5], a) : e[6])); (c = e[7]) && (t[7] = c); 128 & i && (t[8] = null == t[8] ? e[8] : sn(t[8], e[8])); null == t[9] && (t[9] = e[9]); (t[0] = e[0]), (t[1] = r); })(g, m), (t = g[0]), (e = g[1]), (n = g[2]), (r = g[3]), (s = g[4]), !(u = g[9] = void 0 === g[9] ? (d ? 0 : t.length) : an(g[9] - p, 0)) && 24 & e && (e &= -25), e && 1 != e) ) v = 8 == e || 16 == e ? (function (t, e, n) { var r = Cr(t); return function o() { for (var a = arguments.length, s = i(a), c = a, l = Kr(o); c--; ) s[c] = arguments[c]; var u = a < 3 && s[0] !== l && s[a - 1] !== l ? [] : ze(s, l); if ((a -= u.length) < n) return Lr(t, e, Or, o.placeholder, void 0, s, u, void 0, void 0, n - a); var d = this && this !== Xt && this instanceof o ? r : t; return oe(d, this, s); }; })(t, e, u) : (32 != e && 33 != e) || s.length ? Or.apply(void 0, g) : (function (t, e, n, r) { var o = 1 & e, a = Cr(t); return function e() { for (var s = -1, c = arguments.length, l = -1, u = r.length, d = i(u + c), p = this && this !== Xt && this instanceof e ? a : t; ++l < u; ) d[l] = r[l]; for (; c--; ) d[l++] = arguments[++s]; return oe(p, o ? n : this, d); }; })(t, e, n, r); else var v = (function (t, e, n) { var i = 1 & e, r = Cr(t); return function e() { var o = this && this !== Xt && this instanceof e ? r : t; return o.apply(i ? n : this, arguments); }; })(t, e, n); return xo((m ? zi : bo)(v, g), t, e); } function Ur(t, e, n, i) { return void 0 === t || (_a(t, St[n]) && !Et.call(i, n)) ? e : t; } function Br(t, e, n, i, r, o) { return Ga(t) && Ga(e) && (o.set(e, t), Pi(t, e, void 0, Br, o), o.delete(e)), t; } function zr(t) { return Xa(t) ? void 0 : t; } function Gr(t, e, n, i, r, o) { var a = 1 & n, s = t.length, c = e.length; if (s != c && !(a && c > s)) return !1; var l = o.get(t), u = o.get(e); if (l && u) return l == e && u == t; var d = -1, p = !0, h = 2 & n ? new Nn() : void 0; for (o.set(t, e), o.set(e, t); ++d < s; ) { var f = t[d], m = e[d]; if (i) var g = a ? i(m, f, d, e, t, o) : i(f, m, d, t, e, o); if (void 0 !== g) { if (g) continue; p = !1; break; } if (h) { if ( !ve(e, function (t, e) { if (!ke(h, e) && (f === t || r(f, t, n, i, o))) return h.push(e); }) ) { p = !1; break; } } else if (f !== m && !r(f, m, n, i, o)) { p = !1; break; } } return o.delete(t), o.delete(e), p; } function Hr(t) { return So(mo(t, void 0, Ro), t + ''); } function Wr(t) { return pi(t, ws, to); } function qr(t) { return pi(t, Ss, eo); } var Xr = yn ? function (t) { return yn.get(t); } : Js; function Yr(t) { for (var e = t.name + '', n = bn[e], i = Et.call(bn, e) ? n.length : 0; i--; ) { var r = n[i], o = r.func; if (null == o || o == t) return r.name; } return e; } function Kr(t) { return (Et.call(On, 'placeholder') ? On : t).placeholder; } function Zr() { var t = On.iteratee || Xs; return (t = t === Xs ? Mi : t), arguments.length ? t(arguments[0], arguments[1]) : t; } function Jr(t, e) { var n, i, r = t.__data__; return ('string' == (i = typeof (n = e)) || 'number' == i || 'symbol' == i || 'boolean' == i ? '__proto__' !== n : null === n) ? r['string' == typeof e ? 'string' : 'hash'] : r.map; } function Qr(t) { for (var e = ws(t), n = e.length; n--; ) { var i = e[n], r = t[i]; e[n] = [i, r, ho(r)]; } return e; } function $r(t, e) { var n = (function (t, e) { return null == t ? void 0 : t[e]; })(t, e); return xi(n) ? n : void 0; } var to = tn ? function (t) { return null == t ? [] : ((t = mt(t)), ue(tn(t), function (e) { return Yt.call(t, e); })); } : rc, eo = tn ? function (t) { for (var e = []; t; ) fe(e, to(t)), (t = Wt(t)); return e; } : rc, no = hi; function io(t, e, n) { for (var i = -1, r = (e = sr(e, t)).length, o = !1; ++i < r; ) { var a = Ao(e[i]); if (!(o = null != t && n(t, a))) break; t = t[a]; } return o || ++i != r ? o : !!(r = null == t ? 0 : t.length) && za(r) && ao(a, r) && (Da(t) || ka(t)); } function ro(t) { return 'function' != typeof t.constructor || po(t) ? {} : _n(Wt(t)); } function oo(t) { return Da(t) || ka(t) || !!(Jt && t && t[Jt]); } function ao(t, e) { var n = typeof t; return !!(e = null == e ? 9007199254740991 : e) && ('number' == n || ('symbol' != n && ct.test(t))) && t > -1 && t % 1 == 0 && t < e; } function so(t, e, n) { if (!Ga(n)) return !1; var i = typeof e; return !!('number' == i ? La(n) && ao(e, n.length) : 'string' == i && e in n) && _a(n[e], t); } function co(t, e) { if (Da(t)) return !1; var n = typeof t; return !('number' != n && 'symbol' != n && 'boolean' != n && null != t && !Ja(t)) || H.test(t) || !G.test(t) || (null != e && t in mt(e)); } function lo(t) { var e = Yr(t), n = On[e]; if ('function' != typeof n || !(e in kn.prototype)) return !1; if (t === n) return !0; var i = Xr(n); return !!i && t === i[0]; } ((pn && no(new pn(new ArrayBuffer(1))) != E) || (hn && no(new hn()) != m) || (fn && '[object Promise]' != no(fn.resolve())) || (mn && no(new mn()) != b) || (gn && no(new gn()) != x)) && (no = function (t) { var e = hi(t), n = e == v ? t.constructor : void 0, i = n ? To(n) : ''; if (i) switch (i) { case wn: return E; case Sn: return m; case xn: return '[object Promise]'; case Mn: return b; case En: return x; } return e; }); var uo = xt ? Ua : oc; function po(t) { var e = t && t.constructor; return t === (('function' == typeof e && e.prototype) || St); } function ho(t) { return t == t && !Ga(t); } function fo(t, e) { return function (n) { return null != n && n[t] === e && (void 0 !== e || t in mt(n)); }; } function mo(t, e, n) { return ( (e = an(void 0 === e ? t.length - 1 : e, 0)), function () { for (var r = arguments, o = -1, a = an(r.length - e, 0), s = i(a); ++o < a; ) s[o] = r[e + o]; o = -1; for (var c = i(e + 1); ++o < e; ) c[o] = r[o]; return (c[e] = n(s)), oe(t, this, c); } ); } function go(t, e) { return e.length < 2 ? t : di(t, Wi(e, 0, -1)); } function vo(t, e) { for (var n = t.length, i = sn(e.length, n), r = vr(t); i--; ) { var o = e[i]; t[i] = ao(o, n) ? r[o] : void 0; } return t; } function yo(t, e) { if (('constructor' !== e || 'function' != typeof t[e]) && '__proto__' != e) return t[e]; } var bo = Mo(zi), wo = Je || function (t, e) { return Xt.setTimeout(t, e); }, So = Mo(Gi); function xo(t, e, n) { var i = e + ''; return So( t, (function (t, e) { var n = e.length; if (!n) return t; var i = n - 1; return (e[i] = (n > 1 ? '& ' : '') + e[i]), (e = e.join(n > 2 ? ', ' : ' ')), t.replace(J, '{\n/* [wrapped with ' + e + '] */\n'); })( i, (function (t, e) { return ( se(s, function (n) { var i = '_.' + n[0]; e & n[1] && !de(t, i) && t.push(i); }), t.sort() ); })( (function (t) { var e = t.match(Q); return e ? e[1].split($) : []; })(i), n ) ) ); } function Mo(t) { var e = 0, n = 0; return function () { var i = cn(), r = 16 - (i - n); if (((n = i), r > 0)) { if (++e >= 800) return arguments[0]; } else e = 0; return t.apply(void 0, arguments); }; } function Eo(t, e) { var n = -1, i = t.length, r = i - 1; for (e = void 0 === e ? i : e; ++n < e; ) { var o = Ni(n, r), a = t[o]; (t[o] = t[n]), (t[n] = a); } return (t.length = e), t; } var Co = (function (t) { var e = Ma(t, function (t) { return 500 === n.size && n.clear(), t; }), n = e.cache; return e; })(function (t) { var e = []; return ( 46 === t.charCodeAt(0) && e.push(''), t.replace(W, function (t, n, i, r) { e.push(i ? r.replace(et, '$1') : n || t); }), e ); }); function Ao(t) { if ('string' == typeof t || Ja(t)) return t; var e = t + ''; return '0' == e && 1 / t == -1 / 0 ? '-0' : e; } function To(t) { if (null != t) { try { return Mt.call(t); } catch (t) {} try { return t + ''; } catch (t) {} } return ''; } function Oo(t) { if (t instanceof kn) return t.clone(); var e = new In(t.__wrapped__, t.__chain__); return (e.__actions__ = vr(t.__actions__)), (e.__index__ = t.__index__), (e.__values__ = t.__values__), e; } var _o = Vi(function (t, e) { return Na(t) ? $n(t, oi(e, 1, Na, !0)) : []; }), Po = Vi(function (t, e) { var n = Fo(e); return Na(n) && (n = void 0), Na(t) ? $n(t, oi(e, 1, Na, !0), Zr(n, 2)) : []; }), Io = Vi(function (t, e) { var n = Fo(e); return Na(n) && (n = void 0), Na(t) ? $n(t, oi(e, 1, Na, !0), void 0, n) : []; }); function ko(t, e, n) { var i = null == t ? 0 : t.length; if (!i) return -1; var r = null == n ? 0 : is(n); return r < 0 && (r = an(i + r, 0)), we(t, Zr(e, 3), r); } function Do(t, e, n) { var i = null == t ? 0 : t.length; if (!i) return -1; var r = i - 1; return void 0 !== n && ((r = is(n)), (r = n < 0 ? an(i + r, 0) : sn(r, i - 1))), we(t, Zr(e, 3), r, !0); } function Ro(t) { return (null == t ? 0 : t.length) ? oi(t, 1) : []; } function Lo(t) { return t && t.length ? t[0] : void 0; } var No = Vi(function (t) { var e = he(t, or); return e.length && e[0] === t[0] ? vi(e) : []; }), jo = Vi(function (t) { var e = Fo(t), n = he(t, or); return e === Fo(n) ? (e = void 0) : n.pop(), n.length && n[0] === t[0] ? vi(n, Zr(e, 2)) : []; }), Vo = Vi(function (t) { var e = Fo(t), n = he(t, or); return (e = 'function' == typeof e ? e : void 0) && n.pop(), n.length && n[0] === t[0] ? vi(n, void 0, e) : []; }); function Fo(t) { var e = null == t ? 0 : t.length; return e ? t[e - 1] : void 0; } var Uo = Vi(Bo); function Bo(t, e) { return t && t.length && e && e.length ? Ri(t, e) : t; } var zo = Hr(function (t, e) { var n = null == t ? 0 : t.length, i = Yn(t, e); return ( Li( t, he(e, function (t) { return ao(t, n) ? +t : t; }).sort(fr) ), i ); }); function Go(t) { return null == t ? t : dn.call(t); } var Ho = Vi(function (t) { return Qi(oi(t, 1, Na, !0)); }), Wo = Vi(function (t) { var e = Fo(t); return Na(e) && (e = void 0), Qi(oi(t, 1, Na, !0), Zr(e, 2)); }), qo = Vi(function (t) { var e = Fo(t); return (e = 'function' == typeof e ? e : void 0), Qi(oi(t, 1, Na, !0), void 0, e); }); function Xo(t) { if (!t || !t.length) return []; var e = 0; return ( (t = ue(t, function (t) { if (Na(t)) return (e = an(t.length, e)), !0; })), _e(e, function (e) { return he(t, Ce(e)); }) ); } function Yo(t, e) { if (!t || !t.length) return []; var n = Xo(t); return null == e ? n : he(n, function (t) { return oe(e, void 0, t); }); } var Ko = Vi(function (t, e) { return Na(t) ? $n(t, e) : []; }), Zo = Vi(function (t) { return ir(ue(t, Na)); }), Jo = Vi(function (t) { var e = Fo(t); return Na(e) && (e = void 0), ir(ue(t, Na), Zr(e, 2)); }), Qo = Vi(function (t) { var e = Fo(t); return (e = 'function' == typeof e ? e : void 0), ir(ue(t, Na), void 0, e); }), $o = Vi(Xo); var ta = Vi(function (t) { var e = t.length, n = e > 1 ? t[e - 1] : void 0; return (n = 'function' == typeof n ? (t.pop(), n) : void 0), Yo(t, n); }); function ea(t) { var e = On(t); return (e.__chain__ = !0), e; } function na(t, e) { return e(t); } var ia = Hr(function (t) { var e = t.length, n = e ? t[0] : 0, i = this.__wrapped__, r = function (e) { return Yn(e, t); }; return !(e > 1 || this.__actions__.length) && i instanceof kn && ao(n) ? ((i = i.slice(n, +n + (e ? 1 : 0))).__actions__.push({ func: na, args: [r], thisArg: void 0, }), new In(i, this.__chain__).thru(function (t) { return e && !t.length && t.push(void 0), t; })) : this.thru(r); }); var ra = br(function (t, e, n) { Et.call(t, n) ? ++t[n] : Xn(t, n, 1); }); var oa = Ar(ko), aa = Ar(Do); function sa(t, e) { return (Da(t) ? se : ti)(t, Zr(e, 3)); } function ca(t, e) { return (Da(t) ? ce : ei)(t, Zr(e, 3)); } var la = br(function (t, e, n) { Et.call(t, n) ? t[n].push(e) : Xn(t, n, [e]); }); var ua = Vi(function (t, e, n) { var r = -1, o = 'function' == typeof e, a = La(t) ? i(t.length) : []; return ( ti(t, function (t) { a[++r] = o ? oe(e, t, n) : yi(t, e, n); }), a ); }), da = br(function (t, e, n) { Xn(t, n, e); }); function pa(t, e) { return (Da(t) ? he : Ti)(t, Zr(e, 3)); } var ha = br( function (t, e, n) { t[n ? 0 : 1].push(e); }, function () { return [[], []]; } ); var fa = Vi(function (t, e) { if (null == t) return []; var n = e.length; return n > 1 && so(t, e[0], e[1]) ? (e = []) : n > 2 && so(e[0], e[1], e[2]) && (e = [e[0]]), ki(t, oi(e, 1), []); }), ma = Ze || function () { return Xt.Date.now(); }; function ga(t, e, n) { return (e = n ? void 0 : e), Fr(t, 128, void 0, void 0, void 0, void 0, (e = t && null == e ? t.length : e)); } function va(t, e) { var n; if ('function' != typeof e) throw new yt(o); return ( (t = is(t)), function () { return --t > 0 && (n = e.apply(this, arguments)), t <= 1 && (e = void 0), n; } ); } var ya = Vi(function (t, e, n) { var i = 1; if (n.length) { var r = ze(n, Kr(ya)); i |= 32; } return Fr(t, i, e, n, r); }), ba = Vi(function (t, e, n) { var i = 3; if (n.length) { var r = ze(n, Kr(ba)); i |= 32; } return Fr(e, i, t, n, r); }); function wa(t, e, n) { var i, r, a, s, c, l, u = 0, d = !1, p = !1, h = !0; if ('function' != typeof t) throw new yt(o); function f(e) { var n = i, o = r; return (i = r = void 0), (u = e), (s = t.apply(o, n)); } function m(t) { return (u = t), (c = wo(v, e)), d ? f(t) : s; } function g(t) { var n = t - l; return void 0 === l || n >= e || n < 0 || (p && t - u >= a); } function v() { var t = ma(); if (g(t)) return y(t); c = wo( v, (function (t) { var n = e - (t - l); return p ? sn(n, a - (t - u)) : n; })(t) ); } function y(t) { return (c = void 0), h && i ? f(t) : ((i = r = void 0), s); } function b() { var t = ma(), n = g(t); if (((i = arguments), (r = this), (l = t), n)) { if (void 0 === c) return m(l); if (p) return ur(c), (c = wo(v, e)), f(l); } return void 0 === c && (c = wo(v, e)), s; } return ( (e = os(e) || 0), Ga(n) && ((d = !!n.leading), (a = (p = 'maxWait' in n) ? an(os(n.maxWait) || 0, e) : a), (h = 'trailing' in n ? !!n.trailing : h)), (b.cancel = function () { void 0 !== c && ur(c), (u = 0), (i = l = r = c = void 0); }), (b.flush = function () { return void 0 === c ? s : y(ma()); }), b ); } var Sa = Vi(function (t, e) { return Qn(t, 1, e); }), xa = Vi(function (t, e, n) { return Qn(t, os(e) || 0, n); }); function Ma(t, e) { if ('function' != typeof t || (null != e && 'function' != typeof e)) throw new yt(o); var n = function () { var i = arguments, r = e ? e.apply(this, i) : i[0], o = n.cache; if (o.has(r)) return o.get(r); var a = t.apply(this, i); return (n.cache = o.set(r, a) || o), a; }; return (n.cache = new (Ma.Cache || Ln)()), n; } function Ea(t) { if ('function' != typeof t) throw new yt(o); return function () { var e = arguments; switch (e.length) { case 0: return !t.call(this); case 1: return !t.call(this, e[0]); case 2: return !t.call(this, e[0], e[1]); case 3: return !t.call(this, e[0], e[1], e[2]); } return !t.apply(this, e); }; } Ma.Cache = Ln; var Ca = cr(function (t, e) { var n = (e = 1 == e.length && Da(e[0]) ? he(e[0], Pe(Zr())) : he(oi(e, 1), Pe(Zr()))).length; return Vi(function (i) { for (var r = -1, o = sn(i.length, n); ++r < o; ) i[r] = e[r].call(this, i[r]); return oe(t, this, i); }); }), Aa = Vi(function (t, e) { return Fr(t, 32, void 0, e, ze(e, Kr(Aa))); }), Ta = Vi(function (t, e) { return Fr(t, 64, void 0, e, ze(e, Kr(Ta))); }), Oa = Hr(function (t, e) { return Fr(t, 256, void 0, void 0, void 0, e); }); function _a(t, e) { return t === e || (t != t && e != e); } var Pa = Rr(fi), Ia = Rr(function (t, e) { return t >= e; }), ka = bi( (function () { return arguments; })() ) ? bi : function (t) { return Ha(t) && Et.call(t, 'callee') && !Yt.call(t, 'callee'); }, Da = i.isArray, Ra = $t ? Pe($t) : function (t) { return Ha(t) && hi(t) == M; }; function La(t) { return null != t && za(t.length) && !Ua(t); } function Na(t) { return Ha(t) && La(t); } var ja = en || oc, Va = te ? Pe(te) : function (t) { return Ha(t) && hi(t) == d; }; function Fa(t) { if (!Ha(t)) return !1; var e = hi(t); return e == p || '[object DOMException]' == e || ('string' == typeof t.message && 'string' == typeof t.name && !Xa(t)); } function Ua(t) { if (!Ga(t)) return !1; var e = hi(t); return e == h || e == f || '[object AsyncFunction]' == e || '[object Proxy]' == e; } function Ba(t) { return 'number' == typeof t && t == is(t); } function za(t) { return 'number' == typeof t && t > -1 && t % 1 == 0 && t <= 9007199254740991; } function Ga(t) { var e = typeof t; return null != t && ('object' == e || 'function' == e); } function Ha(t) { return null != t && 'object' == typeof t; } var Wa = ee ? Pe(ee) : function (t) { return Ha(t) && no(t) == m; }; function qa(t) { return 'number' == typeof t || (Ha(t) && hi(t) == g); } function Xa(t) { if (!Ha(t) || hi(t) != v) return !1; var e = Wt(t); if (null === e) return !0; var n = Et.call(e, 'constructor') && e.constructor; return 'function' == typeof n && n instanceof n && Mt.call(n) == Ot; } var Ya = ne ? Pe(ne) : function (t) { return Ha(t) && hi(t) == y; }; var Ka = ie ? Pe(ie) : function (t) { return Ha(t) && no(t) == b; }; function Za(t) { return 'string' == typeof t || (!Da(t) && Ha(t) && hi(t) == w); } function Ja(t) { return 'symbol' == typeof t || (Ha(t) && hi(t) == S); } var Qa = re ? Pe(re) : function (t) { return Ha(t) && za(t.length) && !!Ut[hi(t)]; }; var $a = Rr(Ai), ts = Rr(function (t, e) { return t <= e; }); function es(t) { if (!t) return []; if (La(t)) return Za(t) ? qe(t) : vr(t); if (Qt && t[Qt]) return (function (t) { for (var e, n = []; !(e = t.next()).done; ) n.push(e.value); return n; })(t[Qt]()); var e = no(t); return (e == m ? Ue : e == b ? Ge : _s)(t); } function ns(t) { return t ? ((t = os(t)) === 1 / 0 || t === -1 / 0 ? 17976931348623157e292 * (t < 0 ? -1 : 1) : t == t ? t : 0) : 0 === t ? t : 0; } function is(t) { var e = ns(t), n = e % 1; return e == e ? (n ? e - n : e) : 0; } function rs(t) { return t ? Kn(is(t), 0, 4294967295) : 0; } function os(t) { if ('number' == typeof t) return t; if (Ja(t)) return NaN; if (Ga(t)) { var e = 'function' == typeof t.valueOf ? t.valueOf() : t; t = Ga(e) ? e + '' : e; } if ('string' != typeof t) return 0 === t ? t : +t; t = t.replace(Y, ''); var n = ot.test(t); return n || st.test(t) ? Ht(t.slice(2), n ? 2 : 8) : rt.test(t) ? NaN : +t; } function as(t) { return yr(t, Ss(t)); } function ss(t) { return null == t ? '' : Ji(t); } var cs = wr(function (t, e) { if (po(e) || La(e)) yr(e, ws(e), t); else for (var n in e) Et.call(e, n) && Gn(t, n, e[n]); }), ls = wr(function (t, e) { yr(e, Ss(e), t); }), us = wr(function (t, e, n, i) { yr(e, Ss(e), t, i); }), ds = wr(function (t, e, n, i) { yr(e, ws(e), t, i); }), ps = Hr(Yn); var hs = Vi(function (t, e) { t = mt(t); var n = -1, i = e.length, r = i > 2 ? e[2] : void 0; for (r && so(e[0], e[1], r) && (i = 1); ++n < i; ) for (var o = e[n], a = Ss(o), s = -1, c = a.length; ++s < c; ) { var l = a[s], u = t[l]; (void 0 === u || (_a(u, St[l]) && !Et.call(t, l))) && (t[l] = o[l]); } return t; }), fs = Vi(function (t) { return t.push(void 0, Br), oe(Ms, void 0, t); }); function ms(t, e, n) { var i = null == t ? void 0 : di(t, e); return void 0 === i ? n : i; } function gs(t, e) { return null != t && io(t, e, gi); } var vs = _r(function (t, e, n) { null != e && 'function' != typeof e.toString && (e = Tt.call(e)), (t[e] = n); }, Gs(qs)), ys = _r(function (t, e, n) { null != e && 'function' != typeof e.toString && (e = Tt.call(e)), Et.call(t, e) ? t[e].push(n) : (t[e] = [n]); }, Zr), bs = Vi(yi); function ws(t) { return La(t) ? Vn(t) : Ei(t); } function Ss(t) { return La(t) ? Vn(t, !0) : Ci(t); } var xs = wr(function (t, e, n) { Pi(t, e, n); }), Ms = wr(function (t, e, n, i) { Pi(t, e, n, i); }), Es = Hr(function (t, e) { var n = {}; if (null == t) return n; var i = !1; (e = he(e, function (e) { return (e = sr(e, t)), i || (i = e.length > 1), e; })), yr(t, qr(t), n), i && (n = Zn(n, 7, zr)); for (var r = e.length; r--; ) $i(n, e[r]); return n; }); var Cs = Hr(function (t, e) { return null == t ? {} : (function (t, e) { return Di(t, e, function (e, n) { return gs(t, n); }); })(t, e); }); function As(t, e) { if (null == t) return {}; var n = he(qr(t), function (t) { return [t]; }); return ( (e = Zr(e)), Di(t, n, function (t, n) { return e(t, n[0]); }) ); } var Ts = Vr(ws), Os = Vr(Ss); function _s(t) { return null == t ? [] : Ie(t, ws(t)); } var Ps = Er(function (t, e, n) { return (e = e.toLowerCase()), t + (n ? Is(e) : e); }); function Is(t) { return Fs(ss(t).toLowerCase()); } function ks(t) { return (t = ss(t)) && t.replace(lt, Ne).replace(Dt, ''); } var Ds = Er(function (t, e, n) { return t + (n ? '-' : '') + e.toLowerCase(); }), Rs = Er(function (t, e, n) { return t + (n ? ' ' : '') + e.toLowerCase(); }), Ls = Mr('toLowerCase'); var Ns = Er(function (t, e, n) { return t + (n ? '_' : '') + e.toLowerCase(); }); var js = Er(function (t, e, n) { return t + (n ? ' ' : '') + Fs(e); }); var Vs = Er(function (t, e, n) { return t + (n ? ' ' : '') + e.toUpperCase(); }), Fs = Mr('toUpperCase'); function Us(t, e, n) { return ( (t = ss(t)), void 0 === (e = n ? void 0 : e) ? (function (t) { return jt.test(t); })(t) ? (function (t) { return t.match(Lt) || []; })(t) : (function (t) { return t.match(tt) || []; })(t) : t.match(e) || [] ); } var Bs = Vi(function (t, e) { try { return oe(t, void 0, e); } catch (t) { return Fa(t) ? t : new pt(t); } }), zs = Hr(function (t, e) { return ( se(e, function (e) { (e = Ao(e)), Xn(t, e, ya(t[e], t)); }), t ); }); function Gs(t) { return function () { return t; }; } var Hs = Tr(), Ws = Tr(!0); function qs(t) { return t; } function Xs(t) { return Mi('function' == typeof t ? t : Zn(t, 1)); } var Ys = Vi(function (t, e) { return function (n) { return yi(n, t, e); }; }), Ks = Vi(function (t, e) { return function (n) { return yi(t, n, e); }; }); function Zs(t, e, n) { var i = ws(e), r = ui(e, i); null != n || (Ga(e) && (r.length || !i.length)) || ((n = e), (e = t), (t = this), (r = ui(e, ws(e)))); var o = !(Ga(n) && 'chain' in n && !n.chain), a = Ua(t); return ( se(r, function (n) { var i = e[n]; (t[n] = i), a && (t.prototype[n] = function () { var e = this.__chain__; if (o || e) { var n = t(this.__wrapped__), r = (n.__actions__ = vr(this.__actions__)); return ( r.push({ func: i, args: arguments, thisArg: t, }), (n.__chain__ = e), n ); } return i.apply(t, fe([this.value()], arguments)); }); }), t ); } function Js() {} var Qs = Ir(he), $s = Ir(le), tc = Ir(ve); function ec(t) { return co(t) ? Ce(Ao(t)) : (function (t) { return function (e) { return di(e, t); }; })(t); } var nc = Dr(), ic = Dr(!0); function rc() { return []; } function oc() { return !1; } var ac = Pr(function (t, e) { return t + e; }, 0), sc = Nr('ceil'), cc = Pr(function (t, e) { return t / e; }, 1), lc = Nr('floor'); var uc, dc = Pr(function (t, e) { return t * e; }, 1), pc = Nr('round'), hc = Pr(function (t, e) { return t - e; }, 0); return ( (On.after = function (t, e) { if ('function' != typeof e) throw new yt(o); return ( (t = is(t)), function () { if (--t < 1) return e.apply(this, arguments); } ); }), (On.ary = ga), (On.assign = cs), (On.assignIn = ls), (On.assignInWith = us), (On.assignWith = ds), (On.at = ps), (On.before = va), (On.bind = ya), (On.bindAll = zs), (On.bindKey = ba), (On.castArray = function () { if (!arguments.length) return []; var t = arguments[0]; return Da(t) ? t : [t]; }), (On.chain = ea), (On.chunk = function (t, e, n) { e = (n ? so(t, e, n) : void 0 === e) ? 1 : an(is(e), 0); var r = null == t ? 0 : t.length; if (!r || e < 1) return []; for (var o = 0, a = 0, s = i(Qe(r / e)); o < r; ) s[a++] = Wi(t, o, (o += e)); return s; }), (On.compact = function (t) { for (var e = -1, n = null == t ? 0 : t.length, i = 0, r = []; ++e < n; ) { var o = t[e]; o && (r[i++] = o); } return r; }), (On.concat = function () { var t = arguments.length; if (!t) return []; for (var e = i(t - 1), n = arguments[0], r = t; r--; ) e[r - 1] = arguments[r]; return fe(Da(n) ? vr(n) : [n], oi(e, 1)); }), (On.cond = function (t) { var e = null == t ? 0 : t.length, n = Zr(); return ( (t = e ? he(t, function (t) { if ('function' != typeof t[1]) throw new yt(o); return [n(t[0]), t[1]]; }) : []), Vi(function (n) { for (var i = -1; ++i < e; ) { var r = t[i]; if (oe(r[0], this, n)) return oe(r[1], this, n); } }) ); }), (On.conforms = function (t) { return (function (t) { var e = ws(t); return function (n) { return Jn(n, t, e); }; })(Zn(t, 1)); }), (On.constant = Gs), (On.countBy = ra), (On.create = function (t, e) { var n = _n(t); return null == e ? n : qn(n, e); }), (On.curry = function t(e, n, i) { var r = Fr(e, 8, void 0, void 0, void 0, void 0, void 0, (n = i ? void 0 : n)); return (r.placeholder = t.placeholder), r; }), (On.curryRight = function t(e, n, i) { var r = Fr(e, 16, void 0, void 0, void 0, void 0, void 0, (n = i ? void 0 : n)); return (r.placeholder = t.placeholder), r; }), (On.debounce = wa), (On.defaults = hs), (On.defaultsDeep = fs), (On.defer = Sa), (On.delay = xa), (On.difference = _o), (On.differenceBy = Po), (On.differenceWith = Io), (On.drop = function (t, e, n) { var i = null == t ? 0 : t.length; return i ? Wi(t, (e = n || void 0 === e ? 1 : is(e)) < 0 ? 0 : e, i) : []; }), (On.dropRight = function (t, e, n) { var i = null == t ? 0 : t.length; return i ? Wi(t, 0, (e = i - (e = n || void 0 === e ? 1 : is(e))) < 0 ? 0 : e) : []; }), (On.dropRightWhile = function (t, e) { return t && t.length ? er(t, Zr(e, 3), !0, !0) : []; }), (On.dropWhile = function (t, e) { return t && t.length ? er(t, Zr(e, 3), !0) : []; }), (On.fill = function (t, e, n, i) { var r = null == t ? 0 : t.length; return r ? (n && 'number' != typeof n && so(t, e, n) && ((n = 0), (i = r)), (function (t, e, n, i) { var r = t.length; for ((n = is(n)) < 0 && (n = -n > r ? 0 : r + n), (i = void 0 === i || i > r ? r : is(i)) < 0 && (i += r), i = n > i ? 0 : rs(i); n < i; ) t[n++] = e; return t; })(t, e, n, i)) : []; }), (On.filter = function (t, e) { return (Da(t) ? ue : ri)(t, Zr(e, 3)); }), (On.flatMap = function (t, e) { return oi(pa(t, e), 1); }), (On.flatMapDeep = function (t, e) { return oi(pa(t, e), 1 / 0); }), (On.flatMapDepth = function (t, e, n) { return (n = void 0 === n ? 1 : is(n)), oi(pa(t, e), n); }), (On.flatten = Ro), (On.flattenDeep = function (t) { return (null == t ? 0 : t.length) ? oi(t, 1 / 0) : []; }), (On.flattenDepth = function (t, e) { return (null == t ? 0 : t.length) ? oi(t, (e = void 0 === e ? 1 : is(e))) : []; }), (On.flip = function (t) { return Fr(t, 512); }), (On.flow = Hs), (On.flowRight = Ws), (On.fromPairs = function (t) { for (var e = -1, n = null == t ? 0 : t.length, i = {}; ++e < n; ) { var r = t[e]; i[r[0]] = r[1]; } return i; }), (On.functions = function (t) { return null == t ? [] : ui(t, ws(t)); }), (On.functionsIn = function (t) { return null == t ? [] : ui(t, Ss(t)); }), (On.groupBy = la), (On.initial = function (t) { return (null == t ? 0 : t.length) ? Wi(t, 0, -1) : []; }), (On.intersection = No), (On.intersectionBy = jo), (On.intersectionWith = Vo), (On.invert = vs), (On.invertBy = ys), (On.invokeMap = ua), (On.iteratee = Xs), (On.keyBy = da), (On.keys = ws), (On.keysIn = Ss), (On.map = pa), (On.mapKeys = function (t, e) { var n = {}; return ( (e = Zr(e, 3)), ci(t, function (t, i, r) { Xn(n, e(t, i, r), t); }), n ); }), (On.mapValues = function (t, e) { var n = {}; return ( (e = Zr(e, 3)), ci(t, function (t, i, r) { Xn(n, i, e(t, i, r)); }), n ); }), (On.matches = function (t) { return Oi(Zn(t, 1)); }), (On.matchesProperty = function (t, e) { return _i(t, Zn(e, 1)); }), (On.memoize = Ma), (On.merge = xs), (On.mergeWith = Ms), (On.method = Ys), (On.methodOf = Ks), (On.mixin = Zs), (On.negate = Ea), (On.nthArg = function (t) { return ( (t = is(t)), Vi(function (e) { return Ii(e, t); }) ); }), (On.omit = Es), (On.omitBy = function (t, e) { return As(t, Ea(Zr(e))); }), (On.once = function (t) { return va(2, t); }), (On.orderBy = function (t, e, n, i) { return null == t ? [] : (Da(e) || (e = null == e ? [] : [e]), Da((n = i ? void 0 : n)) || (n = null == n ? [] : [n]), ki(t, e, n)); }), (On.over = Qs), (On.overArgs = Ca), (On.overEvery = $s), (On.overSome = tc), (On.partial = Aa), (On.partialRight = Ta), (On.partition = ha), (On.pick = Cs), (On.pickBy = As), (On.property = ec), (On.propertyOf = function (t) { return function (e) { return null == t ? void 0 : di(t, e); }; }), (On.pull = Uo), (On.pullAll = Bo), (On.pullAllBy = function (t, e, n) { return t && t.length && e && e.length ? Ri(t, e, Zr(n, 2)) : t; }), (On.pullAllWith = function (t, e, n) { return t && t.length && e && e.length ? Ri(t, e, void 0, n) : t; }), (On.pullAt = zo), (On.range = nc), (On.rangeRight = ic), (On.rearg = Oa), (On.reject = function (t, e) { return (Da(t) ? ue : ri)(t, Ea(Zr(e, 3))); }), (On.remove = function (t, e) { var n = []; if (!t || !t.length) return n; var i = -1, r = [], o = t.length; for (e = Zr(e, 3); ++i < o; ) { var a = t[i]; e(a, i, t) && (n.push(a), r.push(i)); } return Li(t, r), n; }), (On.rest = function (t, e) { if ('function' != typeof t) throw new yt(o); return Vi(t, (e = void 0 === e ? e : is(e))); }), (On.reverse = Go), (On.sampleSize = function (t, e, n) { return (e = (n ? so(t, e, n) : void 0 === e) ? 1 : is(e)), (Da(t) ? Un : Ui)(t, e); }), (On.set = function (t, e, n) { return null == t ? t : Bi(t, e, n); }), (On.setWith = function (t, e, n, i) { return (i = 'function' == typeof i ? i : void 0), null == t ? t : Bi(t, e, n, i); }), (On.shuffle = function (t) { return (Da(t) ? Bn : Hi)(t); }), (On.slice = function (t, e, n) { var i = null == t ? 0 : t.length; return i ? (n && 'number' != typeof n && so(t, e, n) ? ((e = 0), (n = i)) : ((e = null == e ? 0 : is(e)), (n = void 0 === n ? i : is(n))), Wi(t, e, n)) : []; }), (On.sortBy = fa), (On.sortedUniq = function (t) { return t && t.length ? Ki(t) : []; }), (On.sortedUniqBy = function (t, e) { return t && t.length ? Ki(t, Zr(e, 2)) : []; }), (On.split = function (t, e, n) { return ( n && 'number' != typeof n && so(t, e, n) && (e = n = void 0), (n = void 0 === n ? 4294967295 : n >>> 0) ? ((t = ss(t)) && ('string' == typeof e || (null != e && !Ya(e))) && !(e = Ji(e)) && Fe(t) ? lr(qe(t), 0, n) : t.split(e, n)) : [] ); }), (On.spread = function (t, e) { if ('function' != typeof t) throw new yt(o); return ( (e = null == e ? 0 : an(is(e), 0)), Vi(function (n) { var i = n[e], r = lr(n, 0, e); return i && fe(r, i), oe(t, this, r); }) ); }), (On.tail = function (t) { var e = null == t ? 0 : t.length; return e ? Wi(t, 1, e) : []; }), (On.take = function (t, e, n) { return t && t.length ? Wi(t, 0, (e = n || void 0 === e ? 1 : is(e)) < 0 ? 0 : e) : []; }), (On.takeRight = function (t, e, n) { var i = null == t ? 0 : t.length; return i ? Wi(t, (e = i - (e = n || void 0 === e ? 1 : is(e))) < 0 ? 0 : e, i) : []; }), (On.takeRightWhile = function (t, e) { return t && t.length ? er(t, Zr(e, 3), !1, !0) : []; }), (On.takeWhile = function (t, e) { return t && t.length ? er(t, Zr(e, 3)) : []; }), (On.tap = function (t, e) { return e(t), t; }), (On.throttle = function (t, e, n) { var i = !0, r = !0; if ('function' != typeof t) throw new yt(o); return ( Ga(n) && ((i = 'leading' in n ? !!n.leading : i), (r = 'trailing' in n ? !!n.trailing : r)), wa(t, e, { leading: i, maxWait: e, trailing: r, }) ); }), (On.thru = na), (On.toArray = es), (On.toPairs = Ts), (On.toPairsIn = Os), (On.toPath = function (t) { return Da(t) ? he(t, Ao) : Ja(t) ? [t] : vr(Co(ss(t))); }), (On.toPlainObject = as), (On.transform = function (t, e, n) { var i = Da(t), r = i || ja(t) || Qa(t); if (((e = Zr(e, 4)), null == n)) { var o = t && t.constructor; n = r ? (i ? new o() : []) : Ga(t) && Ua(o) ? _n(Wt(t)) : {}; } return ( (r ? se : ci)(t, function (t, i, r) { return e(n, t, i, r); }), n ); }), (On.unary = function (t) { return ga(t, 1); }), (On.union = Ho), (On.unionBy = Wo), (On.unionWith = qo), (On.uniq = function (t) { return t && t.length ? Qi(t) : []; }), (On.uniqBy = function (t, e) { return t && t.length ? Qi(t, Zr(e, 2)) : []; }), (On.uniqWith = function (t, e) { return (e = 'function' == typeof e ? e : void 0), t && t.length ? Qi(t, void 0, e) : []; }), (On.unset = function (t, e) { return null == t || $i(t, e); }), (On.unzip = Xo), (On.unzipWith = Yo), (On.update = function (t, e, n) { return null == t ? t : tr(t, e, ar(n)); }), (On.updateWith = function (t, e, n, i) { return (i = 'function' == typeof i ? i : void 0), null == t ? t : tr(t, e, ar(n), i); }), (On.values = _s), (On.valuesIn = function (t) { return null == t ? [] : Ie(t, Ss(t)); }), (On.without = Ko), (On.words = Us), (On.wrap = function (t, e) { return Aa(ar(e), t); }), (On.xor = Zo), (On.xorBy = Jo), (On.xorWith = Qo), (On.zip = $o), (On.zipObject = function (t, e) { return rr(t || [], e || [], Gn); }), (On.zipObjectDeep = function (t, e) { return rr(t || [], e || [], Bi); }), (On.zipWith = ta), (On.entries = Ts), (On.entriesIn = Os), (On.extend = ls), (On.extendWith = us), Zs(On, On), (On.add = ac), (On.attempt = Bs), (On.camelCase = Ps), (On.capitalize = Is), (On.ceil = sc), (On.clamp = function (t, e, n) { return void 0 === n && ((n = e), (e = void 0)), void 0 !== n && (n = (n = os(n)) == n ? n : 0), void 0 !== e && (e = (e = os(e)) == e ? e : 0), Kn(os(t), e, n); }), (On.clone = function (t) { return Zn(t, 4); }), (On.cloneDeep = function (t) { return Zn(t, 5); }), (On.cloneDeepWith = function (t, e) { return Zn(t, 5, (e = 'function' == typeof e ? e : void 0)); }), (On.cloneWith = function (t, e) { return Zn(t, 4, (e = 'function' == typeof e ? e : void 0)); }), (On.conformsTo = function (t, e) { return null == e || Jn(t, e, ws(e)); }), (On.deburr = ks), (On.defaultTo = function (t, e) { return null == t || t != t ? e : t; }), (On.divide = cc), (On.endsWith = function (t, e, n) { (t = ss(t)), (e = Ji(e)); var i = t.length, r = (n = void 0 === n ? i : Kn(is(n), 0, i)); return (n -= e.length) >= 0 && t.slice(n, r) == e; }), (On.eq = _a), (On.escape = function (t) { return (t = ss(t)) && F.test(t) ? t.replace(j, je) : t; }), (On.escapeRegExp = function (t) { return (t = ss(t)) && X.test(t) ? t.replace(q, '\\$&') : t; }), (On.every = function (t, e, n) { var i = Da(t) ? le : ni; return n && so(t, e, n) && (e = void 0), i(t, Zr(e, 3)); }), (On.find = oa), (On.findIndex = ko), (On.findKey = function (t, e) { return be(t, Zr(e, 3), ci); }), (On.findLast = aa), (On.findLastIndex = Do), (On.findLastKey = function (t, e) { return be(t, Zr(e, 3), li); }), (On.floor = lc), (On.forEach = sa), (On.forEachRight = ca), (On.forIn = function (t, e) { return null == t ? t : ai(t, Zr(e, 3), Ss); }), (On.forInRight = function (t, e) { return null == t ? t : si(t, Zr(e, 3), Ss); }), (On.forOwn = function (t, e) { return t && ci(t, Zr(e, 3)); }), (On.forOwnRight = function (t, e) { return t && li(t, Zr(e, 3)); }), (On.get = ms), (On.gt = Pa), (On.gte = Ia), (On.has = function (t, e) { return null != t && io(t, e, mi); }), (On.hasIn = gs), (On.head = Lo), (On.identity = qs), (On.includes = function (t, e, n, i) { (t = La(t) ? t : _s(t)), (n = n && !i ? is(n) : 0); var r = t.length; return n < 0 && (n = an(r + n, 0)), Za(t) ? n <= r && t.indexOf(e, n) > -1 : !!r && Se(t, e, n) > -1; }), (On.indexOf = function (t, e, n) { var i = null == t ? 0 : t.length; if (!i) return -1; var r = null == n ? 0 : is(n); return r < 0 && (r = an(i + r, 0)), Se(t, e, r); }), (On.inRange = function (t, e, n) { return ( (e = ns(e)), void 0 === n ? ((n = e), (e = 0)) : (n = ns(n)), (function (t, e, n) { return t >= sn(e, n) && t < an(e, n); })((t = os(t)), e, n) ); }), (On.invoke = bs), (On.isArguments = ka), (On.isArray = Da), (On.isArrayBuffer = Ra), (On.isArrayLike = La), (On.isArrayLikeObject = Na), (On.isBoolean = function (t) { return !0 === t || !1 === t || (Ha(t) && hi(t) == u); }), (On.isBuffer = ja), (On.isDate = Va), (On.isElement = function (t) { return Ha(t) && 1 === t.nodeType && !Xa(t); }), (On.isEmpty = function (t) { if (null == t) return !0; if (La(t) && (Da(t) || 'string' == typeof t || 'function' == typeof t.splice || ja(t) || Qa(t) || ka(t))) return !t.length; var e = no(t); if (e == m || e == b) return !t.size; if (po(t)) return !Ei(t).length; for (var n in t) if (Et.call(t, n)) return !1; return !0; }), (On.isEqual = function (t, e) { return wi(t, e); }), (On.isEqualWith = function (t, e, n) { var i = (n = 'function' == typeof n ? n : void 0) ? n(t, e) : void 0; return void 0 === i ? wi(t, e, void 0, n) : !!i; }), (On.isError = Fa), (On.isFinite = function (t) { return 'number' == typeof t && nn(t); }), (On.isFunction = Ua), (On.isInteger = Ba), (On.isLength = za), (On.isMap = Wa), (On.isMatch = function (t, e) { return t === e || Si(t, e, Qr(e)); }), (On.isMatchWith = function (t, e, n) { return (n = 'function' == typeof n ? n : void 0), Si(t, e, Qr(e), n); }), (On.isNaN = function (t) { return qa(t) && t != +t; }), (On.isNative = function (t) { if (uo(t)) throw new pt('Unsupported core-js use. Try https://npms.io/search?q=ponyfill.'); return xi(t); }), (On.isNil = function (t) { return null == t; }), (On.isNull = function (t) { return null === t; }), (On.isNumber = qa), (On.isObject = Ga), (On.isObjectLike = Ha), (On.isPlainObject = Xa), (On.isRegExp = Ya), (On.isSafeInteger = function (t) { return Ba(t) && t >= -9007199254740991 && t <= 9007199254740991; }), (On.isSet = Ka), (On.isString = Za), (On.isSymbol = Ja), (On.isTypedArray = Qa), (On.isUndefined = function (t) { return void 0 === t; }), (On.isWeakMap = function (t) { return Ha(t) && no(t) == x; }), (On.isWeakSet = function (t) { return Ha(t) && '[object WeakSet]' == hi(t); }), (On.join = function (t, e) { return null == t ? '' : rn.call(t, e); }), (On.kebabCase = Ds), (On.last = Fo), (On.lastIndexOf = function (t, e, n) { var i = null == t ? 0 : t.length; if (!i) return -1; var r = i; return ( void 0 !== n && (r = (r = is(n)) < 0 ? an(i + r, 0) : sn(r, i - 1)), e == e ? (function (t, e, n) { for (var i = n + 1; i--; ) if (t[i] === e) return i; return i; })(t, e, r) : we(t, Me, r, !0) ); }), (On.lowerCase = Rs), (On.lowerFirst = Ls), (On.lt = $a), (On.lte = ts), (On.max = function (t) { return t && t.length ? ii(t, qs, fi) : void 0; }), (On.maxBy = function (t, e) { return t && t.length ? ii(t, Zr(e, 2), fi) : void 0; }), (On.mean = function (t) { return Ee(t, qs); }), (On.meanBy = function (t, e) { return Ee(t, Zr(e, 2)); }), (On.min = function (t) { return t && t.length ? ii(t, qs, Ai) : void 0; }), (On.minBy = function (t, e) { return t && t.length ? ii(t, Zr(e, 2), Ai) : void 0; }), (On.stubArray = rc), (On.stubFalse = oc), (On.stubObject = function () { return {}; }), (On.stubString = function () { return ''; }), (On.stubTrue = function () { return !0; }), (On.multiply = dc), (On.nth = function (t, e) { return t && t.length ? Ii(t, is(e)) : void 0; }), (On.noConflict = function () { return Xt._ === this && (Xt._ = _t), this; }), (On.noop = Js), (On.now = ma), (On.pad = function (t, e, n) { t = ss(t); var i = (e = is(e)) ? We(t) : 0; if (!e || i >= e) return t; var r = (e - i) / 2; return kr($e(r), n) + t + kr(Qe(r), n); }), (On.padEnd = function (t, e, n) { t = ss(t); var i = (e = is(e)) ? We(t) : 0; return e && i < e ? t + kr(e - i, n) : t; }), (On.padStart = function (t, e, n) { t = ss(t); var i = (e = is(e)) ? We(t) : 0; return e && i < e ? kr(e - i, n) + t : t; }), (On.parseInt = function (t, e, n) { return n || null == e ? (e = 0) : e && (e = +e), ln(ss(t).replace(K, ''), e || 0); }), (On.random = function (t, e, n) { if ( (n && 'boolean' != typeof n && so(t, e, n) && (e = n = void 0), void 0 === n && ('boolean' == typeof e ? ((n = e), (e = void 0)) : 'boolean' == typeof t && ((n = t), (t = void 0))), void 0 === t && void 0 === e ? ((t = 0), (e = 1)) : ((t = ns(t)), void 0 === e ? ((e = t), (t = 0)) : (e = ns(e))), t > e) ) { var i = t; (t = e), (e = i); } if (n || t % 1 || e % 1) { var r = un(); return sn(t + r * (e - t + Gt('1e-' + ((r + '').length - 1))), e); } return Ni(t, e); }), (On.reduce = function (t, e, n) { var i = Da(t) ? me : Te, r = arguments.length < 3; return i(t, Zr(e, 4), n, r, ti); }), (On.reduceRight = function (t, e, n) { var i = Da(t) ? ge : Te, r = arguments.length < 3; return i(t, Zr(e, 4), n, r, ei); }), (On.repeat = function (t, e, n) { return (e = (n ? so(t, e, n) : void 0 === e) ? 1 : is(e)), ji(ss(t), e); }), (On.replace = function () { var t = arguments, e = ss(t[0]); return t.length < 3 ? e : e.replace(t[1], t[2]); }), (On.result = function (t, e, n) { var i = -1, r = (e = sr(e, t)).length; for (r || ((r = 1), (t = void 0)); ++i < r; ) { var o = null == t ? void 0 : t[Ao(e[i])]; void 0 === o && ((i = r), (o = n)), (t = Ua(o) ? o.call(t) : o); } return t; }), (On.round = pc), (On.runInContext = t), (On.sample = function (t) { return (Da(t) ? Fn : Fi)(t); }), (On.size = function (t) { if (null == t) return 0; if (La(t)) return Za(t) ? We(t) : t.length; var e = no(t); return e == m || e == b ? t.size : Ei(t).length; }), (On.snakeCase = Ns), (On.some = function (t, e, n) { var i = Da(t) ? ve : qi; return n && so(t, e, n) && (e = void 0), i(t, Zr(e, 3)); }), (On.sortedIndex = function (t, e) { return Xi(t, e); }), (On.sortedIndexBy = function (t, e, n) { return Yi(t, e, Zr(n, 2)); }), (On.sortedIndexOf = function (t, e) { var n = null == t ? 0 : t.length; if (n) { var i = Xi(t, e); if (i < n && _a(t[i], e)) return i; } return -1; }), (On.sortedLastIndex = function (t, e) { return Xi(t, e, !0); }), (On.sortedLastIndexBy = function (t, e, n) { return Yi(t, e, Zr(n, 2), !0); }), (On.sortedLastIndexOf = function (t, e) { if (null == t ? 0 : t.length) { var n = Xi(t, e, !0) - 1; if (_a(t[n], e)) return n; } return -1; }), (On.startCase = js), (On.startsWith = function (t, e, n) { return (t = ss(t)), (n = null == n ? 0 : Kn(is(n), 0, t.length)), (e = Ji(e)), t.slice(n, n + e.length) == e; }), (On.subtract = hc), (On.sum = function (t) { return t && t.length ? Oe(t, qs) : 0; }), (On.sumBy = function (t, e) { return t && t.length ? Oe(t, Zr(e, 2)) : 0; }), (On.template = function (t, e, n) { var i = On.templateSettings; n && so(t, e, n) && (e = void 0), (t = ss(t)), (e = us({}, e, i, Ur)); var r, o, a = us({}, e.imports, i.imports, Ur), s = ws(a), c = Ie(a, s), l = 0, u = e.interpolate || ut, d = "__p += '", p = gt((e.escape || ut).source + '|' + u.source + '|' + (u === z ? nt : ut).source + '|' + (e.evaluate || ut).source + '|$', 'g'), h = '//# sourceURL=' + (Et.call(e, 'sourceURL') ? (e.sourceURL + '').replace(/\s/g, ' ') : 'lodash.templateSources[' + ++Ft + ']') + '\n'; t.replace(p, function (e, n, i, a, s, c) { return ( i || (i = a), (d += t.slice(l, c).replace(dt, Ve)), n && ((r = !0), (d += "' +\n__e(" + n + ") +\n'")), s && ((o = !0), (d += "';\n" + s + ";\n__p += '")), i && (d += "' +\n((__t = (" + i + ")) == null ? '' : __t) +\n'"), (l = c + e.length), e ); }), (d += "';\n"); var f = Et.call(e, 'variable') && e.variable; f || (d = 'with (obj) {\n' + d + '\n}\n'), (d = (o ? d.replace(D, '') : d).replace(R, '$1').replace(L, '$1;')), (d = 'function(' + (f || 'obj') + ') {\n' + (f ? '' : 'obj || (obj = {});\n') + "var __t, __p = ''" + (r ? ', __e = _.escape' : '') + (o ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" : ';\n') + d + 'return __p\n}'); var m = Bs(function () { return ht(s, h + 'return ' + d).apply(void 0, c); }); if (((m.source = d), Fa(m))) throw m; return m; }), (On.times = function (t, e) { if ((t = is(t)) < 1 || t > 9007199254740991) return []; var n = 4294967295, i = sn(t, 4294967295); t -= 4294967295; for (var r = _e(i, (e = Zr(e))); ++n < t; ) e(n); return r; }), (On.toFinite = ns), (On.toInteger = is), (On.toLength = rs), (On.toLower = function (t) { return ss(t).toLowerCase(); }), (On.toNumber = os), (On.toSafeInteger = function (t) { return t ? Kn(is(t), -9007199254740991, 9007199254740991) : 0 === t ? t : 0; }), (On.toString = ss), (On.toUpper = function (t) { return ss(t).toUpperCase(); }), (On.trim = function (t, e, n) { if ((t = ss(t)) && (n || void 0 === e)) return t.replace(Y, ''); if (!t || !(e = Ji(e))) return t; var i = qe(t), r = qe(e); return lr(i, De(i, r), Re(i, r) + 1).join(''); }), (On.trimEnd = function (t, e, n) { if ((t = ss(t)) && (n || void 0 === e)) return t.replace(Z, ''); if (!t || !(e = Ji(e))) return t; var i = qe(t); return lr(i, 0, Re(i, qe(e)) + 1).join(''); }), (On.trimStart = function (t, e, n) { if ((t = ss(t)) && (n || void 0 === e)) return t.replace(K, ''); if (!t || !(e = Ji(e))) return t; var i = qe(t); return lr(i, De(i, qe(e))).join(''); }), (On.truncate = function (t, e) { var n = 30, i = '...'; if (Ga(e)) { var r = 'separator' in e ? e.separator : r; (n = 'length' in e ? is(e.length) : n), (i = 'omission' in e ? Ji(e.omission) : i); } var o = (t = ss(t)).length; if (Fe(t)) { var a = qe(t); o = a.length; } if (n >= o) return t; var s = n - We(i); if (s < 1) return i; var c = a ? lr(a, 0, s).join('') : t.slice(0, s); if (void 0 === r) return c + i; if ((a && (s += c.length - s), Ya(r))) { if (t.slice(s).search(r)) { var l, u = c; for (r.global || (r = gt(r.source, ss(it.exec(r)) + 'g')), r.lastIndex = 0; (l = r.exec(u)); ) var d = l.index; c = c.slice(0, void 0 === d ? s : d); } } else if (t.indexOf(Ji(r), s) != s) { var p = c.lastIndexOf(r); p > -1 && (c = c.slice(0, p)); } return c + i; }), (On.unescape = function (t) { return (t = ss(t)) && V.test(t) ? t.replace(N, Xe) : t; }), (On.uniqueId = function (t) { var e = ++Ct; return ss(t) + e; }), (On.upperCase = Vs), (On.upperFirst = Fs), (On.each = sa), (On.eachRight = ca), (On.first = Lo), Zs( On, ((uc = {}), ci(On, function (t, e) { Et.call(On.prototype, e) || (uc[e] = t); }), uc), { chain: !1, } ), (On.VERSION = '4.17.19'), se(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], function (t) { On[t].placeholder = On; }), se(['drop', 'take'], function (t, e) { (kn.prototype[t] = function (n) { n = void 0 === n ? 1 : an(is(n), 0); var i = this.__filtered__ && !e ? new kn(this) : this.clone(); return ( i.__filtered__ ? (i.__takeCount__ = sn(n, i.__takeCount__)) : i.__views__.push({ size: sn(n, 4294967295), type: t + (i.__dir__ < 0 ? 'Right' : ''), }), i ); }), (kn.prototype[t + 'Right'] = function (e) { return this.reverse()[t](e).reverse(); }); }), se(['filter', 'map', 'takeWhile'], function (t, e) { var n = e + 1, i = 1 == n || 3 == n; kn.prototype[t] = function (t) { var e = this.clone(); return ( e.__iteratees__.push({ iteratee: Zr(t, 3), type: n, }), (e.__filtered__ = e.__filtered__ || i), e ); }; }), se(['head', 'last'], function (t, e) { var n = 'take' + (e ? 'Right' : ''); kn.prototype[t] = function () { return this[n](1).value()[0]; }; }), se(['initial', 'tail'], function (t, e) { var n = 'drop' + (e ? '' : 'Right'); kn.prototype[t] = function () { return this.__filtered__ ? new kn(this) : this[n](1); }; }), (kn.prototype.compact = function () { return this.filter(qs); }), (kn.prototype.find = function (t) { return this.filter(t).head(); }), (kn.prototype.findLast = function (t) { return this.reverse().find(t); }), (kn.prototype.invokeMap = Vi(function (t, e) { return 'function' == typeof t ? new kn(this) : this.map(function (n) { return yi(n, t, e); }); })), (kn.prototype.reject = function (t) { return this.filter(Ea(Zr(t))); }), (kn.prototype.slice = function (t, e) { t = is(t); var n = this; return n.__filtered__ && (t > 0 || e < 0) ? new kn(n) : (t < 0 ? (n = n.takeRight(-t)) : t && (n = n.drop(t)), void 0 !== e && (n = (e = is(e)) < 0 ? n.dropRight(-e) : n.take(e - t)), n); }), (kn.prototype.takeRightWhile = function (t) { return this.reverse().takeWhile(t).reverse(); }), (kn.prototype.toArray = function () { return this.take(4294967295); }), ci(kn.prototype, function (t, e) { var n = /^(?:filter|find|map|reject)|While$/.test(e), i = /^(?:head|last)$/.test(e), r = On[i ? 'take' + ('last' == e ? 'Right' : '') : e], o = i || /^find/.test(e); r && (On.prototype[e] = function () { var e = this.__wrapped__, a = i ? [1] : arguments, s = e instanceof kn, c = a[0], l = s || Da(e), u = function (t) { var e = r.apply(On, fe([t], a)); return i && d ? e[0] : e; }; l && n && 'function' == typeof c && 1 != c.length && (s = l = !1); var d = this.__chain__, p = !!this.__actions__.length, h = o && !d, f = s && !p; if (!o && l) { e = f ? e : new kn(this); var m = t.apply(e, a); return ( m.__actions__.push({ func: na, args: [u], thisArg: void 0, }), new In(m, d) ); } return h && f ? t.apply(this, a) : ((m = this.thru(u)), h ? (i ? m.value()[0] : m.value()) : m); }); }), se(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], function (t) { var e = bt[t], n = /^(?:push|sort|unshift)$/.test(t) ? 'tap' : 'thru', i = /^(?:pop|shift)$/.test(t); On.prototype[t] = function () { var t = arguments; if (i && !this.__chain__) { var r = this.value(); return e.apply(Da(r) ? r : [], t); } return this[n](function (n) { return e.apply(Da(n) ? n : [], t); }); }; }), ci(kn.prototype, function (t, e) { var n = On[e]; if (n) { var i = n.name + ''; Et.call(bn, i) || (bn[i] = []), bn[i].push({ name: e, func: n, }); } }), (bn[Or(void 0, 2).name] = [ { name: 'wrapper', func: void 0, }, ]), (kn.prototype.clone = function () { var t = new kn(this.__wrapped__); return ( (t.__actions__ = vr(this.__actions__)), (t.__dir__ = this.__dir__), (t.__filtered__ = this.__filtered__), (t.__iteratees__ = vr(this.__iteratees__)), (t.__takeCount__ = this.__takeCount__), (t.__views__ = vr(this.__views__)), t ); }), (kn.prototype.reverse = function () { if (this.__filtered__) { var t = new kn(this); (t.__dir__ = -1), (t.__filtered__ = !0); } else (t = this.clone()).__dir__ *= -1; return t; }), (kn.prototype.value = function () { var t = this.__wrapped__.value(), e = this.__dir__, n = Da(t), i = e < 0, r = n ? t.length : 0, o = (function (t, e, n) { var i = -1, r = n.length; for (; ++i < r; ) { var o = n[i], a = o.size; switch (o.type) { case 'drop': t += a; break; case 'dropRight': e -= a; break; case 'take': e = sn(e, t + a); break; case 'takeRight': t = an(t, e - a); } } return { start: t, end: e, }; })(0, r, this.__views__), a = o.start, s = o.end, c = s - a, l = i ? s : a - 1, u = this.__iteratees__, d = u.length, p = 0, h = sn(c, this.__takeCount__); if (!n || (!i && r == c && h == c)) return nr(t, this.__actions__); var f = []; t: for (; c-- && p < h; ) { for (var m = -1, g = t[(l += e)]; ++m < d; ) { var v = u[m], y = v.iteratee, b = v.type, w = y(g); if (2 == b) g = w; else if (!w) { if (1 == b) continue t; break t; } } f[p++] = g; } return f; }), (On.prototype.at = ia), (On.prototype.chain = function () { return ea(this); }), (On.prototype.commit = function () { return new In(this.value(), this.__chain__); }), (On.prototype.next = function () { void 0 === this.__values__ && (this.__values__ = es(this.value())); var t = this.__index__ >= this.__values__.length; return { done: t, value: t ? void 0 : this.__values__[this.__index__++], }; }), (On.prototype.plant = function (t) { for (var e, n = this; n instanceof Pn; ) { var i = Oo(n); (i.__index__ = 0), (i.__values__ = void 0), e ? (r.__wrapped__ = i) : (e = i); var r = i; n = n.__wrapped__; } return (r.__wrapped__ = t), e; }), (On.prototype.reverse = function () { var t = this.__wrapped__; if (t instanceof kn) { var e = t; return ( this.__actions__.length && (e = new kn(this)), (e = e.reverse()).__actions__.push({ func: na, args: [Go], thisArg: void 0, }), new In(e, this.__chain__) ); } return this.thru(Go); }), (On.prototype.toJSON = On.prototype.valueOf = On.prototype.value = function () { return nr(this.__wrapped__, this.__actions__); }), (On.prototype.first = On.prototype.head), Qt && (On.prototype[Qt] = function () { return this; }), On ); })(); (Xt._ = Ye), void 0 === (r = function () { return Ye; }.call(e, n, e, i)) || (i.exports = r); }.call(this)); }.call(this, n(213), n(452)(t))); }, function (t, e, n) { 'use strict'; Object.defineProperty(e, '__esModule', { value: !0, }), (e.handleWarning = function (t) { 0; }); }, function (t, e, n) { 'use strict'; var i = (this && this.__assign) || function () { return (i = Object.assign || function (t) { for (var e, n = 1, i = arguments.length; n < i; n++) for (var r in (e = arguments[n])) Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]); return t; }).apply(this, arguments); }, r = (this && this.__awaiter) || function (t, e, n, i) { return new (n || (n = Promise))(function (r, o) { function a(t) { try { c(i.next(t)); } catch (t) { o(t); } } function s(t) { try { c(i.throw(t)); } catch (t) { o(t); } } function c(t) { var e; t.done ? r(t.value) : ((e = t.value), e instanceof n ? e : new n(function (t) { t(e); })).then(a, s); } c((i = i.apply(t, e || [])).next()); }); }, o = (this && this.__generator) || function (t, e) { var n, i, r, o, a = { label: 0, sent: function () { if (1 & r[0]) throw r[1]; return r[1]; }, trys: [], ops: [], }; return ( (o = { next: s(0), throw: s(1), return: s(2), }), 'function' == typeof Symbol && (o[Symbol.iterator] = function () { return this; }), o ); function s(o) { return function (s) { return (function (o) { if (n) throw new TypeError('Generator is already executing.'); for (; a; ) try { if (((n = 1), i && (r = 2 & o[0] ? i.return : o[0] ? i.throw || ((r = i.return) && r.call(i), 0) : i.next) && !(r = r.call(i, o[1])).done)) return r; switch (((i = 0), r && (o = [2 & o[0], r.value]), o[0])) { case 0: case 1: r = o; break; case 4: return ( a.label++, { value: o[1], done: !1, } ); case 5: a.label++, (i = o[1]), (o = [0]); continue; case 7: (o = a.ops.pop()), a.trys.pop(); continue; default: if (!((r = a.trys), (r = r.length > 0 && r[r.length - 1]) || (6 !== o[0] && 2 !== o[0]))) { a = 0; continue; } if (3 === o[0] && (!r || (o[1] > r[0] && o[1] < r[3]))) { a.label = o[1]; break; } if (6 === o[0] && a.label < r[1]) { (a.label = r[1]), (r = o); break; } if (r && a.label < r[2]) { (a.label = r[2]), a.ops.push(o); break; } r[2] && a.ops.pop(), a.trys.pop(); continue; } o = e.call(t, a); } catch (t) { (o = [6, t]), (i = 0); } finally { n = r = 0; } if (5 & o[0]) throw o[1]; return { value: o[0] ? o[1] : void 0, done: !0, }; })([o, s]); }; } }; Object.defineProperty(e, '__esModule', { value: !0, }); var a = n(2); n(72); n(72); var s = n(40), c = n(197), l = n(20), u = n(152), d = (n(41), n(6)), p = n(0), h = n(0), f = n(72), m = n(41), g = (function () { function t(t, e, n, i, r) { (this.$http = t), (this.apiEndpoint = e), (this.JWTTokenService = n), (this.$httpParamSerializer = i), (this.$http.defaults.headers.delete = { 'Content-Type': 'application/json', }), (this.errorWrapper = r.createDefaultWrapper()); } return ( (t.prototype.getApi = function (t, e, n, i) { var r = this; void 0 === i && (i = !0); var o = { url: this.apiEndpoint + t, method: 'GET', params: e, withCredentials: !0, }; let matchingUrls = [ 'api/images', 'api/tiled_maps', 'api/site_model', //'api/site_model/within', //'api/site_model/within_polygon', 'api/search/site_model', 'api/search/poi', 'api/groups', 'api/license', 'api/user', //'api/users', 'api/route', 'status/health', 'api/configs', 'api/poi_type_groups', 'api/poi_types', //'api/site_model/closest' ]; for (let i = 0; i < matchingUrls.length; ++i) { if (o.url.indexOf(matchingUrls[i]) > -1) { //o.url = '../../indoor/'+sceneNum+'/'+o.url; o.url = '/indoor/' + sceneNum + '/' + o.url; } } console.log('url:' + o.url); //o.url = window.location.origin+o.url; //if(o.url.indexOf('api/site_model/closest')>-1||o.url.indexOf('api/images/')>-1||o.url.indexOf('api/site_model/within')>-1||o.url.indexOf('api/site_model/within_polygon')>-1||o.url.indexOf('api/search/site_model')>-1||o.url.indexOf('api/search/poi')>-1){ // o.url = '../../indoor/'+sceneNum+'/'+o.url; //} return ( (n = this.fillConfig(o, n)), this.request(n, i) .then(function (t) { return r.success(t); }) .catch(function (t) { return r.fail(t); }) ); }), (t.prototype.httpRequest = function (t, e) { var n = this; return ( void 0 === e && (e = !0), t.method || (t.method = 'GET'), this.request(t, e) .then(function (t) { return n.success(t); }) .catch(function (t) { return n.fail(t); }) ); }), (t.prototype.authorizedHttpRequest = function (t, e) { return void 0 === e && (e = !0), this.addAuthorizationHeader(t), this.httpRequest(t, e); }), (t.prototype.postApi = function (t, e, n, i) { var r = this; void 0 === i && (i = !0); var o = { url: this.apiEndpoint + t, method: 'POST', data: e, withCredentials: !0, }; return ( (n = this.fillConfig(o, n)), this.request(n, i) .then(function (t) { return r.success(t); }) .catch(function (t) { return r.fail(t); }) ); }), (t.prototype.putApi = function (t, e, n, i) { var r = this; void 0 === i && (i = !0); var o = { url: this.apiEndpoint + t, method: 'PUT', data: e, withCredentials: !0, }; return ( (n = this.fillConfig(o, n)), this.request(n, i) .then(function (t) { return r.success(t); }) .catch(function (t) { return r.fail(t); }) ); }), (t.prototype.deleteApi = function (t, e, n) { var i = this; void 0 === n && (n = !0); var r = { withCredentials: !0, url: this.apiEndpoint + t, method: 'DELETE', }; return ( (e = this.fillConfig(r, e)), this.request(e, n) .then(function (t) { return i.success(t); }) .catch(function (t) { return i.fail(t); }) ); }), (t.prototype.directDownload = function (t, e, n, i) { void 0 === i && (i = !0), (e[this.JWTTokenService.getJwtUrlParamKey()] = this.JWTTokenService.getJwt()); var r = this.$httpParamSerializer(e), //, o = u.getBaseUrl() + (i ? this.apiEndpoint + t : t); o = i ? this.apiEndpoint + t : t; n = o.substring(o.lastIndexOf('/') + 1); c.clickHiddenURL(o + '?' + r, n); }), (t.prototype.request = function (t, e) { return r(this, void 0, void 0, function () { return o(this, function (n) { return e ? [2, this.errorWrapper.wrap(l.wrapAngularJsPromise(this.$http(t)))] : [2, this.$http(t)]; }); }); }), (t.prototype.success = function (t) { return t && 200 === t.status ? (t.data ? t.data : t) : Promise.reject(t); }), (t.prototype.fail = function (t) { return 401 === t.status && this.JWTTokenService.eraseJwt(), Promise.reject(t); }), (t.prototype.fillConfig = function (t, e) { return (e = i(i({}, e), t)), this.addAuthorizationHeader(e), this.addCacheDisabler(e), this.addNullToUndefinedResponseTransformer(e), e; }), (t.prototype.addAuthorizationHeader = function (t) { this.JWTTokenService.getJwt() && (this.JWTTokenService.isNotExpired() ? ((t.headers = t.headers || {}), this.JWTTokenService.setJwtHeaderOnConfig(t.headers)) : this.JWTTokenService.eraseJwt()); }), (t.prototype.addCacheDisabler = function (t) { if (s.isBrowserIE()) { var e = t.params || {}; (e.browserCacheBuster = new Date().getTime()), (t.params = e); } }), (t.prototype.addNullToUndefinedResponseTransformer = function (e) { var n = this.$http.defaults.transformResponse, i = a.isArray(n) ? n : [n]; i.push(function (e) { return l.mapValuesDeep(e, function (e) { return t.nullTransformer(e); }); }), (e.transformResponse = i); }), (t.nullTransformer = function (t) { return null !== t ? t : void 0; }), (t.prototype.addAuthorizationQueryParameter = function (t) { var e = new URL(t, u.getBaseUrl()); this.JWTTokenService.setJwtOnUrl(e); var n = e.href.indexOf(t); return e.href.slice(n); }), (t.ɵfac = function (e) { return new (e || t)(h.ɵɵinject('$http'), h.ɵɵinject('apiEndpoint'), h.ɵɵinject(f.JWTTokenService), h.ɵɵinject('$httpParamSerializer'), h.ɵɵinject(m.ErrorService)); }), (t.ɵprov = h.ɵɵdefineInjectable({ token: t, factory: t.ɵfac, providedIn: 'root', })), t ); })(); (e.RestService = g), h.ɵsetClassMetadata( g, [ { type: p.Injectable, args: [ { providedIn: 'root', }, ], }, ], function () { return [ { type: void 0, decorators: [ { type: p.Inject, args: ['$http'], }, ], }, { type: void 0, decorators: [ { type: p.Inject, args: ['apiEndpoint'], }, ], }, { type: f.JWTTokenService, }, { type: void 0, decorators: [ { type: p.Inject, args: ['$httpParamSerializer'], }, ], }, { type: m.ErrorService, }, ]; }, null ), a.module('IVWebApp').service('RestService', d.downgradeInjectable(g)); }, function (t, e, n) { 'use strict'; t.exports = function (t) { var e = []; return ( (e.toString = function () { return this.map(function (e) { var n = (function (t, e) { var n = t[1] || '', i = t[3]; if (!i) return n; if (e && 'function' == typeof btoa) { var r = ((a = i), (s = btoa(unescape(encodeURIComponent(JSON.stringify(a))))), (c = 'sourceMappingURL=data:application/json;charset=utf-8;base64,'.concat(s)), '/*# '.concat(c, ' */')), o = i.sources.map(function (t) { return '/*# sourceURL='.concat(i.sourceRoot || '').concat(t, ' */'); }); return [n].concat(o).concat([r]).join('\n'); } var a, s, c; return [n].join('\n'); })(e, t); return e[2] ? '@media '.concat(e[2], ' {').concat(n, '}') : n; }).join(''); }), (e.i = function (t, n, i) { 'string' == typeof t && (t = [[null, t, '']]); var r = {}; if (i) for (var o = 0; o < this.length; o++) { var a = this[o][0]; null != a && (r[a] = !0); } for (var s = 0; s < t.length; s++) { var c = [].concat(t[s]); (i && r[c[0]]) || (n && (c[2] ? (c[2] = ''.concat(n, ' and ').concat(c[2])) : (c[2] = n)), e.push(c)); } }), e ); }; }, function (t, e, n) { 'use strict'; var i, r = function () { return void 0 === i && (i = Boolean(window && document && document.all && !window.atob)), i; }, o = (function () { var t = {}; return function (e) { if (void 0 === t[e]) { var n = document.querySelector(e); if (window.HTMLIFrameElement && n instanceof window.HTMLIFrameElement) try { n = n.contentDocument.head; } catch (t) { n = null; } t[e] = n; } return t[e]; }; })(), a = []; function s(t) { for (var e = -1, n = 0; n < a.length; n++) if (a[n].identifier === t) { e = n; break; } return e; } function c(t, e) { for (var n = {}, i = [], r = 0; r < t.length; r++) { var o = t[r], c = e.base ? o[0] + e.base : o[0], l = n[c] || 0, u = ''.concat(c, ' ').concat(l); n[c] = l + 1; var d = s(u), p = { css: o[1], media: o[2], sourceMap: o[3], }; -1 !== d ? (a[d].references++, a[d].updater(p)) : a.push({ identifier: u, updater: g(p, e), references: 1, }), i.push(u); } return i; } function l(t) { var e = document.createElement('style'), i = t.attributes || {}; if (void 0 === i.nonce) { var r = n.nc; r && (i.nonce = r); } if ( (Object.keys(i).forEach(function (t) { e.setAttribute(t, i[t]); }), 'function' == typeof t.insert) ) t.insert(e); else { var a = o(t.insert || 'head'); if (!a) throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); a.appendChild(e); } return e; } var u, d = ((u = []), function (t, e) { return (u[t] = e), u.filter(Boolean).join('\n'); }); function p(t, e, n, i) { var r = n ? '' : i.media ? '@media '.concat(i.media, ' {').concat(i.css, '}') : i.css; if (t.styleSheet) t.styleSheet.cssText = d(e, r); else { var o = document.createTextNode(r), a = t.childNodes; a[e] && t.removeChild(a[e]), a.length ? t.insertBefore(o, a[e]) : t.appendChild(o); } } function h(t, e, n) { var i = n.css, r = n.media, o = n.sourceMap; if ( (r ? t.setAttribute('media', r) : t.removeAttribute('media'), o && btoa && (i += '\n/*# sourceMappingURL=data:application/json;base64,'.concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))), ' */')), t.styleSheet) ) t.styleSheet.cssText = i; else { for (; t.firstChild; ) t.removeChild(t.firstChild); t.appendChild(document.createTextNode(i)); } } var f = null, m = 0; function g(t, e) { var n, i, r; if (e.singleton) { var o = m++; (n = f || (f = l(e))), (i = p.bind(null, n, o, !1)), (r = p.bind(null, n, o, !0)); } else (n = l(e)), (i = h.bind(null, n, e)), (r = function () { !(function (t) { if (null === t.parentNode) return !1; t.parentNode.removeChild(t); })(n); }); return ( i(t), function (e) { if (e) { if (e.css === t.css && e.media === t.media && e.sourceMap === t.sourceMap) return; i((t = e)); } else r(); } ); } t.exports = function (t, e) { (e = e || {}).singleton || 'boolean' == typeof e.singleton || (e.singleton = r()); var n = c((t = t || []), e); return function (t) { if (((t = t || []), '[object Array]' === Object.prototype.toString.call(t))) { for (var i = 0; i < n.length; i++) { var r = s(n[i]); a[r].references--; } for (var o = c(t, e), l = 0; l < n.length; l++) { var u = s(n[l]); 0 === a[u].references && (a[u].updater(), a.splice(u, 1)); } n = o; } }; }; }, function (t, e, n) { 'use strict'; n.d(e, 'a', function () { return u; }); var i = n(225), r = n(26), o = n(207), a = n(227); var s = n(126), c = n(282), l = n(84), u = (function () { function t(t) { (this._isScalar = !1), t && (this._subscribe = t); } return ( (t.prototype.lift = function (e) { var n = new t(); return (n.source = this), (n.operator = e), n; }), (t.prototype.subscribe = function (t, e, n) { var i = this.operator, s = (function (t, e, n) { if (t) { if (t instanceof r.a) return t; if (t[o.a]) return t[o.a](); } return t || e || n ? new r.a(t, e, n) : new r.a(a.a); })(t, e, n); if ( (i ? s.add(i.call(s, this.source)) : s.add(this.source || (l.a.useDeprecatedSynchronousErrorHandling && !s.syncErrorThrowable) ? this._subscribe(s) : this._trySubscribe(s)), l.a.useDeprecatedSynchronousErrorHandling && s.syncErrorThrowable && ((s.syncErrorThrowable = !1), s.syncErrorThrown)) ) throw s.syncErrorValue; return s; }), (t.prototype._trySubscribe = function (t) { try { return this._subscribe(t); } catch (e) { l.a.useDeprecatedSynchronousErrorHandling && ((t.syncErrorThrown = !0), (t.syncErrorValue = e)), Object(i.a)(t) ? t.error(e) : console.warn(e); } }), (t.prototype.forEach = function (t, e) { var n = this; return new (e = d(e))(function (e, i) { var r; r = n.subscribe( function (e) { try { t(e); } catch (t) { i(t), r && r.unsubscribe(); } }, i, e ); }); }), (t.prototype._subscribe = function (t) { var e = this.source; return e && e.subscribe(t); }), (t.prototype[s.a] = function () { return this; }), (t.prototype.pipe = function () { for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]; return 0 === t.length ? this : Object(c.b)(t)(this); }), (t.prototype.toPromise = function (t) { var e = this; return new (t = d(t))(function (t, n) { var i; e.subscribe( function (t) { return (i = t); }, function (t) { return n(t); }, function () { return t(i); } ); }); }), (t.create = function (e) { return new t(e); }), t ); })(); function d(t) { if ((t || (t = l.a.Promise || Promise), !t)) throw new Error('no Promise impl found'); return t; } }, function (t, e, n) { 'use strict'; n.d(e, 'a', function () { return u; }), n.d(e, 'b', function () { return d; }), n.d(e, 'c', function () { return v; }), n.d(e, 'd', function () { return g; }), n.d(e, 'e', function () { return h; }), n.d(e, 'f', function () { return f; }), n.d(e, 'g', function () { return m; }); var i, r = n(0), o = n(3); try { i = 'undefined' != typeof Intl && Intl.v8BreakIterator; } catch (t) { i = !1; } var a, s, c, l, u = (function () { function t(t) { (this._platformId = t), (this.isBrowser = this._platformId ? Object(o.isPlatformBrowser)(this._platformId) : 'object' == typeof document && !!document), (this.EDGE = this.isBrowser && /(edge)/i.test(navigator.userAgent)), (this.TRIDENT = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent)), (this.BLINK = this.isBrowser && !(!window.chrome && !i) && 'undefined' != typeof CSS && !this.EDGE && !this.TRIDENT), (this.WEBKIT = this.isBrowser && /AppleWebKit/i.test(navigator.userAgent) && !this.BLINK && !this.EDGE && !this.TRIDENT), (this.IOS = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) && !('MSStream' in window)), (this.FIREFOX = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent)), (this.ANDROID = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT), (this.SAFARI = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT); } return ( (t.ctorParameters = function () { return [ { type: Object, decorators: [ { type: r.Optional, }, { type: r.Inject, args: [r.PLATFORM_ID], }, ], }, ]; }), (t.ɵprov = Object(r['ɵɵdefineInjectable'])({ factory: function () { return new t(Object(r['ɵɵinject'])(r.PLATFORM_ID, 8)); }, token: t, providedIn: 'root', })), (t.ɵfac = function (e) { return new (e || t)(r['ɵɵinject'](r.PLATFORM_ID, 8)); }), t ); })(), d = (function () { function t() {} return ( (t.ɵmod = r['ɵɵdefineNgModule']({ type: t, })), (t.ɵinj = r['ɵɵdefineInjector']({ factory: function (e) { return new (e || t)(); }, })), t ); })(), p = [ 'color', 'button', 'checkbox', 'date', 'datetime-local', 'email', 'file', 'hidden', 'image', 'month', 'number', 'password', 'radio', 'range', 'reset', 'search', 'submit', 'tel', 'text', 'time', 'url', 'week', ]; /** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function h() { if (a) return a; if ('object' != typeof document || !document) return (a = new Set(p)); var t = document.createElement('input'); return (a = new Set( p.filter(function (e) { return t.setAttribute('type', e), t.type === e; }) )); } /** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function f(t) { return (function () { if (null == s && 'undefined' != typeof window) try { window.addEventListener( 'test', null, Object.defineProperty({}, 'passive', { get: function () { return (s = !0); }, }) ); } finally { s = s || !1; } return s; })() ? t : !!t.capture; } /** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function m() { return !('object' != typeof document || !('scrollBehavior' in document.documentElement.style)); } function g() { if ('object' != typeof document || !document) return 0; if (null == c) { var t = document.createElement('div'), e = t.style; (t.dir = 'rtl'), (e.height = '1px'), (e.width = '1px'), (e.overflow = 'auto'), (e.visibility = 'hidden'), (e.pointerEvents = 'none'), (e.position = 'absolute'); var n = document.createElement('div'), i = n.style; (i.width = '2px'), (i.height = '1px'), t.appendChild(n), document.body.appendChild(t), (c = 0), 0 === t.scrollLeft && ((t.scrollLeft = 1), (c = 0 === t.scrollLeft ? 1 : 2)), t.parentNode.removeChild(t); } return c; } /** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function v(t) { if ( (function () { if (null == l) { var t = 'undefined' != typeof document ? document.head : null; l = !(!t || (!t.createShadowRoot && !t.attachShadow)); } return l; })() ) { var e = t.getRootNode ? t.getRootNode() : null; if ('undefined' != typeof ShadowRoot && ShadowRoot && e instanceof ShadowRoot) return e; } return null; } /** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ }, function (t, e, n) { 'use strict'; Object.defineProperty(e, '__esModule', { value: !0, }); var i = n(7), r = n(2), o = n(378), a = n(4); n(66); n(66); var s = n(6), c = n(0), l = n(0), u = n(66), d = (function () { function t(t) { (this.TransformService = t), (this.onBeforeReferenceSystemChangedEvent = this.TransformService.onBeforeLocalReferenceSystemChange), (this.offsetChanged = this.TransformService.onAfterLocalReferenceSystemChange); } return ( Object.defineProperty(t.prototype, 'initialized', { get: function () { return this.TransformService.localReferenceSystemReady; }, enumerable: !0, configurable: !0, }), (t.prototype.isInitialized = function () { return this.TransformService.haveLocalCoordinateSystem(); }), (t.prototype.initCoordinatesSystem = function (t, e) { if (t.length > 0) this.TransformService.setLocalCoordinateSystem(t[0].globalLocation); else if (e.length > 0) { var n = e[0], i = n.vectorEntity instanceof o.Polygon ? n.vectorEntity.boundary[0] : n.vectorEntity.coordinates[0]; this.TransformService.setLocalCoordinateSystem(new a.Vector3(i.x, i.y, 0)); } else this.TransformService.unsetLocalCoordinateSystem(); }), (t.prototype.toLocal = function (t, e, n) { if (!this.TransformService.haveLocalCoordinateSystem()) throw new Error('GeoTransformationService not initialized'); return void 0 === n ? this.TransformService.globalToLocal.transform(new a.Vector2(t, e)) : this.TransformService.globalToLocal.transform(new a.Vector3(t, e, n)); }), (t.prototype.vectorToLocal = function (t) { if (t) { if (!this.TransformService.haveLocalCoordinateSystem()) throw new Error('GeoTransformationService not initialized'); return a.Vector2, this.TransformService.globalToLocal.transform(t.clone()); } }), (t.prototype.vectorArrayToLocal = function (t) { var e = this; return i.map(t, function (t) { return e.vectorToLocal(t); }); }), (t.prototype.toGlobal = function (t) { if ((console.warn('Deprecated usage of "toGlobal", use "vector2ToGlobal or vectorToGlobal" instead.'), !this.TransformService.haveLocalCoordinateSystem())) throw new Error('GeoTransformationService not initialized'); var e = this.TransformService.localToGlobal.transform(new a.Vector3(t.x, t.y, 0)); return void 0 !== t.z ? [e.x, e.y] : [e.x, e.y, e.z]; }), (t.prototype.vector2ToGlobal = function (t) { if (t) { if (!this.TransformService.haveLocalCoordinateSystem()) throw new Error('GeoTransformationService not initialized'); return this.TransformService.localToGlobal.transform(t.clone()); } }), (t.prototype.vectorToGlobal = function (t) { if (t) { if (!this.TransformService.haveLocalCoordinateSystem()) throw new Error('GeoTransformationService not initialized'); return this.TransformService.localToGlobal.transform(t.clone()); } }), (t.prototype.toLocalHeight = function (t) { return this.TransformService.globalToLocal.transform(new a.Vector3(0, 0, t)).z; }), (t.prototype.toGlobalHeight = function (t) { return this.TransformService.localToGlobal.transform(new a.Vector3(0, 0, t)).z; }), (t.prototype.setOffsetFromGlobal = function (t) { this.TransformService.setLocalCoordinateSystem(t); }), (t.prototype.updateLocalCoordinates = function () { this.offsetChanged.emit(); }), (t.prototype.checkAndFixOffset = function (e) { e.location.length() > t.RELOCATE_LOCAL_SYSTEM_THRESHOLD && this.setOffsetFromGlobal(e.globalLocation); }), (t.RELOCATE_LOCAL_SYSTEM_THRESHOLD = 1e4), (t.ɵfac = function (e) { return new (e || t)(l.ɵɵinject(u.TransformService)); }), (t.ɵprov = l.ɵɵdefineInjectable({ token: t, factory: t.ɵfac, providedIn: 'root', })), t ); })(); (e.GeoTransformationService = d), l.ɵsetClassMetadata( d, [ { type: c.Injectable, args: [ { providedIn: 'root', }, ], }, ], function () { return [ { type: u.TransformService, }, ]; }, null ), r.module('IVWebApp').service('GeoTransformationService', s.downgradeInjectable(d)); }, function (t, e, n) { 'use strict'; Object.defineProperty(e, '__esModule', { value: !0, }); var i = n(2), r = n(16), o = (n(251), n(61), n(1036)); n(54), n(251); var a = n(25), s = n(144), c = n(92), l = n(375), u = (n(36), n(6)), d = n(0), p = n(0), h = n(251), f = n(61), m = n(36), g = (function () { function t(t, e, n, i, l) { var u, d; (this.ConfigRepository = t), (this.$location = e), (this.MessageReportingService = n), (this.gettextCatalog = i), (this.AuthenticationService = l), (this.updated = new r.Signal()), (this.groupedConfigs = []), (this.changedConfigs = {}), (this.configMap = {}), (this.validators = (((u = {})[a.Configs.LAYERS_POLYGON_VECTOR_MAP_STYLE] = new o.VectorMapStyleSheetValidator( this.gettextCatalog.getString('Vector Map Style Sheet', void 0, 'title'), this.gettextCatalog.getString('Failed to parse vector map style sheet:') )), u)), (this.LICENSABLE_CONFIGS = (((d = {})[c.LicenseFeatureType.ROUTING] = [a.Configs.ROUTING_ENABLED]), (d[c.LicenseFeatureType.ANALYST] = [a.Configs.TRACKING_CODE, a.Configs.TRACKING_ENABLED]), (d[c.LicenseFeatureType.USER_MANAGEMENT] = [a.Configs.AUTH_LOCAL_ENABLED]), d)), (this.CONFIG_ALIASES = [ { original: a.Configs.LAYERS_POINTCLOUD_VISIBLE, alias: 'pc', }, { original: a.Configs.CORE_INIT_LAT, alias: 'vlat', }, { original: a.Configs.CORE_INIT_LON, alias: 'vlon', }, ]), (this.configDeferred = new s.Deferred()), this.fetch(); } return ( (t.prototype.getLicensableConfigFeature = function (t) { for (var e in this.LICENSABLE_CONFIGS) if (this.LICENSABLE_CONFIGS[e].indexOf(t) > -1) return l.LicenseFeature.getFeatureTypeByCode(e); }), (t.prototype.fetch = function (t) { var e = this; void 0 === t && (t = !1), (this.configDeferred = new s.Deferred()), (this.initialized = this.configDeferred.promise), (this.groupedConfigs = []), this.AuthenticationService.isDataAccessible() .then(function (t) { return t ? Promise.resolve() : (e.ConfigRepository.resetCache(), (e.configArray = []), e.updateConfigMap(), e.buildGroupedConfig(), Promise.reject(void 0)); }) .then(function () { return e.ConfigRepository.findAll(t); }) .then(function () { (e.configArray = e.ConfigRepository.data), e.updateConfigMap(), e.buildGroupedConfig(); }) .catch(function () { e.configDeferred.reject(); }); }), (t.prototype.buildGroupedConfig = function () { var t = i .copy(this.configArray) .filter(function (t) { return t && t.editInForm; }) .map(function (t) { return 'boolean' === t.type && (t.value = 'true' === t.value), t; }); if (0 !== t.length) { var e = t.sort(function (t, e) { return t.category.localeCompare(e.category); }), n = this.groupedConfigs[this.groupedConfigs.push([]) - 1]; n.category = e[0].category; for (var r = 0, o = e; r < o.length; r++) { var a = o[r]; 0 === n.category.localeCompare(a.category) || ((n = this.groupedConfigs[this.groupedConfigs.push([]) - 1]).category = a.category), n.push(a); } this.groupedConfigs = this.groupedConfigs.sort(function (t, e) { return -t.length + e.length; }); } }), (t.prototype.setLocalDefaults = function (t) { (this.overrides = t), this.updateConfigMap(); }), (t.prototype.updateConfigMap = function (t) { var e = this, n = t || this.configArray; if (n && this.overrides) { for (var r = 0, o = n; r < o.length; r++) { var a = o[r]; this.configMap[a.name] = a.value; } i.forEach(this.overrides, function (t, n) { e.configMap[n] = t; }), this.updateFromURL(), this.configDeferred.resolve(); } }), (t.prototype.updateFromURL = function () { var t = this, e = this.$location.search(); i.forEach(e, function (n, i) { if (i !== a.Configs.TRACKING_CODE && i !== a.Configs.TRACKING_ENABLED) { for (var r = 0, o = t.CONFIG_ALIASES; r < o.length; r++) { var s = o[r]; s.alias === i && (i = s.original), s.original === i && delete e[s.original]; } t.configMap[i] = n; } }), this.updated.emit(); }), (t.prototype.saveConfig = function (t, e) { var n = this, i = this.configArray.find(function (e) { return e.name === t; }); if (!i) return Promise.reject(new Error('No such config exists')); var r = i.value; return ( (i.value = e), this.ConfigRepository.save(i, !1).catch(function () { return ( (i.value = r), n.MessageReportingService.showMessage( n.gettextCatalog.getString('Update Failed', void 0, 'title'), n.gettextCatalog.getString('Updating changes to server over REST interface failed. Reverting local changes to match server.') ), [i] ); }) ); }), (t.prototype.saveConfigs = function (t) { var e = this, n = Object.keys(t).map(function (n) { var i; return t[n].hasOwnProperty('value') ? (i = t[n]) : ((i = e.getConfigResource(n)).value = t[n]), i; }); return this.ConfigRepository.save(n).then(function (t) { return e.updateConfigMap(), t; }); }), (t.prototype.validateConfigs = function (t) { for (var e = 0, n = Object.keys(t); e < n.length; e++) { var i = n[e]; if (this.validators.hasOwnProperty(i)) { var r = this.validators[i], o = r.validate(t[i].value.toString()); if (((t[i].value = o.cleanedValue), !o.valid)) return this.MessageReportingService.showMessage(r.title, o.reason), !1; } } return !0; }), (t.prototype.getBoolean = function (t, e) { return this.isConfigDefined(t) ? 'true' === this.configMap[t] || !0 === this.configMap[t] : e; }), (t.prototype.getInteger = function (t, e) { return this.parseToNumber( t, function (t) { return parseInt(t, void 0); }, e ); }), (t.prototype.getFloat = function (t, e) { return this.parseToNumber(t, parseFloat, e); }), (t.prototype.parseToNumber = function (t, e, n) { if (this.isConfigDefined(t)) { var i = e(this.configMap[t]); return isNaN(i) ? n : i; } return n; }), (t.prototype.getString = function (t, e) { return void 0 !== this.configMap[t] ? this.configMap[t] : e; }), (t.prototype.getArray = function (t, e, n) { return this.isConfigDefined(t) ? e ? this.configMap[t].split(',').map(function (t) { return parseInt(t, 10); }) : this.configMap[t].split(',') : n; }), (t.prototype.isConfigDefined = function (t) { return void 0 !== this.configMap[t] && '' !== this.configMap[t]; }), (t.prototype.getAliasByName = function (t) { for (var e = 0, n = this.CONFIG_ALIASES; e < n.length; e++) { var i = n[e]; if (i.original === t) return i.alias; } }), (t.prototype.getConfigResource = function (t) { return this.configArray.filter(function (e) { return e.name === t; })[0]; }), (t.ɵfac = function (e) { return new (e || t)(p.ɵɵinject(h.ConfigRepository), p.ɵɵinject('$location'), p.ɵɵinject(f.MessageReportingService), p.ɵɵinject('gettextCatalog'), p.ɵɵinject(m.AuthenticationService)); }), (t.ɵprov = p.ɵɵdefineInjectable({ token: t, factory: t.ɵfac, providedIn: 'root', })), t ); })(); (e.ConfigService = g), p.ɵsetClassMetadata( g, [ { type: d.Injectable, args: [ { providedIn: 'root', }, ], }, ], function () { return [ { type: h.ConfigRepository, }, { type: void 0, decorators: [ { type: d.Inject, args: ['$location'], }, ], }, { type: f.MessageReportingService, }, { type: void 0, decorators: [ { type: d.Inject, args: ['gettextCatalog'], }, ], }, { type: m.AuthenticationService, }, ]; }, null ), i.module('IVWebApp').service('ConfigService', u.downgradeInjectable(g)); }, function (t, e, n) { 'use strict'; var i, r = (this && this.__extends) || ((i = function (t, e) { return (i = Object.setPrototypeOf || ({ __proto__: [], } instanceof Array && function (t, e) { t.__proto__ = e; }) || function (t, e) { for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]); })(t, e); }), function (t, e) { function n() { this.constructor = t; } i(t, e), (t.prototype = null === e ? Object.create(e) : ((n.prototype = e.prototype), new n())); }); Object.defineProperty(e, '__esModule', { value: !0, }); var o = (function () { function t(t, e, n) { void 0 === t && (t = null), void 0 === e && (e = null), void 0 === n && (n = 0), (this.enabled = !0), (this.newLink = !1), (this.callback = null), (this.prev = t || this), (this.next = e || this), (this.order = n); } return ( (t.prototype.isEnabled = function () { return this.enabled && !this.newLink; }), (t.prototype.setEnabled = function (t) { this.enabled = t; }), (t.prototype.unlink = function () { (this.callback = null), (this.next.prev = this.prev), (this.prev.next = this.next); }), (t.prototype.insert = function (e, n) { for (var i = this.prev; i !== this && !(i.order <= n); ) i = i.prev; var r = new t(i, i.next, n); return (r.callback = e), (i.next = r), (r.next.prev = r), r; }), t ); })(), a = (function () { function t(t, e) { this.link = e; } return ( (t.prototype.disconnect = function () { return null !== this.link && (this.link.unlink(), (this.link = null), !0); }), Object.defineProperty(t.prototype, 'enabled', { get: function () { return null !== this.link && this.link.isEnabled(); }, set: function (t) { this.link && this.link.setEnabled(t); }, enumerable: !0, configurable: !0, }), t ); })(), s = (function () { function t() { this.list = []; } return ( (t.prototype.add = function (t) { this.list.push(t); }), (t.prototype.disconnectAll = function () { for (var t = 0, e = this.list; t < e.length; t++) { e[t].disconnect(); } this.list = []; }), t ); })(); e.SignalConnections = s; var c = (function () { function t() { (this.head = new o()), (this.hasNewLinks = !1), (this.emitDepth = 0), (this.emit = this.emitInternal.bind(this)); } return ( (t.prototype.connect = function (t, e) { void 0 === e && (e = 0); var n = this.head.insert(t, e); return this.emitDepth > 0 && ((this.hasNewLinks = !0), (n.newLink = !0)), new a(this.head, n); }), (t.prototype.disconnect = function (t) { for (var e = this.head.next; e !== this.head; e = e.next) if (e.callback === t) return e.unlink(), !0; return !1; }), (t.prototype.disconnectAll = function () { for (; this.head.next !== this.head; ) this.head.next.unlink(); }), (t.prototype.emitInternal = function () { this.emitDepth++; for (var t = this.head.next; t !== this.head; t = t.next) t.isEnabled() && t.callback && t.callback.apply(null, arguments); this.emitDepth--, this.unsetNewLink(); }), (t.prototype.emitCollecting = function (t, e) { this.emitDepth++; for (var n = this.head.next; n !== this.head; n = n.next) if (n.isEnabled() && n.callback) { var i = n.callback.apply(null, e); if (!t.handleResult(i)) break; } this.emitDepth--, this.unsetNewLink(); }), (t.prototype.unsetNewLink = function () { if (this.hasNewLinks && 0 == this.emitDepth) { for (var t = this.head.next; t !== this.head; t = t.next) t.newLink = !1; this.hasNewLinks = !1; } }), t ); })(); e.Signal = c; var l = function (t) { var e = this; this.emit = function () { t.emitCollecting(e, arguments); }; }; e.Collector = l; var u = (function (t) { function e() { return (null !== t && t.apply(this, arguments)) || this; } return ( r(e, t), (e.prototype.handleResult = function (t) { return (this.result = t), !0; }), (e.prototype.getResult = function () { return this.result; }), (e.prototype.reset = function () { delete this.result; }), e ); })(l); e.CollectorLast = u; var d = (function (t) { function e() { var e = (null !== t && t.apply(this, arguments)) || this; return (e.result = !1), e; } return ( r(e, t), (e.prototype.handleResult = function (t) { return (this.result = t), !!this.result; }), (e.prototype.getResult = function () { return this.result; }), (e.prototype.reset = function () { this.result = !1; }), e ); })(l); e.CollectorUntil0 = d; var p = (function (t) { function e() { var e = (null !== t && t.apply(this, arguments)) || this; return (e.result = !1), e; } return ( r(e, t), (e.prototype.handleResult = function (t) { return (this.result = t), !this.result; }), (e.prototype.getResult = function () { return this.result; }), (e.prototype.reset = function () { this.result = !1; }), e ); })(l); e.CollectorWhile0 = p; var h = (function (t) { function e() { var e = (null !== t && t.apply(this, arguments)) || this; return (e.result = []), e; } return ( r(e, t), (e.prototype.handleResult = function (t) { return this.result.push(t), !0; }), (e.prototype.getResult = function () { return this.result; }), (e.prototype.reset = function () { this.result.length = 0; }), e ); })(l); e.CollectorArray = h; }, function (t, e, n) { 'use strict'; (function (t) { Object.defineProperty(e, '__esModule', { value: !0, }); var i = n(2), r = n(16), o = n(255), a = (n(15), n(25)), s = n(8), c = n(20), l = n(144), u = n(6), d = n(0), p = n(0), h = n(15), f = (function () { function e(t) { var e = this; (this.ConfigService = t), (this.onTransitionStart = new r.Signal()), (this.onTransitionEnd = new r.Signal()), (this.onViewSwap = new r.Signal()), (this.secondaryViewVisibilityChanged = new r.Signal()), (this.secondaryViewHovered = !1), (this.mainViewDeferred = new l.Deferred()), (this.mapViewDeferred = new l.Deferred()), (this.viewSwapAllowed = !0), (this.primaryView = o.ViewType.PANORAMA), (this._showSecondaryView = !0), t.initialized .then(function () { e.showSecondaryView = t.getBoolean(a.Configs.LAYERS_MAP_VISIBLE, e.showSecondaryView); }) .catch(s.handleWarning), this.mainViewDeferred.promise .then(function (t) { return (e.mainView = t); }) .catch(s.handleWarning), this.mapViewDeferred.promise .then(function (t) { return (e.mapView = t); }) .catch(s.handleWarning); } return ( Object.defineProperty(e.prototype, 'showSecondaryView', { get: function () { return this._showSecondaryView; }, set: function (t) { (this._showSecondaryView = t), c.invalidateAngular(), this.secondaryViewVisibilityChanged.emit(t); }, enumerable: !0, configurable: !0, }), (e.prototype.setPrimaryView = function (t) { this.primaryView !== t && this.swapViews(); }), (e.prototype.swapViews = function () { var e = t(this.mainView.divContainer.container), n = t(this.mapView.divContainer.container), i = e.parent(), r = n.parent(); e.prependTo(r), n.prependTo(i), this.mainView.divContainer.onResize(), this.mapView.divContainer.onResize(), (this.primaryView = this.isMapPrimaryView() ? o.ViewType.PANORAMA : o.ViewType.MAP), this.onViewSwap.emit(this.primaryView); }), (e.prototype.canSwapViews = function () { return this.showSecondaryView; }), (e.prototype.isMapVisible = function () { return this.showSecondaryView || this.isMapPrimaryView(); }), (e.prototype.getCurrentMainViewMode = function () { return this.mainView.viewMode; }), (e.prototype.isPanoVisible = function () { return this.showSecondaryView || this.isPanoPrimaryView(); }), (e.prototype.getPrimaryView = function () { return this.primaryView; }), (e.prototype.isMapPrimaryView = function () { return this.primaryView === o.ViewType.MAP; }), (e.prototype.isPanoPrimaryView = function () { return this.primaryView === o.ViewType.PANORAMA; }), (e.ɵfac = function (t) { return new (t || e)(p.ɵɵinject(h.ConfigService)); }), (e.ɵprov = p.ɵɵdefineInjectable({ token: e, factory: e.ɵfac, providedIn: 'root', })), e ); })(); (e.ViewService = f), p.ɵsetClassMetadata( f, [ { type: d.Injectable, args: [ { providedIn: 'root', }, ], }, ], function () { return [ { type: h.ConfigService, }, ]; }, null ), i.module('IVWebApp').service('ViewService', u.downgradeInjectable(f)); }.call(this, n(19))); }, function (t, e) { t.exports = function (t) { try { return !!t(); } catch (t) { return !0; } }; }, function (t, e, n) { var i, r, o; /*! * jQuery JavaScript Library v2.2.4 * http://jquery.com/ * * Includes Sizzle.js * http://sizzlejs.com/ * * Copyright jQuery Foundation and other contributors * Released under the MIT license * http://jquery.org/license * * Date: 2016-05-20T17:23Z */ (r = 'undefined' != typeof window ? window : this), (o = function (n, r) { var o = [], a = n.document, s = o.slice, c = o.concat, l = o.push, u = o.indexOf, d = {}, p = d.toString, h = d.hasOwnProperty, f = {}, m = function (t, e) { return new m.fn.init(t, e); }, g = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, v = /^-ms-/, y = /-([\da-z])/gi, b = function (t, e) { return e.toUpperCase(); }; function w(t) { var e = !!t && 'length' in t && t.length, n = m.type(t); return 'function' !== n && !m.isWindow(t) && ('array' === n || 0 === e || ('number' == typeof e && e > 0 && e - 1 in t)); } (m.fn = m.prototype = { jquery: '2.2.4', constructor: m, selector: '', length: 0, toArray: function () { return s.call(this); }, get: function (t) { return null != t ? (t < 0 ? this[t + this.length] : this[t]) : s.call(this); }, pushStack: function (t) { var e = m.merge(this.constructor(), t); return (e.prevObject = this), (e.context = this.context), e; }, each: function (t) { return m.each(this, t); }, map: function (t) { return this.pushStack( m.map(this, function (e, n) { return t.call(e, n, e); }) ); }, slice: function () { return this.pushStack(s.apply(this, arguments)); }, first: function () { return this.eq(0); }, last: function () { return this.eq(-1); }, eq: function (t) { var e = this.length, n = +t + (t < 0 ? e : 0); return this.pushStack(n >= 0 && n < e ? [this[n]] : []); }, end: function () { return this.prevObject || this.constructor(); }, push: l, sort: o.sort, splice: o.splice, }), (m.extend = m.fn.extend = function () { var t, e, n, i, r, o, a = arguments[0] || {}, s = 1, c = arguments.length, l = !1; for ('boolean' == typeof a && ((l = a), (a = arguments[s] || {}), s++), 'object' == typeof a || m.isFunction(a) || (a = {}), s === c && ((a = this), s--); s < c; s++) if (null != (t = arguments[s])) for (e in t) (n = a[e]), a !== (i = t[e]) && (l && i && (m.isPlainObject(i) || (r = m.isArray(i))) ? (r ? ((r = !1), (o = n && m.isArray(n) ? n : [])) : (o = n && m.isPlainObject(n) ? n : {}), (a[e] = m.extend(l, o, i))) : void 0 !== i && (a[e] = i)); return a; }), m.extend({ expando: 'jQuery' + ('2.2.4' + Math.random()).replace(/\D/g, ''), isReady: !0, error: function (t) { throw new Error(t); }, noop: function () {}, isFunction: function (t) { return 'function' === m.type(t); }, isArray: Array.isArray, isWindow: function (t) { return null != t && t === t.window; }, isNumeric: function (t) { var e = t && t.toString(); return !m.isArray(t) && e - parseFloat(e) + 1 >= 0; }, isPlainObject: function (t) { var e; if ('object' !== m.type(t) || t.nodeType || m.isWindow(t)) return !1; if (t.constructor && !h.call(t, 'constructor') && !h.call(t.constructor.prototype || {}, 'isPrototypeOf')) return !1; for (e in t); return void 0 === e || h.call(t, e); }, isEmptyObject: function (t) { var e; for (e in t) return !1; return !0; }, type: function (t) { return null == t ? t + '' : 'object' == typeof t || 'function' == typeof t ? d[p.call(t)] || 'object' : typeof t; }, globalEval: function (t) { var e, n = eval; (t = m.trim(t)) && (1 === t.indexOf('use strict') ? (((e = a.createElement('script')).text = t), a.head.appendChild(e).parentNode.removeChild(e)) : n(t)); }, camelCase: function (t) { return t.replace(v, 'ms-').replace(y, b); }, nodeName: function (t, e) { return t.nodeName && t.nodeName.toLowerCase() === e.toLowerCase(); }, each: function (t, e) { var n, i = 0; if (w(t)) for (n = t.length; i < n && !1 !== e.call(t[i], i, t[i]); i++); else for (i in t) if (!1 === e.call(t[i], i, t[i])) break; return t; }, trim: function (t) { return null == t ? '' : (t + '').replace(g, ''); }, makeArray: function (t, e) { var n = e || []; return null != t && (w(Object(t)) ? m.merge(n, 'string' == typeof t ? [t] : t) : l.call(n, t)), n; }, inArray: function (t, e, n) { return null == e ? -1 : u.call(e, t, n); }, merge: function (t, e) { for (var n = +e.length, i = 0, r = t.length; i < n; i++) t[r++] = e[i]; return (t.length = r), t; }, grep: function (t, e, n) { for (var i = [], r = 0, o = t.length, a = !n; r < o; r++) !e(t[r], r) !== a && i.push(t[r]); return i; }, map: function (t, e, n) { var i, r, o = 0, a = []; if (w(t)) for (i = t.length; o < i; o++) null != (r = e(t[o], o, n)) && a.push(r); else for (o in t) null != (r = e(t[o], o, n)) && a.push(r); return c.apply([], a); }, guid: 1, proxy: function (t, e) { var n, i, r; if (('string' == typeof e && ((n = t[e]), (e = t), (t = n)), m.isFunction(t))) return ( (i = s.call(arguments, 2)), ((r = function () { return t.apply(e || this, i.concat(s.call(arguments))); }).guid = t.guid = t.guid || m.guid++), r ); }, now: Date.now, support: f, }), 'function' == typeof Symbol && (m.fn[Symbol.iterator] = o[Symbol.iterator]), m.each('Boolean Number String Function Array Date RegExp Object Error Symbol'.split(' '), function (t, e) { d['[object ' + e + ']'] = e.toLowerCase(); }); var S = /*! * Sizzle CSS Selector Engine v2.2.1 * http://sizzlejs.com/ * * Copyright jQuery Foundation and other contributors * Released under the MIT license * http://jquery.org/license * * Date: 2015-10-17 */ (function (t) { var e, n, i, r, o, a, s, c, l, u, d, p, h, f, m, g, v, y, b, w = 'sizzle' + 1 * new Date(), S = t.document, x = 0, M = 0, E = rt(), C = rt(), A = rt(), T = function (t, e) { return t === e && (d = !0), 0; }, O = {}.hasOwnProperty, _ = [], P = _.pop, I = _.push, k = _.push, D = _.slice, R = function (t, e) { for (var n = 0, i = t.length; n < i; n++) if (t[n] === e) return n; return -1; }, L = 'checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped', N = '[\\x20\\t\\r\\n\\f]', j = '(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+', V = '\\[' + N + '*(' + j + ')(?:' + N + '*([*^$|!~]?=)' + N + '*(?:\'((?:\\\\.|[^\\\\\'])*)\'|"((?:\\\\.|[^\\\\"])*)"|(' + j + '))|)' + N + '*\\]', F = ':(' + j + ')(?:\\(((\'((?:\\\\.|[^\\\\\'])*)\'|"((?:\\\\.|[^\\\\"])*)")|((?:\\\\.|[^\\\\()[\\]]|' + V + ')*)|.*)\\)|)', U = new RegExp(N + '+', 'g'), B = new RegExp('^' + N + '+|((?:^|[^\\\\])(?:\\\\.)*)' + N + '+$', 'g'), z = new RegExp('^' + N + '*,' + N + '*'), G = new RegExp('^' + N + '*([>+~]|' + N + ')' + N + '*'), H = new RegExp('=' + N + '*([^\\]\'"]*?)' + N + '*\\]', 'g'), W = new RegExp(F), q = new RegExp('^' + j + '$'), X = { ID: new RegExp('^#(' + j + ')'), CLASS: new RegExp('^\\.(' + j + ')'), TAG: new RegExp('^(' + j + '|[*])'), ATTR: new RegExp('^' + V), PSEUDO: new RegExp('^' + F), CHILD: new RegExp('^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(' + N + '*(even|odd|(([+-]|)(\\d*)n|)' + N + '*(?:([+-]|)' + N + '*(\\d+)|))' + N + '*\\)|)', 'i'), bool: new RegExp('^(?:' + L + ')$', 'i'), needsContext: new RegExp('^' + N + '*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(' + N + '*((?:-\\d)?\\d*)' + N + '*\\)|)(?=[^-]|$)', 'i'), }, Y = /^(?:input|select|textarea|button)$/i, K = /^h\d$/i, Z = /^[^{]+\{\s*\[native \w/, J = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, Q = /[+~]/, $ = /'|\\/g, tt = new RegExp('\\\\([\\da-f]{1,6}' + N + '?|(' + N + ')|.)', 'ig'), et = function (t, e, n) { var i = '0x' + e - 65536; return i != i || n ? e : i < 0 ? String.fromCharCode(i + 65536) : String.fromCharCode((i >> 10) | 55296, (1023 & i) | 56320); }, nt = function () { p(); }; try { k.apply((_ = D.call(S.childNodes)), S.childNodes), _[S.childNodes.length].nodeType; } catch (t) { k = { apply: _.length ? function (t, e) { I.apply(t, D.call(e)); } : function (t, e) { for (var n = t.length, i = 0; (t[n++] = e[i++]); ); t.length = n - 1; }, }; } function it(t, e, i, r) { var o, s, l, u, d, f, v, y, x = e && e.ownerDocument, M = e ? e.nodeType : 9; if (((i = i || []), 'string' != typeof t || !t || (1 !== M && 9 !== M && 11 !== M))) return i; if (!r && ((e ? e.ownerDocument || e : S) !== h && p(e), (e = e || h), m)) { if (11 !== M && (f = J.exec(t))) if ((o = f[1])) { if (9 === M) { if (!(l = e.getElementById(o))) return i; if (l.id === o) return i.push(l), i; } else if (x && (l = x.getElementById(o)) && b(e, l) && l.id === o) return i.push(l), i; } else { if (f[2]) return k.apply(i, e.getElementsByTagName(t)), i; if ((o = f[3]) && n.getElementsByClassName && e.getElementsByClassName) return k.apply(i, e.getElementsByClassName(o)), i; } if (n.qsa && !A[t + ' '] && (!g || !g.test(t))) { if (1 !== M) (x = e), (y = t); else if ('object' !== e.nodeName.toLowerCase()) { for ((u = e.getAttribute('id')) ? (u = u.replace($, '\\$&')) : e.setAttribute('id', (u = w)), s = (v = a(t)).length, d = q.test(u) ? '#' + u : "[id='" + u + "']"; s--; ) v[s] = d + ' ' + ft(v[s]); (y = v.join(',')), (x = (Q.test(t) && pt(e.parentNode)) || e); } if (y) try { return k.apply(i, x.querySelectorAll(y)), i; } catch (t) { } finally { u === w && e.removeAttribute('id'); } } } return c(t.replace(B, '$1'), e, i, r); } function rt() { var t = []; return function e(n, r) { return t.push(n + ' ') > i.cacheLength && delete e[t.shift()], (e[n + ' '] = r); }; } function ot(t) { return (t[w] = !0), t; } function at(t) { var e = h.createElement('div'); try { return !!t(e); } catch (t) { return !1; } finally { e.parentNode && e.parentNode.removeChild(e), (e = null); } } function st(t, e) { for (var n = t.split('|'), r = n.length; r--; ) i.attrHandle[n[r]] = e; } function ct(t, e) { var n = e && t, i = n && 1 === t.nodeType && 1 === e.nodeType && (~e.sourceIndex || 1 << 31) - (~t.sourceIndex || 1 << 31); if (i) return i; if (n) for (; (n = n.nextSibling); ) if (n === e) return -1; return t ? 1 : -1; } function lt(t) { return function (e) { return 'input' === e.nodeName.toLowerCase() && e.type === t; }; } function ut(t) { return function (e) { var n = e.nodeName.toLowerCase(); return ('input' === n || 'button' === n) && e.type === t; }; } function dt(t) { return ot(function (e) { return ( (e = +e), ot(function (n, i) { for (var r, o = t([], n.length, e), a = o.length; a--; ) n[(r = o[a])] && (n[r] = !(i[r] = n[r])); }) ); }); } function pt(t) { return t && void 0 !== t.getElementsByTagName && t; } for (e in ((n = it.support = {}), (o = it.isXML = function (t) { var e = t && (t.ownerDocument || t).documentElement; return !!e && 'HTML' !== e.nodeName; }), (p = it.setDocument = function (t) { var e, r, a = t ? t.ownerDocument || t : S; return a !== h && 9 === a.nodeType && a.documentElement ? ((f = (h = a).documentElement), (m = !o(h)), (r = h.defaultView) && r.top !== r && (r.addEventListener ? r.addEventListener('unload', nt, !1) : r.attachEvent && r.attachEvent('onunload', nt)), (n.attributes = at(function (t) { return (t.className = 'i'), !t.getAttribute('className'); })), (n.getElementsByTagName = at(function (t) { return t.appendChild(h.createComment('')), !t.getElementsByTagName('*').length; })), (n.getElementsByClassName = Z.test(h.getElementsByClassName)), (n.getById = at(function (t) { return (f.appendChild(t).id = w), !h.getElementsByName || !h.getElementsByName(w).length; })), n.getById ? ((i.find.ID = function (t, e) { if (void 0 !== e.getElementById && m) { var n = e.getElementById(t); return n ? [n] : []; } }), (i.filter.ID = function (t) { var e = t.replace(tt, et); return function (t) { return t.getAttribute('id') === e; }; })) : (delete i.find.ID, (i.filter.ID = function (t) { var e = t.replace(tt, et); return function (t) { var n = void 0 !== t.getAttributeNode && t.getAttributeNode('id'); return n && n.value === e; }; })), (i.find.TAG = n.getElementsByTagName ? function (t, e) { return void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t) : n.qsa ? e.querySelectorAll(t) : void 0; } : function (t, e) { var n, i = [], r = 0, o = e.getElementsByTagName(t); if ('*' === t) { for (; (n = o[r++]); ) 1 === n.nodeType && i.push(n); return i; } return o; }), (i.find.CLASS = n.getElementsByClassName && function (t, e) { if (void 0 !== e.getElementsByClassName && m) return e.getElementsByClassName(t); }), (v = []), (g = []), (n.qsa = Z.test(h.querySelectorAll)) && (at(function (t) { (f.appendChild(t).innerHTML = ""), t.querySelectorAll("[msallowcapture^='']").length && g.push('[*^$]=' + N + '*(?:\'\'|"")'), t.querySelectorAll('[selected]').length || g.push('\\[' + N + '*(?:value|' + L + ')'), t.querySelectorAll('[id~=' + w + '-]').length || g.push('~='), t.querySelectorAll(':checked').length || g.push(':checked'), t.querySelectorAll('a#' + w + '+*').length || g.push('.#.+[+~]'); }), at(function (t) { var e = h.createElement('input'); e.setAttribute('type', 'hidden'), t.appendChild(e).setAttribute('name', 'D'), t.querySelectorAll('[name=d]').length && g.push('name' + N + '*[*^$|!~]?='), t.querySelectorAll(':enabled').length || g.push(':enabled', ':disabled'), t.querySelectorAll('*,:x'), g.push(',.*:'); })), (n.matchesSelector = Z.test((y = f.matches || f.webkitMatchesSelector || f.mozMatchesSelector || f.oMatchesSelector || f.msMatchesSelector))) && at(function (t) { (n.disconnectedMatch = y.call(t, 'div')), y.call(t, "[s!='']:x"), v.push('!=', F); }), (g = g.length && new RegExp(g.join('|'))), (v = v.length && new RegExp(v.join('|'))), (e = Z.test(f.compareDocumentPosition)), (b = e || Z.test(f.contains) ? function (t, e) { var n = 9 === t.nodeType ? t.documentElement : t, i = e && e.parentNode; return t === i || !(!i || 1 !== i.nodeType || !(n.contains ? n.contains(i) : t.compareDocumentPosition && 16 & t.compareDocumentPosition(i))); } : function (t, e) { if (e) for (; (e = e.parentNode); ) if (e === t) return !0; return !1; }), (T = e ? function (t, e) { if (t === e) return (d = !0), 0; var i = !t.compareDocumentPosition - !e.compareDocumentPosition; return ( i || (1 & (i = (t.ownerDocument || t) === (e.ownerDocument || e) ? t.compareDocumentPosition(e) : 1) || (!n.sortDetached && e.compareDocumentPosition(t) === i) ? t === h || (t.ownerDocument === S && b(S, t)) ? -1 : e === h || (e.ownerDocument === S && b(S, e)) ? 1 : u ? R(u, t) - R(u, e) : 0 : 4 & i ? -1 : 1) ); } : function (t, e) { if (t === e) return (d = !0), 0; var n, i = 0, r = t.parentNode, o = e.parentNode, a = [t], s = [e]; if (!r || !o) return t === h ? -1 : e === h ? 1 : r ? -1 : o ? 1 : u ? R(u, t) - R(u, e) : 0; if (r === o) return ct(t, e); for (n = t; (n = n.parentNode); ) a.unshift(n); for (n = e; (n = n.parentNode); ) s.unshift(n); for (; a[i] === s[i]; ) i++; return i ? ct(a[i], s[i]) : a[i] === S ? -1 : s[i] === S ? 1 : 0; }), h) : h; }), (it.matches = function (t, e) { return it(t, null, null, e); }), (it.matchesSelector = function (t, e) { if (((t.ownerDocument || t) !== h && p(t), (e = e.replace(H, "='$1']")), n.matchesSelector && m && !A[e + ' '] && (!v || !v.test(e)) && (!g || !g.test(e)))) try { var i = y.call(t, e); if (i || n.disconnectedMatch || (t.document && 11 !== t.document.nodeType)) return i; } catch (t) {} return it(e, h, null, [t]).length > 0; }), (it.contains = function (t, e) { return (t.ownerDocument || t) !== h && p(t), b(t, e); }), (it.attr = function (t, e) { (t.ownerDocument || t) !== h && p(t); var r = i.attrHandle[e.toLowerCase()], o = r && O.call(i.attrHandle, e.toLowerCase()) ? r(t, e, !m) : void 0; return void 0 !== o ? o : n.attributes || !m ? t.getAttribute(e) : (o = t.getAttributeNode(e)) && o.specified ? o.value : null; }), (it.error = function (t) { throw new Error('Syntax error, unrecognized expression: ' + t); }), (it.uniqueSort = function (t) { var e, i = [], r = 0, o = 0; if (((d = !n.detectDuplicates), (u = !n.sortStable && t.slice(0)), t.sort(T), d)) { for (; (e = t[o++]); ) e === t[o] && (r = i.push(o)); for (; r--; ) t.splice(i[r], 1); } return (u = null), t; }), (r = it.getText = function (t) { var e, n = '', i = 0, o = t.nodeType; if (o) { if (1 === o || 9 === o || 11 === o) { if ('string' == typeof t.textContent) return t.textContent; for (t = t.firstChild; t; t = t.nextSibling) n += r(t); } else if (3 === o || 4 === o) return t.nodeValue; } else for (; (e = t[i++]); ) n += r(e); return n; }), ((i = it.selectors = { cacheLength: 50, createPseudo: ot, match: X, attrHandle: {}, find: {}, relative: { '>': { dir: 'parentNode', first: !0, }, ' ': { dir: 'parentNode', }, '+': { dir: 'previousSibling', first: !0, }, '~': { dir: 'previousSibling', }, }, preFilter: { ATTR: function (t) { return (t[1] = t[1].replace(tt, et)), (t[3] = (t[3] || t[4] || t[5] || '').replace(tt, et)), '~=' === t[2] && (t[3] = ' ' + t[3] + ' '), t.slice(0, 4); }, CHILD: function (t) { return ( (t[1] = t[1].toLowerCase()), 'nth' === t[1].slice(0, 3) ? (t[3] || it.error(t[0]), (t[4] = +(t[4] ? t[5] + (t[6] || 1) : 2 * ('even' === t[3] || 'odd' === t[3]))), (t[5] = +(t[7] + t[8] || 'odd' === t[3]))) : t[3] && it.error(t[0]), t ); }, PSEUDO: function (t) { var e, n = !t[6] && t[2]; return X.CHILD.test(t[0]) ? null : (t[3] ? (t[2] = t[4] || t[5] || '') : n && W.test(n) && (e = a(n, !0)) && (e = n.indexOf(')', n.length - e) - n.length) && ((t[0] = t[0].slice(0, e)), (t[2] = n.slice(0, e))), t.slice(0, 3)); }, }, filter: { TAG: function (t) { var e = t.replace(tt, et).toLowerCase(); return '*' === t ? function () { return !0; } : function (t) { return t.nodeName && t.nodeName.toLowerCase() === e; }; }, CLASS: function (t) { var e = E[t + ' ']; return ( e || ((e = new RegExp('(^|' + N + ')' + t + '(' + N + '|$)')) && E(t, function (t) { return e.test(('string' == typeof t.className && t.className) || (void 0 !== t.getAttribute && t.getAttribute('class')) || ''); })) ); }, ATTR: function (t, e, n) { return function (i) { var r = it.attr(i, t); return null == r ? '!=' === e : !e || ((r += ''), '=' === e ? r === n : '!=' === e ? r !== n : '^=' === e ? n && 0 === r.indexOf(n) : '*=' === e ? n && r.indexOf(n) > -1 : '$=' === e ? n && r.slice(-n.length) === n : '~=' === e ? (' ' + r.replace(U, ' ') + ' ').indexOf(n) > -1 : '|=' === e && (r === n || r.slice(0, n.length + 1) === n + '-')); }; }, CHILD: function (t, e, n, i, r) { var o = 'nth' !== t.slice(0, 3), a = 'last' !== t.slice(-4), s = 'of-type' === e; return 1 === i && 0 === r ? function (t) { return !!t.parentNode; } : function (e, n, c) { var l, u, d, p, h, f, m = o !== a ? 'nextSibling' : 'previousSibling', g = e.parentNode, v = s && e.nodeName.toLowerCase(), y = !c && !s, b = !1; if (g) { if (o) { for (; m; ) { for (p = e; (p = p[m]); ) if (s ? p.nodeName.toLowerCase() === v : 1 === p.nodeType) return !1; f = m = 'only' === t && !f && 'nextSibling'; } return !0; } if (((f = [a ? g.firstChild : g.lastChild]), a && y)) { for ( b = (h = (l = (u = (d = (p = g)[w] || (p[w] = {}))[p.uniqueID] || (d[p.uniqueID] = {}))[t] || [])[0] === x && l[1]) && l[2], p = h && g.childNodes[h]; (p = (++h && p && p[m]) || (b = h = 0) || f.pop()); ) if (1 === p.nodeType && ++b && p === e) { u[t] = [x, h, b]; break; } } else if ((y && (b = h = (l = (u = (d = (p = e)[w] || (p[w] = {}))[p.uniqueID] || (d[p.uniqueID] = {}))[t] || [])[0] === x && l[1]), !1 === b)) for ( ; (p = (++h && p && p[m]) || (b = h = 0) || f.pop()) && ((s ? p.nodeName.toLowerCase() !== v : 1 !== p.nodeType) || !++b || (y && ((u = (d = p[w] || (p[w] = {}))[p.uniqueID] || (d[p.uniqueID] = {}))[t] = [x, b]), p !== e)); ); return (b -= r) === i || (b % i == 0 && b / i >= 0); } }; }, PSEUDO: function (t, e) { var n, r = i.pseudos[t] || i.setFilters[t.toLowerCase()] || it.error('unsupported pseudo: ' + t); return r[w] ? r(e) : r.length > 1 ? ((n = [t, t, '', e]), i.setFilters.hasOwnProperty(t.toLowerCase()) ? ot(function (t, n) { for (var i, o = r(t, e), a = o.length; a--; ) t[(i = R(t, o[a]))] = !(n[i] = o[a]); }) : function (t) { return r(t, 0, n); }) : r; }, }, pseudos: { not: ot(function (t) { var e = [], n = [], i = s(t.replace(B, '$1')); return i[w] ? ot(function (t, e, n, r) { for (var o, a = i(t, null, r, []), s = t.length; s--; ) (o = a[s]) && (t[s] = !(e[s] = o)); }) : function (t, r, o) { return (e[0] = t), i(e, null, o, n), (e[0] = null), !n.pop(); }; }), has: ot(function (t) { return function (e) { return it(t, e).length > 0; }; }), contains: ot(function (t) { return ( (t = t.replace(tt, et)), function (e) { return (e.textContent || e.innerText || r(e)).indexOf(t) > -1; } ); }), lang: ot(function (t) { return ( q.test(t || '') || it.error('unsupported lang: ' + t), (t = t.replace(tt, et).toLowerCase()), function (e) { var n; do { if ((n = m ? e.lang : e.getAttribute('xml:lang') || e.getAttribute('lang'))) return (n = n.toLowerCase()) === t || 0 === n.indexOf(t + '-'); } while ((e = e.parentNode) && 1 === e.nodeType); return !1; } ); }), target: function (e) { var n = t.location && t.location.hash; return n && n.slice(1) === e.id; }, root: function (t) { return t === f; }, focus: function (t) { return t === h.activeElement && (!h.hasFocus || h.hasFocus()) && !!(t.type || t.href || ~t.tabIndex); }, enabled: function (t) { return !1 === t.disabled; }, disabled: function (t) { return !0 === t.disabled; }, checked: function (t) { var e = t.nodeName.toLowerCase(); return ('input' === e && !!t.checked) || ('option' === e && !!t.selected); }, selected: function (t) { return t.parentNode && t.parentNode.selectedIndex, !0 === t.selected; }, empty: function (t) { for (t = t.firstChild; t; t = t.nextSibling) if (t.nodeType < 6) return !1; return !0; }, parent: function (t) { return !i.pseudos.empty(t); }, header: function (t) { return K.test(t.nodeName); }, input: function (t) { return Y.test(t.nodeName); }, button: function (t) { var e = t.nodeName.toLowerCase(); return ('input' === e && 'button' === t.type) || 'button' === e; }, text: function (t) { var e; return 'input' === t.nodeName.toLowerCase() && 'text' === t.type && (null == (e = t.getAttribute('type')) || 'text' === e.toLowerCase()); }, first: dt(function () { return [0]; }), last: dt(function (t, e) { return [e - 1]; }), eq: dt(function (t, e, n) { return [n < 0 ? n + e : n]; }), even: dt(function (t, e) { for (var n = 0; n < e; n += 2) t.push(n); return t; }), odd: dt(function (t, e) { for (var n = 1; n < e; n += 2) t.push(n); return t; }), lt: dt(function (t, e, n) { for (var i = n < 0 ? n + e : n; --i >= 0; ) t.push(i); return t; }), gt: dt(function (t, e, n) { for (var i = n < 0 ? n + e : n; ++i < e; ) t.push(i); return t; }), }, }).pseudos.nth = i.pseudos.eq), { radio: !0, checkbox: !0, file: !0, password: !0, image: !0, })) i.pseudos[e] = lt(e); for (e in { submit: !0, reset: !0, }) i.pseudos[e] = ut(e); function ht() {} function ft(t) { for (var e = 0, n = t.length, i = ''; e < n; e++) i += t[e].value; return i; } function mt(t, e, n) { var i = e.dir, r = n && 'parentNode' === i, o = M++; return e.first ? function (e, n, o) { for (; (e = e[i]); ) if (1 === e.nodeType || r) return t(e, n, o); } : function (e, n, a) { var s, c, l, u = [x, o]; if (a) { for (; (e = e[i]); ) if ((1 === e.nodeType || r) && t(e, n, a)) return !0; } else for (; (e = e[i]); ) if (1 === e.nodeType || r) { if ((s = (c = (l = e[w] || (e[w] = {}))[e.uniqueID] || (l[e.uniqueID] = {}))[i]) && s[0] === x && s[1] === o) return (u[2] = s[2]); if (((c[i] = u), (u[2] = t(e, n, a)))) return !0; } }; } function gt(t) { return t.length > 1 ? function (e, n, i) { for (var r = t.length; r--; ) if (!t[r](e, n, i)) return !1; return !0; } : t[0]; } function vt(t, e, n, i, r) { for (var o, a = [], s = 0, c = t.length, l = null != e; s < c; s++) (o = t[s]) && ((n && !n(o, i, r)) || (a.push(o), l && e.push(s))); return a; } function yt(t, e, n, i, r, o) { return ( i && !i[w] && (i = yt(i)), r && !r[w] && (r = yt(r, o)), ot(function (o, a, s, c) { var l, u, d, p = [], h = [], f = a.length, m = o || (function (t, e, n) { for (var i = 0, r = e.length; i < r; i++) it(t, e[i], n); return n; })(e || '*', s.nodeType ? [s] : s, []), g = !t || (!o && e) ? m : vt(m, p, t, s, c), v = n ? (r || (o ? t : f || i) ? [] : a) : g; if ((n && n(g, v, s, c), i)) for (l = vt(v, h), i(l, [], s, c), u = l.length; u--; ) (d = l[u]) && (v[h[u]] = !(g[h[u]] = d)); if (o) { if (r || t) { if (r) { for (l = [], u = v.length; u--; ) (d = v[u]) && l.push((g[u] = d)); r(null, (v = []), l, c); } for (u = v.length; u--; ) (d = v[u]) && (l = r ? R(o, d) : p[u]) > -1 && (o[l] = !(a[l] = d)); } } else (v = vt(v === a ? v.splice(f, v.length) : v)), r ? r(null, a, v, c) : k.apply(a, v); }) ); } function bt(t) { for ( var e, n, r, o = t.length, a = i.relative[t[0].type], s = a || i.relative[' '], c = a ? 1 : 0, u = mt( function (t) { return t === e; }, s, !0 ), d = mt( function (t) { return R(e, t) > -1; }, s, !0 ), p = [ function (t, n, i) { var r = (!a && (i || n !== l)) || ((e = n).nodeType ? u(t, n, i) : d(t, n, i)); return (e = null), r; }, ]; c < o; c++ ) if ((n = i.relative[t[c].type])) p = [mt(gt(p), n)]; else { if ((n = i.filter[t[c].type].apply(null, t[c].matches))[w]) { for (r = ++c; r < o && !i.relative[t[r].type]; r++); return yt( c > 1 && gt(p), c > 1 && ft( t.slice(0, c - 1).concat({ value: ' ' === t[c - 2].type ? '*' : '', }) ).replace(B, '$1'), n, c < r && bt(t.slice(c, r)), r < o && bt((t = t.slice(r))), r < o && ft(t) ); } p.push(n); } return gt(p); } return ( (ht.prototype = i.filters = i.pseudos), (i.setFilters = new ht()), (a = it.tokenize = function (t, e) { var n, r, o, a, s, c, l, u = C[t + ' ']; if (u) return e ? 0 : u.slice(0); for (s = t, c = [], l = i.preFilter; s; ) { for (a in ((n && !(r = z.exec(s))) || (r && (s = s.slice(r[0].length) || s), c.push((o = []))), (n = !1), (r = G.exec(s)) && ((n = r.shift()), o.push({ value: n, type: r[0].replace(B, ' '), }), (s = s.slice(n.length))), i.filter)) !(r = X[a].exec(s)) || (l[a] && !(r = l[a](r))) || ((n = r.shift()), o.push({ value: n, type: a, matches: r, }), (s = s.slice(n.length))); if (!n) break; } return e ? s.length : s ? it.error(t) : C(t, c).slice(0); }), (s = it.compile = function (t, e) { var n, r = [], o = [], s = A[t + ' ']; if (!s) { for (e || (e = a(t)), n = e.length; n--; ) (s = bt(e[n]))[w] ? r.push(s) : o.push(s); (s = A( t, (function (t, e) { var n = e.length > 0, r = t.length > 0, o = function (o, a, s, c, u) { var d, f, g, v = 0, y = '0', b = o && [], w = [], S = l, M = o || (r && i.find.TAG('*', u)), E = (x += null == S ? 1 : Math.random() || 0.1), C = M.length; for (u && (l = a === h || a || u); y !== C && null != (d = M[y]); y++) { if (r && d) { for (f = 0, a || d.ownerDocument === h || (p(d), (s = !m)); (g = t[f++]); ) if (g(d, a || h, s)) { c.push(d); break; } u && (x = E); } n && ((d = !g && d) && v--, o && b.push(d)); } if (((v += y), n && y !== v)) { for (f = 0; (g = e[f++]); ) g(b, w, a, s); if (o) { if (v > 0) for (; y--; ) b[y] || w[y] || (w[y] = P.call(c)); w = vt(w); } k.apply(c, w), u && !o && w.length > 0 && v + e.length > 1 && it.uniqueSort(c); } return u && ((x = E), (l = S)), b; }; return n ? ot(o) : o; })(o, r) )).selector = t; } return s; }), (c = it.select = function (t, e, r, o) { var c, l, u, d, p, h = 'function' == typeof t && t, f = !o && a((t = h.selector || t)); if (((r = r || []), 1 === f.length)) { if ((l = f[0] = f[0].slice(0)).length > 2 && 'ID' === (u = l[0]).type && n.getById && 9 === e.nodeType && m && i.relative[l[1].type]) { if (!(e = (i.find.ID(u.matches[0].replace(tt, et), e) || [])[0])) return r; h && (e = e.parentNode), (t = t.slice(l.shift().value.length)); } for (c = X.needsContext.test(t) ? 0 : l.length; c-- && ((u = l[c]), !i.relative[(d = u.type)]); ) if ((p = i.find[d]) && (o = p(u.matches[0].replace(tt, et), (Q.test(l[0].type) && pt(e.parentNode)) || e))) { if ((l.splice(c, 1), !(t = o.length && ft(l)))) return k.apply(r, o), r; break; } } return (h || s(t, f))(o, e, !m, r, !e || (Q.test(t) && pt(e.parentNode)) || e), r; }), (n.sortStable = w.split('').sort(T).join('') === w), (n.detectDuplicates = !!d), p(), (n.sortDetached = at(function (t) { return 1 & t.compareDocumentPosition(h.createElement('div')); })), at(function (t) { return (t.innerHTML = ""), '#' === t.firstChild.getAttribute('href'); }) || st('type|href|height|width', function (t, e, n) { if (!n) return t.getAttribute(e, 'type' === e.toLowerCase() ? 1 : 2); }), (n.attributes && at(function (t) { return (t.innerHTML = ''), t.firstChild.setAttribute('value', ''), '' === t.firstChild.getAttribute('value'); })) || st('value', function (t, e, n) { if (!n && 'input' === t.nodeName.toLowerCase()) return t.defaultValue; }), at(function (t) { return null == t.getAttribute('disabled'); }) || st(L, function (t, e, n) { var i; if (!n) return !0 === t[e] ? e.toLowerCase() : (i = t.getAttributeNode(e)) && i.specified ? i.value : null; }), it ); })(n); (m.find = S), (m.expr = S.selectors), (m.expr[':'] = m.expr.pseudos), (m.uniqueSort = m.unique = S.uniqueSort), (m.text = S.getText), (m.isXMLDoc = S.isXML), (m.contains = S.contains); var x = function (t, e, n) { for (var i = [], r = void 0 !== n; (t = t[e]) && 9 !== t.nodeType; ) if (1 === t.nodeType) { if (r && m(t).is(n)) break; i.push(t); } return i; }, M = function (t, e) { for (var n = []; t; t = t.nextSibling) 1 === t.nodeType && t !== e && n.push(t); return n; }, E = m.expr.match.needsContext, C = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/, A = /^.[^:#\[\.,]*$/; function T(t, e, n) { if (m.isFunction(e)) return m.grep(t, function (t, i) { return !!e.call(t, i, t) !== n; }); if (e.nodeType) return m.grep(t, function (t) { return (t === e) !== n; }); if ('string' == typeof e) { if (A.test(e)) return m.filter(e, t, n); e = m.filter(e, t); } return m.grep(t, function (t) { return u.call(e, t) > -1 !== n; }); } (m.filter = function (t, e, n) { var i = e[0]; return ( n && (t = ':not(' + t + ')'), 1 === e.length && 1 === i.nodeType ? m.find.matchesSelector(i, t) ? [i] : [] : m.find.matches( t, m.grep(e, function (t) { return 1 === t.nodeType; }) ) ); }), m.fn.extend({ find: function (t) { var e, n = this.length, i = [], r = this; if ('string' != typeof t) return this.pushStack( m(t).filter(function () { for (e = 0; e < n; e++) if (m.contains(r[e], this)) return !0; }) ); for (e = 0; e < n; e++) m.find(t, r[e], i); return ((i = this.pushStack(n > 1 ? m.unique(i) : i)).selector = this.selector ? this.selector + ' ' + t : t), i; }, filter: function (t) { return this.pushStack(T(this, t || [], !1)); }, not: function (t) { return this.pushStack(T(this, t || [], !0)); }, is: function (t) { return !!T(this, 'string' == typeof t && E.test(t) ? m(t) : t || [], !1).length; }, }); var O, _ = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/; ((m.fn.init = function (t, e, n) { var i, r; if (!t) return this; if (((n = n || O), 'string' == typeof t)) { if (!(i = '<' === t[0] && '>' === t[t.length - 1] && t.length >= 3 ? [null, t, null] : _.exec(t)) || (!i[1] && e)) return !e || e.jquery ? (e || n).find(t) : this.constructor(e).find(t); if (i[1]) { if (((e = e instanceof m ? e[0] : e), m.merge(this, m.parseHTML(i[1], e && e.nodeType ? e.ownerDocument || e : a, !0)), C.test(i[1]) && m.isPlainObject(e))) for (i in e) m.isFunction(this[i]) ? this[i](e[i]) : this.attr(i, e[i]); return this; } return (r = a.getElementById(i[2])) && r.parentNode && ((this.length = 1), (this[0] = r)), (this.context = a), (this.selector = t), this; } return t.nodeType ? ((this.context = this[0] = t), (this.length = 1), this) : m.isFunction(t) ? void 0 !== n.ready ? n.ready(t) : t(m) : (void 0 !== t.selector && ((this.selector = t.selector), (this.context = t.context)), m.makeArray(t, this)); }).prototype = m.fn), (O = m(a)); var P = /^(?:parents|prev(?:Until|All))/, I = { children: !0, contents: !0, next: !0, prev: !0, }; function k(t, e) { for (; (t = t[e]) && 1 !== t.nodeType; ); return t; } m.fn.extend({ has: function (t) { var e = m(t, this), n = e.length; return this.filter(function () { for (var t = 0; t < n; t++) if (m.contains(this, e[t])) return !0; }); }, closest: function (t, e) { for (var n, i = 0, r = this.length, o = [], a = E.test(t) || 'string' != typeof t ? m(t, e || this.context) : 0; i < r; i++) for (n = this[i]; n && n !== e; n = n.parentNode) if (n.nodeType < 11 && (a ? a.index(n) > -1 : 1 === n.nodeType && m.find.matchesSelector(n, t))) { o.push(n); break; } return this.pushStack(o.length > 1 ? m.uniqueSort(o) : o); }, index: function (t) { return t ? ('string' == typeof t ? u.call(m(t), this[0]) : u.call(this, t.jquery ? t[0] : t)) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1; }, add: function (t, e) { return this.pushStack(m.uniqueSort(m.merge(this.get(), m(t, e)))); }, addBack: function (t) { return this.add(null == t ? this.prevObject : this.prevObject.filter(t)); }, }), m.each( { parent: function (t) { var e = t.parentNode; return e && 11 !== e.nodeType ? e : null; }, parents: function (t) { return x(t, 'parentNode'); }, parentsUntil: function (t, e, n) { return x(t, 'parentNode', n); }, next: function (t) { return k(t, 'nextSibling'); }, prev: function (t) { return k(t, 'previousSibling'); }, nextAll: function (t) { return x(t, 'nextSibling'); }, prevAll: function (t) { return x(t, 'previousSibling'); }, nextUntil: function (t, e, n) { return x(t, 'nextSibling', n); }, prevUntil: function (t, e, n) { return x(t, 'previousSibling', n); }, siblings: function (t) { return M((t.parentNode || {}).firstChild, t); }, children: function (t) { return M(t.firstChild); }, contents: function (t) { return t.contentDocument || m.merge([], t.childNodes); }, }, function (t, e) { m.fn[t] = function (n, i) { var r = m.map(this, e, n); return 'Until' !== t.slice(-5) && (i = n), i && 'string' == typeof i && (r = m.filter(i, r)), this.length > 1 && (I[t] || m.uniqueSort(r), P.test(t) && r.reverse()), this.pushStack(r); }; } ); var D, R = /\S+/g; function L() { a.removeEventListener('DOMContentLoaded', L), n.removeEventListener('load', L), m.ready(); } (m.Callbacks = function (t) { t = 'string' == typeof t ? (function (t) { var e = {}; return ( m.each(t.match(R) || [], function (t, n) { e[n] = !0; }), e ); })(t) : m.extend({}, t); var e, n, i, r, o = [], a = [], s = -1, c = function () { for (r = t.once, i = e = !0; a.length; s = -1) for (n = a.shift(); ++s < o.length; ) !1 === o[s].apply(n[0], n[1]) && t.stopOnFalse && ((s = o.length), (n = !1)); t.memory || (n = !1), (e = !1), r && (o = n ? [] : ''); }, l = { add: function () { return ( o && (n && !e && ((s = o.length - 1), a.push(n)), (function e(n) { m.each(n, function (n, i) { m.isFunction(i) ? (t.unique && l.has(i)) || o.push(i) : i && i.length && 'string' !== m.type(i) && e(i); }); })(arguments), n && !e && c()), this ); }, remove: function () { return ( m.each(arguments, function (t, e) { for (var n; (n = m.inArray(e, o, n)) > -1; ) o.splice(n, 1), n <= s && s--; }), this ); }, has: function (t) { return t ? m.inArray(t, o) > -1 : o.length > 0; }, empty: function () { return o && (o = []), this; }, disable: function () { return (r = a = []), (o = n = ''), this; }, disabled: function () { return !o; }, lock: function () { return (r = a = []), n || (o = n = ''), this; }, locked: function () { return !!r; }, fireWith: function (t, n) { return r || ((n = [t, (n = n || []).slice ? n.slice() : n]), a.push(n), e || c()), this; }, fire: function () { return l.fireWith(this, arguments), this; }, fired: function () { return !!i; }, }; return l; }), m.extend({ Deferred: function (t) { var e = [ ['resolve', 'done', m.Callbacks('once memory'), 'resolved'], ['reject', 'fail', m.Callbacks('once memory'), 'rejected'], ['notify', 'progress', m.Callbacks('memory')], ], n = 'pending', i = { state: function () { return n; }, always: function () { return r.done(arguments).fail(arguments), this; }, then: function () { var t = arguments; return m .Deferred(function (n) { m.each(e, function (e, o) { var a = m.isFunction(t[e]) && t[e]; r[o[1]](function () { var t = a && a.apply(this, arguments); t && m.isFunction(t.promise) ? t.promise().progress(n.notify).done(n.resolve).fail(n.reject) : n[o[0] + 'With'](this === i ? n.promise() : this, a ? [t] : arguments); }); }), (t = null); }) .promise(); }, promise: function (t) { return null != t ? m.extend(t, i) : i; }, }, r = {}; return ( (i.pipe = i.then), m.each(e, function (t, o) { var a = o[2], s = o[3]; (i[o[1]] = a.add), s && a.add( function () { n = s; }, e[1 ^ t][2].disable, e[2][2].lock ), (r[o[0]] = function () { return r[o[0] + 'With'](this === r ? i : this, arguments), this; }), (r[o[0] + 'With'] = a.fireWith); }), i.promise(r), t && t.call(r, r), r ); }, when: function (t) { var e, n, i, r = 0, o = s.call(arguments), a = o.length, c = 1 !== a || (t && m.isFunction(t.promise)) ? a : 0, l = 1 === c ? t : m.Deferred(), u = function (t, n, i) { return function (r) { (n[t] = this), (i[t] = arguments.length > 1 ? s.call(arguments) : r), i === e ? l.notifyWith(n, i) : --c || l.resolveWith(n, i); }; }; if (a > 1) for (e = new Array(a), n = new Array(a), i = new Array(a); r < a; r++) o[r] && m.isFunction(o[r].promise) ? o[r].promise().progress(u(r, n, e)).done(u(r, i, o)).fail(l.reject) : --c; return c || l.resolveWith(i, o), l.promise(); }, }), (m.fn.ready = function (t) { return m.ready.promise().done(t), this; }), m.extend({ isReady: !1, readyWait: 1, holdReady: function (t) { t ? m.readyWait++ : m.ready(!0); }, ready: function (t) { (!0 === t ? --m.readyWait : m.isReady) || ((m.isReady = !0), (!0 !== t && --m.readyWait > 0) || (D.resolveWith(a, [m]), m.fn.triggerHandler && (m(a).triggerHandler('ready'), m(a).off('ready')))); }, }), (m.ready.promise = function (t) { return ( D || ((D = m.Deferred()), 'complete' === a.readyState || ('loading' !== a.readyState && !a.documentElement.doScroll) ? n.setTimeout(m.ready) : (a.addEventListener('DOMContentLoaded', L), n.addEventListener('load', L))), D.promise(t) ); }), m.ready.promise(); var N = function (t, e, n, i, r, o, a) { var s = 0, c = t.length, l = null == n; if ('object' === m.type(n)) for (s in ((r = !0), n)) N(t, e, s, n[s], !0, o, a); else if ( void 0 !== i && ((r = !0), m.isFunction(i) || (a = !0), l && (a ? (e.call(t, i), (e = null)) : ((l = e), (e = function (t, e, n) { return l.call(m(t), n); }))), e) ) for (; s < c; s++) e(t[s], n, a ? i : i.call(t[s], s, e(t[s], n))); return r ? t : l ? e.call(t) : c ? e(t[0], n) : o; }, j = function (t) { return 1 === t.nodeType || 9 === t.nodeType || !+t.nodeType; }; function V() { this.expando = m.expando + V.uid++; } (V.uid = 1), (V.prototype = { register: function (t, e) { var n = e || {}; return ( t.nodeType ? (t[this.expando] = n) : Object.defineProperty(t, this.expando, { value: n, writable: !0, configurable: !0, }), t[this.expando] ); }, cache: function (t) { if (!j(t)) return {}; var e = t[this.expando]; return ( e || ((e = {}), j(t) && (t.nodeType ? (t[this.expando] = e) : Object.defineProperty(t, this.expando, { value: e, configurable: !0, }))), e ); }, set: function (t, e, n) { var i, r = this.cache(t); if ('string' == typeof e) r[e] = n; else for (i in e) r[i] = e[i]; return r; }, get: function (t, e) { return void 0 === e ? this.cache(t) : t[this.expando] && t[this.expando][e]; }, access: function (t, e, n) { var i; return void 0 === e || (e && 'string' == typeof e && void 0 === n) ? (void 0 !== (i = this.get(t, e)) ? i : this.get(t, m.camelCase(e))) : (this.set(t, e, n), void 0 !== n ? n : e); }, remove: function (t, e) { var n, i, r, o = t[this.expando]; if (void 0 !== o) { if (void 0 === e) this.register(t); else { m.isArray(e) ? (i = e.concat(e.map(m.camelCase))) : ((r = m.camelCase(e)), (i = e in o ? [e, r] : (i = r) in o ? [i] : i.match(R) || [])), (n = i.length); for (; n--; ) delete o[i[n]]; } (void 0 === e || m.isEmptyObject(o)) && (t.nodeType ? (t[this.expando] = void 0) : delete t[this.expando]); } }, hasData: function (t) { var e = t[this.expando]; return void 0 !== e && !m.isEmptyObject(e); }, }); var F = new V(), U = new V(), B = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, z = /[A-Z]/g; function G(t, e, n) { var i; if (void 0 === n && 1 === t.nodeType) if (((i = 'data-' + e.replace(z, '-$&').toLowerCase()), 'string' == typeof (n = t.getAttribute(i)))) { try { n = 'true' === n || ('false' !== n && ('null' === n ? null : +n + '' === n ? +n : B.test(n) ? m.parseJSON(n) : n)); } catch (t) {} U.set(t, e, n); } else n = void 0; return n; } m.extend({ hasData: function (t) { return U.hasData(t) || F.hasData(t); }, data: function (t, e, n) { return U.access(t, e, n); }, removeData: function (t, e) { U.remove(t, e); }, _data: function (t, e, n) { return F.access(t, e, n); }, _removeData: function (t, e) { F.remove(t, e); }, }), m.fn.extend({ data: function (t, e) { var n, i, r, o = this[0], a = o && o.attributes; if (void 0 === t) { if (this.length && ((r = U.get(o)), 1 === o.nodeType && !F.get(o, 'hasDataAttrs'))) { for (n = a.length; n--; ) a[n] && 0 === (i = a[n].name).indexOf('data-') && ((i = m.camelCase(i.slice(5))), G(o, i, r[i])); F.set(o, 'hasDataAttrs', !0); } return r; } return 'object' == typeof t ? this.each(function () { U.set(this, t); }) : N( this, function (e) { var n, i; if (o && void 0 === e) return void 0 !== (n = U.get(o, t) || U.get(o, t.replace(z, '-$&').toLowerCase())) ? n : ((i = m.camelCase(t)), void 0 !== (n = U.get(o, i)) || void 0 !== (n = G(o, i, void 0)) ? n : void 0); (i = m.camelCase(t)), this.each(function () { var n = U.get(this, i); U.set(this, i, e), t.indexOf('-') > -1 && void 0 !== n && U.set(this, t, e); }); }, null, e, arguments.length > 1, null, !0 ); }, removeData: function (t) { return this.each(function () { U.remove(this, t); }); }, }), m.extend({ queue: function (t, e, n) { var i; if (t) return (e = (e || 'fx') + 'queue'), (i = F.get(t, e)), n && (!i || m.isArray(n) ? (i = F.access(t, e, m.makeArray(n))) : i.push(n)), i || []; }, dequeue: function (t, e) { e = e || 'fx'; var n = m.queue(t, e), i = n.length, r = n.shift(), o = m._queueHooks(t, e); 'inprogress' === r && ((r = n.shift()), i--), r && ('fx' === e && n.unshift('inprogress'), delete o.stop, r.call( t, function () { m.dequeue(t, e); }, o )), !i && o && o.empty.fire(); }, _queueHooks: function (t, e) { var n = e + 'queueHooks'; return ( F.get(t, n) || F.access(t, n, { empty: m.Callbacks('once memory').add(function () { F.remove(t, [e + 'queue', n]); }), }) ); }, }), m.fn.extend({ queue: function (t, e) { var n = 2; return ( 'string' != typeof t && ((e = t), (t = 'fx'), n--), arguments.length < n ? m.queue(this[0], t) : void 0 === e ? this : this.each(function () { var n = m.queue(this, t, e); m._queueHooks(this, t), 'fx' === t && 'inprogress' !== n[0] && m.dequeue(this, t); }) ); }, dequeue: function (t) { return this.each(function () { m.dequeue(this, t); }); }, clearQueue: function (t) { return this.queue(t || 'fx', []); }, promise: function (t, e) { var n, i = 1, r = m.Deferred(), o = this, a = this.length, s = function () { --i || r.resolveWith(o, [o]); }; for ('string' != typeof t && ((e = t), (t = void 0)), t = t || 'fx'; a--; ) (n = F.get(o[a], t + 'queueHooks')) && n.empty && (i++, n.empty.add(s)); return s(), r.promise(e); }, }); var H = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, W = new RegExp('^(?:([+-])=|)(' + H + ')([a-z%]*)$', 'i'), q = ['Top', 'Right', 'Bottom', 'Left'], X = function (t, e) { return (t = e || t), 'none' === m.css(t, 'display') || !m.contains(t.ownerDocument, t); }; function Y(t, e, n, i) { var r, o = 1, a = 20, s = i ? function () { return i.cur(); } : function () { return m.css(t, e, ''); }, c = s(), l = (n && n[3]) || (m.cssNumber[e] ? '' : 'px'), u = (m.cssNumber[e] || ('px' !== l && +c)) && W.exec(m.css(t, e)); if (u && u[3] !== l) { (l = l || u[3]), (n = n || []), (u = +c || 1); do { (u /= o = o || '.5'), m.style(t, e, u + l); } while (o !== (o = s() / c) && 1 !== o && --a); } return n && ((u = +u || +c || 0), (r = n[1] ? u + (n[1] + 1) * n[2] : +n[2]), i && ((i.unit = l), (i.start = u), (i.end = r))), r; } var K = /^(?:checkbox|radio)$/i, Z = /<([\w:-]+)/, J = /^$|\/(?:java|ecma)script/i, Q = { option: [1, "'], thead: [1, '', '
'], col: [2, '', '
'], tr: [2, '', '
'], td: [3, '', '
'], _default: [0, '', ''], }; function $(t, e) { var n = void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e || '*') : void 0 !== t.querySelectorAll ? t.querySelectorAll(e || '*') : []; return void 0 === e || (e && m.nodeName(t, e)) ? m.merge([t], n) : n; } function tt(t, e) { for (var n = 0, i = t.length; n < i; n++) F.set(t[n], 'globalEval', !e || F.get(e[n], 'globalEval')); } (Q.optgroup = Q.option), (Q.tbody = Q.tfoot = Q.colgroup = Q.caption = Q.thead), (Q.th = Q.td); var et, nt, it = /<|&#?\w+;/; function rt(t, e, n, i, r) { for (var o, a, s, c, l, u, d = e.createDocumentFragment(), p = [], h = 0, f = t.length; h < f; h++) if ((o = t[h]) || 0 === o) if ('object' === m.type(o)) m.merge(p, o.nodeType ? [o] : o); else if (it.test(o)) { for ( a = a || d.appendChild(e.createElement('div')), s = (Z.exec(o) || ['', ''])[1].toLowerCase(), c = Q[s] || Q._default, a.innerHTML = c[1] + m.htmlPrefilter(o) + c[2], u = c[0]; u--; ) a = a.lastChild; m.merge(p, a.childNodes), ((a = d.firstChild).textContent = ''); } else p.push(e.createTextNode(o)); for (d.textContent = '', h = 0; (o = p[h++]); ) if (i && m.inArray(o, i) > -1) r && r.push(o); else if (((l = m.contains(o.ownerDocument, o)), (a = $(d.appendChild(o), 'script')), l && tt(a), n)) for (u = 0; (o = a[u++]); ) J.test(o.type || '') && n.push(o); return d; } (et = a.createDocumentFragment().appendChild(a.createElement('div'))), (nt = a.createElement('input')).setAttribute('type', 'radio'), nt.setAttribute('checked', 'checked'), nt.setAttribute('name', 't'), et.appendChild(nt), (f.checkClone = et.cloneNode(!0).cloneNode(!0).lastChild.checked), (et.innerHTML = ''), (f.noCloneChecked = !!et.cloneNode(!0).lastChild.defaultValue); var ot = /^key/, at = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, st = /^([^.]*)(?:\.(.+)|)/; function ct() { return !0; } function lt() { return !1; } function ut() { try { return a.activeElement; } catch (t) {} } function dt(t, e, n, i, r, o) { var a, s; if ('object' == typeof e) { for (s in ('string' != typeof n && ((i = i || n), (n = void 0)), e)) dt(t, s, n, i, e[s], o); return t; } if ((null == i && null == r ? ((r = n), (i = n = void 0)) : null == r && ('string' == typeof n ? ((r = i), (i = void 0)) : ((r = i), (i = n), (n = void 0))), !1 === r)) r = lt; else if (!r) return t; return ( 1 === o && ((a = r), ((r = function (t) { return m().off(t), a.apply(this, arguments); }).guid = a.guid || (a.guid = m.guid++))), t.each(function () { m.event.add(this, e, r, i, n); }) ); } (m.event = { global: {}, add: function (t, e, n, i, r) { var o, a, s, c, l, u, d, p, h, f, g, v = F.get(t); if (v) for ( n.handler && ((n = (o = n).handler), (r = o.selector)), n.guid || (n.guid = m.guid++), (c = v.events) || (c = v.events = {}), (a = v.handle) || (a = v.handle = function (e) { return void 0 !== m && m.event.triggered !== e.type ? m.event.dispatch.apply(t, arguments) : void 0; }), l = (e = (e || '').match(R) || ['']).length; l--; ) (h = g = (s = st.exec(e[l]) || [])[1]), (f = (s[2] || '').split('.').sort()), h && ((d = m.event.special[h] || {}), (h = (r ? d.delegateType : d.bindType) || h), (d = m.event.special[h] || {}), (u = m.extend( { type: h, origType: g, data: i, handler: n, guid: n.guid, selector: r, needsContext: r && m.expr.match.needsContext.test(r), namespace: f.join('.'), }, o )), (p = c[h]) || (((p = c[h] = []).delegateCount = 0), (d.setup && !1 !== d.setup.call(t, i, f, a)) || (t.addEventListener && t.addEventListener(h, a))), d.add && (d.add.call(t, u), u.handler.guid || (u.handler.guid = n.guid)), r ? p.splice(p.delegateCount++, 0, u) : p.push(u), (m.event.global[h] = !0)); }, remove: function (t, e, n, i, r) { var o, a, s, c, l, u, d, p, h, f, g, v = F.hasData(t) && F.get(t); if (v && (c = v.events)) { for (l = (e = (e || '').match(R) || ['']).length; l--; ) if (((h = g = (s = st.exec(e[l]) || [])[1]), (f = (s[2] || '').split('.').sort()), h)) { for ( d = m.event.special[h] || {}, p = c[(h = (i ? d.delegateType : d.bindType) || h)] || [], s = s[2] && new RegExp('(^|\\.)' + f.join('\\.(?:.*\\.|)') + '(\\.|$)'), a = o = p.length; o--; ) (u = p[o]), (!r && g !== u.origType) || (n && n.guid !== u.guid) || (s && !s.test(u.namespace)) || (i && i !== u.selector && ('**' !== i || !u.selector)) || (p.splice(o, 1), u.selector && p.delegateCount--, d.remove && d.remove.call(t, u)); a && !p.length && ((d.teardown && !1 !== d.teardown.call(t, f, v.handle)) || m.removeEvent(t, h, v.handle), delete c[h]); } else for (h in c) m.event.remove(t, h + e[l], n, i, !0); m.isEmptyObject(c) && F.remove(t, 'handle events'); } }, dispatch: function (t) { t = m.event.fix(t); var e, n, i, r, o, a = [], c = s.call(arguments), l = (F.get(this, 'events') || {})[t.type] || [], u = m.event.special[t.type] || {}; if (((c[0] = t), (t.delegateTarget = this), !u.preDispatch || !1 !== u.preDispatch.call(this, t))) { for (a = m.event.handlers.call(this, t, l), e = 0; (r = a[e++]) && !t.isPropagationStopped(); ) for (t.currentTarget = r.elem, n = 0; (o = r.handlers[n++]) && !t.isImmediatePropagationStopped(); ) (t.rnamespace && !t.rnamespace.test(o.namespace)) || ((t.handleObj = o), (t.data = o.data), void 0 !== (i = ((m.event.special[o.origType] || {}).handle || o.handler).apply(r.elem, c)) && !1 === (t.result = i) && (t.preventDefault(), t.stopPropagation())); return u.postDispatch && u.postDispatch.call(this, t), t.result; } }, handlers: function (t, e) { var n, i, r, o, a = [], s = e.delegateCount, c = t.target; if (s && c.nodeType && ('click' !== t.type || isNaN(t.button) || t.button < 1)) for (; c !== this; c = c.parentNode || this) if (1 === c.nodeType && (!0 !== c.disabled || 'click' !== t.type)) { for (i = [], n = 0; n < s; n++) void 0 === i[(r = (o = e[n]).selector + ' ')] && (i[r] = o.needsContext ? m(r, this).index(c) > -1 : m.find(r, this, null, [c]).length), i[r] && i.push(o); i.length && a.push({ elem: c, handlers: i, }); } return ( s < e.length && a.push({ elem: this, handlers: e.slice(s), }), a ); }, props: 'altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which'.split(' '), fixHooks: {}, keyHooks: { props: 'char charCode key keyCode'.split(' '), filter: function (t, e) { return null == t.which && (t.which = null != e.charCode ? e.charCode : e.keyCode), t; }, }, mouseHooks: { props: 'button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement'.split(' '), filter: function (t, e) { var n, i, r, o = e.button; return ( null == t.pageX && null != e.clientX && ((i = (n = t.target.ownerDocument || a).documentElement), (r = n.body), (t.pageX = e.clientX + ((i && i.scrollLeft) || (r && r.scrollLeft) || 0) - ((i && i.clientLeft) || (r && r.clientLeft) || 0)), (t.pageY = e.clientY + ((i && i.scrollTop) || (r && r.scrollTop) || 0) - ((i && i.clientTop) || (r && r.clientTop) || 0))), t.which || void 0 === o || (t.which = 1 & o ? 1 : 2 & o ? 3 : 4 & o ? 2 : 0), t ); }, }, fix: function (t) { if (t[m.expando]) return t; var e, n, i, r = t.type, o = t, s = this.fixHooks[r]; for ( s || (this.fixHooks[r] = s = at.test(r) ? this.mouseHooks : ot.test(r) ? this.keyHooks : {}), i = s.props ? this.props.concat(s.props) : this.props, t = new m.Event(o), e = i.length; e--; ) t[(n = i[e])] = o[n]; return t.target || (t.target = a), 3 === t.target.nodeType && (t.target = t.target.parentNode), s.filter ? s.filter(t, o) : t; }, special: { load: { noBubble: !0, }, focus: { trigger: function () { if (this !== ut() && this.focus) return this.focus(), !1; }, delegateType: 'focusin', }, blur: { trigger: function () { if (this === ut() && this.blur) return this.blur(), !1; }, delegateType: 'focusout', }, click: { trigger: function () { if ('checkbox' === this.type && this.click && m.nodeName(this, 'input')) return this.click(), !1; }, _default: function (t) { return m.nodeName(t.target, 'a'); }, }, beforeunload: { postDispatch: function (t) { void 0 !== t.result && t.originalEvent && (t.originalEvent.returnValue = t.result); }, }, }, }), (m.removeEvent = function (t, e, n) { t.removeEventListener && t.removeEventListener(e, n); }), (m.Event = function (t, e) { if (!(this instanceof m.Event)) return new m.Event(t, e); t && t.type ? ((this.originalEvent = t), (this.type = t.type), (this.isDefaultPrevented = t.defaultPrevented || (void 0 === t.defaultPrevented && !1 === t.returnValue) ? ct : lt)) : (this.type = t), e && m.extend(this, e), (this.timeStamp = (t && t.timeStamp) || m.now()), (this[m.expando] = !0); }), (m.Event.prototype = { constructor: m.Event, isDefaultPrevented: lt, isPropagationStopped: lt, isImmediatePropagationStopped: lt, isSimulated: !1, preventDefault: function () { var t = this.originalEvent; (this.isDefaultPrevented = ct), t && !this.isSimulated && t.preventDefault(); }, stopPropagation: function () { var t = this.originalEvent; (this.isPropagationStopped = ct), t && !this.isSimulated && t.stopPropagation(); }, stopImmediatePropagation: function () { var t = this.originalEvent; (this.isImmediatePropagationStopped = ct), t && !this.isSimulated && t.stopImmediatePropagation(), this.stopPropagation(); }, }), m.each( { mouseenter: 'mouseover', mouseleave: 'mouseout', pointerenter: 'pointerover', pointerleave: 'pointerout', }, function (t, e) { m.event.special[t] = { delegateType: e, bindType: e, handle: function (t) { var n, i = this, r = t.relatedTarget, o = t.handleObj; return (r && (r === i || m.contains(i, r))) || ((t.type = o.origType), (n = o.handler.apply(this, arguments)), (t.type = e)), n; }, }; } ), m.fn.extend({ on: function (t, e, n, i) { return dt(this, t, e, n, i); }, one: function (t, e, n, i) { return dt(this, t, e, n, i, 1); }, off: function (t, e, n) { var i, r; if (t && t.preventDefault && t.handleObj) return (i = t.handleObj), m(t.delegateTarget).off(i.namespace ? i.origType + '.' + i.namespace : i.origType, i.selector, i.handler), this; if ('object' == typeof t) { for (r in t) this.off(r, e, t[r]); return this; } return ( (!1 !== e && 'function' != typeof e) || ((n = e), (e = void 0)), !1 === n && (n = lt), this.each(function () { m.event.remove(this, t, n, e); }) ); }, }); var pt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, ht = /\s*$/g; function vt(t, e) { return m.nodeName(t, 'table') && m.nodeName(11 !== e.nodeType ? e : e.firstChild, 'tr') ? t.getElementsByTagName('tbody')[0] || t.appendChild(t.ownerDocument.createElement('tbody')) : t; } function yt(t) { return (t.type = (null !== t.getAttribute('type')) + '/' + t.type), t; } function bt(t) { var e = mt.exec(t.type); return e ? (t.type = e[1]) : t.removeAttribute('type'), t; } function wt(t, e) { var n, i, r, o, a, s, c, l; if (1 === e.nodeType) { if (F.hasData(t) && ((o = F.access(t)), (a = F.set(e, o)), (l = o.events))) for (r in (delete a.handle, (a.events = {}), l)) for (n = 0, i = l[r].length; n < i; n++) m.event.add(e, r, l[r][n]); U.hasData(t) && ((s = U.access(t)), (c = m.extend({}, s)), U.set(e, c)); } } function St(t, e, n, i) { e = c.apply([], e); var r, o, a, s, l, u, d = 0, p = t.length, h = p - 1, g = e[0], v = m.isFunction(g); if (v || (p > 1 && 'string' == typeof g && !f.checkClone && ft.test(g))) return t.each(function (r) { var o = t.eq(r); v && (e[0] = g.call(this, r, o.html())), St(o, e, n, i); }); if (p && ((o = (r = rt(e, t[0].ownerDocument, !1, t, i)).firstChild), 1 === r.childNodes.length && (r = o), o || i)) { for (s = (a = m.map($(r, 'script'), yt)).length; d < p; d++) (l = r), d !== h && ((l = m.clone(l, !0, !0)), s && m.merge(a, $(l, 'script'))), n.call(t[d], l, d); if (s) for (u = a[a.length - 1].ownerDocument, m.map(a, bt), d = 0; d < s; d++) (l = a[d]), J.test(l.type || '') && !F.access(l, 'globalEval') && m.contains(u, l) && (l.src ? m._evalUrl && m._evalUrl(l.src) : m.globalEval(l.textContent.replace(gt, ''))); } return t; } function xt(t, e, n) { for (var i, r = e ? m.filter(e, t) : t, o = 0; null != (i = r[o]); o++) n || 1 !== i.nodeType || m.cleanData($(i)), i.parentNode && (n && m.contains(i.ownerDocument, i) && tt($(i, 'script')), i.parentNode.removeChild(i)); return t; } m.extend({ htmlPrefilter: function (t) { return t.replace(pt, '<$1>'); }, clone: function (t, e, n) { var i, r, o, a, s, c, l, u = t.cloneNode(!0), d = m.contains(t.ownerDocument, t); if (!(f.noCloneChecked || (1 !== t.nodeType && 11 !== t.nodeType) || m.isXMLDoc(t))) for (a = $(u), i = 0, r = (o = $(t)).length; i < r; i++) (s = o[i]), (c = a[i]), (l = void 0), 'input' === (l = c.nodeName.toLowerCase()) && K.test(s.type) ? (c.checked = s.checked) : ('input' !== l && 'textarea' !== l) || (c.defaultValue = s.defaultValue); if (e) if (n) for (o = o || $(t), a = a || $(u), i = 0, r = o.length; i < r; i++) wt(o[i], a[i]); else wt(t, u); return (a = $(u, 'script')).length > 0 && tt(a, !d && $(t, 'script')), u; }, cleanData: function (t) { for (var e, n, i, r = m.event.special, o = 0; void 0 !== (n = t[o]); o++) if (j(n)) { if ((e = n[F.expando])) { if (e.events) for (i in e.events) r[i] ? m.event.remove(n, i) : m.removeEvent(n, i, e.handle); n[F.expando] = void 0; } n[U.expando] && (n[U.expando] = void 0); } }, }), m.fn.extend({ domManip: St, detach: function (t) { return xt(this, t, !0); }, remove: function (t) { return xt(this, t); }, text: function (t) { return N( this, function (t) { return void 0 === t ? m.text(this) : this.empty().each(function () { (1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType) || (this.textContent = t); }); }, null, t, arguments.length ); }, append: function () { return St(this, arguments, function (t) { (1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType) || vt(this, t).appendChild(t); }); }, prepend: function () { return St(this, arguments, function (t) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var e = vt(this, t); e.insertBefore(t, e.firstChild); } }); }, before: function () { return St(this, arguments, function (t) { this.parentNode && this.parentNode.insertBefore(t, this); }); }, after: function () { return St(this, arguments, function (t) { this.parentNode && this.parentNode.insertBefore(t, this.nextSibling); }); }, empty: function () { for (var t, e = 0; null != (t = this[e]); e++) 1 === t.nodeType && (m.cleanData($(t, !1)), (t.textContent = '')); return this; }, clone: function (t, e) { return ( (t = null != t && t), (e = null == e ? t : e), this.map(function () { return m.clone(this, t, e); }) ); }, html: function (t) { return N( this, function (t) { var e = this[0] || {}, n = 0, i = this.length; if (void 0 === t && 1 === e.nodeType) return e.innerHTML; if ('string' == typeof t && !ht.test(t) && !Q[(Z.exec(t) || ['', ''])[1].toLowerCase()]) { t = m.htmlPrefilter(t); try { for (; n < i; n++) 1 === (e = this[n] || {}).nodeType && (m.cleanData($(e, !1)), (e.innerHTML = t)); e = 0; } catch (t) {} } e && this.empty().append(t); }, null, t, arguments.length ); }, replaceWith: function () { var t = []; return St( this, arguments, function (e) { var n = this.parentNode; m.inArray(this, t) < 0 && (m.cleanData($(this)), n && n.replaceChild(e, this)); }, t ); }, }), m.each( { appendTo: 'append', prependTo: 'prepend', insertBefore: 'before', insertAfter: 'after', replaceAll: 'replaceWith', }, function (t, e) { m.fn[t] = function (t) { for (var n, i = [], r = m(t), o = r.length - 1, a = 0; a <= o; a++) (n = a === o ? this : this.clone(!0)), m(r[a])[e](n), l.apply(i, n.get()); return this.pushStack(i); }; } ); var Mt, Et = { HTML: 'block', BODY: 'block', }; function Ct(t, e) { var n = m(e.createElement(t)).appendTo(e.body), i = m.css(n[0], 'display'); return n.detach(), i; } function At(t) { var e = a, n = Et[t]; return ( n || (('none' !== (n = Ct(t, e)) && n) || ((e = (Mt = (Mt || m("', o = i.open(); if ((null !== o && o.document.write(r), o || 'undefined' == typeof safari)) return o; case 'datauri': case 'dataurl': return (i.document.location.href = 'data:application/pdf;filename=' + e.filename + ';base64,' + btoa(n)); default: return null; } }).foo = function () { try { return L.apply(this, arguments); } catch (n) { var t = n.stack || ''; ~t.indexOf(' at ') && (t = t.split(' at ')[1]); var e = 'Error in function ' + t.split('\n')[0].split('<')[0] + ': ' + n.message; if (!i.console) throw new Error(e); i.console.error(e, n), i.alert && alert(e); } }), (L.foo.bar = L).foo)), Nt = function (t) { return !0 === Array.isArray(at) && -1 < at.indexOf(t); }; switch (e) { case 'pt': R = 1; break; case 'mm': R = 72 / 25.4; break; case 'cm': R = 72 / 2.54; break; case 'in': R = 72; break; case 'px': R = 1 == Nt('px_scaling') ? 0.75 : 96 / 72; break; case 'pc': case 'em': R = 12; break; case 'ex': R = 6; break; default: throw new Error('Invalid unit: ' + e); } A(), M(); var jt = (h.__private__.getPageInfo = function (t) { if (isNaN(t) || t % 1 != 0) throw new Error('Invalid argument passed to jsPDF.getPageInfo'); return { objId: it[t].objId, pageNumber: t, pageContext: it[t], }; }), Vt = (h.__private__.getPageInfoByObjId = function (t) { for (var e in it) if (it[e].objId === t) break; if (isNaN(t) || t % 1 != 0) throw new Error('Invalid argument passed to jsPDF.getPageInfoByObjId'); return jt(e); }), Ft = (h.__private__.getCurrentPageInfo = function () { return { objId: it[O].objId, pageNumber: O, pageContext: it[O], }; }); (h.addPage = function () { return Mt.apply(this, arguments), this; }), (h.setPage = function () { return Et.apply(this, arguments), this; }), (h.insertPage = function (t) { return this.addPage(), this.movePage(O, t), this; }), (h.movePage = function (t, e) { if (e < t) { for (var n = V[t], i = it[t], r = t; e < r; r--) (V[r] = V[r - 1]), (it[r] = it[r - 1]); (V[e] = n), (it[e] = i), this.setPage(e); } else if (t < e) { for (n = V[t], i = it[t], r = t; r < e; r++) (V[r] = V[r + 1]), (it[r] = it[r + 1]); (V[e] = n), (it[e] = i), this.setPage(e); } return this; }), (h.deletePage = function () { return ( function (t) { 0 < t && t <= nt && (V.splice(t, 1), --nt < O && (O = nt), this.setPage(O)); }.apply(this, arguments), this ); }), (h.__private__.text = h.text = function (t, e, n, i) { var o; 'number' != typeof t || 'number' != typeof e || ('string' != typeof n && !Array.isArray(n)) || ((o = n), (n = e), (e = t), (t = o)); var a = arguments[3], s = arguments[4], c = arguments[5]; if ( (('object' === r(a) && null !== a) || ('string' == typeof s && ((c = s), (s = null)), 'string' == typeof a && ((c = a), (a = null)), 'number' == typeof a && ((s = a), (a = null)), (i = { flags: a, angle: s, align: c, })), ((a = a || {}).noBOM = a.noBOM || !0), (a.autoencode = a.autoencode || !0), isNaN(e) || isNaN(n) || null == t) ) throw new Error('Invalid arguments passed to jsPDF.text'); if (0 === t.length) return h; var l, u = '', d = 'number' == typeof i.lineHeightFactor ? i.lineHeightFactor : zt, h = i.scope || this; function f(t) { for (var e, n = t.concat(), i = [], r = n.length; r--; ) 'string' == typeof (e = n.shift()) ? i.push(e) : Array.isArray(t) && 1 === e.length ? i.push(e[0]) : i.push([e[0], e[1], e[2]]); return i; } function m(t, e) { var n; if ('string' == typeof t) n = e(t)[0]; else if (Array.isArray(t)) { for (var i, r, o = t.concat(), a = [], s = o.length; s--; ) 'string' == typeof (i = o.shift()) ? a.push(e(i)[0]) : Array.isArray(i) && 'string' === i[0] && ((r = e(i[0], i[1], i[2])), a.push([r[0], r[1], r[2]])); n = a; } return n; } var g = !1, v = !0; if ('string' == typeof t) g = !0; else if (Array.isArray(t)) { for (var y, S = t.concat(), x = [], M = S.length; M--; ) ('string' != typeof (y = S.shift()) || (Array.isArray(y) && 'string' != typeof y[0])) && (v = !1); g = v; } if (!1 === g) throw new Error('Type of text must be string or Array. "' + t + '" is not recognized.'); var E = tt[D].encoding; ('WinAnsiEncoding' !== E && 'StandardEncoding' !== E) || (t = m(t, function (t, e, n) { return [((r = t), (r = r.split('\t').join(Array(i.TabLen || 9).join(' '))), St(r, a)), e, n]; var r; })), 'string' == typeof t && (t = t.match(/[\r?\n]/) ? t.split(/\r\n|\r|\n/g) : [t]); var C = W / h.internal.scaleFactor, A = C * (zt - 1); switch (i.baseline) { case 'bottom': n -= A; break; case 'top': n += C - A; break; case 'hanging': n += C - 2 * A; break; case 'middle': n += C / 2 - A; } 0 < (z = i.maxWidth || 0) && ('string' == typeof t ? (t = h.splitTextToSize(t, z)) : '[object Array]' === Object.prototype.toString.call(t) && (t = h.splitTextToSize(t.join(' '), z))); var T = { text: t, x: e, y: n, options: i, mutex: { pdfEscape: St, activeFontKey: D, fonts: tt, activeFontSize: W, }, }; ot.publish('preProcessText', T), (t = T.text), (s = (i = T.options).angle); var O = h.internal.scaleFactor, _ = []; if (s) { s *= Math.PI / 180; var P = Math.cos(s), I = Math.sin(s); _ = [b(P), b(I), b(-1 * I), b(P)]; } void 0 !== (U = i.charSpace) && (u += w(U * O) + ' Tc\n'), i.lang; var k = -1, R = void 0 !== i.renderingMode ? i.renderingMode : i.stroke, L = h.internal.getCurrentPageInfo().pageContext; switch (R) { case 0: case !1: case 'fill': k = 0; break; case 1: case !0: case 'stroke': k = 1; break; case 2: case 'fillThenStroke': k = 2; break; case 3: case 'invisible': k = 3; break; case 4: case 'fillAndAddForClipping': k = 4; break; case 5: case 'strokeAndAddPathForClipping': k = 5; break; case 6: case 'fillThenStrokeAndAddToPathForClipping': k = 6; break; case 7: case 'addToPathForClipping': k = 7; } var N = void 0 !== L.usedRenderingMode ? L.usedRenderingMode : -1; -1 !== k ? (u += k + ' Tr\n') : -1 !== N && (u += '0 Tr\n'), -1 !== k && (L.usedRenderingMode = k), (c = i.align || 'left'); var j = W * d, V = h.internal.pageSize.getWidth(), F = ((O = h.internal.scaleFactor), tt[D]), U = i.charSpace || ne, z = i.maxWidth || 0, G = ((a = {}), []); if ('[object Array]' === Object.prototype.toString.call(t)) { var H, q; (x = f(t)), 'left' !== c && (q = x.map(function (t) { return ( (h.getStringUnitWidth(t, { font: F, charSpace: U, fontSize: W, }) * W) / O ); })), Math.max.apply(Math, q); var Y, K = 0; if ('right' === c) { (e -= q[0]), (t = []); var Z = 0; for (M = x.length; Z < M; Z++) q[Z], (H = 0 === Z ? ((Y = Yt(e)), Kt(n)) : ((Y = (K - q[Z]) * O), -j)), t.push([x[Z], Y, H]), (K = q[Z]); } else if ('center' === c) for (e -= q[0] / 2, t = [], Z = 0, M = x.length; Z < M; Z++) q[Z], (H = 0 === Z ? ((Y = Yt(e)), Kt(n)) : ((Y = ((K - q[Z]) / 2) * O), -j)), t.push([x[Z], Y, H]), (K = q[Z]); else if ('left' === c) for (t = [], Z = 0, M = x.length; Z < M; Z++) (H = 0 === Z ? Kt(n) : -j), (Y = 0 === Z ? Yt(e) : 0), t.push(x[Z]); else { if ('justify' !== c) throw new Error('Unrecognized alignment option, use "left", "center", "right" or "justify".'); for (t = [], z = 0 !== z ? z : V, Z = 0, M = x.length; Z < M; Z++) (H = 0 === Z ? Kt(n) : -j), (Y = 0 === Z ? Yt(e) : 0), Z < M - 1 && G.push((((z - q[Z]) / (x[Z].split(' ').length - 1)) * O).toFixed(2)), t.push([x[Z], Y, H]); } } !0 === ('boolean' == typeof i.R2L ? i.R2L : X) && (t = m(t, function (t, e, n) { return [t.split('').reverse().join(''), e, n]; })), (T = { text: t, x: e, y: n, options: i, mutex: { pdfEscape: St, activeFontKey: D, fonts: tt, activeFontSize: W, }, }), ot.publish('postProcessText', T), (t = T.text), (l = T.mutex.isHex), (x = f(t)), (t = []); var J, Q, $, et = 0, nt = ((M = x.length), ''); for (Z = 0; Z < M; Z++) (nt = ''), Array.isArray(x[Z]) ? ((J = parseFloat(x[Z][1])), (Q = parseFloat(x[Z][2])), ($ = (l ? '<' : '(') + x[Z][0] + (l ? '>' : ')')), (et = 1)) : ((J = Yt(e)), (Q = Kt(n)), ($ = (l ? '<' : '(') + x[Z] + (l ? '>' : ')'))), void 0 !== G && void 0 !== G[Z] && (nt = G[Z] + ' Tw\n'), 0 !== _.length && 0 === Z ? t.push(nt + _.join(' ') + ' ' + J.toFixed(2) + ' ' + Q.toFixed(2) + ' Tm\n' + $) : 1 === et || (0 === et && 0 === Z) ? t.push(nt + J.toFixed(2) + ' ' + Q.toFixed(2) + ' Td\n' + $) : t.push(nt + $); (t = 0 === et ? t.join(' Tj\nT* ') : t.join(' Tj\n')), (t += ' Tj\n'); var it = 'BT\n/' + D + ' ' + W + ' Tf\n' + (W * d).toFixed(2) + ' TL\n' + te + '\n'; return (it += u), (it += t), B((it += 'ET')), (p[D] = !0), h; }), (h.__private__.lstext = h.lstext = function (t, e, n, i) { return ( console.warn('jsPDF.lstext is deprecated'), this.text(t, e, n, { charSpace: i, }) ); }), (h.__private__.clip = h.clip = function (t) { B('evenodd' === t ? 'W*' : 'W'), B('n'); }), (h.__private__.clip_fixed = h.clip_fixed = function (t) { console.log('clip_fixed is deprecated'), h.clip(t); }); var Ut = (h.__private__.isValidStyle = function (t) { var e = !1; return -1 !== [void 0, null, 'S', 'F', 'DF', 'FD', 'f', 'f*', 'B', 'B*'].indexOf(t) && (e = !0), e; }), Bt = (h.__private__.getStyle = function (t) { var e = 'S'; return 'F' === t ? (e = 'f') : 'FD' === t || 'DF' === t ? (e = 'B') : ('f' !== t && 'f*' !== t && 'B' !== t && 'B*' !== t) || (e = t), e; }); (h.__private__.line = h.line = function (t, e, n, i) { if (isNaN(t) || isNaN(e) || isNaN(n) || isNaN(i)) throw new Error('Invalid arguments passed to jsPDF.line'); return this.lines([[n - t, i - e]], t, e); }), (h.__private__.lines = h.lines = function (t, e, n, i, r, o) { var a, s, c, l, u, d, p, h, f, m, g, v; if ( ('number' == typeof t && ((v = n), (n = e), (e = t), (t = v)), (i = i || [1, 1]), (o = o || !1), isNaN(e) || isNaN(n) || !Array.isArray(t) || !Array.isArray(i) || !Ut(r) || 'boolean' != typeof o) ) throw new Error('Invalid arguments passed to jsPDF.lines'); for (B(w(Yt(e)) + ' ' + w(Kt(n)) + ' m '), a = i[0], s = i[1], l = t.length, m = e, g = n, c = 0; c < l; c++) 2 === (u = t[c]).length ? ((m = u[0] * a + m), (g = u[1] * s + g), B(w(Yt(m)) + ' ' + w(Kt(g)) + ' l')) : ((d = u[0] * a + m), (p = u[1] * s + g), (h = u[2] * a + m), (f = u[3] * s + g), (m = u[4] * a + m), (g = u[5] * s + g), B(w(Yt(d)) + ' ' + w(Kt(p)) + ' ' + w(Yt(h)) + ' ' + w(Kt(f)) + ' ' + w(Yt(m)) + ' ' + w(Kt(g)) + ' c')); return o && B(' h'), null !== r && B(Bt(r)), this; }), (h.__private__.rect = h.rect = function (t, e, n, i, r) { if (isNaN(t) || isNaN(e) || isNaN(n) || isNaN(i) || !Ut(r)) throw new Error('Invalid arguments passed to jsPDF.rect'); return B([b(Yt(t)), b(Kt(e)), b(n * R), b(-i * R), 're'].join(' ')), null !== r && B(Bt(r)), this; }), (h.__private__.triangle = h.triangle = function (t, e, n, i, r, o, a) { if (isNaN(t) || isNaN(e) || isNaN(n) || isNaN(i) || isNaN(r) || isNaN(o) || !Ut(a)) throw new Error('Invalid arguments passed to jsPDF.triangle'); return ( this.lines( [ [n - t, i - e], [r - n, o - i], [t - r, e - o], ], t, e, [1, 1], a, !0 ), this ); }), (h.__private__.roundedRect = h.roundedRect = function (t, e, n, i, r, o, a) { if (isNaN(t) || isNaN(e) || isNaN(n) || isNaN(i) || isNaN(r) || isNaN(o) || !Ut(a)) throw new Error('Invalid arguments passed to jsPDF.roundedRect'); var s = (4 / 3) * (Math.SQRT2 - 1); return ( this.lines( [ [n - 2 * r, 0], [r * s, 0, r, o - o * s, r, o], [0, i - 2 * o], [0, o * s, -r * s, o, -r, o], [2 * r - n, 0], [-r * s, 0, -r, -o * s, -r, -o], [0, 2 * o - i], [0, -o * s, r * s, -o, r, -o], ], t + r, e, [1, 1], a ), this ); }), (h.__private__.ellipse = h.ellipse = function (t, e, n, i, r) { if (isNaN(t) || isNaN(e) || isNaN(n) || isNaN(i) || !Ut(r)) throw new Error('Invalid arguments passed to jsPDF.ellipse'); var o = (4 / 3) * (Math.SQRT2 - 1) * n, a = (4 / 3) * (Math.SQRT2 - 1) * i; return ( B([b(Yt(t + n)), b(Kt(e)), 'm', b(Yt(t + n)), b(Kt(e - a)), b(Yt(t + o)), b(Kt(e - i)), b(Yt(t)), b(Kt(e - i)), 'c'].join(' ')), B([b(Yt(t - o)), b(Kt(e - i)), b(Yt(t - n)), b(Kt(e - a)), b(Yt(t - n)), b(Kt(e)), 'c'].join(' ')), B([b(Yt(t - n)), b(Kt(e + a)), b(Yt(t - o)), b(Kt(e + i)), b(Yt(t)), b(Kt(e + i)), 'c'].join(' ')), B([b(Yt(t + o)), b(Kt(e + i)), b(Yt(t + n)), b(Kt(e + a)), b(Yt(t + n)), b(Kt(e)), 'c'].join(' ')), null !== r && B(Bt(r)), this ); }), (h.__private__.circle = h.circle = function (t, e, n, i) { if (isNaN(t) || isNaN(e) || isNaN(n) || !Ut(i)) throw new Error('Invalid arguments passed to jsPDF.circle'); return this.ellipse(t, e, n, n, i); }), (h.setFont = function (t, e) { return ( (D = At(t, e, { disableWarning: !1, })), this ); }), (h.setFontStyle = h.setFontType = function (t) { return (D = At(void 0, t)), this; }), (h.__private__.getFontList = h.getFontList = function () { var t, e, n, i = {}; for (t in et) if (et.hasOwnProperty(t)) for (e in ((i[t] = n = []), et[t])) et[t].hasOwnProperty(e) && n.push(e); return i; }), (h.addFont = function (t, e, n, i) { wt.call(this, t, e, n, (i = i || 'Identity-H')); }); var zt, Gt = c.lineWidth || 0.200025, Ht = (h.__private__.setLineWidth = h.setLineWidth = function (t) { return B((t * R).toFixed(2) + ' w'), this; }), Wt = ((h.__private__.setLineDash = s.API.setLineDash = function (t, e) { if (((t = t || []), (e = e || 0), isNaN(e) || !Array.isArray(t))) throw new Error('Invalid arguments passed to jsPDF.setLineDash'); return ( (t = t .map(function (t) { return (t * R).toFixed(3); }) .join(' ')), (e = parseFloat((e * R).toFixed(3))), B('[' + t + '] ' + e + ' d'), this ); }), (h.__private__.getLineHeight = h.getLineHeight = function () { return W * zt; })), qt = ((Wt = h.__private__.getLineHeight = h.getLineHeight = function () { return W * zt; }), (h.__private__.setLineHeightFactor = h.setLineHeightFactor = function (t) { return 'number' == typeof (t = t || 1.15) && (zt = t), this; })), Xt = (h.__private__.getLineHeightFactor = h.getLineHeightFactor = function () { return zt; }); qt(c.lineHeight); var Yt = (h.__private__.getHorizontalCoordinate = function (t) { return t * R; }), Kt = (h.__private__.getVerticalCoordinate = function (t) { return it[O].mediaBox.topRightY - it[O].mediaBox.bottomLeftY - t * R; }), Zt = (h.__private__.getHorizontalCoordinateString = function (t) { return b(t * R); }), Jt = (h.__private__.getVerticalCoordinateString = function (t) { return b(it[O].mediaBox.topRightY - it[O].mediaBox.bottomLeftY - t * R); }), Qt = c.strokeColor || '0 G', $t = ((h.__private__.getStrokeColor = h.getDrawColor = function () { return ht(Qt); }), (h.__private__.setStrokeColor = h.setDrawColor = function (t, e, n, i) { return ( (Qt = ft({ ch1: t, ch2: e, ch3: n, ch4: i, pdfColorType: 'draw', precision: 2, })), B(Qt), this ); }), c.fillColor || '0 g'), te = ((h.__private__.getFillColor = h.getFillColor = function () { return ht($t); }), (h.__private__.setFillColor = h.setFillColor = function (t, e, n, i) { return ( ($t = ft({ ch1: t, ch2: e, ch3: n, ch4: i, pdfColorType: 'fill', precision: 2, })), B($t), this ); }), c.textColor || '0 g'), ee = (h.__private__.getTextColor = h.getTextColor = function () { return ht(te); }), ne = ((h.__private__.setTextColor = h.setTextColor = function (t, e, n, i) { return ( (te = ft({ ch1: t, ch2: e, ch3: n, ch4: i, pdfColorType: 'text', precision: 3, })), this ); }), c.charSpace || 0), ie = (h.__private__.getCharSpace = h.getCharSpace = function () { return ne; }), re = ((h.__private__.setCharSpace = h.setCharSpace = function (t) { if (isNaN(t)) throw new Error('Invalid argument passed to jsPDF.setCharSpace'); return (ne = t), this; }), 0); (h.CapJoinStyles = { 0: 0, butt: 0, but: 0, miter: 0, 1: 1, round: 1, rounded: 1, circle: 1, 2: 2, projecting: 2, project: 2, square: 2, bevel: 2, }), (h.__private__.setLineCap = h.setLineCap = function (t) { var e = h.CapJoinStyles[t]; if (void 0 === e) throw new Error("Line cap style of '" + t + "' is not recognized. See or extend .CapJoinStyles property for valid styles"); return B((re = e) + ' J'), this; }); var oe, ae = 0; for (var se in ((h.__private__.setLineJoin = h.setLineJoin = function (t) { var e = h.CapJoinStyles[t]; if (void 0 === e) throw new Error("Line join style of '" + t + "' is not recognized. See or extend .CapJoinStyles property for valid styles"); return B((ae = e) + ' j'), this; }), (h.__private__.setMiterLimit = h.setMiterLimit = function (t) { if (((t = t || 0), isNaN(t))) throw new Error('Invalid argument passed to jsPDF.setMiterLimit'); return (oe = parseFloat(b(t * R))), B(oe + ' M'), this; }), (h.save = function (t, e) { if (((t = t || 'generated.pdf'), ((e = e || {}).returnPromise = e.returnPromise || !1), !1 !== e.returnPromise)) return new Promise(function (e, n) { try { var r = Pt(Rt(Dt()), t); 'function' == typeof Pt.unload && i.setTimeout && setTimeout(Pt.unload, 911), e(r); } catch (e) { n(e.message); } }); Pt(Rt(Dt()), t), 'function' == typeof Pt.unload && i.setTimeout && setTimeout(Pt.unload, 911); }), s.API)) s.API.hasOwnProperty(se) && ('events' === se && s.API.events.length ? (function (t, e) { var n, i, r; for (r = e.length - 1; -1 !== r; r--) (n = e[r][0]), (i = e[r][1]), t.subscribe.apply(t, [n].concat('function' == typeof i ? [i] : i)); })(ot, s.API.events) : (h[se] = s.API[se])); return ( (h.internal = { pdfEscape: St, getStyle: Bt, getFont: function () { return tt[At.apply(h, arguments)]; }, getFontSize: q, getCharSpace: ie, getTextColor: ee, getLineHeight: Wt, getLineHeightFactor: Xt, write: z, getHorizontalCoordinate: Yt, getVerticalCoordinate: Kt, getCoordinateString: Zt, getVerticalCoordinateString: Jt, collections: {}, newObject: st, newAdditionalObject: ut, newObjectDeferred: ct, newObjectDeferredBegin: lt, getFilters: mt, putStream: gt, events: ot, scaleFactor: R, pageSize: { getWidth: function () { return (it[O].mediaBox.topRightX - it[O].mediaBox.bottomLeftX) / R; }, setWidth: function (t) { it[O].mediaBox.topRightX = t * R + it[O].mediaBox.bottomLeftX; }, getHeight: function () { return (it[O].mediaBox.topRightY - it[O].mediaBox.bottomLeftY) / R; }, setHeight: function (t) { it[O].mediaBox.topRightY = t * R + it[O].mediaBox.bottomLeftY; }, }, output: Lt, getNumberOfPages: Ct, pages: V, out: B, f2: b, f3: w, getPageInfo: jt, getPageInfoByObjId: Vt, getCurrentPageInfo: Ft, getPDFVersion: m, hasHotfix: Nt, }), Object.defineProperty(h.internal.pageSize, 'width', { get: function () { return (it[O].mediaBox.topRightX - it[O].mediaBox.bottomLeftX) / R; }, set: function (t) { it[O].mediaBox.topRightX = t * R + it[O].mediaBox.bottomLeftX; }, enumerable: !0, configurable: !0, }), Object.defineProperty(h.internal.pageSize, 'height', { get: function () { return (it[O].mediaBox.topRightY - it[O].mediaBox.bottomLeftY) / R; }, set: function (t) { it[O].mediaBox.topRightY = t * R + it[O].mediaBox.bottomLeftY; }, enumerable: !0, configurable: !0, }), (function (t) { for (var e = 0, n = H.length; e < n; e++) { var i = wt(t[e][0], t[e][1], t[e][2], H[e][3], !0); p[i] = !0; var r = t[e][0].split('-'); bt(i, r[0], r[1] || ''); } ot.publish('addFonts', { fonts: tt, dictionary: et, }); })(H), (D = 'F1'), Mt(n, t), ot.publish('initialized'), h ); } return ( (s.API = { events: [], }), (s.version = '1.5.3'), void 0 !== (o = function () { return s; }.call(e, n, e, t)) && (t.exports = o), s ); })( ('undefined' != typeof self && self) || ('undefined' != typeof window && window) || (void 0 !== i && i) || Function('return typeof this === "object" && this.content')() || Function('return this')() ); /** * @license * Copyright (c) 2016 Alexander Weidt, * https://github.com/BiggA94 * * Licensed under the MIT License. http://opensource.org/licenses/mit-license */ (function (t, e) { var n, i = 1, o = function (t) { return t.replace(/\\/g, '\\\\').replace(/\(/g, '\\(').replace(/\)/g, '\\)'); }, a = function (t) { return t.replace(/\\\\/g, '\\').replace(/\\\(/g, '(').replace(/\\\)/g, ')'); }, s = function (t) { if (isNaN(t)) throw new Error('Invalid argument passed to jsPDF.f2'); return t.toFixed(2); }, c = function (t) { if (isNaN(t)) throw new Error('Invalid argument passed to jsPDF.f2'); return t.toFixed(5); }; t.__acroform__ = {}; var l = function (t, e) { (t.prototype = Object.create(e.prototype)), (t.prototype.constructor = t); }, u = function (t) { return t * i; }, d = function (t) { return t / i; }, p = function (t) { var e = new R(), n = Y.internal.getHeight(t) || 0, i = Y.internal.getWidth(t) || 0; return (e.BBox = [0, 0, Number(s(i)), Number(s(n))]), e; }, h = (t.__acroform__.setBit = function (t, e) { if (((t = t || 0), (e = e || 0), isNaN(t) || isNaN(e))) throw new Error('Invalid arguments passed to jsPDF.API.__acroform__.setBit'); return t | (1 << e); }), f = (t.__acroform__.clearBit = function (t, e) { if (((t = t || 0), (e = e || 0), isNaN(t) || isNaN(e))) throw new Error('Invalid arguments passed to jsPDF.API.__acroform__.clearBit'); return t & ~(1 << e); }), m = (t.__acroform__.getBit = function (t, e) { if (isNaN(t) || isNaN(e)) throw new Error('Invalid arguments passed to jsPDF.API.__acroform__.getBit'); return 0 == (t & (1 << e)) ? 0 : 1; }), g = (t.__acroform__.getBitForPdf = function (t, e) { if (isNaN(t) || isNaN(e)) throw new Error('Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf'); return m(t, e - 1); }), v = (t.__acroform__.setBitForPdf = function (t, e) { if (isNaN(t) || isNaN(e)) throw new Error('Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf'); return h(t, e - 1); }), y = (t.__acroform__.clearBitForPdf = function (t, e, n) { if (isNaN(t) || isNaN(e)) throw new Error('Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf'); return f(t, e - 1); }), b = (t.__acroform__.calculateCoordinates = function (t) { var e = this.internal.getHorizontalCoordinate, n = this.internal.getVerticalCoordinate, i = t[0], r = t[1], o = t[2], a = t[3], c = {}; return ( (c.lowerLeft_X = e(i) || 0), (c.lowerLeft_Y = n(r + a) || 0), (c.upperRight_X = e(i + o) || 0), (c.upperRight_Y = n(r) || 0), [Number(s(c.lowerLeft_X)), Number(s(c.lowerLeft_Y)), Number(s(c.upperRight_X)), Number(s(c.upperRight_Y))] ); }), w = function (t) { if (t.appearanceStreamContent) return t.appearanceStreamContent; if (t.V || t.DV) { var e = [], i = t.V || t.DV, r = S(t, i), o = n.internal.getFont(t.fontName, t.fontStyle).id; e.push('/Tx BMC'), e.push('q'), e.push('BT'), e.push(n.__private__.encodeColorString(t.color)), e.push('/' + o + ' ' + s(r.fontSize) + ' Tf'), e.push('1 0 0 1 0 0 Tm'), e.push(r.text), e.push('ET'), e.push('Q'), e.push('EMC'); var a = new p(t); return (a.stream = e.join('\n')), a; } }, S = function (t, e) { var i = t.maxFontSize || 12, r = (t.fontName, { text: '', fontSize: '', }), a = (e = ')' == (e = '(' == e.substr(0, 1) ? e.substr(1) : e).substr(e.length - 1) ? e.substr(0, e.length - 1) : e).split(' '), c = (n.__private__.encodeColorString(t.color), i), l = Y.internal.getHeight(t) || 0; l = l < 0 ? -l : l; var u = Y.internal.getWidth(t) || 0; u = u < 0 ? -u : u; var d = function (e, n, i) { if (e + 1 < a.length) { var r = n + ' ' + a[e + 1]; return x(r, t, i).width <= u - 4; } return !1; }; c++; t: for (;;) { e = ''; var p = x('3', t, --c).height, h = t.multiline ? l - c : (l - p) / 2, f = -2, m = (h += 2), g = 0, v = 0, y = 0; if (c <= 0) { (e = '(...) Tj\n'), (e += '% Width of Text: ' + x(e, t, (c = 12)).width + ', FieldWidth:' + u + '\n'); break; } y = x(a[0] + ' ', t, c).width; var b = '', w = 0; for (var S in a) if (a.hasOwnProperty(S)) { b = ' ' == (b += a[S] + ' ').substr(b.length - 1) ? b.substr(0, b.length - 1) : b; var M = parseInt(S); y = x(b + ' ', t, c).width; var E = d(M, b, c), C = S >= a.length - 1; if (E && !C) { b += ' '; continue; } if (E || C) { if (C) v = M; else if (t.multiline && l < (p + 2) * (w + 2) + 2) continue t; } else { if (!t.multiline) continue t; if (l < (p + 2) * (w + 2) + 2) continue t; v = M; } for (var A = '', T = g; T <= v; T++) A += a[T] + ' '; switch (((A = ' ' == A.substr(A.length - 1) ? A.substr(0, A.length - 1) : A), (y = x(A, t, c).width), t.textAlign)) { case 'right': f = u - y - 2; break; case 'center': f = (u - y) / 2; break; case 'left': default: f = 2; } (e += s(f) + ' ' + s(m) + ' Td\n'), (e += '(' + o(A) + ') Tj\n'), (e += -s(f) + ' 0 Td\n'), (m = -(c + 2)), (y = 0), (g = v + 1), w++, (b = ''); } break; } return (r.text = e), (r.fontSize = c), r; }, x = function (t, e, i) { var r = n.internal.getFont(e.fontName, e.fontStyle), o = n.getStringUnitWidth(t, { font: r, fontSize: parseFloat(i), charSpace: 0, }) * parseFloat(i); return { height: n.getStringUnitWidth('3', { font: r, fontSize: parseFloat(i), charSpace: 0, }) * parseFloat(i) * 1.5, width: o, }; }, M = { fields: [], xForms: [], acroFormDictionaryRoot: null, printedOut: !1, internal: null, isInitialized: !1, }, E = function () { n.internal.acroformPlugin.acroFormDictionaryRoot.objId = void 0; var t = n.internal.acroformPlugin.acroFormDictionaryRoot.Fields; for (var e in t) if (t.hasOwnProperty(e)) { var i = t[e]; (i.objId = void 0), i.hasAnnotation && C.call(n, i); } }, C = function (t) { var e = { type: 'reference', object: t, }; void 0 === n.internal.getPageInfo(t.page).pageContext.annotations.find(function (t) { return t.type === e.type && t.object === e.object; }) && n.internal.getPageInfo(t.page).pageContext.annotations.push(e); }, A = function () { if (void 0 === n.internal.acroformPlugin.acroFormDictionaryRoot) throw new Error('putCatalogCallback: Root missing.'); n.internal.write('/AcroForm ' + n.internal.acroformPlugin.acroFormDictionaryRoot.objId + ' 0 R'); }, T = function () { n.internal.events.unsubscribe(n.internal.acroformPlugin.acroFormDictionaryRoot._eventID), delete n.internal.acroformPlugin.acroFormDictionaryRoot._eventID, (n.internal.acroformPlugin.printedOut = !0); }, O = function (t) { var e = !t; for (var i in (t || (n.internal.newObjectDeferredBegin(n.internal.acroformPlugin.acroFormDictionaryRoot.objId, !0), n.internal.acroformPlugin.acroFormDictionaryRoot.putStream()), (t = t || n.internal.acroformPlugin.acroFormDictionaryRoot.Kids))) if (t.hasOwnProperty(i)) { var o = t[i], a = [], s = o.Rect; if ( (o.Rect && (o.Rect = b.call(this, o.Rect)), n.internal.newObjectDeferredBegin(o.objId, !0), (o.DA = Y.createDefaultAppearanceStream(o)), 'object' === r(o) && 'function' == typeof o.getKeyValueListForStream && (a = o.getKeyValueListForStream()), (o.Rect = s), o.hasAppearanceStream && !o.appearanceStreamContent) ) { var c = w.call(this, o); a.push({ key: 'AP', value: '<>', }), n.internal.acroformPlugin.xForms.push(c); } if (o.appearanceStreamContent) { var l = ''; for (var u in o.appearanceStreamContent) if (o.appearanceStreamContent.hasOwnProperty(u)) { var d = o.appearanceStreamContent[u]; if (((l += '/' + u + ' '), (l += '<<'), 1 <= Object.keys(d).length || Array.isArray(d))) for (var i in d) { var p; d.hasOwnProperty(i) && ('function' == typeof (p = d[i]) && (p = p.call(this, o)), (l += '/' + i + ' ' + p + ' '), 0 <= n.internal.acroformPlugin.xForms.indexOf(p) || n.internal.acroformPlugin.xForms.push(p)); } else 'function' == typeof (p = d) && (p = p.call(this, o)), (l += '/' + i + ' ' + p), 0 <= n.internal.acroformPlugin.xForms.indexOf(p) || n.internal.acroformPlugin.xForms.push(p); l += '>>'; } a.push({ key: 'AP', value: '<<\n' + l + '>>', }); } n.internal.putStream({ additionalKeyValues: a, }), n.internal.out('endobj'); } e && _.call(this, n.internal.acroformPlugin.xForms); }, _ = function (t) { for (var e in t) if (t.hasOwnProperty(e)) { var i = e, o = t[e]; n.internal.newObjectDeferredBegin(o && o.objId, !0), 'object' === r(o) && 'function' == typeof o.putStream && o.putStream(), delete t[i]; } }, P = function () { if (void 0 !== this.internal && (void 0 === this.internal.acroformPlugin || !1 === this.internal.acroformPlugin.isInitialized)) { if (((n = this), (N.FieldNum = 0), (this.internal.acroformPlugin = JSON.parse(JSON.stringify(M))), this.internal.acroformPlugin.acroFormDictionaryRoot)) throw new Error('Exception while creating AcroformDictionary'); (i = n.internal.scaleFactor), (n.internal.acroformPlugin.acroFormDictionaryRoot = new L()), (n.internal.acroformPlugin.acroFormDictionaryRoot._eventID = n.internal.events.subscribe('postPutResources', T)), n.internal.events.subscribe('buildDocument', E), n.internal.events.subscribe('putCatalog', A), n.internal.events.subscribe('postPutPages', O), (n.internal.acroformPlugin.isInitialized = !0); } }, I = (t.__acroform__.arrayToPdfArray = function (t) { if (Array.isArray(t)) { for (var e = '[', n = 0; n < t.length; n++) switch ((0 !== n && (e += ' '), r(t[n]))) { case 'boolean': case 'number': case 'object': e += t[n].toString(); break; case 'string': '/' !== t[n].substr(0, 1) ? (e += '(' + o(t[n].toString()) + ')') : (e += t[n].toString()); } return e + ']'; } throw new Error('Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray'); }), k = function (t) { return (t = t || '').toString(), '(' + o(t) + ')'; }, D = function () { var t; Object.defineProperty(this, 'objId', { configurable: !0, get: function () { if ((t || (t = n.internal.newObjectDeferred()), !t)) throw new Error("AcroFormPDFObject: Couldn't create Object ID"); return t; }, set: function (e) { t = e; }, }); }; (D.prototype.toString = function () { return this.objId + ' 0 R'; }), (D.prototype.putStream = function () { var t = this.getKeyValueListForStream(); n.internal.putStream({ data: this.stream, additionalKeyValues: t, }), n.internal.out('endobj'); }), (D.prototype.getKeyValueListForStream = function () { return (function (t) { var e = [], n = Object.getOwnPropertyNames(t).filter(function (t) { return 'content' != t && 'appearanceStreamContent' != t && '_' != t.substring(0, 1); }); for (var i in n) if (!1 === Object.getOwnPropertyDescriptor(t, n[i]).configurable) { var r = n[i], o = t[r]; o && (Array.isArray(o) ? e.push({ key: r, value: I(o), }) : o instanceof D ? e.push({ key: r, value: o.objId + ' 0 R', }) : 'function' != typeof o && e.push({ key: r, value: o, })); } return e; })(this); }); var R = function () { D.call(this), Object.defineProperty(this, 'Type', { value: '/XObject', configurable: !1, writeable: !0, }), Object.defineProperty(this, 'Subtype', { value: '/Form', configurable: !1, writeable: !0, }), Object.defineProperty(this, 'FormType', { value: 1, configurable: !1, writeable: !0, }); var t, e = []; Object.defineProperty(this, 'BBox', { configurable: !1, writeable: !0, get: function () { return e; }, set: function (t) { e = t; }, }), Object.defineProperty(this, 'Resources', { value: '2 0 R', configurable: !1, writeable: !0, }), Object.defineProperty(this, 'stream', { enumerable: !1, configurable: !0, set: function (e) { t = e.trim(); }, get: function () { return t || null; }, }); }; l(R, D); var L = function () { D.call(this); var t, e = []; Object.defineProperty(this, 'Kids', { enumerable: !1, configurable: !0, get: function () { return 0 < e.length ? e : void 0; }, }), Object.defineProperty(this, 'Fields', { enumerable: !1, configurable: !1, get: function () { return e; }, }), Object.defineProperty(this, 'DA', { enumerable: !1, configurable: !1, get: function () { if (t) return '(' + t + ')'; }, set: function (e) { t = e; }, }); }; l(L, D); var N = function t() { D.call(this); var e = 4; Object.defineProperty(this, 'F', { enumerable: !1, configurable: !1, get: function () { return e; }, set: function (t) { if (isNaN(t)) throw new Error('Invalid value "' + t + '" for attribute F supplied.'); e = t; }, }), Object.defineProperty(this, 'showWhenPrinted', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(e, 3)); }, set: function (t) { !0 === Boolean(t) ? (this.F = v(e, 3)) : (this.F = y(e, 3)); }, }); var n = 0; Object.defineProperty(this, 'Ff', { enumerable: !1, configurable: !1, get: function () { return n; }, set: function (t) { if (isNaN(t)) throw new Error('Invalid value "' + t + '" for attribute Ff supplied.'); n = t; }, }); var i = []; Object.defineProperty(this, 'Rect', { enumerable: !1, configurable: !1, get: function () { if (0 !== i.length) return i; }, set: function (t) { i = void 0 !== t ? t : []; }, }), Object.defineProperty(this, 'x', { enumerable: !0, configurable: !0, get: function () { return !i || isNaN(i[0]) ? 0 : d(i[0]); }, set: function (t) { i[0] = u(t); }, }), Object.defineProperty(this, 'y', { enumerable: !0, configurable: !0, get: function () { return !i || isNaN(i[1]) ? 0 : d(i[1]); }, set: function (t) { i[1] = u(t); }, }), Object.defineProperty(this, 'width', { enumerable: !0, configurable: !0, get: function () { return !i || isNaN(i[2]) ? 0 : d(i[2]); }, set: function (t) { i[2] = u(t); }, }), Object.defineProperty(this, 'height', { enumerable: !0, configurable: !0, get: function () { return !i || isNaN(i[3]) ? 0 : d(i[3]); }, set: function (t) { i[3] = u(t); }, }); var r = ''; Object.defineProperty(this, 'FT', { enumerable: !0, configurable: !1, get: function () { return r; }, set: function (t) { switch (t) { case '/Btn': case '/Tx': case '/Ch': case '/Sig': r = t; break; default: throw new Error('Invalid value "' + t + '" for attribute FT supplied.'); } }, }); var s = null; Object.defineProperty(this, 'T', { enumerable: !0, configurable: !1, get: function () { if (!s || s.length < 1) { if (this instanceof H) return; s = 'FieldObject' + t.FieldNum++; } return '(' + o(s) + ')'; }, set: function (t) { s = t.toString(); }, }), Object.defineProperty(this, 'fieldName', { configurable: !0, enumerable: !0, get: function () { return s; }, set: function (t) { s = t; }, }); var c = 'helvetica'; Object.defineProperty(this, 'fontName', { enumerable: !0, configurable: !0, get: function () { return c; }, set: function (t) { c = t; }, }); var l = 'normal'; Object.defineProperty(this, 'fontStyle', { enumerable: !0, configurable: !0, get: function () { return l; }, set: function (t) { l = t; }, }); var p = 0; Object.defineProperty(this, 'fontSize', { enumerable: !0, configurable: !0, get: function () { return d(p); }, set: function (t) { p = u(t); }, }); var h = 50; Object.defineProperty(this, 'maxFontSize', { enumerable: !0, configurable: !0, get: function () { return d(h); }, set: function (t) { h = u(t); }, }); var f = 'black'; Object.defineProperty(this, 'color', { enumerable: !0, configurable: !0, get: function () { return f; }, set: function (t) { f = t; }, }); var m = '/F1 0 Tf 0 g'; Object.defineProperty(this, 'DA', { enumerable: !0, configurable: !1, get: function () { if (!(!m || this instanceof H || this instanceof q)) return k(m); }, set: function (t) { (t = t.toString()), (m = t); }, }); var b = null; Object.defineProperty(this, 'DV', { enumerable: !1, configurable: !1, get: function () { if (b) return this instanceof B == 0 ? k(b) : b; }, set: function (t) { (t = t.toString()), (b = this instanceof B == 0 ? ('(' === t.substr(0, 1) ? a(t.substr(1, t.length - 2)) : a(t)) : t); }, }), Object.defineProperty(this, 'defaultValue', { enumerable: !0, configurable: !0, get: function () { return this instanceof B == 1 ? a(b.substr(1, b.length - 1)) : b; }, set: function (t) { (t = t.toString()), (b = this instanceof B == 1 ? '/' + t : t); }, }); var w = null; Object.defineProperty(this, 'V', { enumerable: !1, configurable: !1, get: function () { if (w) return this instanceof B == 0 ? k(w) : w; }, set: function (t) { (t = t.toString()), (w = this instanceof B == 0 ? ('(' === t.substr(0, 1) ? a(t.substr(1, t.length - 2)) : a(t)) : t); }, }), Object.defineProperty(this, 'value', { enumerable: !0, configurable: !0, get: function () { return this instanceof B == 1 ? a(w.substr(1, w.length - 1)) : w; }, set: function (t) { (t = t.toString()), (w = this instanceof B == 1 ? '/' + t : t); }, }), Object.defineProperty(this, 'hasAnnotation', { enumerable: !0, configurable: !0, get: function () { return this.Rect; }, }), Object.defineProperty(this, 'Type', { enumerable: !0, configurable: !1, get: function () { return this.hasAnnotation ? '/Annot' : null; }, }), Object.defineProperty(this, 'Subtype', { enumerable: !0, configurable: !1, get: function () { return this.hasAnnotation ? '/Widget' : null; }, }); var S, x = !1; Object.defineProperty(this, 'hasAppearanceStream', { enumerable: !0, configurable: !0, writeable: !0, get: function () { return x; }, set: function (t) { (t = Boolean(t)), (x = t); }, }), Object.defineProperty(this, 'page', { enumerable: !0, configurable: !0, writeable: !0, get: function () { if (S) return S; }, set: function (t) { S = t; }, }), Object.defineProperty(this, 'readOnly', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 1)); }, set: function (t) { !0 === Boolean(t) ? (this.Ff = v(this.Ff, 1)) : (this.Ff = y(this.Ff, 1)); }, }), Object.defineProperty(this, 'required', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 2)); }, set: function (t) { !0 === Boolean(t) ? (this.Ff = v(this.Ff, 2)) : (this.Ff = y(this.Ff, 2)); }, }), Object.defineProperty(this, 'noExport', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 3)); }, set: function (t) { !0 === Boolean(t) ? (this.Ff = v(this.Ff, 3)) : (this.Ff = y(this.Ff, 3)); }, }); var M = null; Object.defineProperty(this, 'Q', { enumerable: !0, configurable: !1, get: function () { if (null !== M) return M; }, set: function (t) { if (-1 === [0, 1, 2].indexOf(t)) throw new Error('Invalid value "' + t + '" for attribute Q supplied.'); M = t; }, }), Object.defineProperty(this, 'textAlign', { get: function () { var t = 'left'; switch (M) { case 0: default: t = 'left'; break; case 1: t = 'center'; break; case 2: t = 'right'; } return t; }, configurable: !0, enumerable: !0, set: function (t) { switch (t) { case 'right': case 2: M = 2; break; case 'center': case 1: M = 1; break; case 'left': case 0: default: M = 0; } }, }); }; l(N, D); var j = function () { N.call(this), (this.FT = '/Ch'), (this.V = '()'), (this.fontName = 'zapfdingbats'); var t = 0; Object.defineProperty(this, 'TI', { enumerable: !0, configurable: !1, get: function () { return t; }, set: function (e) { t = e; }, }), Object.defineProperty(this, 'topIndex', { enumerable: !0, configurable: !0, get: function () { return t; }, set: function (e) { t = e; }, }); var e = []; Object.defineProperty(this, 'Opt', { enumerable: !0, configurable: !1, get: function () { return I(e); }, set: function (t) { var n, i; (i = []), 'string' == typeof (n = t) && (i = (function (t, e, n) { n || (n = 1); for (var i, r = []; (i = e.exec(t)); ) r.push(i[n]); return r; })(n, /\((.*?)\)/g)), (e = i); }, }), (this.getOptions = function () { return e; }), (this.setOptions = function (t) { (e = t), this.sort && e.sort(); }), (this.addOption = function (t) { (t = (t = t || '').toString()), e.push(t), this.sort && e.sort(); }), (this.removeOption = function (t, n) { for (n = n || !1, t = (t = t || '').toString(); -1 !== e.indexOf(t) && (e.splice(e.indexOf(t), 1), !1 !== n); ); }), Object.defineProperty(this, 'combo', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 18)); }, set: function (t) { !0 === Boolean(t) ? (this.Ff = v(this.Ff, 18)) : (this.Ff = y(this.Ff, 18)); }, }), Object.defineProperty(this, 'edit', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 19)); }, set: function (t) { !0 === this.combo && (!0 === Boolean(t) ? (this.Ff = v(this.Ff, 19)) : (this.Ff = y(this.Ff, 19))); }, }), Object.defineProperty(this, 'sort', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 20)); }, set: function (t) { !0 === Boolean(t) ? ((this.Ff = v(this.Ff, 20)), e.sort()) : (this.Ff = y(this.Ff, 20)); }, }), Object.defineProperty(this, 'multiSelect', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 22)); }, set: function (t) { !0 === Boolean(t) ? (this.Ff = v(this.Ff, 22)) : (this.Ff = y(this.Ff, 22)); }, }), Object.defineProperty(this, 'doNotSpellCheck', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 23)); }, set: function (t) { !0 === Boolean(t) ? (this.Ff = v(this.Ff, 23)) : (this.Ff = y(this.Ff, 23)); }, }), Object.defineProperty(this, 'commitOnSelChange', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 27)); }, set: function (t) { !0 === Boolean(t) ? (this.Ff = v(this.Ff, 27)) : (this.Ff = y(this.Ff, 27)); }, }), (this.hasAppearanceStream = !1); }; l(j, N); var V = function () { j.call(this), (this.fontName = 'helvetica'), (this.combo = !1); }; l(V, j); var F = function () { V.call(this), (this.combo = !0); }; l(F, V); var U = function () { F.call(this), (this.edit = !0); }; l(U, F); var B = function () { N.call(this), (this.FT = '/Btn'), Object.defineProperty(this, 'noToggleToOff', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 15)); }, set: function (t) { !0 === Boolean(t) ? (this.Ff = v(this.Ff, 15)) : (this.Ff = y(this.Ff, 15)); }, }), Object.defineProperty(this, 'radio', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 16)); }, set: function (t) { !0 === Boolean(t) ? (this.Ff = v(this.Ff, 16)) : (this.Ff = y(this.Ff, 16)); }, }), Object.defineProperty(this, 'pushButton', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 17)); }, set: function (t) { !0 === Boolean(t) ? (this.Ff = v(this.Ff, 17)) : (this.Ff = y(this.Ff, 17)); }, }), Object.defineProperty(this, 'radioIsUnison', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 26)); }, set: function (t) { !0 === Boolean(t) ? (this.Ff = v(this.Ff, 26)) : (this.Ff = y(this.Ff, 26)); }, }); var t, e = {}; Object.defineProperty(this, 'MK', { enumerable: !1, configurable: !1, get: function () { if (0 !== Object.keys(e).length) { var t, n = []; for (t in (n.push('<<'), e)) n.push('/' + t + ' (' + e[t] + ')'); return n.push('>>'), n.join('\n'); } }, set: function (t) { 'object' === r(t) && (e = t); }, }), Object.defineProperty(this, 'caption', { enumerable: !0, configurable: !0, get: function () { return e.CA || ''; }, set: function (t) { 'string' == typeof t && (e.CA = t); }, }), Object.defineProperty(this, 'AS', { enumerable: !1, configurable: !1, get: function () { return t; }, set: function (e) { t = e; }, }), Object.defineProperty(this, 'appearanceState', { enumerable: !0, configurable: !0, get: function () { return t.substr(1, t.length - 1); }, set: function (e) { t = '/' + e; }, }); }; l(B, N); var z = function () { B.call(this), (this.pushButton = !0); }; l(z, B); var G = function () { B.call(this), (this.radio = !0), (this.pushButton = !1); var t = []; Object.defineProperty(this, 'Kids', { enumerable: !0, configurable: !1, get: function () { return t; }, set: function (e) { t = void 0 !== e ? e : []; }, }); }; l(G, B); var H = function () { var t, e; N.call(this), Object.defineProperty(this, 'Parent', { enumerable: !1, configurable: !1, get: function () { return t; }, set: function (e) { t = e; }, }), Object.defineProperty(this, 'optionName', { enumerable: !1, configurable: !0, get: function () { return e; }, set: function (t) { e = t; }, }); var n, i = {}; Object.defineProperty(this, 'MK', { enumerable: !1, configurable: !1, get: function () { var t, e = []; for (t in (e.push('<<'), i)) e.push('/' + t + ' (' + i[t] + ')'); return e.push('>>'), e.join('\n'); }, set: function (t) { 'object' === r(t) && (i = t); }, }), Object.defineProperty(this, 'caption', { enumerable: !0, configurable: !0, get: function () { return i.CA || ''; }, set: function (t) { 'string' == typeof t && (i.CA = t); }, }), Object.defineProperty(this, 'AS', { enumerable: !1, configurable: !1, get: function () { return n; }, set: function (t) { n = t; }, }), Object.defineProperty(this, 'appearanceState', { enumerable: !0, configurable: !0, get: function () { return n.substr(1, n.length - 1); }, set: function (t) { n = '/' + t; }, }), (this.optionName = name), (this.caption = 'l'), (this.appearanceState = 'Off'), (this._AppearanceType = Y.RadioButton.Circle), (this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(name)); }; l(H, N), (G.prototype.setAppearance = function (t) { if (!('createAppearanceStream' in t) || !('getCA' in t)) throw new Error("Couldn't assign Appearance to RadioButton. Appearance was Invalid!"); for (var e in this.Kids) if (this.Kids.hasOwnProperty(e)) { var n = this.Kids[e]; (n.appearanceStreamContent = t.createAppearanceStream(n.optionName)), (n.caption = t.getCA()); } }), (G.prototype.createOption = function (t) { this.Kids.length; var e = new H(); return (e.Parent = this), (e.optionName = t), this.Kids.push(e), K.call(this, e), e; }); var W = function () { B.call(this), (this.fontName = 'zapfdingbats'), (this.caption = '3'), (this.appearanceState = 'On'), (this.value = 'On'), (this.textAlign = 'center'), (this.appearanceStreamContent = Y.CheckBox.createAppearanceStream()); }; l(W, B); var q = function () { N.call(this), (this.FT = '/Tx'), Object.defineProperty(this, 'multiline', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 13)); }, set: function (t) { !0 === Boolean(t) ? (this.Ff = v(this.Ff, 13)) : (this.Ff = y(this.Ff, 13)); }, }), Object.defineProperty(this, 'fileSelect', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 21)); }, set: function (t) { !0 === Boolean(t) ? (this.Ff = v(this.Ff, 21)) : (this.Ff = y(this.Ff, 21)); }, }), Object.defineProperty(this, 'doNotSpellCheck', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 23)); }, set: function (t) { !0 === Boolean(t) ? (this.Ff = v(this.Ff, 23)) : (this.Ff = y(this.Ff, 23)); }, }), Object.defineProperty(this, 'doNotScroll', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 24)); }, set: function (t) { !0 === Boolean(t) ? (this.Ff = v(this.Ff, 24)) : (this.Ff = y(this.Ff, 24)); }, }), Object.defineProperty(this, 'comb', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 25)); }, set: function (t) { !0 === Boolean(t) ? (this.Ff = v(this.Ff, 25)) : (this.Ff = y(this.Ff, 25)); }, }), Object.defineProperty(this, 'richText', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 26)); }, set: function (t) { !0 === Boolean(t) ? (this.Ff = v(this.Ff, 26)) : (this.Ff = y(this.Ff, 26)); }, }); var t = null; Object.defineProperty(this, 'MaxLen', { enumerable: !0, configurable: !1, get: function () { return t; }, set: function (e) { t = e; }, }), Object.defineProperty(this, 'maxLength', { enumerable: !0, configurable: !0, get: function () { return t; }, set: function (e) { Number.isInteger(e) && (t = e); }, }), Object.defineProperty(this, 'hasAppearanceStream', { enumerable: !0, configurable: !0, get: function () { return this.V || this.DV; }, }); }; l(q, N); var X = function () { q.call(this), Object.defineProperty(this, 'password', { enumerable: !0, configurable: !0, get: function () { return Boolean(g(this.Ff, 14)); }, set: function (t) { !0 === Boolean(t) ? (this.Ff = v(this.Ff, 14)) : (this.Ff = y(this.Ff, 14)); }, }), (this.password = !0); }; l(X, q); var Y = { CheckBox: { createAppearanceStream: function () { return { N: { On: Y.CheckBox.YesNormal, }, D: { On: Y.CheckBox.YesPushDown, Off: Y.CheckBox.OffPushDown, }, }; }, YesPushDown: function (t) { var e = p(t), i = [], r = n.internal.getFont(t.fontName, t.fontStyle).id, o = n.__private__.encodeColorString(t.color), a = S(t, t.caption); return ( i.push('0.749023 g'), i.push('0 0 ' + s(Y.internal.getWidth(t)) + ' ' + s(Y.internal.getHeight(t)) + ' re'), i.push('f'), i.push('BMC'), i.push('q'), i.push('0 0 1 rg'), i.push('/' + r + ' ' + s(a.fontSize) + ' Tf ' + o), i.push('BT'), i.push(a.text), i.push('ET'), i.push('Q'), i.push('EMC'), (e.stream = i.join('\n')), e ); }, YesNormal: function (t) { var e = p(t), i = n.internal.getFont(t.fontName, t.fontStyle).id, r = n.__private__.encodeColorString(t.color), o = [], a = Y.internal.getHeight(t), c = Y.internal.getWidth(t), l = S(t, t.caption); return ( o.push('1 g'), o.push('0 0 ' + s(c) + ' ' + s(a) + ' re'), o.push('f'), o.push('q'), o.push('0 0 1 rg'), o.push('0 0 ' + s(c - 1) + ' ' + s(a - 1) + ' re'), o.push('W'), o.push('n'), o.push('0 g'), o.push('BT'), o.push('/' + i + ' ' + s(l.fontSize) + ' Tf ' + r), o.push(l.text), o.push('ET'), o.push('Q'), (e.stream = o.join('\n')), e ); }, OffPushDown: function (t) { var e = p(t), n = []; return n.push('0.749023 g'), n.push('0 0 ' + s(Y.internal.getWidth(t)) + ' ' + s(Y.internal.getHeight(t)) + ' re'), n.push('f'), (e.stream = n.join('\n')), e; }, }, RadioButton: { Circle: { createAppearanceStream: function (t) { var e = { D: { Off: Y.RadioButton.Circle.OffPushDown, }, N: {}, }; return (e.N[t] = Y.RadioButton.Circle.YesNormal), (e.D[t] = Y.RadioButton.Circle.YesPushDown), e; }, getCA: function () { return 'l'; }, YesNormal: function (t) { var e = p(t), n = [], i = Y.internal.getWidth(t) <= Y.internal.getHeight(t) ? Y.internal.getWidth(t) / 4 : Y.internal.getHeight(t) / 4; i = Number((0.9 * i).toFixed(5)); var r = Y.internal.Bezier_C, o = Number((i * r).toFixed(5)); return ( n.push('q'), n.push('1 0 0 1 ' + c(Y.internal.getWidth(t) / 2) + ' ' + c(Y.internal.getHeight(t) / 2) + ' cm'), n.push(i + ' 0 m'), n.push(i + ' ' + o + ' ' + o + ' ' + i + ' 0 ' + i + ' c'), n.push('-' + o + ' ' + i + ' -' + i + ' ' + o + ' -' + i + ' 0 c'), n.push('-' + i + ' -' + o + ' -' + o + ' -' + i + ' 0 -' + i + ' c'), n.push(o + ' -' + i + ' ' + i + ' -' + o + ' ' + i + ' 0 c'), n.push('f'), n.push('Q'), (e.stream = n.join('\n')), e ); }, YesPushDown: function (t) { var e = p(t), n = [], i = Y.internal.getWidth(t) <= Y.internal.getHeight(t) ? Y.internal.getWidth(t) / 4 : Y.internal.getHeight(t) / 4, r = ((i = Number((0.9 * i).toFixed(5))), Number((2 * i).toFixed(5))), o = Number((r * Y.internal.Bezier_C).toFixed(5)), a = Number((i * Y.internal.Bezier_C).toFixed(5)); return ( n.push('0.749023 g'), n.push('q'), n.push('1 0 0 1 ' + c(Y.internal.getWidth(t) / 2) + ' ' + c(Y.internal.getHeight(t) / 2) + ' cm'), n.push(r + ' 0 m'), n.push(r + ' ' + o + ' ' + o + ' ' + r + ' 0 ' + r + ' c'), n.push('-' + o + ' ' + r + ' -' + r + ' ' + o + ' -' + r + ' 0 c'), n.push('-' + r + ' -' + o + ' -' + o + ' -' + r + ' 0 -' + r + ' c'), n.push(o + ' -' + r + ' ' + r + ' -' + o + ' ' + r + ' 0 c'), n.push('f'), n.push('Q'), n.push('0 g'), n.push('q'), n.push('1 0 0 1 ' + c(Y.internal.getWidth(t) / 2) + ' ' + c(Y.internal.getHeight(t) / 2) + ' cm'), n.push(i + ' 0 m'), n.push(i + ' ' + a + ' ' + a + ' ' + i + ' 0 ' + i + ' c'), n.push('-' + a + ' ' + i + ' -' + i + ' ' + a + ' -' + i + ' 0 c'), n.push('-' + i + ' -' + a + ' -' + a + ' -' + i + ' 0 -' + i + ' c'), n.push(a + ' -' + i + ' ' + i + ' -' + a + ' ' + i + ' 0 c'), n.push('f'), n.push('Q'), (e.stream = n.join('\n')), e ); }, OffPushDown: function (t) { var e = p(t), n = [], i = Y.internal.getWidth(t) <= Y.internal.getHeight(t) ? Y.internal.getWidth(t) / 4 : Y.internal.getHeight(t) / 4, r = ((i = Number((0.9 * i).toFixed(5))), Number((2 * i).toFixed(5))), o = Number((r * Y.internal.Bezier_C).toFixed(5)); return ( n.push('0.749023 g'), n.push('q'), n.push('1 0 0 1 ' + c(Y.internal.getWidth(t) / 2) + ' ' + c(Y.internal.getHeight(t) / 2) + ' cm'), n.push(r + ' 0 m'), n.push(r + ' ' + o + ' ' + o + ' ' + r + ' 0 ' + r + ' c'), n.push('-' + o + ' ' + r + ' -' + r + ' ' + o + ' -' + r + ' 0 c'), n.push('-' + r + ' -' + o + ' -' + o + ' -' + r + ' 0 -' + r + ' c'), n.push(o + ' -' + r + ' ' + r + ' -' + o + ' ' + r + ' 0 c'), n.push('f'), n.push('Q'), (e.stream = n.join('\n')), e ); }, }, Cross: { createAppearanceStream: function (t) { var e = { D: { Off: Y.RadioButton.Cross.OffPushDown, }, N: {}, }; return (e.N[t] = Y.RadioButton.Cross.YesNormal), (e.D[t] = Y.RadioButton.Cross.YesPushDown), e; }, getCA: function () { return '8'; }, YesNormal: function (t) { var e = p(t), n = [], i = Y.internal.calculateCross(t); return ( n.push('q'), n.push('1 1 ' + s(Y.internal.getWidth(t) - 2) + ' ' + s(Y.internal.getHeight(t) - 2) + ' re'), n.push('W'), n.push('n'), n.push(s(i.x1.x) + ' ' + s(i.x1.y) + ' m'), n.push(s(i.x2.x) + ' ' + s(i.x2.y) + ' l'), n.push(s(i.x4.x) + ' ' + s(i.x4.y) + ' m'), n.push(s(i.x3.x) + ' ' + s(i.x3.y) + ' l'), n.push('s'), n.push('Q'), (e.stream = n.join('\n')), e ); }, YesPushDown: function (t) { var e = p(t), n = Y.internal.calculateCross(t), i = []; return ( i.push('0.749023 g'), i.push('0 0 ' + s(Y.internal.getWidth(t)) + ' ' + s(Y.internal.getHeight(t)) + ' re'), i.push('f'), i.push('q'), i.push('1 1 ' + s(Y.internal.getWidth(t) - 2) + ' ' + s(Y.internal.getHeight(t) - 2) + ' re'), i.push('W'), i.push('n'), i.push(s(n.x1.x) + ' ' + s(n.x1.y) + ' m'), i.push(s(n.x2.x) + ' ' + s(n.x2.y) + ' l'), i.push(s(n.x4.x) + ' ' + s(n.x4.y) + ' m'), i.push(s(n.x3.x) + ' ' + s(n.x3.y) + ' l'), i.push('s'), i.push('Q'), (e.stream = i.join('\n')), e ); }, OffPushDown: function (t) { var e = p(t), n = []; return n.push('0.749023 g'), n.push('0 0 ' + s(Y.internal.getWidth(t)) + ' ' + s(Y.internal.getHeight(t)) + ' re'), n.push('f'), (e.stream = n.join('\n')), e; }, }, }, createDefaultAppearanceStream: function (t) { var e = n.internal.getFont(t.fontName, t.fontStyle).id, i = n.__private__.encodeColorString(t.color); return '/' + e + ' ' + t.fontSize + ' Tf ' + i; }, }; (Y.internal = { Bezier_C: 0.551915024494, calculateCross: function (t) { var e = Y.internal.getWidth(t), n = Y.internal.getHeight(t), i = Math.min(e, n); return { x1: { x: (e - i) / 2, y: (n - i) / 2 + i, }, x2: { x: (e - i) / 2 + i, y: (n - i) / 2, }, x3: { x: (e - i) / 2, y: (n - i) / 2, }, x4: { x: (e - i) / 2 + i, y: (n - i) / 2 + i, }, }; }, }), (Y.internal.getWidth = function (t) { var e = 0; return 'object' === r(t) && (e = u(t.Rect[2])), e; }), (Y.internal.getHeight = function (t) { var e = 0; return 'object' === r(t) && (e = u(t.Rect[3])), e; }); var K = (t.addField = function (t) { if ((P.call(this), !(t instanceof N))) throw new Error('Invalid argument passed to jsPDF.addField.'); return ( function (t) { n.internal.acroformPlugin.printedOut && ((n.internal.acroformPlugin.printedOut = !1), (n.internal.acroformPlugin.acroFormDictionaryRoot = null)), n.internal.acroformPlugin.acroFormDictionaryRoot || P.call(n), n.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(t); }.call(this, t), (t.page = n.internal.getCurrentPageInfo().pageNumber), this ); }); (t.addButton = function (t) { if (t instanceof B == 0) throw new Error('Invalid argument passed to jsPDF.addButton.'); return K.call(this, t); }), (t.addTextField = function (t) { if (t instanceof q == 0) throw new Error('Invalid argument passed to jsPDF.addTextField.'); return K.call(this, t); }), (t.addChoiceField = function (t) { if (t instanceof j == 0) throw new Error('Invalid argument passed to jsPDF.addChoiceField.'); return K.call(this, t); }), 'object' == r(e) && void 0 === e.ChoiceField && void 0 === e.ListBox && void 0 === e.ComboBox && void 0 === e.EditBox && void 0 === e.Button && void 0 === e.PushButton && void 0 === e.RadioButton && void 0 === e.CheckBox && void 0 === e.TextField && void 0 === e.PasswordField ? ((e.ChoiceField = j), (e.ListBox = V), (e.ComboBox = F), (e.EditBox = U), (e.Button = B), (e.PushButton = z), (e.RadioButton = G), (e.CheckBox = W), (e.TextField = q), (e.PasswordField = X), (e.AcroForm = { Appearance: Y, })) : console.warn('AcroForm-Classes are not populated into global-namespace, because the class-Names exist already.'), (t.AcroFormChoiceField = j), (t.AcroFormListBox = V), (t.AcroFormComboBox = F), (t.AcroFormEditBox = U), (t.AcroFormButton = B), (t.AcroFormPushButton = z), (t.AcroFormRadioButton = G), (t.AcroFormCheckBox = W), (t.AcroFormTextField = q), (t.AcroFormPasswordField = X), (t.AcroFormAppearance = Y), (t.AcroForm = { ChoiceField: j, ListBox: V, ComboBox: F, EditBox: U, Button: B, PushButton: z, RadioButton: G, CheckBox: W, TextField: q, PasswordField: X, Appearance: Y, }); })((window.tmp = ft).API, ('undefined' != typeof window && window) || (void 0 !== i && i)), /** @license * jsPDF addImage plugin * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/ * 2013 Chris Dowling, https://github.com/gingerchris * 2013 Trinh Ho, https://github.com/ineedfat * 2013 Edwin Alejandro Perez, https://github.com/eaparango * 2013 Norah Smith, https://github.com/burnburnrocket * 2014 Diego Casorran, https://github.com/diegocr * 2014 James Robb, https://github.com/jamesbrobb * * */ (function (t) { var e = 'addImage_', n = { PNG: [[137, 80, 78, 71]], TIFF: [ [77, 77, 0, 42], [73, 73, 42, 0], ], JPEG: [ [255, 216, 255, 224, void 0, void 0, 74, 70, 73, 70, 0], [255, 216, 255, 225, void 0, void 0, 69, 120, 105, 102, 0, 0], ], JPEG2000: [[0, 0, 0, 12, 106, 80, 32, 32]], GIF87a: [[71, 73, 70, 56, 55, 97]], GIF89a: [[71, 73, 70, 56, 57, 97]], BMP: [ [66, 77], [66, 65], [67, 73], [67, 80], [73, 67], [80, 84], ], }, i = (t.getImageFileTypeByImageData = function (e, i) { var r, o; i = i || 'UNKNOWN'; var a, s, c, l = 'UNKNOWN'; for (c in (t.isArrayBufferView(e) && (e = t.arrayBufferToBinaryString(e)), n)) for (a = n[c], r = 0; r < a.length; r += 1) { for (s = !0, o = 0; o < a[r].length; o += 1) if (void 0 !== a[r][o] && a[r][o] !== e.charCodeAt(o)) { s = !1; break; } if (!0 === s) { l = c; break; } } return 'UNKNOWN' === l && 'UNKNOWN' !== i && (console.warn('FileType of Image not recognized. Processing image as "' + i + '".'), (l = i)), l; }), o = function t(e) { for (var n = this.internal.newObject(), i = this.internal.write, r = this.internal.putStream, o = (0, this.internal.getFilters)(); -1 !== o.indexOf('FlateEncode'); ) o.splice(o.indexOf('FlateEncode'), 1); e.n = n; var a = []; if ( (a.push({ key: 'Type', value: '/XObject', }), a.push({ key: 'Subtype', value: '/Image', }), a.push({ key: 'Width', value: e.w, }), a.push({ key: 'Height', value: e.h, }), e.cs === this.color_spaces.INDEXED ? a.push({ key: 'ColorSpace', value: '[/Indexed /DeviceRGB ' + (e.pal.length / 3 - 1) + ' ' + ('smask' in e ? n + 2 : n + 1) + ' 0 R]', }) : (a.push({ key: 'ColorSpace', value: '/' + e.cs, }), e.cs === this.color_spaces.DEVICE_CMYK && a.push({ key: 'Decode', value: '[1 0 1 0 1 0 1 0]', })), a.push({ key: 'BitsPerComponent', value: e.bpc, }), 'dp' in e && a.push({ key: 'DecodeParms', value: '<<' + e.dp + '>>', }), 'trns' in e && e.trns.constructor == Array) ) { for (var s = '', c = 0, l = e.trns.length; c < l; c++) s += e.trns[c] + ' ' + e.trns[c] + ' '; a.push({ key: 'Mask', value: '[' + s + ']', }); } 'smask' in e && a.push({ key: 'SMask', value: n + 1 + ' 0 R', }); var u = void 0 !== e.f ? ['/' + e.f] : void 0; if ( (r({ data: e.data, additionalKeyValues: a, alreadyAppliedFilters: u, }), i('endobj'), 'smask' in e) ) { var d = '/Predictor ' + e.p + ' /Colors 1 /BitsPerComponent ' + e.bpc + ' /Columns ' + e.w, p = { w: e.w, h: e.h, cs: 'DeviceGray', bpc: e.bpc, dp: d, data: e.smask, }; 'f' in e && (p.f = e.f), t.call(this, p); } e.cs === this.color_spaces.INDEXED && (this.internal.newObject(), r({ data: this.arrayBufferToBinaryString(new Uint8Array(e.pal)), }), i('endobj')); }, a = function () { var t = this.internal.collections[e + 'images']; for (var n in t) o.call(this, t[n]); }, s = function () { var t, n = this.internal.collections[e + 'images'], i = this.internal.write; for (var r in n) i('/I' + (t = n[r]).i, t.n, '0', 'R'); }, c = function (e) { return 'function' == typeof t['process' + e.toUpperCase()]; }, l = function (t) { return 'object' === r(t) && 1 === t.nodeType; }, u = function (e, n) { if ('IMG' === e.nodeName && e.hasAttribute('src')) { var i = '' + e.getAttribute('src'); if (0 === i.indexOf('data:image/')) return unescape(i); var r = t.loadFile(i); if (void 0 !== r) return btoa(r); } if ('CANVAS' === e.nodeName) { var o = e; return e.toDataURL('image/jpeg', 1); } ((o = document.createElement('canvas')).width = e.clientWidth || e.width), (o.height = e.clientHeight || e.height); var a = o.getContext('2d'); if (!a) throw 'addImage requires canvas to be supported by browser.'; return a.drawImage(e, 0, 0, o.width, o.height), o.toDataURL('png' == ('' + n).toLowerCase() ? 'image/png' : 'image/jpeg'); }, d = function (t, e) { var n; if (e) for (var i in e) if (t === e[i].alias) { n = e[i]; break; } return n; }; (t.color_spaces = { DEVICE_RGB: 'DeviceRGB', DEVICE_GRAY: 'DeviceGray', DEVICE_CMYK: 'DeviceCMYK', CAL_GREY: 'CalGray', CAL_RGB: 'CalRGB', LAB: 'Lab', ICC_BASED: 'ICCBased', INDEXED: 'Indexed', PATTERN: 'Pattern', SEPARATION: 'Separation', DEVICE_N: 'DeviceN', }), (t.decode = { DCT_DECODE: 'DCTDecode', FLATE_DECODE: 'FlateDecode', LZW_DECODE: 'LZWDecode', JPX_DECODE: 'JPXDecode', JBIG2_DECODE: 'JBIG2Decode', ASCII85_DECODE: 'ASCII85Decode', ASCII_HEX_DECODE: 'ASCIIHexDecode', RUN_LENGTH_DECODE: 'RunLengthDecode', CCITT_FAX_DECODE: 'CCITTFaxDecode', }), (t.image_compression = { NONE: 'NONE', FAST: 'FAST', MEDIUM: 'MEDIUM', SLOW: 'SLOW', }), (t.sHashCode = function (t) { var e, n = 0; if (0 === (t = t || '').length) return n; for (e = 0; e < t.length; e++) (n = (n << 5) - n + t.charCodeAt(e)), (n |= 0); return n; }), (t.isString = function (t) { return 'string' == typeof t; }), (t.validateStringAsBase64 = function (t) { (t = t || '').toString().trim(); var e = !0; return ( 0 === t.length && (e = !1), t.length % 4 != 0 && (e = !1), !1 === /^[A-Za-z0-9+\/]+$/.test(t.substr(0, t.length - 2)) && (e = !1), !1 === /^[A-Za-z0-9\/][A-Za-z0-9+\/]|[A-Za-z0-9+\/]=|==$/.test(t.substr(-2)) && (e = !1), e ); }), (t.extractInfoFromBase64DataURI = function (t) { return /^data:([\w]+?\/([\w]+?));\S*;*base64,(.+)$/g.exec(t); }), (t.extractImageFromDataUrl = function (t) { var e = (t = t || '').split('base64,'), n = null; if (2 === e.length) { var i = /^data:(\w*\/\w*);*(charset=[\w=-]*)*;*$/.exec(e[0]); Array.isArray(i) && (n = { mimeType: i[1], charset: i[2], data: e[1], }); } return n; }), (t.supportsArrayBuffer = function () { return 'undefined' != typeof ArrayBuffer && 'undefined' != typeof Uint8Array; }), (t.isArrayBuffer = function (t) { return !!this.supportsArrayBuffer() && t instanceof ArrayBuffer; }), (t.isArrayBufferView = function (t) { return ( !!this.supportsArrayBuffer() && 'undefined' != typeof Uint32Array && (t instanceof Int8Array || t instanceof Uint8Array || ('undefined' != typeof Uint8ClampedArray && t instanceof Uint8ClampedArray) || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array) ); }), (t.binaryStringToUint8Array = function (t) { for (var e = t.length, n = new Uint8Array(e), i = 0; i < e; i++) n[i] = t.charCodeAt(i); return n; }), (t.arrayBufferToBinaryString = function (t) { if ('function' == typeof atob) return atob(this.arrayBufferToBase64(t)); }), (t.arrayBufferToBase64 = function (t) { for (var e, n = '', i = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', r = new Uint8Array(t), o = r.byteLength, a = o % 3, s = o - a, c = 0; c < s; c += 3) n += i[(16515072 & (e = (r[c] << 16) | (r[c + 1] << 8) | r[c + 2])) >> 18] + i[(258048 & e) >> 12] + i[(4032 & e) >> 6] + i[63 & e]; return ( 1 == a ? (n += i[(252 & (e = r[s])) >> 2] + i[(3 & e) << 4] + '==') : 2 == a && (n += i[(64512 & (e = (r[s] << 8) | r[s + 1])) >> 10] + i[(1008 & e) >> 4] + i[(15 & e) << 2] + '='), n ); }), (t.createImageInfo = function (t, e, n, i, r, o, a, s, c, l, u, d, p) { var h = { alias: s, w: e, h: n, cs: i, bpc: r, i: a, data: t, }; return o && (h.f = o), c && (h.dp = c), l && (h.trns = l), u && (h.pal = u), d && (h.smask = d), p && (h.p = p), h; }), (t.addImage = function (n, i, o, p, h, f, m, g, v) { var y = ''; if ('string' != typeof i) { var b = f; (f = h), (h = p), (p = o), (o = i), (i = b); } if ('object' === r(n) && !l(n) && 'imageData' in n) { var w = n; (n = w.imageData), (i = w.format || i || 'UNKNOWN'), (o = w.x || o || 0), (p = w.y || p || 0), (h = w.w || h), (f = w.h || f), (m = w.alias || m), (g = w.compression || g), (v = w.rotation || w.angle || v); } var S = this.internal.getFilters(); if ((void 0 === g && -1 !== S.indexOf('FlateEncode') && (g = 'SLOW'), 'string' == typeof n && (n = unescape(n)), isNaN(o) || isNaN(p))) throw (console.error('jsPDF.addImage: Invalid coordinates', arguments), new Error('Invalid coordinates passed to jsPDF.addImage')); var x, M, E, C, A, T, O, _ = function () { var t = this.internal.collections[e + 'images']; return t || ((this.internal.collections[e + 'images'] = t = {}), this.internal.events.subscribe('putResources', a), this.internal.events.subscribe('putXobjectDict', s)), t; }.call(this); if ( !( (x = d(n, _)) || (l(n) && (n = u(n, i)), (null == (O = m) || 0 === O.length) && (m = 'string' == typeof (T = n) ? t.sHashCode(T) : t.isArrayBufferView(T) ? t.sHashCode(t.arrayBufferToBinaryString(T)) : null), (x = d(m, _))) ) ) { if ((this.isString(n) && ('' !== (y = this.convertStringToImageData(n)) || void 0 !== (y = t.loadFile(n))) && (n = y), (i = this.getImageFileTypeByImageData(n, i)), !c(i))) throw new Error("addImage does not support files of type '" + i + "', please ensure that a plugin for '" + i + "' support is added."); if ( (this.supportsArrayBuffer() && (n instanceof Uint8Array || ((M = n), (n = this.binaryStringToUint8Array(n)))), !(x = this['process' + i.toUpperCase()]( n, ((A = 0), (C = _) && (A = Object.keys ? Object.keys(C).length : (function (t) { var e = 0; for (var n in t) t.hasOwnProperty(n) && e++; return e; })(C)), A), m, ((E = g) && 'string' == typeof E && (E = E.toUpperCase()), E in t.image_compression ? E : t.image_compression.NONE), M ))) ) throw new Error('An unknown error occurred whilst processing the image'); } return ( function (t, e, n, i, r, o, a, s) { var c = function (t, e, n) { return ( t || e || (e = t = -96), t < 0 && (t = (-1 * n.w * 72) / t / this.internal.scaleFactor), e < 0 && (e = (-1 * n.h * 72) / e / this.internal.scaleFactor), 0 === t && (t = (e * n.w) / n.h), 0 === e && (e = (t * n.h) / n.w), [t, e] ); }.call(this, n, i, r), l = this.internal.getCoordinateString, u = this.internal.getVerticalCoordinateString; if (((n = c[0]), (i = c[1]), (a[o] = r), s)) { s *= Math.PI / 180; var d = Math.cos(s), p = Math.sin(s), h = function (t) { return t.toFixed(4); }, f = [h(d), h(p), h(-1 * p), h(d), 0, 0, 'cm']; } this.internal.write('q'), s ? (this.internal.write([1, '0', '0', 1, l(t), u(e + i), 'cm'].join(' ')), this.internal.write(f.join(' ')), this.internal.write([l(n), '0', '0', l(i), '0', '0', 'cm'].join(' '))) : this.internal.write([l(n), '0', '0', l(i), l(t), u(e + i), 'cm'].join(' ')), this.internal.write('/I' + r.i + ' Do'), this.internal.write('Q'); }.call(this, o, p, h, f, x, x.i, _, v), this ); }), (t.convertStringToImageData = function (e) { var n, i = ''; if (this.isString(e)) { var r; n = null !== (r = this.extractImageFromDataUrl(e)) ? r.data : e; try { i = atob(n); } catch (e) { throw t.validateStringAsBase64(n) ? new Error('atob-Error in jsPDF.convertStringToImageData ' + e.message) : new Error('Supplied Data is not a valid base64-String jsPDF.convertStringToImageData '); } } return i; }); var p = function (t, e) { return t.subarray(e, e + 5); }; (t.processJPEG = function (t, e, n, r, o, a) { var s, c = this.decode.DCT_DECODE; if (!this.isString(t) && !this.isArrayBuffer(t) && !this.isArrayBufferView(t)) return null; if ( (this.isString(t) && (s = (function (t) { var e; if ('JPEG' !== i(t)) throw new Error('getJpegSize requires a binary string jpeg file'); for (var n = 256 * t.charCodeAt(4) + t.charCodeAt(5), r = 4, o = t.length; r < o; ) { if (((r += n), 255 !== t.charCodeAt(r))) throw new Error('getJpegSize could not find the size of the image'); if ( 192 === t.charCodeAt(r + 1) || 193 === t.charCodeAt(r + 1) || 194 === t.charCodeAt(r + 1) || 195 === t.charCodeAt(r + 1) || 196 === t.charCodeAt(r + 1) || 197 === t.charCodeAt(r + 1) || 198 === t.charCodeAt(r + 1) || 199 === t.charCodeAt(r + 1) ) return (e = 256 * t.charCodeAt(r + 5) + t.charCodeAt(r + 6)), [256 * t.charCodeAt(r + 7) + t.charCodeAt(r + 8), e, t.charCodeAt(r + 9)]; (r += 2), (n = 256 * t.charCodeAt(r) + t.charCodeAt(r + 1)); } })(t)), this.isArrayBuffer(t) && (t = new Uint8Array(t)), this.isArrayBufferView(t) && ((s = (function (t) { if (65496 != ((t[0] << 8) | t[1])) throw new Error('Supplied data is not a JPEG'); for (var e, n = t.length, i = (t[4] << 8) + t[5], r = 4; r < n; ) { if (((i = ((e = p(t, (r += i)))[2] << 8) + e[3]), (192 === e[1] || 194 === e[1]) && 255 === e[0] && 7 < i)) return { width: ((e = p(t, r + 5))[2] << 8) + e[3], height: (e[0] << 8) + e[1], numcomponents: e[4], }; r += 2; } throw new Error('getJpegSizeFromBytes could not find the size of the image'); })(t)), (t = o || this.arrayBufferToBinaryString(t))), void 0 === a) ) switch (s.numcomponents) { case 1: a = this.color_spaces.DEVICE_GRAY; break; case 4: a = this.color_spaces.DEVICE_CMYK; break; default: case 3: a = this.color_spaces.DEVICE_RGB; } return this.createImageInfo(t, s.width, s.height, a, 8, c, e, n); }), (t.processJPG = function () { return this.processJPEG.apply(this, arguments); }), (t.getImageProperties = function (e) { var n, i, r = ''; if ( (l(e) && (e = u(e)), this.isString(e) && ('' !== (r = this.convertStringToImageData(e)) || void 0 !== (r = t.loadFile(e))) && (e = r), (i = this.getImageFileTypeByImageData(e)), !c(i)) ) throw new Error("addImage does not support files of type '" + i + "', please ensure that a plugin for '" + i + "' support is added."); if ((this.supportsArrayBuffer() && (e instanceof Uint8Array || (e = this.binaryStringToUint8Array(e))), !(n = this['process' + i.toUpperCase()](e)))) throw new Error('An unknown error occurred whilst processing the image'); return { fileType: i, width: n.w, height: n.h, colorSpace: n.cs, compressionMode: n.f, bitsPerComponent: n.bpc, }; }); })(ft.API), /** * @license * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv * * Licensed under the MIT License. * http://opensource.org/licenses/mit-license */ (a = ft.API), ft.API.events.push([ 'addPage', function (t) { this.internal.getPageInfo(t.pageNumber).pageContext.annotations = []; }, ]), a.events.push([ 'putPage', function (t) { for ( var e = this.internal.getPageInfoByObjId(t.objId), n = t.pageContext.annotations, i = function (t) { if (void 0 !== t && '' != t) return !0; }, r = !1, o = 0; o < n.length && !r; o++ ) switch ((c = n[o]).type) { case 'link': if (i(c.options.url) || i(c.options.pageNumber)) { r = !0; break; } case 'reference': case 'text': case 'freetext': r = !0; } if (0 != r) { this.internal.write('/Annots ['), this.internal.pageSize.height; var a = this.internal.getCoordinateString, s = this.internal.getVerticalCoordinateString; for (o = 0; o < n.length; o++) { var c; switch ((c = n[o]).type) { case 'reference': this.internal.write(' ' + c.object.objId + ' 0 R '); break; case 'text': var l = this.internal.newAdditionalObject(), u = this.internal.newAdditionalObject(), d = c.title || 'Note'; (g = '<>'), (l.content = g); var p = l.objId + ' 0 R'; (g = '<>'; else if (c.options.pageNumber) switch ( ((g = '<>'), this.internal.out('endobj'); }), this.internal.events.subscribe('putCatalog', function () { this.internal.out('/OpenAction ' + e + ' 0 R'); }); } return this; }), /** * @license * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv * * Licensed under the MIT License. * http://opensource.org/licenses/mit-license */ (s = ft.API), ((c = function () { var t = void 0; Object.defineProperty(this, 'pdf', { get: function () { return t; }, set: function (e) { t = e; }, }); var e = 150; Object.defineProperty(this, 'width', { get: function () { return e; }, set: function (t) { (e = isNaN(t) || !1 === Number.isInteger(t) || t < 0 ? 150 : t), this.getContext('2d').pageWrapXEnabled && (this.getContext('2d').pageWrapX = e + 1); }, }); var n = 300; Object.defineProperty(this, 'height', { get: function () { return n; }, set: function (t) { (n = isNaN(t) || !1 === Number.isInteger(t) || t < 0 ? 300 : t), this.getContext('2d').pageWrapYEnabled && (this.getContext('2d').pageWrapY = n + 1); }, }); var i = []; Object.defineProperty(this, 'childNodes', { get: function () { return i; }, set: function (t) { i = t; }, }); var r = {}; Object.defineProperty(this, 'style', { get: function () { return r; }, set: function (t) { r = t; }, }), Object.defineProperty(this, 'parentNode', { get: function () { return !1; }, }); }).prototype.getContext = function (t, e) { var n; if ('2d' !== (t = t || '2d')) return null; for (n in e) this.pdf.context2d.hasOwnProperty(n) && (this.pdf.context2d[n] = e[n]); return (this.pdf.context2d._canvas = this).pdf.context2d; }), (c.prototype.toDataURL = function () { throw new Error('toDataURL is not implemented.'); }), s.events.push([ 'initialized', function () { (this.canvas = new c()), (this.canvas.pdf = this); }, ]), /** * @license * ==================================================================== * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br * 2013 Lee Driscoll, https://github.com/lsdriscoll * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria * 2014 James Hall, james@parall.ax * 2014 Diego Casorran, https://github.com/diegocr * * * ==================================================================== */ (l = ft.API), (d = { x: void 0, y: void 0, w: void 0, h: void 0, ln: void 0, }), (p = 1), (h = function (t, e, n, i, r) { d = { x: t, y: e, w: n, h: i, ln: r, }; }), (f = function () { return d; }), (m = { left: 0, top: 0, bottom: 0, }), (l.setHeaderFunction = function (t) { u = t; }), (l.getTextDimensions = function (t, e) { var n = this.table_font_size || this.internal.getFontSize(), i = (this.internal.getFont().fontStyle, (e = e || {}).scaleFactor || this.internal.scaleFactor), r = 0, o = 0, a = 0; if ('string' == typeof t) 0 != (r = this.getStringUnitWidth(t) * n) && (o = 1); else { if ('[object Array]' !== Object.prototype.toString.call(t)) throw new Error('getTextDimensions expects text-parameter to be of type String or an Array of Strings.'); for (var s = 0; s < t.length; s++) r < (a = this.getStringUnitWidth(t[s]) * n) && (r = a); 0 !== r && (o = t.length); } return { w: (r /= i), h: Math.max((o * n * this.getLineHeightFactor() - n * (this.getLineHeightFactor() - 1)) / i, 0), }; }), (l.cellAddPage = function () { var t = this.margins || m; this.addPage(), h(t.left, t.top, void 0, void 0), (p += 1); }), (l.cellInitialize = function () { (d = { x: void 0, y: void 0, w: void 0, h: void 0, ln: void 0, }), (p = 1); }), (l.cell = function (t, e, n, i, r, o, a) { var s = f(), c = !1; if (void 0 !== s.ln) if (s.ln === o) (t = s.x + s.w), (e = s.y); else { var l = this.margins || m; s.y + s.h + i + 13 >= this.internal.pageSize.getHeight() - l.bottom && (this.cellAddPage(), (c = !0), this.printHeaders && this.tableHeaderRow && this.printHeaderRow(o, !0)), (e = f().y + f().h), c && (e = 23); } if (void 0 !== r[0]) if ((this.printingHeaderRow ? this.rect(t, e, n, i, 'FD') : this.rect(t, e, n, i), 'right' === a)) { r instanceof Array || (r = [r]); for (var u = 0; u < r.length; u++) { var d = r[u], p = (this.getStringUnitWidth(d) * this.internal.getFontSize()) / this.internal.scaleFactor; this.text(d, t + n - p - 3, e + this.internal.getLineHeight() * (u + 1)); } } else this.text(r, t + 3, e + this.internal.getLineHeight()); return h(t, e, n, i, o), this; }), (l.arrayMax = function (t, e) { var n, i, r, o = t[0]; for (n = 0, i = t.length; n < i; n += 1) (r = t[n]), e ? -1 === e(o, r) && (o = r) : o < r && (o = r); return o; }), (l.table = function (t, e, n, i, r) { if (!n) throw 'No data for PDF table'; var o, a, s, c, u, h, f, g, v, y, b = [], w = [], S = {}, x = {}, M = [], E = [], C = !1, A = !0, T = 12, O = m; if ( ((O.width = this.internal.pageSize.getWidth()), r && (!0 === r.autoSize && (C = !0), !1 === r.printHeaders && (A = !1), r.fontSize && (T = r.fontSize), r.css && void 0 !== r.css['font-size'] && (T = 16 * r.css['font-size']), r.margins && (O = r.margins)), (this.lnMod = 0), (d = { x: void 0, y: void 0, w: void 0, h: void 0, ln: void 0, }), (p = 1), (this.printHeaders = A), (this.margins = O), this.setFontSize(T), (this.table_font_size = T), null == i) ) b = Object.keys(n[0]); else if (i[0] && 'string' != typeof i[0]) for (a = 0, s = i.length; a < s; a += 1) (o = i[a]), b.push(o.name), w.push(o.prompt), (x[o.name] = o.width * (19.049976 / 25.4)); else b = i; if (C) for ( y = function (t) { return t[o]; }, a = 0, s = b.length; a < s; a += 1 ) { for ( S[(o = b[a])] = n.map(y), M.push( this.getTextDimensions(w[a] || o, { scaleFactor: 1, }).w ), f = 0, c = (h = S[o]).length; f < c; f += 1 ) (u = h[f]), M.push( this.getTextDimensions(u, { scaleFactor: 1, }).w ); (x[o] = l.arrayMax(M)), (M = []); } if (A) { var _ = this.calculateLineHeight(b, x, w.length ? w : b); for (a = 0, s = b.length; a < s; a += 1) (o = b[a]), E.push([t, e, x[o], _, String(w.length ? w[a] : o)]); this.setTableHeaderRow(E), this.printHeaderRow(1, !1); } for (a = 0, s = n.length; a < s; a += 1) for (g = n[a], _ = this.calculateLineHeight(b, x, g), f = 0, v = b.length; f < v; f += 1) (o = b[f]), this.cell(t, e, x[o], _, g[o], a + 2, o.align); return (this.lastCellPos = d), (this.table_x = t), (this.table_y = e), this; }), (l.calculateLineHeight = function (t, e, n) { for (var i, r = 0, o = 0; o < t.length; o++) { n[(i = t[o])] = this.splitTextToSize(String(n[i]), e[i] - 3); var a = this.internal.getLineHeight() * n[i].length + 3; r < a && (r = a); } return r; }), (l.setTableHeaderRow = function (t) { this.tableHeaderRow = t; }), (l.printHeaderRow = function (t, e) { if (!this.tableHeaderRow) throw 'Property tableHeaderRow does not exist.'; var n, i, r, o; if (((this.printingHeaderRow = !0), void 0 !== u)) { var a = u(this, p); h(a[0], a[1], a[2], a[3], -1); } this.setFontStyle('bold'); var s = []; for (r = 0, o = this.tableHeaderRow.length; r < o; r += 1) this.setFillColor(200, 200, 200), (n = this.tableHeaderRow[r]), e && ((this.margins.top = 13), (n[1] = (this.margins && this.margins.top) || 0), s.push(n)), (i = [].concat(n)), this.cell.apply(this, i.concat(t)); 0 < s.length && this.setTableHeaderRow(s), this.setFontStyle('normal'), (this.printingHeaderRow = !1); }), (function (t, e) { var n, i, o, a, s, c = function (t) { return ( (t = t || {}), (this.isStrokeTransparent = t.isStrokeTransparent || !1), (this.strokeOpacity = t.strokeOpacity || 1), (this.strokeStyle = t.strokeStyle || '#000000'), (this.fillStyle = t.fillStyle || '#000000'), (this.isFillTransparent = t.isFillTransparent || !1), (this.fillOpacity = t.fillOpacity || 1), (this.font = t.font || '10px sans-serif'), (this.textBaseline = t.textBaseline || 'alphabetic'), (this.textAlign = t.textAlign || 'left'), (this.lineWidth = t.lineWidth || 1), (this.lineJoin = t.lineJoin || 'miter'), (this.lineCap = t.lineCap || 'butt'), (this.path = t.path || []), (this.transform = void 0 !== t.transform ? t.transform.clone() : new L()), (this.globalCompositeOperation = t.globalCompositeOperation || 'normal'), (this.globalAlpha = t.globalAlpha || 1), (this.clip_path = t.clip_path || []), (this.currentPoint = t.currentPoint || new D()), (this.miterLimit = t.miterLimit || 10), (this.lastPoint = t.lastPoint || new D()), (this.ignoreClearRect = 'boolean' != typeof t.ignoreClearRect || t.ignoreClearRect), this ); }; t.events.push([ 'initialized', function () { (this.context2d = new l(this)), (n = this.internal.f2), this.internal.f3, (i = this.internal.getCoordinateString), (o = this.internal.getVerticalCoordinateString), (a = this.internal.getHorizontalCoordinate), (s = this.internal.getVerticalCoordinate); }, ]); var l = function (t) { Object.defineProperty(this, 'canvas', { get: function () { return { parentNode: !1, style: !1, }; }, }), Object.defineProperty(this, 'pdf', { get: function () { return t; }, }); var e = !1; Object.defineProperty(this, 'pageWrapXEnabled', { get: function () { return e; }, set: function (t) { e = Boolean(t); }, }); var n = !1; Object.defineProperty(this, 'pageWrapYEnabled', { get: function () { return n; }, set: function (t) { n = Boolean(t); }, }); var i = 0; Object.defineProperty(this, 'posX', { get: function () { return i; }, set: function (t) { isNaN(t) || (i = t); }, }); var r = 0; Object.defineProperty(this, 'posY', { get: function () { return r; }, set: function (t) { isNaN(t) || (r = t); }, }); var o = !1; Object.defineProperty(this, 'autoPaging', { get: function () { return o; }, set: function (t) { o = Boolean(t); }, }); var a = 0; Object.defineProperty(this, 'lastBreak', { get: function () { return a; }, set: function (t) { a = t; }, }); var s = []; Object.defineProperty(this, 'pageBreaks', { get: function () { return s; }, set: function (t) { s = t; }, }); var l = new c(); Object.defineProperty(this, 'ctx', { get: function () { return l; }, set: function (t) { t instanceof c && (l = t); }, }), Object.defineProperty(this, 'path', { get: function () { return l.path; }, set: function (t) { l.path = t; }, }); var d = []; Object.defineProperty(this, 'ctxStack', { get: function () { return d; }, set: function (t) { d = t; }, }), Object.defineProperty(this, 'fillStyle', { get: function () { return this.ctx.fillStyle; }, set: function (t) { var e; (e = u(t)), (this.ctx.fillStyle = e.style), (this.ctx.isFillTransparent = 0 === e.a), (this.ctx.fillOpacity = e.a), this.pdf.setFillColor(e.r, e.g, e.b, { a: e.a, }), this.pdf.setTextColor(e.r, e.g, e.b, { a: e.a, }); }, }), Object.defineProperty(this, 'strokeStyle', { get: function () { return this.ctx.strokeStyle; }, set: function (t) { var e = u(t); (this.ctx.strokeStyle = e.style), (this.ctx.isStrokeTransparent = 0 === e.a), (this.ctx.strokeOpacity = e.a), 0 === e.a ? this.pdf.setDrawColor(255, 255, 255) : (e.a, this.pdf.setDrawColor(e.r, e.g, e.b)); }, }), Object.defineProperty(this, 'lineCap', { get: function () { return this.ctx.lineCap; }, set: function (t) { -1 !== ['butt', 'round', 'square'].indexOf(t) && ((this.ctx.lineCap = t), this.pdf.setLineCap(t)); }, }), Object.defineProperty(this, 'lineWidth', { get: function () { return this.ctx.lineWidth; }, set: function (t) { isNaN(t) || ((this.ctx.lineWidth = t), this.pdf.setLineWidth(t)); }, }), Object.defineProperty(this, 'lineJoin', { get: function () { return this.ctx.lineJoin; }, set: function (t) { -1 !== ['bevel', 'round', 'miter'].indexOf(t) && ((this.ctx.lineJoin = t), this.pdf.setLineJoin(t)); }, }), Object.defineProperty(this, 'miterLimit', { get: function () { return this.ctx.miterLimit; }, set: function (t) { isNaN(t) || ((this.ctx.miterLimit = t), this.pdf.setMiterLimit(t)); }, }), Object.defineProperty(this, 'textBaseline', { get: function () { return this.ctx.textBaseline; }, set: function (t) { this.ctx.textBaseline = t; }, }), Object.defineProperty(this, 'textAlign', { get: function () { return this.ctx.textAlign; }, set: function (t) { -1 !== ['right', 'end', 'center', 'left', 'start'].indexOf(t) && (this.ctx.textAlign = t); }, }), Object.defineProperty(this, 'font', { get: function () { return this.ctx.font; }, set: function (t) { var e; if ( ((this.ctx.font = t), null !== (e = /^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-_,\"\'\sa-z]+?)\s*$/i.exec( t ))) ) { var n = e[1], i = (e[2], e[3]), r = e[4], o = e[5], a = e[6]; (r = 'px' === o ? Math.floor(parseFloat(r)) : 'em' === o ? Math.floor(parseFloat(r) * this.pdf.getFontSize()) : Math.floor(parseFloat(r))), this.pdf.setFontSize(r); var s = ''; ('bold' === i || 700 <= parseInt(i, 10) || 'bold' === n) && (s = 'bold'), 'italic' === n && (s += 'italic'), 0 === s.length && (s = 'normal'); for ( var c = '', l = a .toLowerCase() .replace(/"|'/g, '') .split(/\s*,\s*/), u = { arial: 'Helvetica', verdana: 'Helvetica', helvetica: 'Helvetica', 'sans-serif': 'Helvetica', fixed: 'Courier', monospace: 'Courier', terminal: 'Courier', courier: 'Courier', times: 'Times', cursive: 'Times', fantasy: 'Times', serif: 'Times', }, d = 0; d < l.length; d++ ) { if ( void 0 !== this.pdf.internal.getFont(l[d], s, { noFallback: !0, disableWarning: !0, }) ) { c = l[d]; break; } if ( 'bolditalic' === s && void 0 !== this.pdf.internal.getFont(l[d], 'bold', { noFallback: !0, disableWarning: !0, }) ) (c = l[d]), (s = 'bold'); else if ( void 0 !== this.pdf.internal.getFont(l[d], 'normal', { noFallback: !0, disableWarning: !0, }) ) { (c = l[d]), (s = 'normal'); break; } } if ('' === c) for (d = 0; d < l.length; d++) if (u[l[d]]) { c = u[l[d]]; break; } (c = '' === c ? 'Times' : c), this.pdf.setFont(c, s); } }, }), Object.defineProperty(this, 'globalCompositeOperation', { get: function () { return this.ctx.globalCompositeOperation; }, set: function (t) { this.ctx.globalCompositeOperation = t; }, }), Object.defineProperty(this, 'globalAlpha', { get: function () { return this.ctx.globalAlpha; }, set: function (t) { this.ctx.globalAlpha = t; }, }), Object.defineProperty(this, 'ignoreClearRect', { get: function () { return this.ctx.ignoreClearRect; }, set: function (t) { this.ctx.ignoreClearRect = Boolean(t); }, }); }; (l.prototype.fill = function () { g.call(this, 'fill', !1); }), (l.prototype.stroke = function () { g.call(this, 'stroke', !1); }), (l.prototype.beginPath = function () { this.path = [ { type: 'begin', }, ]; }), (l.prototype.moveTo = function (t, e) { if (isNaN(t) || isNaN(e)) throw (console.error('jsPDF.context2d.moveTo: Invalid arguments', arguments), new Error('Invalid arguments passed to jsPDF.context2d.moveTo')); var n = this.ctx.transform.applyToPoint(new D(t, e)); this.path.push({ type: 'mt', x: n.x, y: n.y, }), (this.ctx.lastPoint = new D(t, e)); }), (l.prototype.closePath = function () { var t = new D(0, 0), e = 0; for (e = this.path.length - 1; -1 !== e; e--) if ('begin' === this.path[e].type && 'object' === r(this.path[e + 1]) && 'number' == typeof this.path[e + 1].x) { (t = new D(this.path[e + 1].x, this.path[e + 1].y)), this.path.push({ type: 'lt', x: t.x, y: t.y, }); break; } 'object' === r(this.path[e + 2]) && 'number' == typeof this.path[e + 2].x && this.path.push(JSON.parse(JSON.stringify(this.path[e + 2]))), this.path.push({ type: 'close', }), (this.ctx.lastPoint = new D(t.x, t.y)); }), (l.prototype.lineTo = function (t, e) { if (isNaN(t) || isNaN(e)) throw (console.error('jsPDF.context2d.lineTo: Invalid arguments', arguments), new Error('Invalid arguments passed to jsPDF.context2d.lineTo')); var n = this.ctx.transform.applyToPoint(new D(t, e)); this.path.push({ type: 'lt', x: n.x, y: n.y, }), (this.ctx.lastPoint = new D(n.x, n.y)); }), (l.prototype.clip = function () { (this.ctx.clip_path = JSON.parse(JSON.stringify(this.path))), g.call(this, null, !0); }), (l.prototype.quadraticCurveTo = function (t, e, n, i) { if (isNaN(n) || isNaN(i) || isNaN(t) || isNaN(e)) throw (console.error('jsPDF.context2d.quadraticCurveTo: Invalid arguments', arguments), new Error('Invalid arguments passed to jsPDF.context2d.quadraticCurveTo')); var r = this.ctx.transform.applyToPoint(new D(n, i)), o = this.ctx.transform.applyToPoint(new D(t, e)); this.path.push({ type: 'qct', x1: o.x, y1: o.y, x: r.x, y: r.y, }), (this.ctx.lastPoint = new D(r.x, r.y)); }), (l.prototype.bezierCurveTo = function (t, e, n, i, r, o) { if (isNaN(r) || isNaN(o) || isNaN(t) || isNaN(e) || isNaN(n) || isNaN(i)) throw (console.error('jsPDF.context2d.bezierCurveTo: Invalid arguments', arguments), new Error('Invalid arguments passed to jsPDF.context2d.bezierCurveTo')); var a = this.ctx.transform.applyToPoint(new D(r, o)), s = this.ctx.transform.applyToPoint(new D(t, e)), c = this.ctx.transform.applyToPoint(new D(n, i)); this.path.push({ type: 'bct', x1: s.x, y1: s.y, x2: c.x, y2: c.y, x: a.x, y: a.y, }), (this.ctx.lastPoint = new D(a.x, a.y)); }), (l.prototype.arc = function (t, e, n, i, r, o) { if (isNaN(t) || isNaN(e) || isNaN(n) || isNaN(i) || isNaN(r)) throw (console.error('jsPDF.context2d.arc: Invalid arguments', arguments), new Error('Invalid arguments passed to jsPDF.context2d.arc')); if (((o = Boolean(o)), !this.ctx.transform.isIdentity)) { var a = this.ctx.transform.applyToPoint(new D(t, e)); (t = a.x), (e = a.y); var s = this.ctx.transform.applyToPoint(new D(0, n)), c = this.ctx.transform.applyToPoint(new D(0, 0)); n = Math.sqrt(Math.pow(s.x - c.x, 2) + Math.pow(s.y - c.y, 2)); } Math.abs(r - i) >= 2 * Math.PI && ((i = 0), (r = 2 * Math.PI)), this.path.push({ type: 'arc', x: t, y: e, radius: n, startAngle: i, endAngle: r, counterclockwise: o, }); }), (l.prototype.arcTo = function (t, e, n, i, r) { throw new Error('arcTo not implemented.'); }), (l.prototype.rect = function (t, e, n, i) { if (isNaN(t) || isNaN(e) || isNaN(n) || isNaN(i)) throw (console.error('jsPDF.context2d.rect: Invalid arguments', arguments), new Error('Invalid arguments passed to jsPDF.context2d.rect')); this.moveTo(t, e), this.lineTo(t + n, e), this.lineTo(t + n, e + i), this.lineTo(t, e + i), this.lineTo(t, e), this.lineTo(t + n, e), this.lineTo(t, e); }), (l.prototype.fillRect = function (t, e, n, i) { if (isNaN(t) || isNaN(e) || isNaN(n) || isNaN(i)) throw (console.error('jsPDF.context2d.fillRect: Invalid arguments', arguments), new Error('Invalid arguments passed to jsPDF.context2d.fillRect')); if (!d.call(this)) { var r = {}; 'butt' !== this.lineCap && ((r.lineCap = this.lineCap), (this.lineCap = 'butt')), 'miter' !== this.lineJoin && ((r.lineJoin = this.lineJoin), (this.lineJoin = 'miter')), this.beginPath(), this.rect(t, e, n, i), this.fill(), r.hasOwnProperty('lineCap') && (this.lineCap = r.lineCap), r.hasOwnProperty('lineJoin') && (this.lineJoin = r.lineJoin); } }), (l.prototype.strokeRect = function (t, e, n, i) { if (isNaN(t) || isNaN(e) || isNaN(n) || isNaN(i)) throw (console.error('jsPDF.context2d.strokeRect: Invalid arguments', arguments), new Error('Invalid arguments passed to jsPDF.context2d.strokeRect')); p.call(this) || (this.beginPath(), this.rect(t, e, n, i), this.stroke()); }), (l.prototype.clearRect = function (t, e, n, i) { if (isNaN(t) || isNaN(e) || isNaN(n) || isNaN(i)) throw (console.error('jsPDF.context2d.clearRect: Invalid arguments', arguments), new Error('Invalid arguments passed to jsPDF.context2d.clearRect')); this.ignoreClearRect || ((this.fillStyle = '#ffffff'), this.fillRect(t, e, n, i)); }), (l.prototype.save = function (t) { t = 'boolean' != typeof t || t; for (var e = this.pdf.internal.getCurrentPageInfo().pageNumber, n = 0; n < this.pdf.internal.getNumberOfPages(); n++) this.pdf.setPage(n + 1), this.pdf.internal.out('q'); if ((this.pdf.setPage(e), t)) { this.ctx.fontSize = this.pdf.internal.getFontSize(); var i = new c(this.ctx); this.ctxStack.push(this.ctx), (this.ctx = i); } }), (l.prototype.restore = function (t) { t = 'boolean' != typeof t || t; for (var e = this.pdf.internal.getCurrentPageInfo().pageNumber, n = 0; n < this.pdf.internal.getNumberOfPages(); n++) this.pdf.setPage(n + 1), this.pdf.internal.out('Q'); this.pdf.setPage(e), t && 0 !== this.ctxStack.length && ((this.ctx = this.ctxStack.pop()), (this.fillStyle = this.ctx.fillStyle), (this.strokeStyle = this.ctx.strokeStyle), (this.font = this.ctx.font), (this.lineCap = this.ctx.lineCap), (this.lineWidth = this.ctx.lineWidth), (this.lineJoin = this.ctx.lineJoin)); }), (l.prototype.toDataURL = function () { throw new Error('toDataUrl not implemented.'); }); var u = function (t) { var e, n, i, r; if ((!0 === t.isCanvasGradient && (t = t.getColor()), !t)) return { r: 0, g: 0, b: 0, a: 0, style: t, }; if (/transparent|rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*0+\s*\)/.test(t)) r = i = n = e = 0; else { var o = /rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/.exec(t); if (null !== o) (e = parseInt(o[1])), (n = parseInt(o[2])), (i = parseInt(o[3])), (r = 1); else if (null !== (o = /rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d\.]+)\s*\)/.exec(t))) (e = parseInt(o[1])), (n = parseInt(o[2])), (i = parseInt(o[3])), (r = parseFloat(o[4])); else { if (((r = 1), 'string' == typeof t && '#' !== t.charAt(0))) { var a = new RGBColor(t); t = a.ok ? a.toHex() : '#000000'; } 4 === t.length ? ((e = t.substring(1, 2)), (e += e), (n = t.substring(2, 3)), (n += n), (i = t.substring(3, 4)), (i += i)) : ((e = t.substring(1, 3)), (n = t.substring(3, 5)), (i = t.substring(5, 7))), (e = parseInt(e, 16)), (n = parseInt(n, 16)), (i = parseInt(i, 16)); } } return { r: e, g: n, b: i, a: r, style: t, }; }, d = function () { return this.ctx.isFillTransparent || 0 == this.globalAlpha; }, p = function () { return Boolean(this.ctx.isStrokeTransparent || 0 == this.globalAlpha); }; (l.prototype.fillText = function (t, e, n, i) { if (isNaN(e) || isNaN(n) || 'string' != typeof t) throw (console.error('jsPDF.context2d.fillText: Invalid arguments', arguments), new Error('Invalid arguments passed to jsPDF.context2d.fillText')); if (((i = isNaN(i) ? void 0 : i), !d.call(this))) { n = y.call(this, n); var r = _(this.ctx.transform.rotation), o = this.ctx.transform.scaleX; M.call(this, { text: t, x: e, y: n, scale: o, angle: r, align: this.textAlign, maxWidth: i, }); } }), (l.prototype.strokeText = function (t, e, n, i) { if (isNaN(e) || isNaN(n) || 'string' != typeof t) throw (console.error('jsPDF.context2d.strokeText: Invalid arguments', arguments), new Error('Invalid arguments passed to jsPDF.context2d.strokeText')); if (!p.call(this)) { (i = isNaN(i) ? void 0 : i), (n = y.call(this, n)); var r = _(this.ctx.transform.rotation), o = this.ctx.transform.scaleX; M.call(this, { text: t, x: e, y: n, scale: o, renderingMode: 'stroke', angle: r, align: this.textAlign, maxWidth: i, }); } }), (l.prototype.measureText = function (t) { if ('string' != typeof t) throw (console.error('jsPDF.context2d.measureText: Invalid arguments', arguments), new Error('Invalid arguments passed to jsPDF.context2d.measureText')); var e = this.pdf, n = this.pdf.internal.scaleFactor, i = e.internal.getFontSize(), r = (e.getStringUnitWidth(t) * i) / e.internal.scaleFactor; return new (function (t) { var e = (t = t || {}).width || 0; return ( Object.defineProperty(this, 'width', { get: function () { return e; }, }), this ); })({ width: (r *= Math.round(((96 * n) / 72) * 1e4) / 1e4), }); }), (l.prototype.scale = function (t, e) { if (isNaN(t) || isNaN(e)) throw (console.error('jsPDF.context2d.scale: Invalid arguments', arguments), new Error('Invalid arguments passed to jsPDF.context2d.scale')); var n = new L(t, 0, 0, e, 0, 0); this.ctx.transform = this.ctx.transform.multiply(n); }), (l.prototype.rotate = function (t) { if (isNaN(t)) throw (console.error('jsPDF.context2d.rotate: Invalid arguments', arguments), new Error('Invalid arguments passed to jsPDF.context2d.rotate')); var e = new L(Math.cos(t), Math.sin(t), -Math.sin(t), Math.cos(t), 0, 0); this.ctx.transform = this.ctx.transform.multiply(e); }), (l.prototype.translate = function (t, e) { if (isNaN(t) || isNaN(e)) throw (console.error('jsPDF.context2d.translate: Invalid arguments', arguments), new Error('Invalid arguments passed to jsPDF.context2d.translate')); var n = new L(1, 0, 0, 1, t, e); this.ctx.transform = this.ctx.transform.multiply(n); }), (l.prototype.transform = function (t, e, n, i, r, o) { if (isNaN(t) || isNaN(e) || isNaN(n) || isNaN(i) || isNaN(r) || isNaN(o)) throw (console.error('jsPDF.context2d.transform: Invalid arguments', arguments), new Error('Invalid arguments passed to jsPDF.context2d.transform')); var a = new L(t, e, n, i, r, o); this.ctx.transform = this.ctx.transform.multiply(a); }), (l.prototype.setTransform = function (t, e, n, i, r, o) { (t = isNaN(t) ? 1 : t), (e = isNaN(e) ? 0 : e), (n = isNaN(n) ? 0 : n), (i = isNaN(i) ? 1 : i), (r = isNaN(r) ? 0 : r), (o = isNaN(o) ? 0 : o), (this.ctx.transform = new L(t, e, n, i, r, o)); }), (l.prototype.drawImage = function (t, e, n, i, r, o, a, s, c) { var l = this.pdf.getImageProperties(t), u = 1, d = 1, p = 1, f = 1; void 0 !== i && void 0 !== s && ((p = s / i), (f = c / r), (u = ((l.width / i) * s) / i), (d = ((l.height / r) * c) / r)), void 0 === o && ((o = e), (a = n), (n = e = 0)), void 0 !== i && void 0 === s && ((s = i), (c = r)), void 0 === i && void 0 === s && ((s = l.width), (c = l.height)); var g = this.ctx.transform.decompose(), y = _(g.rotate.shx); g.scale.sx, g.scale.sy; for ( var b, w = new L(), S = ((w = (w = (w = w.multiply(g.translate)).multiply(g.skew)).multiply(g.scale)).applyToPoint(new D(s, c)), w.applyToRectangle(new R(o - e * p, a - n * f, i * u, r * d))), x = h.call(this, S), M = [], E = 0; E < x.length; E += 1 ) -1 === M.indexOf(x[E]) && M.push(x[E]); if ((M.sort(), this.autoPaging)) for (var C = M[0], A = M[M.length - 1], T = C; T < A + 1; T++) { if ((this.pdf.setPage(T), 0 !== this.ctx.clip_path.length)) { var O = this.path; (b = JSON.parse(JSON.stringify(this.ctx.clip_path))), (this.path = m(b, this.posX, -1 * this.pdf.internal.pageSize.height * (T - 1) + this.posY)), v.call(this, 'fill', !0), (this.path = O); } var P = JSON.parse(JSON.stringify(S)); (P = m([P], this.posX, -1 * this.pdf.internal.pageSize.height * (T - 1) + this.posY)[0]), this.pdf.addImage(t, 'jpg', P.x, P.y, P.w, P.h, null, null, y); } else this.pdf.addImage(t, 'jpg', S.x, S.y, S.w, S.h, null, null, y); }); var h = function (t, e, n) { var i = []; switch (((e = e || this.pdf.internal.pageSize.width), (n = n || this.pdf.internal.pageSize.height), t.type)) { default: case 'mt': case 'lt': i.push(Math.floor((t.y + this.posY) / n) + 1); break; case 'arc': i.push(Math.floor((t.y + this.posY - t.radius) / n) + 1), i.push(Math.floor((t.y + this.posY + t.radius) / n) + 1); break; case 'qct': var r = I(this.ctx.lastPoint.x, this.ctx.lastPoint.y, t.x1, t.y1, t.x, t.y); i.push(Math.floor(r.y / n) + 1), i.push(Math.floor((r.y + r.h) / n) + 1); break; case 'bct': var o = k(this.ctx.lastPoint.x, this.ctx.lastPoint.y, t.x1, t.y1, t.x2, t.y2, t.x, t.y); i.push(Math.floor(o.y / n) + 1), i.push(Math.floor((o.y + o.h) / n) + 1); break; case 'rect': i.push(Math.floor((t.y + this.posY) / n) + 1), i.push(Math.floor((t.y + t.h + this.posY) / n) + 1); } for (var a = 0; a < i.length; a += 1) for (; this.pdf.internal.getNumberOfPages() < i[a]; ) f.call(this); return i; }, f = function () { var t = this.fillStyle, e = this.strokeStyle, n = this.font, i = this.lineCap, r = this.lineWidth, o = this.lineJoin; this.pdf.addPage(), (this.fillStyle = t), (this.strokeStyle = e), (this.font = n), (this.lineCap = i), (this.lineWidth = r), (this.lineJoin = o); }, m = function (t, e, n) { for (var i = 0; i < t.length; i++) switch (t[i].type) { case 'bct': (t[i].x2 += e), (t[i].y2 += n); case 'qct': (t[i].x1 += e), (t[i].y1 += n); case 'mt': case 'lt': case 'arc': default: (t[i].x += e), (t[i].y += n); } return t; }, g = function (t, e) { for ( var n, i, r = this.fillStyle, o = this.strokeStyle, a = (this.font, this.lineCap), s = this.lineWidth, c = this.lineJoin, l = JSON.parse(JSON.stringify(this.path)), u = JSON.parse(JSON.stringify(this.path)), d = [], p = 0; p < u.length; p++ ) if (void 0 !== u[p].x) for (var g = h.call(this, u[p]), y = 0; y < g.length; y += 1) -1 === d.indexOf(g[y]) && d.push(g[y]); for (p = 0; p < d.length; p++) for (; this.pdf.internal.getNumberOfPages() < d[p]; ) f.call(this); if ((d.sort(), this.autoPaging)) { var b = d[0], w = d[d.length - 1]; for (p = b; p < w + 1; p++) { if ((this.pdf.setPage(p), (this.fillStyle = r), (this.strokeStyle = o), (this.lineCap = a), (this.lineWidth = s), (this.lineJoin = c), 0 !== this.ctx.clip_path.length)) { var S = this.path; (n = JSON.parse(JSON.stringify(this.ctx.clip_path))), (this.path = m(n, this.posX, -1 * this.pdf.internal.pageSize.height * (p - 1) + this.posY)), v.call(this, t, !0), (this.path = S); } (i = JSON.parse(JSON.stringify(l))), (this.path = m(i, this.posX, -1 * this.pdf.internal.pageSize.height * (p - 1) + this.posY)), (!1 !== e && 0 !== p) || v.call(this, t, e); } } else v.call(this, t, e); this.path = l; }, v = function (t, e) { if (('stroke' !== t || e || !p.call(this)) && ('stroke' === t || e || !d.call(this))) { var n = []; this.ctx.globalAlpha, this.ctx.fillOpacity < 1 && this.ctx.fillOpacity; for (var i, r = this.path, o = 0; o < r.length; o++) { var a = r[o]; switch (a.type) { case 'begin': n.push({ begin: !0, }); break; case 'close': n.push({ close: !0, }); break; case 'mt': n.push({ start: a, deltas: [], abs: [], }); break; case 'lt': var s = n.length; if (!isNaN(r[o - 1].x)) { var c = [a.x - r[o - 1].x, a.y - r[o - 1].y]; if (0 < s) for (; 0 <= s; s--) if (!0 !== n[s - 1].close && !0 !== n[s - 1].begin) { n[s - 1].deltas.push(c), n[s - 1].abs.push(a); break; } } break; case 'bct': (c = [a.x1 - r[o - 1].x, a.y1 - r[o - 1].y, a.x2 - r[o - 1].x, a.y2 - r[o - 1].y, a.x - r[o - 1].x, a.y - r[o - 1].y]), n[n.length - 1].deltas.push(c); break; case 'qct': var l = r[o - 1].x + (2 / 3) * (a.x1 - r[o - 1].x), u = r[o - 1].y + (2 / 3) * (a.y1 - r[o - 1].y), h = a.x + (2 / 3) * (a.x1 - a.x), f = a.y + (2 / 3) * (a.y1 - a.y), m = a.x, g = a.y; (c = [l - r[o - 1].x, u - r[o - 1].y, h - r[o - 1].x, f - r[o - 1].y, m - r[o - 1].x, g - r[o - 1].y]), n[n.length - 1].deltas.push(c); break; case 'arc': n.push({ deltas: [], abs: [], arc: !0, }), Array.isArray(n[n.length - 1].abs) && n[n.length - 1].abs.push(a); } } for (i = e ? null : 'stroke' === t ? 'stroke' : 'fill', o = 0; o < n.length; o++) { if (n[o].arc) for (var v = n[o].abs, y = 0; y < v.length; y++) { var x = v[y]; if (void 0 !== x.startAngle) { var M = _(x.startAngle), A = _(x.endAngle), T = x.x, O = x.y; b.call(this, T, O, x.radius, M, A, x.counterclockwise, i, e); } else E.call(this, x.x, x.y); } n[o].arc || !0 === n[o].close || !0 === n[o].begin || ((T = n[o].start.x), (O = n[o].start.y), C.call(this, n[o].deltas, T, O, null, null)); } i && w.call(this, i), e && S.call(this); } }, y = function (t) { var e = this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor, n = e * (this.pdf.internal.getLineHeightFactor() - 1); switch (this.ctx.textBaseline) { case 'bottom': return t - n; case 'top': return t + e - n; case 'hanging': return t + e - 2 * n; case 'middle': return t + e / 2 - n; case 'ideographic': return t; case 'alphabetic': default: return t; } }; (l.prototype.createLinearGradient = function () { var t = function () {}; return ( (t.colorStops = []), (t.addColorStop = function (t, e) { this.colorStops.push([t, e]); }), (t.getColor = function () { return 0 === this.colorStops.length ? '#000000' : this.colorStops[0][1]; }), (t.isCanvasGradient = !0), t ); }), (l.prototype.createPattern = function () { return this.createLinearGradient(); }), (l.prototype.createRadialGradient = function () { return this.createLinearGradient(); }); var b = function (t, e, n, i, r, o, a, s) { this.pdf.internal.scaleFactor; for (var c = P(i), l = P(r), u = T.call(this, n, c, l, o), d = 0; d < u.length; d++) { var p = u[d]; 0 === d && x.call(this, p.x1 + t, p.y1 + e), A.call(this, t, e, p.x2, p.y2, p.x3, p.y3, p.x4, p.y4); } s ? S.call(this) : w.call(this, a); }, w = function (t) { switch (t) { case 'stroke': this.pdf.internal.out('S'); break; case 'fill': this.pdf.internal.out('f'); } }, S = function () { this.pdf.clip(); }, x = function (t, e) { this.pdf.internal.out(i(t) + ' ' + o(e) + ' m'); }, M = function (t) { var e; switch (t.align) { case 'right': case 'end': e = 'right'; break; case 'center': e = 'center'; break; case 'left': case 'start': default: e = 'left'; } var n = this.ctx.transform.applyToPoint(new D(t.x, t.y)), i = this.ctx.transform.decompose(), r = new L(); r = (r = (r = r.multiply(i.translate)).multiply(i.skew)).multiply(i.scale); for ( var o, a = this.pdf.getTextDimensions(t.text), s = this.ctx.transform.applyToRectangle(new R(t.x, t.y, a.w, a.h)), c = r.applyToRectangle(new R(t.x, t.y - a.h, a.w, a.h)), l = h.call(this, c), u = [], d = 0; d < l.length; d += 1 ) -1 === u.indexOf(l[d]) && u.push(l[d]); if ((u.sort(), !0 === this.autoPaging)) for (var p = u[0], f = u[u.length - 1], g = p; g < f + 1; g++) { if ((this.pdf.setPage(g), 0 !== this.ctx.clip_path.length)) { var y = this.path; (o = JSON.parse(JSON.stringify(this.ctx.clip_path))), (this.path = m(o, this.posX, -1 * this.pdf.internal.pageSize.height * (g - 1) + this.posY)), v.call(this, 'fill', !0), (this.path = y); } var b = JSON.parse(JSON.stringify(s)); if (((b = m([b], this.posX, -1 * this.pdf.internal.pageSize.height * (g - 1) + this.posY)[0]), 0.01 <= t.scale)) { var w = this.pdf.internal.getFontSize(); this.pdf.setFontSize(w * t.scale); } this.pdf.text(t.text, b.x, b.y, { angle: t.angle, align: e, renderingMode: t.renderingMode, maxWidth: t.maxWidth, }), 0.01 <= t.scale && this.pdf.setFontSize(w); } else 0.01 <= t.scale && ((w = this.pdf.internal.getFontSize()), this.pdf.setFontSize(w * t.scale)), this.pdf.text(t.text, n.x + this.posX, n.y + this.posY, { angle: t.angle, align: e, renderingMode: t.renderingMode, maxWidth: t.maxWidth, }), 0.01 <= t.scale && this.pdf.setFontSize(w); }, E = function (t, e, n, r) { (n = n || 0), (r = r || 0), this.pdf.internal.out(i(t + n) + ' ' + o(e + r) + ' l'); }, C = function (t, e, n) { return this.pdf.lines(t, e, n, null, null); }, A = function (t, e, i, r, o, c, l, u) { this.pdf.internal.out([n(a(i + t)), n(s(r + e)), n(a(o + t)), n(s(c + e)), n(a(l + t)), n(s(u + e)), 'c'].join(' ')); }, T = function (t, e, n, i) { var r = 2 * Math.PI, o = e; (o < r || r < o) && (o %= r); var a = n; (a < r || r < a) && (a %= r); for (var s = [], c = Math.PI / 2, l = i ? -1 : 1, u = e, d = Math.min(r, Math.abs(a - o)); 1e-5 < d; ) { var p = u + l * Math.min(d, c); s.push(O.call(this, t, u, p)), (d -= Math.abs(p - u)), (u = p); } return s; }, O = function (t, e, n) { var i = (n - e) / 2, r = t * Math.cos(i), o = t * Math.sin(i), a = r, s = -o, c = a * a + s * s, l = c + a * r + s * o, u = ((4 / 3) * (Math.sqrt(2 * c * l) - l)) / (a * o - s * r), d = a - u * s, p = s + u * a, h = d, f = -p, m = i + e, g = Math.cos(m), v = Math.sin(m); return { x1: t * Math.cos(e), y1: t * Math.sin(e), x2: d * g - p * v, y2: d * v + p * g, x3: h * g - f * v, y3: h * v + f * g, x4: t * Math.cos(n), y4: t * Math.sin(n), }; }, _ = function (t) { return (180 * t) / Math.PI; }, P = function (t) { return (t * Math.PI) / 180; }, I = function (t, e, n, i, r, o) { var a = t + 0.5 * (n - t), s = e + 0.5 * (i - e), c = r + 0.5 * (n - r), l = o + 0.5 * (i - o), u = Math.min(t, r, a, c), d = Math.max(t, r, a, c), p = Math.min(e, o, s, l), h = Math.max(e, o, s, l); return new R(u, p, d - u, h - p); }, k = function (t, e, n, i, r, o, a, s) { for (var c, l, u, d, p, h, f, m, g, v, y, b, w, S = n - t, x = i - e, M = r - n, E = o - i, C = a - r, A = s - o, T = 0; T < 41; T++) (m = (h = (l = t + (c = T / 40) * S) + c * ((d = n + c * M) - l)) + c * (d + c * (r + c * C - d) - h)), (g = (f = (u = e + c * x) + c * ((p = i + c * E) - u)) + c * (p + c * (o + c * A - p) - f)), (w = 0 == T ? ((b = v = m), (y = g)) : ((v = Math.min(v, m)), (y = Math.min(y, g)), (b = Math.max(b, m)), Math.max(w, g))); return new R(Math.round(v), Math.round(y), Math.round(b - v), Math.round(w - y)); }, D = function (t, e) { var n = t || 0; Object.defineProperty(this, 'x', { enumerable: !0, get: function () { return n; }, set: function (t) { isNaN(t) || (n = parseFloat(t)); }, }); var i = e || 0; Object.defineProperty(this, 'y', { enumerable: !0, get: function () { return i; }, set: function (t) { isNaN(t) || (i = parseFloat(t)); }, }); var r = 'pt'; return ( Object.defineProperty(this, 'type', { enumerable: !0, get: function () { return r; }, set: function (t) { r = t.toString(); }, }), this ); }, R = function (t, e, n, i) { D.call(this, t, e), (this.type = 'rect'); var r = n || 0; Object.defineProperty(this, 'w', { enumerable: !0, get: function () { return r; }, set: function (t) { isNaN(t) || (r = parseFloat(t)); }, }); var o = i || 0; return ( Object.defineProperty(this, 'h', { enumerable: !0, get: function () { return o; }, set: function (t) { isNaN(t) || (o = parseFloat(t)); }, }), this ); }, L = function (t, e, n, i, r, o) { var a = []; return ( Object.defineProperty(this, 'sx', { get: function () { return a[0]; }, set: function (t) { a[0] = Math.round(1e5 * t) / 1e5; }, }), Object.defineProperty(this, 'shy', { get: function () { return a[1]; }, set: function (t) { a[1] = Math.round(1e5 * t) / 1e5; }, }), Object.defineProperty(this, 'shx', { get: function () { return a[2]; }, set: function (t) { a[2] = Math.round(1e5 * t) / 1e5; }, }), Object.defineProperty(this, 'sy', { get: function () { return a[3]; }, set: function (t) { a[3] = Math.round(1e5 * t) / 1e5; }, }), Object.defineProperty(this, 'tx', { get: function () { return a[4]; }, set: function (t) { a[4] = Math.round(1e5 * t) / 1e5; }, }), Object.defineProperty(this, 'ty', { get: function () { return a[5]; }, set: function (t) { a[5] = Math.round(1e5 * t) / 1e5; }, }), Object.defineProperty(this, 'rotation', { get: function () { return Math.atan2(this.shx, this.sx); }, }), Object.defineProperty(this, 'scaleX', { get: function () { return this.decompose().scale.sx; }, }), Object.defineProperty(this, 'scaleY', { get: function () { return this.decompose().scale.sy; }, }), Object.defineProperty(this, 'isIdentity', { get: function () { return 1 === this.sx && 0 === this.shy && 0 === this.shx && 1 === this.sy && 0 === this.tx && 0 === this.ty; }, }), (this.sx = isNaN(t) ? 1 : t), (this.shy = isNaN(e) ? 0 : e), (this.shx = isNaN(n) ? 0 : n), (this.sy = isNaN(i) ? 1 : i), (this.tx = isNaN(r) ? 0 : r), (this.ty = isNaN(o) ? 0 : o), this ); }; (L.prototype.multiply = function (t) { var e = t.sx * this.sx + t.shy * this.shx, n = t.sx * this.shy + t.shy * this.sy, i = t.shx * this.sx + t.sy * this.shx, r = t.shx * this.shy + t.sy * this.sy, o = t.tx * this.sx + t.ty * this.shx + this.tx, a = t.tx * this.shy + t.ty * this.sy + this.ty; return new L(e, n, i, r, o, a); }), (L.prototype.decompose = function () { var t = this.sx, e = this.shy, n = this.shx, i = this.sy, r = this.tx, o = this.ty, a = Math.sqrt(t * t + e * e), s = (t /= a) * n + (e /= a) * i; (n -= t * s), (i -= e * s); var c = Math.sqrt(n * n + i * i); return ( (s /= c), t * (i /= c) < e * (n /= c) && ((t = -t), (e = -e), (s = -s), (a = -a)), { scale: new L(a, 0, 0, c, 0, 0), translate: new L(1, 0, 0, 1, r, o), rotate: new L(t, e, -e, t, 0, 0), skew: new L(1, 0, s, 1, 0, 0), } ); }), (L.prototype.applyToPoint = function (t) { var e = t.x * this.sx + t.y * this.shx + this.tx, n = t.x * this.shy + t.y * this.sy + this.ty; return new D(e, n); }), (L.prototype.applyToRectangle = function (t) { var e = this.applyToPoint(t), n = this.applyToPoint(new D(t.x + t.w, t.y + t.h)); return new R(e.x, e.y, n.x - e.x, n.y - e.y); }), (L.prototype.clone = function () { var t = this.sx, e = this.shy, n = this.shx, i = this.sy, r = this.tx, o = this.ty; return new L(t, e, n, i, r, o); }); })( ft.API, ('undefined' != typeof self && self) || ('undefined' != typeof window && window) || (void 0 !== i && i) || Function('return typeof this === "object" && this.content')() || Function('return this')() ), (g = ft.API), (v = function (t) { var e, n, i, r, o, a, s, c, l, u; for (/[^\x00-\xFF]/.test(t), n = [], i = 0, r = (t += e = '\0\0\0\0'.slice(t.length % 4 || 4)).length; i < r; i += 4) 0 !== (o = (t.charCodeAt(i) << 24) + (t.charCodeAt(i + 1) << 16) + (t.charCodeAt(i + 2) << 8) + t.charCodeAt(i + 3)) ? ((a = (o = ((o = ((o = ((o = (o - (u = o % 85)) / 85) - (l = o % 85)) / 85) - (c = o % 85)) / 85) - (s = o % 85)) / 85) % 85), n.push(a + 33, s + 33, c + 33, l + 33, u + 33)) : n.push(122); return ( (function (t, n) { for (var i = e.length; 0 < i; i--) t.pop(); })(n), String.fromCharCode.apply(String, n) + '~>' ); }), (y = function (t) { var e, n, i, r, o, a = String, s = 'length', c = 'charCodeAt', l = 'slice', u = 'replace'; for (t[l](-2), t = t[l](0, -2)[u](/\s/g, '')[u]('z', '!!!!!'), i = [], r = 0, o = (t += e = 'uuuuu'[l](t[s] % 5 || 5))[s]; r < o; r += 5) (n = 52200625 * (t[c](r) - 33) + 614125 * (t[c](r + 1) - 33) + 7225 * (t[c](r + 2) - 33) + 85 * (t[c](r + 3) - 33) + (t[c](r + 4) - 33)), i.push(255 & (n >> 24), 255 & (n >> 16), 255 & (n >> 8), 255 & n); return ( (function (t, n) { for (var i = e[s]; 0 < i; i--) t.pop(); })(i), a.fromCharCode.apply(a, i) ); }), (b = function (t) { for (var e = '', n = 0; n < t.length; n += 1) e += ('0' + t.charCodeAt(n).toString(16)).slice(-2); return e + '>'; }), (w = function (t) { var e = new RegExp(/^([0-9A-Fa-f]{2})+$/); if ((-1 !== (t = t.replace(/\s/g, '')).indexOf('>') && (t = t.substr(0, t.indexOf('>'))), t.length % 2 && (t += '0'), !1 === e.test(t))) return ''; for (var n = '', i = 0; i < t.length; i += 2) n += String.fromCharCode('0x' + (t[i] + t[i + 1])); return n; }), (S = function (t, e) { e = Object.assign( { predictor: 1, colors: 1, bitsPerComponent: 8, columns: 1, }, e ); for (var n, i, r = [], o = t.length; o--; ) r[o] = t.charCodeAt(o); return ( (n = g.adler32cs.from(t)), (i = new Deflater(6)).append(new Uint8Array(r)), (t = i.flush()), (r = new Uint8Array(t.length + 6)).set(new Uint8Array([120, 156])), r.set(t, 2), r.set(new Uint8Array([255 & n, (n >> 8) & 255, (n >> 16) & 255, (n >> 24) & 255]), t.length + 2), String.fromCharCode.apply(null, r) ); }), (g.processDataByFilters = function (t, e) { var n = 0, i = t || '', r = []; for ('string' == typeof (e = e || []) && (e = [e]), n = 0; n < e.length; n += 1) switch (e[n]) { case 'ASCII85Decode': case '/ASCII85Decode': (i = y(i)), r.push('/ASCII85Encode'); break; case 'ASCII85Encode': case '/ASCII85Encode': (i = v(i)), r.push('/ASCII85Decode'); break; case 'ASCIIHexDecode': case '/ASCIIHexDecode': (i = w(i)), r.push('/ASCIIHexEncode'); break; case 'ASCIIHexEncode': case '/ASCIIHexEncode': (i = b(i)), r.push('/ASCIIHexDecode'); break; case 'FlateEncode': case '/FlateEncode': (i = S(i)), r.push('/FlateDecode'); break; default: throw 'The filter: "' + e[n] + '" is not implemented'; } return { data: i, reverseChain: r.reverse().join(' '), }; }), ((x = ft.API).loadFile = function (t, e, n) { var i; (e = e || !0), (n = n || function () {}); try { i = (function (t, e, n) { var i = new XMLHttpRequest(), r = [], o = 0, a = function (t) { var e = t.length, n = String.fromCharCode; for (o = 0; o < e; o += 1) r.push(n(255 & t.charCodeAt(o))); return r.join(''); }; if ( (i.open('GET', t, !e), i.overrideMimeType('text/plain; charset=x-user-defined'), !1 === e && (i.onload = function () { return a(this.responseText); }), i.send(null), 200 === i.status) ) return e ? a(i.responseText) : void 0; console.warn('Unable to load file "' + t + '"'); })(t, e); } catch (t) { i = void 0; } return i; }), (x.loadImageFile = x.loadFile), (M = ft.API), (E = ('undefined' != typeof window && window) || (void 0 !== i && i)), (C = function (t) { var e = r(t); return 'undefined' === e ? 'undefined' : 'string' === e || t instanceof String ? 'string' : 'number' === e || t instanceof Number ? 'number' : 'function' === e || t instanceof Function ? 'function' : t && t.constructor === Array ? 'array' : t && 1 === t.nodeType ? 'element' : 'object' === e ? 'object' : 'unknown'; }), (A = function (t, e) { var n = document.createElement(t); if ((e.className && (n.className = e.className), e.innerHTML)) { n.innerHTML = e.innerHTML; for (var i = n.getElementsByTagName('script'), r = i.length; 0 < r--; null) i[r].parentNode.removeChild(i[r]); } for (var o in e.style) n.style[o] = e.style[o]; return n; }), ((((T = function t(e) { var n = Object.assign(t.convert(Promise.resolve()), JSON.parse(JSON.stringify(t.template))), i = t.convert(Promise.resolve(), n); return (i = i.setProgress(1, t, 1, [t])).set(e); }).prototype = Object.create(Promise.prototype)).constructor = T).convert = function (t, e) { return (t.__proto__ = e || T.prototype), t; }), (T.template = { prop: { src: null, container: null, overlay: null, canvas: null, img: null, pdf: null, pageSize: null, callback: function () {}, }, progress: { val: 0, state: null, n: 0, stack: [], }, opt: { filename: 'file.pdf', margin: [0, 0, 0, 0], enableLinks: !0, x: 0, y: 0, html2canvas: {}, jsPDF: {}, }, }), (T.prototype.from = function (t, e) { return this.then(function () { switch ( (e = e || (function (t) { switch (C(t)) { case 'string': return 'string'; case 'element': return 'canvas' === t.nodeName.toLowerCase ? 'canvas' : 'element'; default: return 'unknown'; } })(t)) ) { case 'string': return this.set({ src: A('div', { innerHTML: t, }), }); case 'element': return this.set({ src: t, }); case 'canvas': return this.set({ canvas: t, }); case 'img': return this.set({ img: t, }); default: return this.error('Unknown source type.'); } }); }), (T.prototype.to = function (t) { switch (t) { case 'container': return this.toContainer(); case 'canvas': return this.toCanvas(); case 'img': return this.toImg(); case 'pdf': return this.toPdf(); default: return this.error('Invalid target.'); } }), (T.prototype.toContainer = function () { return this.thenList([ function () { return this.prop.src || this.error('Cannot duplicate - no source HTML.'); }, function () { return this.prop.pageSize || this.setPageSize(); }, ]).then(function () { var t = { position: 'relative', display: 'inline-block', width: Math.max(this.prop.src.clientWidth, this.prop.src.scrollWidth, this.prop.src.offsetWidth) + 'px', left: 0, right: 0, top: 0, margin: 'auto', backgroundColor: 'white', }, e = (function t(e, n) { for (var i = 3 === e.nodeType ? document.createTextNode(e.nodeValue) : e.cloneNode(!1), r = e.firstChild; r; r = r.nextSibling) (!0 !== n && 1 === r.nodeType && 'SCRIPT' === r.nodeName) || i.appendChild(t(r, n)); return ( 1 === e.nodeType && ('CANVAS' === e.nodeName ? ((i.width = e.width), (i.height = e.height), i.getContext('2d').drawImage(e, 0, 0)) : ('TEXTAREA' !== e.nodeName && 'SELECT' !== e.nodeName) || (i.value = e.value), i.addEventListener( 'load', function () { (i.scrollTop = e.scrollTop), (i.scrollLeft = e.scrollLeft); }, !0 )), i ); })(this.prop.src, this.opt.html2canvas.javascriptEnabled); 'BODY' === e.tagName && (t.height = Math.max( document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight ) + 'px'), (this.prop.overlay = A('div', { className: 'html2pdf__overlay', style: { position: 'fixed', overflow: 'hidden', zIndex: 1e3, left: '-100000px', right: 0, bottom: 0, top: 0, }, })), (this.prop.container = A('div', { className: 'html2pdf__container', style: t, })), this.prop.container.appendChild(e), this.prop.container.firstChild.appendChild( A('div', { style: { clear: 'both', border: '0 none transparent', margin: 0, padding: 0, height: 0, }, }) ), (this.prop.container.style.float = 'none'), this.prop.overlay.appendChild(this.prop.container), document.body.appendChild(this.prop.overlay), (this.prop.container.firstChild.style.position = 'relative'), (this.prop.container.height = Math.max(this.prop.container.firstChild.clientHeight, this.prop.container.firstChild.scrollHeight, this.prop.container.firstChild.offsetHeight) + 'px'); }); }), (T.prototype.toCanvas = function () { var t = [ function () { return document.body.contains(this.prop.container) || this.toContainer(); }, ]; return this.thenList(t) .then(function () { var t = Object.assign({}, this.opt.html2canvas); if ((delete t.onrendered, this.isHtml2CanvasLoaded())) return html2canvas(this.prop.container, t); }) .then(function (t) { (this.opt.html2canvas.onrendered || function () {})(t), (this.prop.canvas = t), document.body.removeChild(this.prop.overlay); }); }), (T.prototype.toContext2d = function () { var t = [ function () { return document.body.contains(this.prop.container) || this.toContainer(); }, ]; return this.thenList(t) .then(function () { var t = this.opt.jsPDF, e = Object.assign( { async: !0, allowTaint: !0, backgroundColor: '#ffffff', imageTimeout: 15e3, logging: !0, proxy: null, removeContainer: !0, foreignObjectRendering: !1, useCORS: !1, }, this.opt.html2canvas ); if ( (delete e.onrendered, (t.context2d.autoPaging = !0), (t.context2d.posX = this.opt.x), (t.context2d.posY = this.opt.y), (e.windowHeight = e.windowHeight || 0), (e.windowHeight = 0 == e.windowHeight ? Math.max(this.prop.container.clientHeight, this.prop.container.scrollHeight, this.prop.container.offsetHeight) : e.windowHeight), this.isHtml2CanvasLoaded()) ) return html2canvas(this.prop.container, e); }) .then(function (t) { (this.opt.html2canvas.onrendered || function () {})(t), (this.prop.canvas = t), document.body.removeChild(this.prop.overlay); }); }), (T.prototype.toImg = function () { return this.thenList([ function () { return this.prop.canvas || this.toCanvas(); }, ]).then(function () { var t = this.prop.canvas.toDataURL('image/' + this.opt.image.type, this.opt.image.quality); (this.prop.img = document.createElement('img')), (this.prop.img.src = t); }); }), (T.prototype.toPdf = function () { return this.thenList([ function () { return this.toContext2d(); }, ]).then(function () { this.prop.pdf = this.prop.pdf || this.opt.jsPDF; }); }), (T.prototype.output = function (t, e, n) { return 'img' === (n = n || 'pdf').toLowerCase() || 'image' === n.toLowerCase() ? this.outputImg(t, e) : this.outputPdf(t, e); }), (T.prototype.outputPdf = function (t, e) { return this.thenList([ function () { return this.prop.pdf || this.toPdf(); }, ]).then(function () { return this.prop.pdf.output(t, e); }); }), (T.prototype.outputImg = function (t, e) { return this.thenList([ function () { return this.prop.img || this.toImg(); }, ]).then(function () { switch (t) { case void 0: case 'img': return this.prop.img; case 'datauristring': case 'dataurlstring': return this.prop.img.src; case 'datauri': case 'dataurl': return (document.location.href = this.prop.img.src); default: throw 'Image output type "' + t + '" is not supported.'; } }); }), (T.prototype.isHtml2CanvasLoaded = function () { var t = void 0 !== E.html2canvas; return t || console.error('html2canvas not loaded.'), t; }), (T.prototype.save = function (t) { if (this.isHtml2CanvasLoaded()) return this.thenList([ function () { return this.prop.pdf || this.toPdf(); }, ]) .set( t ? { filename: t, } : null ) .then(function () { this.prop.pdf.save(this.opt.filename); }); }), (T.prototype.doCallback = function (t) { if (this.isHtml2CanvasLoaded()) return this.thenList([ function () { return this.prop.pdf || this.toPdf(); }, ]).then(function () { this.prop.callback(this.prop.pdf); }); }), (T.prototype.set = function (t) { if ('object' !== C(t)) return this; var e = Object.keys(t || {}).map(function (e) { if (e in T.template.prop) return function () { this.prop[e] = t[e]; }; switch (e) { case 'margin': return this.setMargin.bind(this, t.margin); case 'jsPDF': return function () { return (this.opt.jsPDF = t.jsPDF), this.setPageSize(); }; case 'pageSize': return this.setPageSize.bind(this, t.pageSize); default: return function () { this.opt[e] = t[e]; }; } }, this); return this.then(function () { return this.thenList(e); }); }), (T.prototype.get = function (t, e) { return this.then(function () { var n = t in T.template.prop ? this.prop[t] : this.opt[t]; return e ? e(n) : n; }); }), (T.prototype.setMargin = function (t) { return this.then(function () { switch (C(t)) { case 'number': t = [t, t, t, t]; case 'array': if ((2 === t.length && (t = [t[0], t[1], t[0], t[1]]), 4 === t.length)) break; default: return this.error('Invalid margin array.'); } this.opt.margin = t; }).then(this.setPageSize); }), (T.prototype.setPageSize = function (t) { function e(t, e) { return Math.floor(((t * e) / 72) * 96); } return this.then(function () { (t = t || ft.getPageSize(this.opt.jsPDF)).hasOwnProperty('inner') || ((t.inner = { width: t.width - this.opt.margin[1] - this.opt.margin[3], height: t.height - this.opt.margin[0] - this.opt.margin[2], }), (t.inner.px = { width: e(t.inner.width, t.k), height: e(t.inner.height, t.k), }), (t.inner.ratio = t.inner.height / t.inner.width)), (this.prop.pageSize = t); }); }), (T.prototype.setProgress = function (t, e, n, i) { return ( null != t && (this.progress.val = t), null != e && (this.progress.state = e), null != n && (this.progress.n = n), null != i && (this.progress.stack = i), (this.progress.ratio = this.progress.val / this.progress.state), this ); }), (T.prototype.updateProgress = function (t, e, n, i) { return this.setProgress(t ? this.progress.val + t : null, e || null, n ? this.progress.n + n : null, i ? this.progress.stack.concat(i) : null); }), (T.prototype.then = function (t, e) { var n = this; return this.thenCore(t, e, function (t, e) { return ( n.updateProgress(null, null, 1, [t]), Promise.prototype.then .call(this, function (e) { return n.updateProgress(null, t), e; }) .then(t, e) .then(function (t) { return n.updateProgress(1), t; }) ); }); }), (T.prototype.thenCore = function (t, e, n) { n = n || Promise.prototype.then; var i = this; t && (t = t.bind(i)), e && (e = e.bind(i)); var r = -1 !== Promise.toString().indexOf('[native code]') && 'Promise' === Promise.name ? i : T.convert(Object.assign({}, i), Promise.prototype), o = n.call(r, t, e); return T.convert(o, i.__proto__); }), (T.prototype.thenExternal = function (t, e) { return Promise.prototype.then.call(this, t, e); }), (T.prototype.thenList = function (t) { var e = this; return ( t.forEach(function (t) { e = e.thenCore(t); }), e ); }), (T.prototype.catch = function (t) { t && (t = t.bind(this)); var e = Promise.prototype.catch.call(this, t); return T.convert(e, this); }), (T.prototype.catchExternal = function (t) { return Promise.prototype.catch.call(this, t); }), (T.prototype.error = function (t) { return this.then(function () { throw new Error(t); }); }), (T.prototype.using = T.prototype.set), (T.prototype.saveAs = T.prototype.save), (T.prototype.export = T.prototype.output), (T.prototype.run = T.prototype.then), (ft.getPageSize = function (t, e, n) { if ('object' === r(t)) { var i = t; (t = i.orientation), (e = i.unit || e), (n = i.format || n); } (e = e || 'mm'), (n = n || 'a4'), (t = ('' + (t || 'P')).toLowerCase()); var o = ('' + n).toLowerCase(), a = { a0: [2383.94, 3370.39], a1: [1683.78, 2383.94], a2: [1190.55, 1683.78], a3: [841.89, 1190.55], a4: [595.28, 841.89], a5: [419.53, 595.28], a6: [297.64, 419.53], a7: [209.76, 297.64], a8: [147.4, 209.76], a9: [104.88, 147.4], a10: [73.7, 104.88], b0: [2834.65, 4008.19], b1: [2004.09, 2834.65], b2: [1417.32, 2004.09], b3: [1000.63, 1417.32], b4: [708.66, 1000.63], b5: [498.9, 708.66], b6: [354.33, 498.9], b7: [249.45, 354.33], b8: [175.75, 249.45], b9: [124.72, 175.75], b10: [87.87, 124.72], c0: [2599.37, 3676.54], c1: [1836.85, 2599.37], c2: [1298.27, 1836.85], c3: [918.43, 1298.27], c4: [649.13, 918.43], c5: [459.21, 649.13], c6: [323.15, 459.21], c7: [229.61, 323.15], c8: [161.57, 229.61], c9: [113.39, 161.57], c10: [79.37, 113.39], dl: [311.81, 623.62], letter: [612, 792], 'government-letter': [576, 756], legal: [612, 1008], 'junior-legal': [576, 360], ledger: [1224, 792], tabloid: [792, 1224], 'credit-card': [153, 243], }; switch (e) { case 'pt': var s = 1; break; case 'mm': s = 72 / 25.4; break; case 'cm': s = 72 / 2.54; break; case 'in': s = 72; break; case 'px': s = 0.75; break; case 'pc': case 'em': s = 12; break; case 'ex': s = 6; break; default: throw 'Invalid unit: ' + e; } if (a.hasOwnProperty(o)) var c = a[o][1] / s, l = a[o][0] / s; else try { (c = n[1]), (l = n[0]); } catch (t) { throw new Error('Invalid format: ' + n); } if ('p' === t || 'portrait' === t) { if (((t = 'p'), c < l)) { var u = l; (l = c), (c = u); } } else { if ('l' !== t && 'landscape' !== t) throw 'Invalid orientation: ' + t; (t = 'l'), l < c && ((u = l), (l = c), (c = u)); } return { width: l, height: c, unit: e, k: s, }; }), (M.html = function (t, e) { ((e = e || {}).callback = e.callback || function () {}), (e.html2canvas = e.html2canvas || {}), (e.html2canvas.canvas = e.html2canvas.canvas || this.canvas), (e.jsPDF = e.jsPDF || this), e.jsPDF; var n = new T(e); return e.worker ? n : n.from(t).doCallback(); }), (ft.API.addJS = function (t) { return ( (P = t), this.internal.events.subscribe('postPutResources', function (t) { (O = this.internal.newObject()), this.internal.out('<<'), this.internal.out('/Names [(EmbeddedJS) ' + (O + 1) + ' 0 R]'), this.internal.out('>>'), this.internal.out('endobj'), (_ = this.internal.newObject()), this.internal.out('<<'), this.internal.out('/S /JavaScript'), this.internal.out('/JS (' + P + ')'), this.internal.out('>>'), this.internal.out('endobj'); }), this.internal.events.subscribe('putCatalog', function () { void 0 !== O && void 0 !== _ && this.internal.out('/Names <>'); }), this ); }), /** * @license * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv * * Licensed under the MIT License. * http://opensource.org/licenses/mit-license */ (I = ft.API).events.push([ 'postPutResources', function () { var t = this, e = /^(\d+) 0 obj$/; if (0 < this.outline.root.children.length) for (var n = t.outline.render().split(/\r\n/), i = 0; i < n.length; i++) { var r = n[i], o = e.exec(r); if (null != o) { var a = o[1]; t.internal.newObjectDeferredBegin(a, !1); } t.internal.write(r); } if (this.outline.createNamedDestinations) { var s = this.internal.pages.length, c = []; for (i = 0; i < s; i++) { var l = t.internal.newObject(); c.push(l); var u = t.internal.getPageInfo(i + 1); t.internal.write('<< /D[' + u.objId + ' 0 R /XYZ null null null]>> endobj'); } var d = t.internal.newObject(); for (t.internal.write('<< /Names [ '), i = 0; i < c.length; i++) t.internal.write('(page_' + (i + 1) + ')' + c[i] + ' 0 R'); t.internal.write(' ] >>', 'endobj'), t.internal.newObject(), t.internal.write('<< /Dests ' + d + ' 0 R'), t.internal.write('>>', 'endobj'); } }, ]), I.events.push([ 'putCatalog', function () { 0 < this.outline.root.children.length && (this.internal.write('/Outlines', this.outline.makeRef(this.outline.root)), this.outline.createNamedDestinations && this.internal.write('/Names ' + namesOid + ' 0 R')); }, ]), I.events.push([ 'initialized', function () { var t = this; (t.outline = { createNamedDestinations: !1, root: { children: [], }, }), (t.outline.add = function (t, e, n) { var i = { title: e, options: n, children: [], }; return null == t && (t = this.root), t.children.push(i), i; }), (t.outline.render = function () { return (this.ctx = {}), (this.ctx.val = ''), (this.ctx.pdf = t), this.genIds_r(this.root), this.renderRoot(this.root), this.renderItems(this.root), this.ctx.val; }), (t.outline.genIds_r = function (e) { e.id = t.internal.newObjectDeferred(); for (var n = 0; n < e.children.length; n++) this.genIds_r(e.children[n]); }), (t.outline.renderRoot = function (t) { this.objStart(t), this.line('/Type /Outlines'), 0 < t.children.length && (this.line('/First ' + this.makeRef(t.children[0])), this.line('/Last ' + this.makeRef(t.children[t.children.length - 1]))), this.line( '/Count ' + this.count_r( { count: 0, }, t ) ), this.objEnd(); }), (t.outline.renderItems = function (e) { this.ctx.pdf.internal.getCoordinateString; for (var n = this.ctx.pdf.internal.getVerticalCoordinateString, i = 0; i < e.children.length; i++) { var r = e.children[i]; this.objStart(r), this.line('/Title ' + this.makeString(r.title)), this.line('/Parent ' + this.makeRef(e)), 0 < i && this.line('/Prev ' + this.makeRef(e.children[i - 1])), i < e.children.length - 1 && this.line('/Next ' + this.makeRef(e.children[i + 1])), 0 < r.children.length && (this.line('/First ' + this.makeRef(r.children[0])), this.line('/Last ' + this.makeRef(r.children[r.children.length - 1]))); var o = (this.count = this.count_r( { count: 0, }, r )); if ((0 < o && this.line('/Count ' + o), r.options && r.options.pageNumber)) { var a = t.internal.getPageInfo(r.options.pageNumber); this.line('/Dest [' + a.objId + ' 0 R /XYZ 0 ' + n(0) + ' 0]'); } this.objEnd(); } for (i = 0; i < e.children.length; i++) (r = e.children[i]), this.renderItems(r); }), (t.outline.line = function (t) { this.ctx.val += t + '\r\n'; }), (t.outline.makeRef = function (t) { return t.id + ' 0 R'; }), (t.outline.makeString = function (e) { return '(' + t.internal.pdfEscape(e) + ')'; }), (t.outline.objStart = function (t) { this.ctx.val += '\r\n' + t.id + ' 0 obj\r\n<<\r\n'; }), (t.outline.objEnd = function (t) { this.ctx.val += '>> \r\nendobj\r\n'; }), (t.outline.count_r = function (t, e) { for (var n = 0; n < e.children.length; n++) t.count++, this.count_r(t, e.children[n]); return t.count; }); }, ]), /** * @license * * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb * * * ==================================================================== */ (k = ft.API), (D = function () { var t = 'function' == typeof Deflater; if (!t) throw new Error('requires deflate.js for compression'); return t; }), (R = function (t, e, n, i) { var r = 5, o = U; switch (i) { case k.image_compression.FAST: (r = 3), (o = F); break; case k.image_compression.MEDIUM: (r = 6), (o = B); break; case k.image_compression.SLOW: (r = 9), (o = z); } t = j(t, e, n, o); var a = new Uint8Array(L(r)), s = N(t), c = new Deflater(r), l = c.append(t), u = c.flush(), d = a.length + l.length + u.length, p = new Uint8Array(d + 4); return ( p.set(a), p.set(l, a.length), p.set(u, a.length + l.length), (p[d++] = (s >>> 24) & 255), (p[d++] = (s >>> 16) & 255), (p[d++] = (s >>> 8) & 255), (p[d++] = 255 & s), k.arrayBufferToBinaryString(p) ); }), (L = function (t, e) { var n = ((Math.LOG2E * Math.log(32768) - 8) << 4) | 8, i = n << 8; return (i |= Math.min(3, ((e - 1) & 255) >> 1) << 6), (i |= 0), [n, 255 & (i += 31 - (i % 31))]; }), (N = function (t, e) { for (var n, i = 1, r = 0, o = t.length, a = 0; 0 < o; ) { for (o -= n = e < o ? e : o; (r += i += t[a++]), --n; ); (i %= 65521), (r %= 65521); } return ((r << 16) | i) >>> 0; }), (j = function (t, e, n, i) { for (var r, o, a, s = t.length / e, c = new Uint8Array(t.length + s), l = H(), u = 0; u < s; u++) { if (((a = u * e), (r = t.subarray(a, a + e)), i)) c.set(i(r, n, o), a + u); else { for (var d = 0, p = l.length, h = []; d < p; d++) h[d] = l[d](r, n, o); var f = W(h.concat()); c.set(h[f], a + u); } o = r; } return c; }), (V = function (t, e, n) { var i = Array.apply([], t); return i.unshift(0), i; }), (F = function (t, e, n) { var i, r = [], o = 0, a = t.length; for (r[0] = 1; o < a; o++) (i = t[o - e] || 0), (r[o + 1] = (t[o] - i + 256) & 255); return r; }), (U = function (t, e, n) { var i, r = [], o = 0, a = t.length; for (r[0] = 2; o < a; o++) (i = (n && n[o]) || 0), (r[o + 1] = (t[o] - i + 256) & 255); return r; }), (B = function (t, e, n) { var i, r, o = [], a = 0, s = t.length; for (o[0] = 3; a < s; a++) (i = t[a - e] || 0), (r = (n && n[a]) || 0), (o[a + 1] = (t[a] + 256 - ((i + r) >>> 1)) & 255); return o; }), (z = function (t, e, n) { var i, r, o, a, s = [], c = 0, l = t.length; for (s[0] = 4; c < l; c++) (i = t[c - e] || 0), (r = (n && n[c]) || 0), (o = (n && n[c - e]) || 0), (a = G(i, r, o)), (s[c + 1] = (t[c] - a + 256) & 255); return s; }), (G = function (t, e, n) { var i = t + e - n, r = Math.abs(i - t), o = Math.abs(i - e), a = Math.abs(i - n); return r <= o && r <= a ? t : o <= a ? e : n; }), (H = function () { return [V, F, U, B, z]; }), (W = function (t) { for (var e, n, i, r = 0, o = t.length; r < o; ) ((e = q(t[r].slice(1))) < n || !n) && ((n = e), (i = r)), r++; return i; }), (q = function (t) { for (var e = 0, n = t.length, i = 0; e < n; ) i += Math.abs(t[e++]); return i; }), (k.processPNG = function (t, e, n, i, r) { var o, a, s, c, l, u, d = this.color_spaces.DEVICE_RGB, p = this.decode.FLATE_DECODE, h = 8; if ((this.isArrayBuffer(t) && (t = new Uint8Array(t)), this.isArrayBufferView(t))) { if ('function' != typeof PNG || 'function' != typeof Nt) throw new Error('PNG support requires png.js and zlib.js'); if (((t = (o = new PNG(t)).imgData), (h = o.bits), (d = o.colorSpace), (c = o.colors), -1 !== [4, 6].indexOf(o.colorType))) { if (8 === o.bits) for ( var f, m = (A = 32 == o.pixelBitlength ? new Uint32Array(o.decodePixels().buffer) : 16 == o.pixelBitlength ? new Uint16Array(o.decodePixels().buffer) : new Uint8Array(o.decodePixels().buffer)) .length, g = new Uint8Array(m * o.colors), v = new Uint8Array(m), y = o.pixelBitlength - o.bits, b = 0, w = 0; b < m; b++ ) { for (S = A[b], f = 0; f < y; ) (g[w++] = (S >>> f) & 255), (f += o.bits); v[b] = (S >>> f) & 255; } if (16 === o.bits) { (m = (A = new Uint32Array(o.decodePixels().buffer)).length), (g = new Uint8Array(m * (32 / o.pixelBitlength) * o.colors)), (v = new Uint8Array(m * (32 / o.pixelBitlength))); for (var S, x = 1 < o.colors, M = (w = b = 0); b < m; ) (S = A[b++]), (g[w++] = (S >>> 0) & 255), x && ((g[w++] = (S >>> 16) & 255), (S = A[b++]), (g[w++] = (S >>> 0) & 255)), (v[M++] = (S >>> 16) & 255); h = 8; } i !== k.image_compression.NONE && D() ? ((t = R(g, o.width * o.colors, o.colors, i)), (u = R(v, o.width, 1, i))) : ((t = g), (u = v), (p = null)); } if (3 === o.colorType && ((d = this.color_spaces.INDEXED), (l = o.palette), o.transparency.indexed)) { var E = o.transparency.indexed, C = 0; for (b = 0, m = E.length; b < m; ++b) C += E[b]; if ((C /= 255) == m - 1 && -1 !== E.indexOf(0)) s = [E.indexOf(0)]; else if (C !== m) { var A = o.decodePixels(); for (v = new Uint8Array(A.length), b = 0, m = A.length; b < m; b++) v[b] = E[A[b]]; u = R(v, o.width, 1); } } var T = (function (t) { var e; switch (t) { case k.image_compression.FAST: e = 11; break; case k.image_compression.MEDIUM: e = 13; break; case k.image_compression.SLOW: e = 14; break; default: e = 12; } return e; })(i); return ( (a = p === this.decode.FLATE_DECODE ? '/Predictor ' + T + ' /Colors ' + c + ' /BitsPerComponent ' + h + ' /Columns ' + o.width : '/Colors ' + c + ' /BitsPerComponent ' + h + ' /Columns ' + o.width), (this.isArrayBuffer(t) || this.isArrayBufferView(t)) && (t = this.arrayBufferToBinaryString(t)), ((u && this.isArrayBuffer(u)) || this.isArrayBufferView(u)) && (u = this.arrayBufferToBinaryString(u)), this.createImageInfo(t, o.width, o.height, d, h, p, e, n, a, s, l, u, T) ); } throw new Error('Unsupported PNG image data, try using JPEG instead.'); }), /** * @license * Copyright (c) 2017 Aras Abbasi * * Licensed under the MIT License. * http://opensource.org/licenses/mit-license */ ((X = ft.API).processGIF89A = function (t, e, n, i, r) { var o = new It(t), a = o.width, s = o.height, c = []; o.decodeAndBlitFrameRGBA(0, c); var l = { data: c, width: a, height: s, }, u = new Dt(100).encode(l, 100); return X.processJPEG.call(this, u, e, n, i); }), (X.processGIF87A = X.processGIF89A), ((Y = ft.API).processBMP = function (t, e, n, i, r) { var o = new Rt(t, !1), a = o.width, s = o.height, c = { data: o.getData(), width: a, height: s, }, l = new Dt(100).encode(c, 100); return Y.processJPEG.call(this, l, e, n, i); }), (ft.API.setLanguage = function (t) { return ( void 0 === this.internal.languageSettings && ((this.internal.languageSettings = {}), (this.internal.languageSettings.isSubscribed = !1)), void 0 !== { af: 'Afrikaans', sq: 'Albanian', ar: 'Arabic (Standard)', 'ar-DZ': 'Arabic (Algeria)', 'ar-BH': 'Arabic (Bahrain)', 'ar-EG': 'Arabic (Egypt)', 'ar-IQ': 'Arabic (Iraq)', 'ar-JO': 'Arabic (Jordan)', 'ar-KW': 'Arabic (Kuwait)', 'ar-LB': 'Arabic (Lebanon)', 'ar-LY': 'Arabic (Libya)', 'ar-MA': 'Arabic (Morocco)', 'ar-OM': 'Arabic (Oman)', 'ar-QA': 'Arabic (Qatar)', 'ar-SA': 'Arabic (Saudi Arabia)', 'ar-SY': 'Arabic (Syria)', 'ar-TN': 'Arabic (Tunisia)', 'ar-AE': 'Arabic (U.A.E.)', 'ar-YE': 'Arabic (Yemen)', an: 'Aragonese', hy: 'Armenian', as: 'Assamese', ast: 'Asturian', az: 'Azerbaijani', eu: 'Basque', be: 'Belarusian', bn: 'Bengali', bs: 'Bosnian', br: 'Breton', bg: 'Bulgarian', my: 'Burmese', ca: 'Catalan', ch: 'Chamorro', ce: 'Chechen', zh: 'Chinese', 'zh-HK': 'Chinese (Hong Kong)', 'zh-CN': 'Chinese (PRC)', 'zh-SG': 'Chinese (Singapore)', 'zh-TW': 'Chinese (Taiwan)', cv: 'Chuvash', co: 'Corsican', cr: 'Cree', hr: 'Croatian', cs: 'Czech', da: 'Danish', nl: 'Dutch (Standard)', 'nl-BE': 'Dutch (Belgian)', en: 'English', 'en-AU': 'English (Australia)', 'en-BZ': 'English (Belize)', 'en-CA': 'English (Canada)', 'en-IE': 'English (Ireland)', 'en-JM': 'English (Jamaica)', 'en-NZ': 'English (New Zealand)', 'en-PH': 'English (Philippines)', 'en-ZA': 'English (South Africa)', 'en-TT': 'English (Trinidad & Tobago)', 'en-GB': 'English (United Kingdom)', 'en-US': 'English (United States)', 'en-ZW': 'English (Zimbabwe)', eo: 'Esperanto', et: 'Estonian', fo: 'Faeroese', fj: 'Fijian', fi: 'Finnish', fr: 'French (Standard)', 'fr-BE': 'French (Belgium)', 'fr-CA': 'French (Canada)', 'fr-FR': 'French (France)', 'fr-LU': 'French (Luxembourg)', 'fr-MC': 'French (Monaco)', 'fr-CH': 'French (Switzerland)', fy: 'Frisian', fur: 'Friulian', gd: 'Gaelic (Scots)', 'gd-IE': 'Gaelic (Irish)', gl: 'Galacian', ka: 'Georgian', de: 'German (Standard)', 'de-AT': 'German (Austria)', 'de-DE': 'German (Germany)', 'de-LI': 'German (Liechtenstein)', 'de-LU': 'German (Luxembourg)', 'de-CH': 'German (Switzerland)', el: 'Greek', gu: 'Gujurati', ht: 'Haitian', he: 'Hebrew', hi: 'Hindi', hu: 'Hungarian', is: 'Icelandic', id: 'Indonesian', iu: 'Inuktitut', ga: 'Irish', it: 'Italian (Standard)', 'it-CH': 'Italian (Switzerland)', ja: 'Japanese', kn: 'Kannada', ks: 'Kashmiri', kk: 'Kazakh', km: 'Khmer', ky: 'Kirghiz', tlh: 'Klingon', ko: 'Korean', 'ko-KP': 'Korean (North Korea)', 'ko-KR': 'Korean (South Korea)', la: 'Latin', lv: 'Latvian', lt: 'Lithuanian', lb: 'Luxembourgish', mk: 'FYRO Macedonian', ms: 'Malay', ml: 'Malayalam', mt: 'Maltese', mi: 'Maori', mr: 'Marathi', mo: 'Moldavian', nv: 'Navajo', ng: 'Ndonga', ne: 'Nepali', no: 'Norwegian', nb: 'Norwegian (Bokmal)', nn: 'Norwegian (Nynorsk)', oc: 'Occitan', or: 'Oriya', om: 'Oromo', fa: 'Persian', 'fa-IR': 'Persian/Iran', pl: 'Polish', pt: 'Portuguese', 'pt-BR': 'Portuguese (Brazil)', pa: 'Punjabi', 'pa-IN': 'Punjabi (India)', 'pa-PK': 'Punjabi (Pakistan)', qu: 'Quechua', rm: 'Rhaeto-Romanic', ro: 'Romanian', 'ro-MO': 'Romanian (Moldavia)', ru: 'Russian', 'ru-MO': 'Russian (Moldavia)', sz: 'Sami (Lappish)', sg: 'Sango', sa: 'Sanskrit', sc: 'Sardinian', sd: 'Sindhi', si: 'Singhalese', sr: 'Serbian', sk: 'Slovak', sl: 'Slovenian', so: 'Somani', sb: 'Sorbian', es: 'Spanish', 'es-AR': 'Spanish (Argentina)', 'es-BO': 'Spanish (Bolivia)', 'es-CL': 'Spanish (Chile)', 'es-CO': 'Spanish (Colombia)', 'es-CR': 'Spanish (Costa Rica)', 'es-DO': 'Spanish (Dominican Republic)', 'es-EC': 'Spanish (Ecuador)', 'es-SV': 'Spanish (El Salvador)', 'es-GT': 'Spanish (Guatemala)', 'es-HN': 'Spanish (Honduras)', 'es-MX': 'Spanish (Mexico)', 'es-NI': 'Spanish (Nicaragua)', 'es-PA': 'Spanish (Panama)', 'es-PY': 'Spanish (Paraguay)', 'es-PE': 'Spanish (Peru)', 'es-PR': 'Spanish (Puerto Rico)', 'es-ES': 'Spanish (Spain)', 'es-UY': 'Spanish (Uruguay)', 'es-VE': 'Spanish (Venezuela)', sx: 'Sutu', sw: 'Swahili', sv: 'Swedish', 'sv-FI': 'Swedish (Finland)', 'sv-SV': 'Swedish (Sweden)', ta: 'Tamil', tt: 'Tatar', te: 'Teluga', th: 'Thai', tig: 'Tigre', ts: 'Tsonga', tn: 'Tswana', tr: 'Turkish', tk: 'Turkmen', uk: 'Ukrainian', hsb: 'Upper Sorbian', ur: 'Urdu', ve: 'Venda', vi: 'Vietnamese', vo: 'Volapuk', wa: 'Walloon', cy: 'Welsh', xh: 'Xhosa', ji: 'Yiddish', zu: 'Zulu', }[t] && ((this.internal.languageSettings.languageCode = t), !1 === this.internal.languageSettings.isSubscribed && (this.internal.events.subscribe('putCatalog', function () { this.internal.write('/Lang (' + this.internal.languageSettings.languageCode + ')'); }), (this.internal.languageSettings.isSubscribed = !0))), this ); /** @license * MIT license. * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com * 2014 Diego Casorran, https://github.com/diegocr * * * ==================================================================== */ }), (K = ft.API), (Z = K.getCharWidthsArray = function (t, e) { var n, i, r, o = (e = e || {}).font || this.internal.getFont(), a = e.fontSize || this.internal.getFontSize(), s = e.charSpace || this.internal.getCharSpace(), c = e.widths ? e.widths : o.metadata.Unicode.widths, l = c.fof ? c.fof : 1, u = e.kerning ? e.kerning : o.metadata.Unicode.kerning, d = u.fof ? u.fof : 1, p = 0, h = c[0] || l, f = []; for (n = 0, i = t.length; n < i; n++) (r = t.charCodeAt(n)), 'function' == typeof o.metadata.widthOfString ? f.push((o.metadata.widthOfGlyph(o.metadata.characterToGlyph(r)) + s * (1e3 / a) || 0) / 1e3) : f.push((c[r] || h) / l + ((u[r] && u[r][p]) || 0) / d), (p = r); return f; }), (J = K.getArraySum = function (t) { for (var e = t.length, n = 0; e; ) n += t[--e]; return n; }), (Q = K.getStringUnitWidth = function (t, e) { var n = (e = e || {}).fontSize || this.internal.getFontSize(), i = e.font || this.internal.getFont(), r = e.charSpace || this.internal.getCharSpace(); return 'function' == typeof i.metadata.widthOfString ? i.metadata.widthOfString(t, n, r) / n : J(Z.apply(this, arguments)); }), ($ = function (t, e, n, i) { for (var r = [], o = 0, a = t.length, s = 0; o !== a && s + e[o] < n; ) (s += e[o]), o++; r.push(t.slice(0, o)); var c = o; for (s = 0; o !== a; ) s + e[o] > i && (r.push(t.slice(c, o)), (s = 0), (c = o)), (s += e[o]), o++; return c !== o && r.push(t.slice(c, o)), r; }), (tt = function (t, e, n) { n || (n = {}); var i, r, o, a, s, c, l = [], u = [l], d = n.textIndent || 0, p = 0, h = 0, f = t.split(' '), m = Z.apply(this, [' ', n])[0]; if ((c = -1 === n.lineIndent ? f[0].length + 2 : n.lineIndent || 0)) { var g = Array(c).join(' '), v = []; f.map(function (t) { 1 < (t = t.split(/\s*\n/)).length ? (v = v.concat( t.map(function (t, e) { return (e && t.length ? '\n' : '') + t; }) )) : v.push(t[0]); }), (f = v), (c = Q.apply(this, [g, n])); } for (o = 0, a = f.length; o < a; o++) { var y = 0; if (((i = f[o]), c && '\n' == i[0] && ((i = i.substr(1)), (y = 1)), (r = Z.apply(this, [i, n])), e < d + p + (h = J(r)) || y)) { if (e < h) { for (s = $.apply(this, [i, r, e - (d + p), e]), l.push(s.shift()), l = [s.pop()]; s.length; ) u.push([s.shift()]); h = J(r.slice(i.length - (l[0] ? l[0].length : 0))); } else l = [i]; u.push(l), (d = h + c), (p = m); } else l.push(i), (d += p + h), (p = m); } if (c) var b = function (t, e) { return (e ? g : '') + t.join(' '); }; else b = function (t) { return t.join(' '); }; return u.map(b); }), (K.splitTextToSize = function (t, e, n) { var i, r = (n = n || {}).fontSize || this.internal.getFontSize(), o = function (t) { if (t.widths && t.kerning) return { widths: t.widths, kerning: t.kerning, }; var e = this.internal.getFont(t.fontName, t.fontStyle), n = 'Unicode'; return e.metadata[n] ? { widths: e.metadata[n].widths || { 0: 1, }, kerning: e.metadata[n].kerning || {}, } : { font: e.metadata, fontSize: this.internal.getFontSize(), charSpace: this.internal.getCharSpace(), }; }.call(this, n); i = Array.isArray(t) ? t : t.split(/\r?\n/); var a = (1 * this.internal.scaleFactor * e) / r; (o.textIndent = n.textIndent ? (1 * n.textIndent * this.internal.scaleFactor) / r : 0), (o.lineIndent = n.lineIndent); var s, c, l = []; for (s = 0, c = i.length; s < c; s++) l = l.concat(tt.apply(this, [i[s], a, o])); return l; }), /** @license jsPDF standard_fonts_metrics plugin * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com * MIT license. * * ==================================================================== */ (et = ft.API), (it = { codePages: ['WinAnsiEncoding'], WinAnsiEncoding: (nt = function (t) { for (var e = 'klmnopqrstuvwxyz', n = {}, i = 0; i < e.length; i++) n[e[i]] = '0123456789abcdef'[i]; var r, o, a, s, c, l = {}, u = 1, d = l, p = [], h = '', f = '', m = t.length - 1; for (i = 1; i != m; ) (c = t[i]), (i += 1), "'" == c ? (o = o ? ((s = o.join('')), r) : []) : o ? o.push(c) : '{' == c ? (p.push([d, s]), (d = {}), (s = r)) : '}' == c ? (((a = p.pop())[0][a[1]] = d), (s = r), (d = a[0])) : '-' == c ? (u = -1) : s === r ? n.hasOwnProperty(c) ? ((h += n[c]), (s = parseInt(h, 16) * u), (u = 1), (h = '')) : (h += c) : n.hasOwnProperty(c) ? ((f += n[c]), (d[s] = parseInt(f, 16) * u), (u = 1), (s = r), (f = '')) : (f += c); return l; })('{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}'), }), (rt = { Unicode: { Courier: it, 'Courier-Bold': it, 'Courier-BoldOblique': it, 'Courier-Oblique': it, Helvetica: it, 'Helvetica-Bold': it, 'Helvetica-BoldOblique': it, 'Helvetica-Oblique': it, 'Times-Roman': it, 'Times-Bold': it, 'Times-BoldItalic': it, 'Times-Italic': it, }, }), (ot = { Unicode: { 'Courier-Oblique': nt("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"), 'Times-BoldItalic': nt( "{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}" ), 'Helvetica-Bold': nt( "{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}" ), Courier: nt("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"), 'Courier-BoldOblique': nt("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"), 'Times-Bold': nt( "{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}" ), Symbol: nt( "{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}" ), Helvetica: nt( "{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}" ), 'Helvetica-BoldOblique': nt( "{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}" ), ZapfDingbats: nt("{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}"), 'Courier-Bold': nt("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"), 'Times-Italic': nt( "{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}" ), 'Times-Roman': nt( "{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}" ), 'Helvetica-Oblique': nt( "{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}" ), }, }), et.events.push([ 'addFont', function (t) { var e, n, i, r = t.font, o = 'Unicode'; (e = ot[o][r.postScriptName]) && (((n = r.metadata[o] ? r.metadata[o] : (r.metadata[o] = {})).widths = e.widths), (n.kerning = e.kerning)), (i = rt[o][r.postScriptName]) && ((n = r.metadata[o] ? r.metadata[o] : (r.metadata[o] = {})).encoding = i).codePages && i.codePages.length && (r.encoding = i.codePages[0]); }, ]), /** * @license * Licensed under the MIT License. * http://opensource.org/licenses/mit-license */ (at = ft), ('undefined' != typeof self && self) || (void 0 !== i && i) || ('undefined' != typeof window && window) || Function('return this')(), at.API.events.push([ 'addFont', function (t) { var e = t.font, n = t.instance; if (void 0 !== n && n.existsFileInVFS(e.postScriptName)) { var i = n.getFileFromVFS(e.postScriptName); if ('string' != typeof i) throw new Error("Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('" + e.postScriptName + "')."); (e.metadata = at.API.TTFFont.open(e.postScriptName, e.fontName, i, e.encoding)), (e.metadata.Unicode = e.metadata.Unicode || { encoding: {}, kerning: {}, widths: [], }), (e.metadata.glyIdsUsed = [0]); } else if (!1 === e.isStandardFont) throw new Error("Font does not exist in vFS, import fonts or remove declaration doc.addFont('" + e.postScriptName + "')."); }, ]), /** @license * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com * * * ==================================================================== */ ((st = ft.API).addSvg = function (t, e, n, i, r) { if (void 0 === e || void 0 === n) throw new Error("addSVG needs values for 'x' and 'y'"); function o(t) { for (var e = parseFloat(t[1]), n = parseFloat(t[2]), i = [], r = 3, o = t.length; r < o; ) 'c' === t[r] ? (i.push([parseFloat(t[r + 1]), parseFloat(t[r + 2]), parseFloat(t[r + 3]), parseFloat(t[r + 4]), parseFloat(t[r + 5]), parseFloat(t[r + 6])]), (r += 7)) : 'l' === t[r] ? (i.push([parseFloat(t[r + 1]), parseFloat(t[r + 2])]), (r += 3)) : (r += 1); return [e, n, i]; } var a, s, c, l, u, d, p, h, f = ((a = t), (c = ( ((h = (l = document).createElement('iframe')), (u = '.jsPDF_sillysvg_iframe {display:none;position:absolute;}'), ((p = (d = l).createElement('style')).type = 'text/css'), p.styleSheet ? (p.styleSheet.cssText = u) : p.appendChild(d.createTextNode(u)), d.getElementsByTagName('head')[0].appendChild(p), (h.name = 'childframe'), h.setAttribute('width', 0), h.setAttribute('height', 0), h.setAttribute('frameborder', '0'), h.setAttribute('scrolling', 'no'), h.setAttribute('seamless', 'seamless'), h.setAttribute('class', 'jsPDF_sillysvg_iframe'), l.body.appendChild(h), (s = h)).contentWindow || s.contentDocument ).document).write(a), c.close(), c.getElementsByTagName('svg')[0]), m = [1, 1], g = parseFloat(f.getAttribute('width')), v = parseFloat(f.getAttribute('height')); g && v && (i && r ? (m = [i / g, r / v]) : i ? (m = [i / g, i / g]) : r && (m = [r / v, r / v])); var y, b, w, S, x = f.childNodes; for (y = 0, b = x.length; y < b; y++) (w = x[y]).tagName && 'PATH' === w.tagName.toUpperCase() && (((S = o(w.getAttribute('d').split(' ')))[0] = S[0] * m[0] + e), (S[1] = S[1] * m[1] + n), this.lines.call(this, S[2], S[0], S[1], m)); return this; }), (st.addSVG = st.addSvg), (st.addSvgAsImage = function (t, e, n, i, r, o, a, s) { if (isNaN(e) || isNaN(n)) throw (console.error('jsPDF.addSvgAsImage: Invalid coordinates', arguments), new Error('Invalid coordinates passed to jsPDF.addSvgAsImage')); if (isNaN(i) || isNaN(r)) throw (console.error('jsPDF.addSvgAsImage: Invalid measurements', arguments), new Error('Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage')); var c = document.createElement('canvas'); (c.width = i), (c.height = r); var l = c.getContext('2d'); return ( (l.fillStyle = '#fff'), l.fillRect(0, 0, c.width, c.height), canvg(c, t, { ignoreMouse: !0, ignoreAnimation: !0, ignoreDimensions: !0, ignoreClear: !0, }), this.addImage(c.toDataURL('image/jpeg', 1), e, n, i, r, a, s), this ); }), (ft.API.putTotalPages = function (t) { var e, n; n = parseInt(this.internal.getFont().id.substr(1), 10) < 15 ? ((e = new RegExp(t, 'g')), this.internal.getNumberOfPages()) : ((e = new RegExp(this.pdfEscape16(t, this.internal.getFont()), 'g')), this.pdfEscape16(this.internal.getNumberOfPages() + '', this.internal.getFont())); for (var i = 1; i <= this.internal.getNumberOfPages(); i++) for (var r = 0; r < this.internal.pages[i].length; r++) this.internal.pages[i][r] = this.internal.pages[i][r].replace(e, n); return this; }), (ft.API.viewerPreferences = function (t, e) { var n; (t = t || {}), (e = e || !1); var i, o, a = { HideToolbar: { defaultValue: !1, value: !1, type: 'boolean', explicitSet: !1, valueSet: [!0, !1], pdfVersion: 1.3, }, HideMenubar: { defaultValue: !1, value: !1, type: 'boolean', explicitSet: !1, valueSet: [!0, !1], pdfVersion: 1.3, }, HideWindowUI: { defaultValue: !1, value: !1, type: 'boolean', explicitSet: !1, valueSet: [!0, !1], pdfVersion: 1.3, }, FitWindow: { defaultValue: !1, value: !1, type: 'boolean', explicitSet: !1, valueSet: [!0, !1], pdfVersion: 1.3, }, CenterWindow: { defaultValue: !1, value: !1, type: 'boolean', explicitSet: !1, valueSet: [!0, !1], pdfVersion: 1.3, }, DisplayDocTitle: { defaultValue: !1, value: !1, type: 'boolean', explicitSet: !1, valueSet: [!0, !1], pdfVersion: 1.4, }, NonFullScreenPageMode: { defaultValue: 'UseNone', value: 'UseNone', type: 'name', explicitSet: !1, valueSet: ['UseNone', 'UseOutlines', 'UseThumbs', 'UseOC'], pdfVersion: 1.3, }, Direction: { defaultValue: 'L2R', value: 'L2R', type: 'name', explicitSet: !1, valueSet: ['L2R', 'R2L'], pdfVersion: 1.3, }, ViewArea: { defaultValue: 'CropBox', value: 'CropBox', type: 'name', explicitSet: !1, valueSet: ['MediaBox', 'CropBox', 'TrimBox', 'BleedBox', 'ArtBox'], pdfVersion: 1.4, }, ViewClip: { defaultValue: 'CropBox', value: 'CropBox', type: 'name', explicitSet: !1, valueSet: ['MediaBox', 'CropBox', 'TrimBox', 'BleedBox', 'ArtBox'], pdfVersion: 1.4, }, PrintArea: { defaultValue: 'CropBox', value: 'CropBox', type: 'name', explicitSet: !1, valueSet: ['MediaBox', 'CropBox', 'TrimBox', 'BleedBox', 'ArtBox'], pdfVersion: 1.4, }, PrintClip: { defaultValue: 'CropBox', value: 'CropBox', type: 'name', explicitSet: !1, valueSet: ['MediaBox', 'CropBox', 'TrimBox', 'BleedBox', 'ArtBox'], pdfVersion: 1.4, }, PrintScaling: { defaultValue: 'AppDefault', value: 'AppDefault', type: 'name', explicitSet: !1, valueSet: ['AppDefault', 'None'], pdfVersion: 1.6, }, Duplex: { defaultValue: '', value: 'none', type: 'name', explicitSet: !1, valueSet: ['Simplex', 'DuplexFlipShortEdge', 'DuplexFlipLongEdge', 'none'], pdfVersion: 1.7, }, PickTrayByPDFSize: { defaultValue: !1, value: !1, type: 'boolean', explicitSet: !1, valueSet: [!0, !1], pdfVersion: 1.7, }, PrintPageRange: { defaultValue: '', value: '', type: 'array', explicitSet: !1, valueSet: null, pdfVersion: 1.7, }, NumCopies: { defaultValue: 1, value: 1, type: 'integer', explicitSet: !1, valueSet: null, pdfVersion: 1.7, }, }, s = Object.keys(a), c = [], l = 0, u = 0, d = 0, p = !0; function h(t, e) { var n, i = !1; for (n = 0; n < t.length; n += 1) t[n] === e && (i = !0); return i; } if ( (void 0 === this.internal.viewerpreferences && ((this.internal.viewerpreferences = {}), (this.internal.viewerpreferences.configuration = JSON.parse(JSON.stringify(a))), (this.internal.viewerpreferences.isSubscribed = !1)), (n = this.internal.viewerpreferences.configuration), 'reset' === t || !0 === e) ) { var f = s.length; for (d = 0; d < f; d += 1) (n[s[d]].value = n[s[d]].defaultValue), (n[s[d]].explicitSet = !1); } if ('object' === r(t)) for (i in t) if (((o = t[i]), h(s, i) && void 0 !== o)) { if ('boolean' === n[i].type && 'boolean' == typeof o) n[i].value = o; else if ('name' === n[i].type && h(n[i].valueSet, o)) n[i].value = o; else if ('integer' === n[i].type && Number.isInteger(o)) n[i].value = o; else if ('array' === n[i].type) { for (l = 0; l < o.length; l += 1) if (((p = !0), 1 === o[l].length && 'number' == typeof o[l][0])) c.push(String(o[l] - 1)); else if (1 < o[l].length) { for (u = 0; u < o[l].length; u += 1) 'number' != typeof o[l][u] && (p = !1); !0 === p && c.push([o[l][0] - 1, o[l][1] - 1].join(' ')); } n[i].value = '[' + c.join(' ') + ']'; } else n[i].value = n[i].defaultValue; n[i].explicitSet = !0; } return ( !1 === this.internal.viewerpreferences.isSubscribed && (this.internal.events.subscribe('putCatalog', function () { var t, e = []; for (t in n) !0 === n[t].explicitSet && ('name' === n[t].type ? e.push('/' + t + ' /' + n[t].value) : e.push('/' + t + ' ' + n[t].value)); 0 !== e.length && this.internal.write('/ViewerPreferences\n<<\n' + e.join('\n') + '\n>>'); }), (this.internal.viewerpreferences.isSubscribed = !0)), (this.internal.viewerpreferences.configuration = n), this ); }), (ct = ft.API), (dt = ut = lt = ''), (ct.addMetadata = function (t, e) { return ( (ut = e || 'http://jspdf.default.namespaceuri/'), (lt = t), this.internal.events.subscribe('postPutResources', function () { if (lt) { var t = '', e = unescape(encodeURIComponent('')), n = unescape(encodeURIComponent(t)), i = unescape(encodeURIComponent(lt)), r = unescape(encodeURIComponent('')), o = unescape(encodeURIComponent('')), a = n.length + i.length + r.length + e.length + o.length; (dt = this.internal.newObject()), this.internal.write('<< /Type /Metadata /Subtype /XML /Length ' + a + ' >>'), this.internal.write('stream'), this.internal.write(e + n + i + r + o), this.internal.write('endstream'), this.internal.write('endobj'); } else dt = ''; }), this.internal.events.subscribe('putCatalog', function () { dt && this.internal.write('/Metadata ' + dt + ' 0 R'); }), this ); }), (function (t, e) { var n = t.API, i = (n.pdfEscape16 = function (t, e) { for (var n, i = e.metadata.Unicode.widths, r = ['', '0', '00', '000', '0000'], o = [''], a = 0, s = t.length; a < s; ++a) { if ( ((n = e.metadata.characterToGlyph(t.charCodeAt(a))), e.metadata.glyIdsUsed.push(n), (e.metadata.toUnicode[n] = t.charCodeAt(a)), -1 == i.indexOf(n) && (i.push(n), i.push([parseInt(e.metadata.widthOfGlyph(n), 10)])), '0' == n) ) return o.join(''); (n = n.toString(16)), o.push(r[4 - n.length], n); } return o.join(''); }), r = function (t) { var e, n, i, r, o, a, s; for ( o = '/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo <<\n /Registry (Adobe)\n /Ordering (UCS)\n /Supplement 0\n>> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<0000>\nendcodespacerange', i = [], a = 0, s = (n = Object.keys(t).sort(function (t, e) { return t - e; })).length; a < s; a++ ) (e = n[a]), 100 <= i.length && ((o += '\n' + i.length + ' beginbfchar\n' + i.join('\n') + '\nendbfchar'), (i = [])), (r = ('0000' + t[e].toString(16)).slice(-4)), (e = ('0000' + (+e).toString(16)).slice(-4)), i.push('<' + e + '><' + r + '>'); return i.length && (o += '\n' + i.length + ' beginbfchar\n' + i.join('\n') + '\nendbfchar\n'), o + 'endcmap\nCMapName currentdict /CMap defineresource pop\nend\nend'; }; n.events.push([ 'putFont', function (e) { !(function (e, n, i, o) { if (e.metadata instanceof t.API.TTFFont && 'Identity-H' === e.encoding) { for (var a = e.metadata.Unicode.widths, s = e.metadata.subset.encode(e.metadata.glyIdsUsed, 1), c = '', l = 0; l < s.length; l++) c += String.fromCharCode(s[l]); var u = i(); o({ data: c, addLength1: !0, }), n('endobj'); var d = i(); o({ data: r(e.metadata.toUnicode), addLength1: !0, }), n('endobj'); var p = i(); n('<<'), n('/Type /FontDescriptor'), n('/FontName /' + e.fontName), n('/FontFile2 ' + u + ' 0 R'), n('/FontBBox ' + t.API.PDFObject.convert(e.metadata.bbox)), n('/Flags ' + e.metadata.flags), n('/StemV ' + e.metadata.stemV), n('/ItalicAngle ' + e.metadata.italicAngle), n('/Ascent ' + e.metadata.ascender), n('/Descent ' + e.metadata.decender), n('/CapHeight ' + e.metadata.capHeight), n('>>'), n('endobj'); var h = i(); n('<<'), n('/Type /Font'), n('/BaseFont /' + e.fontName), n('/FontDescriptor ' + p + ' 0 R'), n('/W ' + t.API.PDFObject.convert(a)), n('/CIDToGIDMap /Identity'), n('/DW 1000'), n('/Subtype /CIDFontType2'), n('/CIDSystemInfo'), n('<<'), n('/Supplement 0'), n('/Registry (Adobe)'), n('/Ordering (' + e.encoding + ')'), n('>>'), n('>>'), n('endobj'), (e.objectNumber = i()), n('<<'), n('/Type /Font'), n('/Subtype /Type0'), n('/ToUnicode ' + d + ' 0 R'), n('/BaseFont /' + e.fontName), n('/Encoding /' + e.encoding), n('/DescendantFonts [' + h + ' 0 R]'), n('>>'), n('endobj'), (e.isAlreadyPutted = !0); } })(e.font, e.out, e.newObject, e.putStream); }, ]), n.events.push([ 'putFont', function (e) { !(function (e, n, i, o) { if (e.metadata instanceof t.API.TTFFont && 'WinAnsiEncoding' === e.encoding) { e.metadata.Unicode.widths; for (var a = e.metadata.rawData, s = '', c = 0; c < a.length; c++) s += String.fromCharCode(a[c]); var l = i(); o({ data: s, addLength1: !0, }), n('endobj'); var u = i(); o({ data: r(e.metadata.toUnicode), addLength1: !0, }), n('endobj'); var d = i(); for ( n('<<'), n('/Descent ' + e.metadata.decender), n('/CapHeight ' + e.metadata.capHeight), n('/StemV ' + e.metadata.stemV), n('/Type /FontDescriptor'), n('/FontFile2 ' + l + ' 0 R'), n('/Flags 96'), n('/FontBBox ' + t.API.PDFObject.convert(e.metadata.bbox)), n('/FontName /' + e.fontName), n('/ItalicAngle ' + e.metadata.italicAngle), n('/Ascent ' + e.metadata.ascender), n('>>'), n('endobj'), e.objectNumber = i(), c = 0; c < e.metadata.hmtx.widths.length; c++ ) e.metadata.hmtx.widths[c] = parseInt(e.metadata.hmtx.widths[c] * (1e3 / e.metadata.head.unitsPerEm)); n( '<>' ), n('endobj'), (e.isAlreadyPutted = !0); } })(e.font, e.out, e.newObject, e.putStream); }, ]); var o = function (t) { var e, n, r = t.text || '', o = t.x, a = t.y, s = t.options || {}, c = t.mutex || {}, l = c.pdfEscape, u = c.activeFontKey, d = c.fonts, p = (c.activeFontSize, ''), h = 0, f = '', m = d[(n = u)].encoding; if ('Identity-H' !== d[n].encoding) return { text: r, x: o, y: a, options: s, mutex: c, }; for (f = r, n = u, '[object Array]' === Object.prototype.toString.call(r) && (f = r[0]), h = 0; h < f.length; h += 1) d[n].metadata.hasOwnProperty('cmap') && (e = d[n].metadata.cmap.unicode.codeMap[f[h].charCodeAt(0)]), e || (f[h].charCodeAt(0) < 256 && d[n].metadata.hasOwnProperty('Unicode')) ? (p += f[h]) : (p += ''); var g = ''; return ( parseInt(n.slice(1)) < 14 || 'WinAnsiEncoding' === m ? (g = (function (t) { for (var e = '', n = 0; n < t.length; n++) e += '' + t.charCodeAt(n).toString(16); return e; })(l(p, n))) : 'Identity-H' === m && (g = i(p, d[n])), (c.isHex = !0), { text: g, x: o, y: a, options: s, mutex: c, } ); }; n.events.push([ 'postProcessText', function (t) { var e = t.text || '', n = t.x, i = t.y, r = t.options, a = t.mutex, s = (r.lang, []), c = { text: e, x: n, y: i, options: r, mutex: a, }; if ('[object Array]' === Object.prototype.toString.call(e)) { var l = 0; for (l = 0; l < e.length; l += 1) '[object Array]' === Object.prototype.toString.call(e[l]) && 3 === e[l].length ? s.push([ o( Object.assign({}, c, { text: e[l][0], }) ).text, e[l][1], e[l][2], ]) : s.push( o( Object.assign({}, c, { text: e[l], }) ).text ); t.text = s; } else t.text = o( Object.assign({}, c, { text: e, }) ).text; }, ]); })(ft, ('undefined' != typeof self && self) || (void 0 !== i && i) || ('undefined' != typeof window && window) || Function('return this')()), (pt = ft.API), (ht = function (t) { return void 0 !== t && (void 0 === t.vFS && (t.vFS = {}), !0); }), (pt.existsFileInVFS = function (t) { return !!ht(this.internal) && void 0 !== this.internal.vFS[t]; }), (pt.addFileToVFS = function (t, e) { return ht(this.internal), (this.internal.vFS[t] = e), this; }), (pt.getFileFromVFS = function (t) { return ht(this.internal), void 0 !== this.internal.vFS[t] ? this.internal.vFS[t] : null; }), (ft.API.addHTML = function (t, e, n, i, r) { if ('undefined' == typeof html2canvas && 'undefined' == typeof rasterizeHTML) throw new Error('You need either https://github.com/niklasvh/html2canvas or https://github.com/cburgmer/rasterizeHTML.js'); 'number' != typeof e && ((i = e), (r = n)), 'function' == typeof i && ((r = i), (i = null)), 'function' != typeof r && (r = function () {}); var o = this.internal, a = o.scaleFactor, s = o.pageSize.getWidth(), c = o.pageSize.getHeight(); if ( (((i = i || {}).onrendered = function (t) { (e = parseInt(e) || 0), (n = parseInt(n) || 0); var o = i.dim || {}, l = Object.assign( { top: 0, right: 0, bottom: 0, left: 0, useFor: 'content', }, i.margin ), u = o.h || Math.min(c, t.height / a), d = o.w || Math.min(s, t.width / a) - e, p = i.format || 'JPEG', h = i.imageCompression || 'SLOW'; if (t.height > c - l.top - l.bottom && i.pagesplit) { var f = function (t, e, n, r, o) { var a = document.createElement('canvas'); (a.height = o), (a.width = r); var s = a.getContext('2d'); return ( (s.mozImageSmoothingEnabled = !1), (s.webkitImageSmoothingEnabled = !1), (s.msImageSmoothingEnabled = !1), (s.imageSmoothingEnabled = !1), (s.fillStyle = i.backgroundColor || '#ffffff'), s.fillRect(0, 0, r, o), s.drawImage(t, e, n, r, o, 0, 0, r, o), a ); }, m = function () { for (var i, o, u = 0, m = 0, g = {}, v = !1; ; ) { var y; if ( ((m = 0), (g.top = 0 !== u ? l.top : n), (g.left = 0 !== u ? l.left : e), (v = (s - l.left - l.right) * a < t.width), 'content' === l.useFor ? 0 === u ? ((i = Math.min((s - l.left) * a, t.width)), (o = Math.min((c - l.top) * a, t.height - u))) : ((i = Math.min(s * a, t.width)), (o = Math.min(c * a, t.height - u)), (g.top = 0)) : ((i = Math.min((s - l.left - l.right) * a, t.width)), (o = Math.min((c - l.bottom - l.top) * a, t.height - u))), v) ) for (;;) { 'content' === l.useFor && (0 === m ? (i = Math.min((s - l.left) * a, t.width)) : ((i = Math.min(s * a, t.width - m)), (g.left = 0))); var b = [(y = f(t, m, u, i, o)), g.left, g.top, y.width / a, y.height / a, p, null, h]; if ((this.addImage.apply(this, b), (m += i) >= t.width)) break; this.addPage(); } else (b = [(y = f(t, 0, u, i, o)), g.left, g.top, y.width / a, y.height / a, p, null, h]), this.addImage.apply(this, b); if ((u += o) >= t.height) break; this.addPage(); } r(d, u, null, b); }.bind(this); if ('CANVAS' === t.nodeName) { var g = new Image(); (g.onload = m), (g.src = t.toDataURL('image/png')), (t = g); } else m(); } else { var v = Math.random().toString(35), y = [t, e, n, d, u, p, v, h]; this.addImage.apply(this, y), r(d, u, v, y); } }.bind(this)), 'undefined' != typeof html2canvas && !i.rstz) ) return html2canvas(t, i); if ('undefined' == typeof rasterizeHTML) return null; var l = 'drawDocument'; return ( 'string' == typeof t && (l = /^http/.test(t) ? 'drawURL' : 'drawHTML'), (i.width = i.width || s * a), rasterizeHTML[l](t, void 0, i).then( function (t) { i.onrendered(t.image); }, function (t) { r(null, t); } ) ); /** * jsPDF fromHTML plugin. BETA stage. API subject to change. Needs browser * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria * 2014 Diego Casorran, https://github.com/diegocr * 2014 Daniel Husar, https://github.com/danielhusar * 2014 Wolfgang Gassler, https://github.com/woolfg * 2014 Steven Spungin, https://github.com/flamenco * * @license * * ==================================================================== */ }), (function (t) { var e, n, i, o, a, s, c, l, u, d, p, h, f, m, g, v, y, b, w, S; (e = (function () { return function (e) { return (t.prototype = e), new t(); }; function t() {} })()), (d = function (t) { var e, n, i, r, o, a, s; for (n = 0, i = t.length, e = void 0, a = r = !1; !r && n !== i; ) (e = t[n] = t[n].trimLeft()) && (r = !0), n++; for (n = i - 1; i && !a && -1 !== n; ) (e = t[n] = t[n].trimRight()) && (a = !0), n--; for (o = /\s+$/g, s = !0, n = 0; n !== i; ) '\u2028' != t[n] && ((e = t[n].replace(/\s+/g, ' ')), s && (e = e.trimLeft()), e && (s = o.test(e)), (t[n] = e)), n++; return t; }), (h = function (t) { var e, n, r; for (e = void 0, n = (r = t.split(',')).shift(); !e && n; ) (e = i[n.trim().toLowerCase()]), (n = r.shift()); return e; }), (f = function (t) { var e; return ( -1 < (t = 'auto' === t ? '0px' : t).indexOf('em') && !isNaN(Number(t.replace('em', ''))) && (t = 18.719 * Number(t.replace('em', '')) + 'px'), -1 < t.indexOf('pt') && !isNaN(Number(t.replace('pt', ''))) && (t = 1.333 * Number(t.replace('pt', '')) + 'px'), (e = m[t]) ? e : void 0 !== (e = { 'xx-small': 9, 'x-small': 11, small: 13, medium: 16, large: 19, 'x-large': 23, 'xx-large': 28, auto: 0, }[t]) || (e = parseFloat(t)) ? (m[t] = e / 16) : ((e = t.match(/([\d\.]+)(px)/)), Array.isArray(e) && 3 === e.length ? (m[t] = parseFloat(e[1]) / 16) : (m[t] = 1)) ); }), (u = function (t) { var e, n, i, r, u; return ( (u = t), (r = document.defaultView && document.defaultView.getComputedStyle ? document.defaultView.getComputedStyle(u, null) : u.currentStyle ? u.currentStyle : u.style), (n = void 0), ((e = {})['font-family'] = h( (i = function (t) { return ( (t = t.replace(/-\D/g, function (t) { return t.charAt(1).toUpperCase(); })), r[t] ); })('font-family') ) || 'times'), (e['font-style'] = o[i('font-style')] || 'normal'), (e['text-align'] = a[i('text-align')] || 'left'), 'bold' === (n = s[i('font-weight')] || 'normal') && ('normal' === e['font-style'] ? (e['font-style'] = n) : (e['font-style'] = n + e['font-style'])), (e['font-size'] = f(i('font-size')) || 1), (e['line-height'] = f(i('line-height')) || 1), (e.display = 'inline' === i('display') ? 'inline' : 'block'), (n = 'block' === e.display), (e['margin-top'] = (n && f(i('margin-top'))) || 0), (e['margin-bottom'] = (n && f(i('margin-bottom'))) || 0), (e['padding-top'] = (n && f(i('padding-top'))) || 0), (e['padding-bottom'] = (n && f(i('padding-bottom'))) || 0), (e['margin-left'] = (n && f(i('margin-left'))) || 0), (e['margin-right'] = (n && f(i('margin-right'))) || 0), (e['padding-left'] = (n && f(i('padding-left'))) || 0), (e['padding-right'] = (n && f(i('padding-right'))) || 0), (e['page-break-before'] = i('page-break-before') || 'auto'), (e.float = c[i('cssFloat')] || 'none'), (e.clear = l[i('clear')] || 'none'), (e.color = i('color')), e ); }), (g = function (t, e, n) { var i, r, o, a, s; if (((o = !1), (a = r = void 0), (i = n['#' + t.id]))) if ('function' == typeof i) o = i(t, e); else for (r = 0, a = i.length; !o && r !== a; ) (o = i[r](t, e)), r++; if (((i = n[t.nodeName]), !o && i)) if ('function' == typeof i) o = i(t, e); else for (r = 0, a = i.length; !o && r !== a; ) (o = i[r](t, e)), r++; for (s = 'string' == typeof t.className ? t.className.split(' ') : [], r = 0; r < s.length; r++) if (((i = n['.' + s[r]]), !o && i)) if ('function' == typeof i) o = i(t, e); else for (r = 0, a = i.length; !o && r !== a; ) (o = i[r](t, e)), r++; return o; }), (S = function (t, e) { var n, i, r, o, a, s, c, l, u; for (n = [], i = [], r = 0, u = t.rows[0].cells.length, c = t.clientWidth; r < u; ) (l = t.rows[0].cells[r]), (i[r] = { name: l.textContent.toLowerCase().replace(/\s+/g, ''), prompt: l.textContent.replace(/\r?\n/g, ''), width: (l.clientWidth / c) * e.pdf.internal.pageSize.getWidth(), }), r++; for (r = 1; r < t.rows.length; ) { for (s = t.rows[r], a = {}, o = 0; o < s.cells.length; ) (a[i[o].name] = s.cells[o].textContent.replace(/\r?\n/g, '')), o++; n.push(a), r++; } return { rows: n, headers: i, }; }); var x = { SCRIPT: 1, STYLE: 1, NOSCRIPT: 1, OBJECT: 1, EMBED: 1, SELECT: 1, }, M = 1; (n = function (t, i, o) { var a, s, c, l, d, p, h, f; for (s = t.childNodes, a = void 0, (d = 'block' === (c = u(t)).display) && (i.setBlockBoundary(), i.setBlockStyle(c)), l = 0, p = s.length; l < p; ) { if ('object' === r((a = s[l]))) { if ((i.executeWatchFunctions(a), 1 === a.nodeType && 'HEADER' === a.nodeName)) { var m = a, y = i.pdf.margins_doc.top; i.pdf.internal.events.subscribe( 'addPage', function (t) { (i.y = y), n(m, i, o), (i.pdf.margins_doc.top = i.y + 10), (i.y += 10); }, !1 ); } if (8 === a.nodeType && '#comment' === a.nodeName) ~a.textContent.indexOf('ADD_PAGE') && (i.pdf.addPage(), (i.y = i.pdf.margins_doc.top)); else if (1 !== a.nodeType || x[a.nodeName]) if (3 === a.nodeType) { var b = a.nodeValue; if (a.nodeValue && 'LI' === a.parentNode.nodeName) if ('OL' === a.parentNode.parentNode.nodeName) b = M++ + '. ' + b; else { var w = c['font-size'], E = (3 - 0.75 * w) * i.pdf.internal.scaleFactor, C = 0.75 * w * i.pdf.internal.scaleFactor, A = (1.74 * w) / i.pdf.internal.scaleFactor; f = function (t, e) { this.pdf.circle(t + E, e + C, A, 'FD'); }; } 16 & a.ownerDocument.body.compareDocumentPosition(a) && i.addText(b, c); } else 'string' == typeof a && i.addText(a, c); else { var T; if ('IMG' === a.nodeName) { var O = a.getAttribute('src'); T = v[i.pdf.sHashCode(O) || O]; } if (T) { i.pdf.internal.pageSize.getHeight() - i.pdf.margins_doc.bottom < i.y + a.height && i.y > i.pdf.margins_doc.top && (i.pdf.addPage(), (i.y = i.pdf.margins_doc.top), i.executeWatchFunctions(a)); var _ = u(a), P = i.x, I = 12 / i.pdf.internal.scaleFactor, k = (_['margin-left'] + _['padding-left']) * I, D = (_['margin-right'] + _['padding-right']) * I, R = (_['margin-top'] + _['padding-top']) * I, L = (_['margin-bottom'] + _['padding-bottom']) * I; void 0 !== _.float && 'right' === _.float ? (P += i.settings.width - a.width - D) : (P += k), i.pdf.addImage(T, P, i.y + R, a.width, a.height), (T = void 0), 'right' === _.float || 'left' === _.float ? (i.watchFunctions.push( function (t, e, n, r) { return i.y >= e ? ((i.x += t), (i.settings.width += n), !0) : !!(r && 1 === r.nodeType && !x[r.nodeName] && i.x + r.width > i.pdf.margins_doc.left + i.pdf.margins_doc.width) && ((i.x += t), (i.y = e), (i.settings.width += n), !0); }.bind(this, 'left' === _.float ? -a.width - k - D : 0, i.y + a.height + R + L, a.width) ), i.watchFunctions.push( function (t, e, n) { return !(i.y < t && e === i.pdf.internal.getNumberOfPages()) || (1 === n.nodeType && 'both' === u(n).clear && ((i.y = t), !0)); }.bind(this, i.y + a.height, i.pdf.internal.getNumberOfPages()) ), (i.settings.width -= a.width + k + D), 'left' === _.float && (i.x += a.width + k + D)) : (i.y += a.height + R + L); } else if ('TABLE' === a.nodeName) (h = S(a, i)), (i.y += 10), i.pdf.table(i.x, i.y, h.rows, h.headers, { autoSize: !1, printHeaders: o.printHeaders, margins: i.pdf.margins_doc, css: u(a), }), (i.y = i.pdf.lastCellPos.y + i.pdf.lastCellPos.h + 20); else if ('OL' === a.nodeName || 'UL' === a.nodeName) (M = 1), g(a, i, o) || n(a, i, o), (i.y += 10); else if ('LI' === a.nodeName) { var N = i.x; (i.x += 20 / i.pdf.internal.scaleFactor), (i.y += 3), g(a, i, o) || n(a, i, o), (i.x = N); } else 'BR' === a.nodeName ? ((i.y += c['font-size'] * i.pdf.internal.scaleFactor), i.addText('\u2028', e(c))) : g(a, i, o) || n(a, i, o); } } l++; } if (((o.outY = i.y), d)) return i.setBlockBoundary(f); }), (v = {}), (y = function (t, e, n, i) { var r, o = t.getElementsByTagName('img'), a = o.length, s = 0; function c() { e.pdf.internal.events.publish('imagesLoaded'), i(r); } function l(t, n, i) { if (t) { var o = new Image(); (r = ++s), (o.crossOrigin = ''), (o.onerror = o.onload = function () { if (o.complete && (0 === o.src.indexOf('data:image/') && ((o.width = n || o.width || 0), (o.height = i || o.height || 0)), o.width + o.height)) { var r = e.pdf.sHashCode(t) || t; v[r] = v[r] || o; } --s || c(); }), (o.src = t); } } for (; a--; ) l(o[a].getAttribute('src'), o[a].width, o[a].height); return s || c(); }), (b = function (t, e, i) { var r = t.getElementsByTagName('footer'); if (0 < r.length) { r = r[0]; var o = e.pdf.internal.write, a = e.y; (e.pdf.internal.write = function () {}), n(r, e, i); var s = Math.ceil(e.y - a) + 5; (e.y = a), (e.pdf.internal.write = o), (e.pdf.margins_doc.bottom += s); for ( var c = function (t) { var o = void 0 !== t ? t.pageNumber : 1, a = e.y; (e.y = e.pdf.internal.pageSize.getHeight() - e.pdf.margins_doc.bottom), (e.pdf.margins_doc.bottom -= s); for (var c = r.getElementsByTagName('span'), l = 0; l < c.length; ++l) -1 < (' ' + c[l].className + ' ').replace(/[\n\t]/g, ' ').indexOf(' pageCounter ') && (c[l].innerHTML = o), -1 < (' ' + c[l].className + ' ').replace(/[\n\t]/g, ' ').indexOf(' totalPages ') && (c[l].innerHTML = '###jsPDFVarTotalPages###'); n(r, e, i), (e.pdf.margins_doc.bottom += s), (e.y = a); }, l = r.getElementsByTagName('span'), u = 0; u < l.length; ++u ) -1 < (' ' + l[u].className + ' ').replace(/[\n\t]/g, ' ').indexOf(' totalPages ') && e.pdf.internal.events.subscribe('htmlRenderingFinished', e.pdf.putTotalPages.bind(e.pdf, '###jsPDFVarTotalPages###'), !0); e.pdf.internal.events.subscribe('addPage', c, !1), c(), (x.FOOTER = 1); } }), (w = function (t, e, i, r, o, a) { if (!e) return !1; var s, c, l, u; 'string' == typeof e || e.parentNode || (e = '' + e.innerHTML), 'string' == typeof e && ((s = e.replace(/<\/?script[^>]*?>/gi, '')), (u = 'jsPDFhtmlText' + Date.now().toString() + (1e3 * Math.random()).toFixed(0)), ((l = document.createElement('div')).style.cssText = 'position: absolute !important;clip: rect(1px 1px 1px 1px); /* IE6, IE7 */clip: rect(1px, 1px, 1px, 1px);padding:0 !important;border:0 !important;height: 1px !important;width: 1px !important; top:auto;left:-100px;overflow: hidden;'), (l.innerHTML = '